Wiki page
[VirtualRouting] by
sandro
2018-04-25 09:10:19.
0000: 44 20 32 30 31 38 2d 30 34 2d 32 35 54 30 39 3a D 2018-04-25T09:
0010: 31 30 3a 31 39 2e 37 30 31 0a 4c 20 56 69 72 74 10:19.701.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 66 32 33 ualRouting.P f23
0030: 37 39 31 37 38 63 38 36 30 32 31 63 33 35 30 63 79178c86021c350c
0040: 62 63 63 38 38 31 66 66 37 30 35 33 64 33 30 65 bcc881ff7053d30e
0050: 31 30 66 61 38 0a 55 20 73 61 6e 64 72 6f 0a 57 10fa8.U sandro.W
0060: 20 31 35 30 39 39 31 0a 3c 61 20 68 72 65 66 3d 150991.<a href=
0070: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
0080: 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f a-gis.it/fossil/
0090: 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 libspatialite/wi
00a0: 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f ki?name=4.3.0-do
00b0: 63 22 3e 62 61 63 6b 3c 2f 61 3e 3c 68 72 3e 3c c">back</a><hr><
00c0: 62 72 3e 0d 0a 3c 68 31 3e 54 61 62 6c 65 20 6f br>..<h1>Table o
00d0: 66 20 43 6f 6e 74 65 6e 74 73 3c 2f 68 31 3e 0d f Contents</h1>.
00e0: 0a 31 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 69 .1 - <a href="#i
00f0: 6e 74 72 6f 22 3e 49 6e 74 72 6f 64 75 63 74 69 ntro">Introducti
0100: 6f 6e 3c 2f 61 3e 3c 62 72 3e 0d 0a 32 20 2d 20 on</a><br>..2 -
0110: 3c 61 20 68 72 65 66 3d 22 23 73 61 6d 70 6c 65 <a href="#sample
0120: 22 3e 54 68 65 20 73 61 6d 70 6c 65 2f 74 65 73 ">The sample/tes
0130: 74 20 44 42 3c 2f 61 3e 3c 62 72 3e 0d 0a 33 20 t DB</a><br>..3
0140: 2d 20 3c 61 20 68 72 65 66 3d 22 23 63 72 65 61 - <a href="#crea
0150: 74 65 22 3e 43 72 65 61 74 69 6e 67 20 56 69 72 te">Creating Vir
0160: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c tualRouting Tabl
0170: 65 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 34 20 2d 20 es</a><br>..4 -
0180: 3c 61 20 68 72 65 66 3d 22 23 66 72 6f 6d 5f 74 <a href="#from_t
0190: 6f 22 3e 53 6f 6c 76 69 6e 67 20 63 6c 61 73 73 o">Solving class
01a0: 69 63 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 ic Shortest Path
01b0: 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 problems</a><br
01c0: 3e 0d 0a 35 20 2d 20 3c 61 20 68 72 65 66 3d 22 >..5 - <a href="
01d0: 23 6d 75 6c 74 69 22 3e 53 6f 6c 76 69 6e 67 20 #multi">Solving
01e0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f multi-destinatio
01f0: 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 n Shortest Path
0200: 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e problems</a><br>
0210: 0d 0a 36 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 ..6 - <a href="#
0220: 69 73 6f 63 68 72 6f 6e 65 22 3e 53 6f 6c 76 69 isochrone">Solvi
0230: 6e 67 20 49 73 6f 63 68 72 6f 6e 65 20 70 72 6f ng Isochrone pro
0240: 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 37 blems</a><br>..7
0250: 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 74 73 70 - <a href="#tsp
0260: 22 3e 53 6f 6c 76 69 6e 67 20 54 53 50 20 28 74 ">Solving TSP (t
0270: 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 73 6d 61 raveling salesma
0280: 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c n) problems</a><
0290: 62 72 3e 0d 0a 38 20 2d 20 3c 61 20 68 72 65 66 br>..8 - <a href
02a0: 3d 22 23 70 32 70 22 3e 53 6f 6c 76 69 6e 67 20 ="#p2p">Solving
02b0: 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 70 Point-to-Point p
02c0: 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e 0d roblems</a><br>.
02d0: 0a 3c 62 72 3e 3c 68 72 3e 0d 0a 3c 68 31 3e 3c .<br><hr>..<h1><
02e0: 61 20 6e 61 6d 65 3d 22 69 6e 74 72 6f 22 3e 31 a name="intro">1
02f0: 20 2d 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c - Introduction<
0300: 2f 61 3e 3c 2f 68 31 3e 0d 0a 50 72 65 76 69 6f /a></h1>..Previo
0310: 75 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 53 us versions of S
0320: 70 61 74 69 61 4c 69 74 65 20 74 72 61 64 69 74 patiaLite tradit
0330: 69 6f 6e 61 6c 6c 79 20 73 75 70 70 6f 72 74 65 ionally supporte
0340: 64 20 61 20 3c 62 3e 70 75 72 65 20 53 51 4c 20 d a <b>pure SQL
0350: 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65 3c 2f routing module</
0360: 62 3e 20 74 68 61 74 20 77 61 73 20 6e 61 6d 65 b> that was name
0370: 64 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 d <a href="https
0380: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
0390: 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61 it/fossil/libspa
03a0: 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d tialite/wiki?nam
03b0: 65 3d 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b e=VirtualNetwork
03c0: 2b 72 65 6c 6f 61 64 65 64 22 3e 56 69 72 74 75 +reloaded">Virtu
03d0: 61 6c 4e 65 74 77 6f 72 6b 3c 2f 61 3e 2e 3c 62 alNetwork</a>.<b
03e0: 72 3e 3c 62 72 3e 0d 0a 53 69 6e 63 65 20 76 65 r><br>..Since ve
03f0: 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f rsion <b>5.0.0</
0400: 62 3e 20 61 20 62 72 61 6e 64 20 6e 65 77 20 3c b> a brand new <
0410: 62 3e 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65 b>routing module
0420: 3c 2f 62 3e 20 28 6d 6f 72 65 20 61 64 76 61 6e </b> (more advan
0430: 63 65 64 20 61 6e 64 20 73 6f 70 68 69 73 74 69 ced and sophisti
0440: 63 61 74 65 64 29 20 69 73 20 61 76 61 69 6c 61 cated) is availa
0450: 62 6c 65 2c 20 74 68 61 74 20 69 73 20 63 61 6c ble, that is cal
0460: 6c 65 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f led <b>VirtualRo
0470: 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a uting</b>.<br>..
0480: 54 68 65 20 6e 6f 77 20 6f 62 73 6f 6c 65 74 65 The now obsolete
0490: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f <b>VirtualNetwo
04a0: 72 6b 3c 2f 62 3e 20 69 73 20 73 74 69 6c 6c 20 rk</b> is still
04b0: 73 75 70 70 6f 72 74 65 64 20 62 79 20 76 65 72 supported by ver
04c0: 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f 62 sion <b>5.0.0</b
04d0: 3e 20 73 6f 20 61 73 20 74 6f 20 6e 6f 74 20 63 > so as to not c
04e0: 61 75 73 65 20 61 6e 20 61 62 72 75 70 74 20 62 ause an abrupt b
04f0: 72 65 61 6b 20 74 6f 20 61 6c 72 65 61 64 79 20 reak to already
0500: 65 78 69 73 74 69 6e 67 20 61 70 70 6c 69 63 61 existing applica
0510: 74 69 6f 6e 73 2c 20 62 75 74 20 77 69 6c 6c 20 tions, but will
0520: 70 72 65 73 75 6d 61 62 6c 79 20 62 65 20 64 69 presumably be di
0530: 73 63 6f 6e 74 69 6e 75 65 64 20 69 6e 20 66 75 scontinued in fu
0540: 74 75 72 65 20 76 65 72 73 69 6f 6e 73 2e 3c 62 ture versions.<b
0550: 72 3e 0d 0a 55 73 69 6e 67 20 3c 62 3e 56 69 72 r>..Using <b>Vir
0560: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 tualRouting</b>
0570: 69 6e 73 74 65 61 64 20 6f 66 20 3c 62 3e 56 69 instead of <b>Vi
0580: 72 74 75 61 6c 4e 65 74 77 69 72 6b 3c 2f 62 3e rtualNetwirk</b>
0590: 20 69 73 20 77 61 72 6d 6c 79 20 72 65 63 6f 6d is warmly recom
05a0: 6d 65 6e 64 65 64 20 66 6f 72 20 61 6e 79 20 6e mended for any n
05b0: 65 77 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 20 ew development.
05c0: 0d 0a 3c 68 32 3e 54 68 65 6f 72 65 74 69 63 61 ..<h2>Theoretica
05d0: 6c 20 66 6f 75 6e 64 61 74 69 6f 6e 73 20 2d 20 l foundations -
05e0: 61 6e 20 75 6c 74 72 61 2d 71 75 69 63 6b 20 72 an ultra-quick r
05f0: 65 63 61 6c 6c 3c 2f 68 32 3e 0d 0a 41 6c 6c 20 ecall</h2>..All
0600: 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 <b>Routing algor
0610: 69 74 68 6d 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b ithms</b> (<i>ak
0620: 61 3c 2f 69 3e 20 3c 62 3e 53 68 6f 72 74 65 73 a</i> <b>Shortes
0630: 74 20 50 61 74 68 3c 2f 62 3e 20 61 6c 67 6f 72 t Path</b> algor
0640: 69 74 68 6d 73 29 20 61 72 65 20 62 61 73 65 64 ithms) are based
0650: 20 6f 6e 20 74 68 65 20 6d 61 74 68 65 6d 61 74 on the mathemat
0660: 69 63 73 20 6f 66 20 74 68 65 20 3c 61 20 68 72 ics of the <a hr
0670: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 ef="https://en.w
0680: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b ikipedia.org/wik
0690: 69 2f 47 72 61 70 68 5f 74 68 65 6f 72 79 22 3e i/Graph_theory">
06a0: 47 72 61 70 68 20 74 68 65 6f 72 79 3c 2f 61 3e Graph theory</a>
06b0: 20 6f 72 20 74 6f 20 62 65 20 6d 6f 72 65 20 70 or to be more p
06c0: 72 65 63 69 73 65 3a 20 6f 6e 20 3c 62 3e 57 65 recise: on <b>We
06d0: 69 67 68 74 65 64 20 47 72 61 70 68 73 3c 2f 62 ighted Graphs</b
06e0: 3e 2e 0d 0a 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 >...<br>..<img s
06f0: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
0700: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
0710: 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 -sins/routing-fi
0720: 67 73 2f 6e 65 74 77 6f 72 6b 2e 70 6e 67 22 20 gs/network.png"
0730: 61 6c 74 3d 22 6e 65 74 77 6f 72 6b 22 3e 0d 0a alt="network">..
0740: 3c 62 72 3e 0d 0a 41 20 74 6f 70 6f 6c 6f 67 69 <br>..A topologi
0750: 63 61 6c 6c 79 20 76 61 6c 69 64 20 3c 62 3e 4e cally valid <b>N
0760: 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73 20 61 20 etwork</b> is a
0770: 64 61 74 61 73 65 74 20 74 68 61 74 20 66 75 6c dataset that ful
0780: 66 69 6c 6c 73 20 74 68 65 20 66 6f 6c 6c 6f 77 fills the follow
0790: 69 6e 67 20 72 65 71 75 69 72 65 6d 65 6e 74 73 ing requirements
07a0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 6c 6c :..<ul>..<li>All
07b0: 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 64 61 items in the da
07c0: 74 61 73 65 74 20 61 72 65 20 63 61 6c 6c 65 64 taset are called
07d0: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 28 3c <b>Links</b> (<
07e0: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 41 72 63 i>aka</i> <b>Arc
07f0: 73 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 72 65 20 s</b>), and are
0800: 65 78 70 65 63 74 65 64 20 74 6f 20 72 65 70 72 expected to repr
0810: 65 73 65 6e 74 20 73 6f 6d 65 20 6f 72 69 65 6e esent some orien
0820: 74 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a ted connection j
0830: 6f 69 6e 69 6e 67 20 74 77 6f 20 3c 62 3e 4e 6f oining two <b>No
0840: 64 65 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 des</b>.<br>..<u
0850: 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 69 6e >Example</u>: in
0860: 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 75 72 the above figur
0870: 65 20 4c 69 6e 6b 20 3c 62 3e 4c 33 3c 2f 62 3e e Link <b>L3</b>
0880: 20 63 6f 6e 6e 65 63 74 73 20 4e 6f 64 65 73 20 connects Nodes
0890: 3c 62 3e 4e 32 3c 2f 62 3e 20 61 6e 64 20 3c 62 <b>N2</b> and <b
08a0: 3e 4e 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c >N5</b>.</li>..<
08b0: 6c 69 3e 54 68 65 72 65 66 6f 72 65 20 61 6c 6c li>Therefore all
08c0: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72 <b>Links</b> ar
08d0: 65 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65 e always expecte
08e0: 64 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 d to explicitly
08f0: 72 65 66 65 72 65 6e 63 65 20 61 20 3c 62 3e 53 reference a <b>S
0900: 74 61 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c tart-Node</b> (<
0910: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64 i>aka</i> <b>Nod
0920: 65 2d 46 72 6f 6d 3c 2f 62 3e 29 20 61 6e 64 20 e-From</b>) and
0930: 61 6e 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f an <b>End-Node</
0940: 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c b> (<i>aka</i> <
0950: 62 3e 4e 6f 64 65 2d 54 6f 3c 2f 62 3e 29 2e 0d b>Node-To</b>)..
0960: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4c 69 6e 6b 73 .<ul>..<li>Links
0970: 20 61 72 65 20 61 6c 77 61 79 73 20 3c 62 3e 6f are always <b>o
0980: 72 69 65 6e 74 65 64 3c 2f 62 3e 2c 20 61 6e 64 riented</b>, and
0990: 20 74 68 65 69 72 20 6e 61 74 75 72 61 6c 20 64 their natural d
09a0: 69 72 65 63 74 69 6f 6e 20 69 73 20 3c 62 3e 46 irection is <b>F
09b0: 72 6f 6d 2d 54 6f 3c 2f 62 3e 3a 0d 0a 3c 75 6c rom-To</b>:..<ul
09c0: 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 20 3c 62 3e >..<li>in an <b>
09d0: 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f unidirectional</
09e0: 62 3e 20 4e 65 74 77 6f 72 6b 20 65 61 63 68 20 b> Network each
09f0: 4c 69 6e 6b 20 69 73 20 61 6e 20 3c 62 3e 6f 6e Link is an <b>on
0a00: 65 2d 77 61 79 3c 2f 62 3e 20 63 6f 6e 6e 65 63 e-way</b> connec
0a10: 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 49 66 20 74 68 tion.<br>..If th
0a20: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 e connection is
0a30: 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 to be available
0a40: 69 6e 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 in the opposite
0a50: 64 69 72 65 63 74 69 6f 6e 2c 20 61 20 73 65 63 direction, a sec
0a60: 6f 6e 64 20 4c 69 6e 6b 20 6d 75 73 74 20 62 65 ond Link must be
0a70: 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 63 6c explicitly decl
0a80: 61 72 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 ared.<br>..<u>Ex
0a90: 61 6d 70 6c 65 3c 2f 75 3e 3a 20 4c 69 6e 6b 20 ample</u>: Link
0aa0: 3c 62 3e 58 31 3c 2f 62 3e 20 67 6f 65 73 20 66 <b>X1</b> goes f
0ab0: 72 6f 6d 20 4e 6f 64 65 20 3c 62 3e 41 3c 2f 62 rom Node <b>A</b
0ac0: 3e 20 74 6f 20 4e 6f 64 65 20 3c 62 3e 42 3c 2f > to Node <b>B</
0ad0: 62 3e 2c 20 61 6e 64 20 4c 69 6e 6b 20 3c 62 3e b>, and Link <b>
0ae0: 58 32 3c 2f 62 3e 20 67 6f 65 73 20 66 72 6f 6d X2</b> goes from
0af0: 20 4e 6f 64 65 20 3c 62 3e 42 3c 2f 62 3e 20 74 Node <b>B</b> t
0b00: 6f 20 4e 6f 64 65 20 3c 62 3e 41 3c 2f 62 3e 2e o Node <b>A</b>.
0b10: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 20 </li>..<li>in a
0b20: 3c 62 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c <b>bidirectional
0b30: 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 20 61 6c 6c </b> Network all
0b40: 20 4c 69 6e 6b 73 20 61 72 65 20 61 73 73 75 6d Links are assum
0b50: 65 64 20 74 6f 20 65 73 74 61 62 6c 69 73 68 20 ed to establish
0b60: 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 20 a connection in
0b70: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 2e both directions.
0b80: 3c 62 72 3e 0d 0a 44 65 66 69 6e 69 74 69 6e 67 <br>..Definiting
0b90: 20 61 6e 20 3c 62 3e 6f 6e 65 2d 77 61 79 20 63 an <b>one-way c
0ba0: 6f 6e 6e 65 63 74 69 6f 6e 3c 2f 62 3e 20 72 65 onnection</b> re
0bb0: 71 75 69 72 65 73 20 61 6e 20 61 70 70 72 6f 70 quires an approp
0bc0: 72 69 61 74 65 20 61 74 74 72 69 62 75 74 65 20 riate attribute
0bd0: 74 6f 20 62 65 20 73 65 74 20 28 73 65 65 20 62 to be set (see b
0be0: 65 6c 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 elow).</li>..</u
0bf0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 65 l></li>..<li>The
0c00: 20 3c 62 3e 53 74 61 72 74 2d 3c 2f 62 3e 20 61 <b>Start-</b> a
0c10: 6e 64 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f nd <b>End-Node</
0c20: 62 3e 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 b> could eventua
0c30: 6c 6c 79 20 62 65 20 74 68 65 20 73 61 6d 65 2c lly be the same,
0c40: 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 and in this cas
0c50: 65 20 77 65 27 6c 6c 20 68 61 76 65 20 61 20 3c e we'll have a <
0c60: 62 3e 73 65 6c 66 2d 63 6c 6f 73 65 64 3c 2f 62 b>self-closed</b
0c70: 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c > Link.</li>..<l
0c80: 69 3e 4e 65 74 77 6f 72 6b 27 73 20 4c 69 6e 6b i>Network's Link
0c90: 73 20 3c 62 3e 63 61 6e 3c 2f 62 3e 20 65 76 65 s <b>can</b> eve
0ca0: 6e 74 75 61 6c 6c 79 20 64 65 66 69 6e 65 20 61 ntually define a
0cb0: 20 6c 69 6e 65 61 72 20 47 65 6f 6d 65 74 72 79 linear Geometry
0cc0: 20 28 3c 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c (<b>LINESTRING<
0cd0: 2f 62 3e 29 20 67 6f 69 6e 67 20 66 72 6f 6d 20 /b>) going from
0ce0: 74 68 65 20 3c 62 3e 53 74 61 72 74 2d 4e 6f 64 the <b>Start-Nod
0cf0: 65 3c 2f 62 3e 20 74 6f 20 74 68 65 20 3c 62 3e e</b> to the <b>
0d00: 45 6e 64 2d 4e 6f 64 65 3c 2f 62 3e 2c 20 62 75 End-Node</b>, bu
0d10: 74 20 74 68 69 73 20 69 73 20 61 6e 20 6f 70 74 t this is an opt
0d20: 69 6f 6e 61 6c 20 66 65 61 74 75 72 65 2c 20 6e ional feature, n
0d30: 6f 74 20 61 20 6d 61 6e 64 61 74 6f 72 79 20 72 ot a mandatory r
0d40: 65 71 75 69 72 65 6d 65 6e 74 2e 3c 2f 6c 69 3e equirement.</li>
0d50: 0d 0a 3c 6c 69 3e 57 68 61 74 20 69 73 20 61 62 ..<li>What is ab
0d60: 73 6f 6c 75 74 65 6c 79 20 72 65 71 75 69 72 65 solutely require
0d70: 64 20 69 73 20 74 68 61 74 20 65 61 63 68 20 3c d is that each <
0d80: 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 6d 75 73 74 20 b>Link</b> must
0d90: 65 78 70 6c 69 63 69 74 6c 79 20 72 65 66 65 72 explicitly refer
0da0: 65 6e 63 65 20 69 74 73 20 3c 62 3e 4e 6f 64 65 ence its <b>Node
0db0: 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 s</b>.</li>..</u
0dc0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 4e l></li>..<li>A N
0dd0: 65 74 77 6f 72 6b 20 73 75 70 70 6f 72 74 69 6e etwork supportin
0de0: 67 20 47 65 6f 6d 65 74 72 69 65 73 20 69 73 20 g Geometries is
0df0: 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 a <b>Spatial Net
0e00: 77 6f 72 6b 3c 2f 62 3e 3b 20 6f 74 68 65 72 77 work</b>; otherw
0e10: 69 73 65 20 61 20 4e 65 74 77 6f 72 6b 20 6c 61 ise a Network la
0e20: 63 6b 69 6e 67 20 61 6e 79 20 47 65 6f 6d 65 74 cking any Geomet
0e30: 72 79 20 69 73 20 61 20 3c 62 3e 4c 6f 67 69 63 ry is a <b>Logic
0e40: 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 2e 0d al Network</b>..
0e50: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 .<ul>..<li>In a
0e60: 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f <b>Spatial Netwo
0e70: 72 6b 3c 2f 62 3e 20 61 6c 6c 20 4c 69 6e 6b 73 rk</b> all Links
0e80: 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20 68 61 76 <b>must</b> hav
0e90: 65 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e e a correspondin
0ea0: 67 20 47 65 6f 6d 65 74 72 79 2e 3c 2f 6c 69 3e g Geometry.</li>
0eb0: 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62 3e 4c 6f ..<li>In a <b>Lo
0ec0: 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 gical Network</b
0ed0: 3e 20 61 6c 6c 20 4c 69 6e 6b 73 20 3c 62 3e 61 > all Links <b>a
0ee0: 72 65 20 73 74 72 69 63 74 6c 79 20 66 6f 72 62 re strictly forb
0ef0: 69 64 64 65 6e 3c 2f 62 3e 20 74 6f 20 68 61 76 idden</b> to hav
0f00: 65 20 61 6e 79 20 47 65 6f 6d 65 74 72 79 2e 3c e any Geometry.<
0f10: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c /li>..<li>In a <
0f20: 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 b>Spatial Networ
0f30: 6b 3c 2f 62 3e 20 62 6f 74 68 20 74 68 65 20 3c k</b> both the <
0f40: 62 3e 53 74 61 72 74 50 6f 69 6e 74 3c 2f 62 3e b>StartPoint</b>
0f50: 20 61 6e 64 20 3c 62 3e 45 6e 64 50 6f 69 6e 74 and <b>EndPoint
0f60: 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e </b> of each Lin
0f70: 6b 27 73 20 3c 62 3e 4c 49 4e 45 53 54 52 49 4e k's <b>LINESTRIN
0f80: 47 3c 2f 62 3e 20 61 72 65 20 61 6c 77 61 79 73 G</b> are always
0f90: 20 65 78 70 65 63 74 65 64 20 74 6f 20 65 78 61 expected to exa
0fa0: 63 74 6c 79 20 63 6f 69 6e 63 69 64 65 20 77 69 ctly coincide wi
0fb0: 74 68 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e th the correspon
0fc0: 64 69 6e 67 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 ding <b>Nodes</b
0fd0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f >.</li>..</ul></
0fe0: 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62 li>..<li>In a <b
0ff0: 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b >Spatial Network
1000: 3c 2f 62 3e 20 61 6c 6c 20 72 65 66 65 72 65 6e </b> all referen
1010: 63 65 73 20 74 6f 20 74 68 65 20 73 61 6d 65 20 ces to the same
1020: 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 20 62 79 20 64 <b>Node</b> by d
1030: 69 66 66 65 72 65 6e 74 20 4c 69 6e 6b 73 20 3c ifferent Links <
1040: 62 3e 6d 75 73 74 3c 2f 62 3e 20 62 65 20 61 6e b>must</b> be an
1050: 20 65 78 61 63 74 20 6d 61 74 63 68 2e 3c 62 72 exact match.<br
1060: 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 >..<u>Example</u
1070: 3e 3a 20 4e 6f 64 65 20 3c 62 3e 4e 35 3c 2f 62 >: Node <b>N5</b
1080: 3e 20 69 73 20 73 68 61 72 65 64 20 62 79 20 4c > is shared by L
1090: 69 6e 6b 73 20 3c 62 3e 4c 33 3c 2f 62 3e 2c 20 inks <b>L3</b>,
10a0: 3c 62 3e 4c 36 3c 2f 62 3e 2c 20 3c 62 3e 4c 37 <b>L6</b>, <b>L7
10b0: 3c 2f 62 3e 2c 20 3c 62 3e 4c 39 3c 2f 62 3e 20 </b>, <b>L9</b>
10c0: 61 6e 64 20 3c 62 3e 4c 31 30 3c 2f 62 3e 2c 20 and <b>L10</b>,
10d0: 73 6f 20 61 6c 6c 20 74 68 65 69 72 20 63 6f 72 so all their cor
10e0: 72 65 73 70 6f 6e 64 69 6e 67 20 4c 49 4e 45 53 responding LINES
10f0: 54 52 49 4e 47 53 20 61 72 65 20 65 78 70 65 63 TRINGS are expec
1100: 74 65 64 20 74 6f 20 68 61 76 65 20 74 68 65 20 ted to have the
1110: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 78 corresponding ex
1120: 74 72 65 6d 69 74 79 20 28 3c 62 3e 53 74 61 72 tremity (<b>Star
1130: 74 2d 3c 2f 62 3e 20 6f 72 20 3c 62 3e 45 6e 64 t-</b> or <b>End
1140: 2d 3c 2f 62 3e 2c 20 64 65 70 65 6e 64 69 6e 67 -</b>, depending
1150: 20 6f 6e 20 74 68 65 20 6f 72 69 65 6e 74 61 74 on the orientat
1160: 69 6f 6e 29 20 70 6f 69 6e 74 73 20 74 68 61 74 ion) points that
1170: 20 6d 75 73 74 20 65 78 61 63 74 6c 79 20 6d 61 must exactly ma
1180: 74 63 68 20 74 68 65 20 6f 74 68 65 72 2e 3c 62 tch the other.<b
1190: 72 3e 0d 0a 41 20 3c 62 3e 74 6f 70 6f 6c 6f 67 r>..A <b>topolog
11a0: 69 63 61 6c 20 69 6e 63 6f 6e 73 69 73 74 65 6e ical inconsisten
11b0: 63 79 3c 2f 62 3e 20 65 78 69 73 74 73 20 69 66 cy</b> exists if
11c0: 20 61 6e 79 20 6f 66 20 74 68 65 73 65 20 63 6f any of these co
11d0: 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 nditions are not
11e0: 20 73 61 74 69 73 66 69 65 64 2c 20 77 68 69 63 satisfied, whic
11f0: 68 20 6c 65 61 64 73 20 74 6f 20 61 6e 20 3c 62 h leads to an <b
1200: 3e 69 6e 76 61 6c 69 64 3c 2f 62 3e 20 4e 65 74 >invalid</b> Net
1210: 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e work.</li>..<li>
1220: 41 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 Accordingly to t
1230: 68 65 20 61 62 6f 76 65 20 70 72 65 6d 69 73 65 he above premise
1240: 73 2c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 s, <b>Nodes</b>
1250: 61 72 65 20 6e 65 76 65 72 20 65 78 70 65 63 74 are never expect
1260: 65 64 20 74 6f 20 62 65 20 65 78 70 6c 69 63 69 ed to be explici
1270: 74 6c 79 20 64 65 63 6c 61 72 65 64 20 69 6e 20 tly declared in
1280: 61 20 73 65 70 61 72 61 74 65 20 54 61 62 6c 65 a separate Table
1290: 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 69 .<br>..Just a si
12a0: 6e 67 6c 65 20 54 61 62 6c 65 20 64 65 63 6c 61 ngle Table decla
12b0: 72 69 6e 67 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b ring all <b>Link
12c0: 73 3c 2f 62 3e 20 69 73 20 72 65 71 75 69 72 65 s</b> is require
12d0: 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 75 d in order to fu
12e0: 6c 6c 79 20 64 65 66 69 6e 65 20 61 20 74 6f 70 lly define a top
12f0: 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64 ologically valid
1300: 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 41 Network.<br>..A
1310: 6c 6c 20 74 68 65 20 4e 6f 64 65 73 20 63 61 6e ll the Nodes can
1320: 20 74 68 65 6e 20 62 65 20 65 61 73 69 6c 79 20 then be easily
1330: 65 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 74 extracted from t
1340: 68 65 20 4c 69 6e 6b 27 73 20 64 65 66 69 6e 69 he Link's defini
1350: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 63 6f tions and the co
1360: 6f 72 64 69 6e 61 74 65 73 20 66 6f 72 20 65 61 ordinates for ea
1370: 63 68 20 4e 6f 64 65 20 63 61 6e 20 62 65 20 64 ch Node can be d
1380: 69 72 65 63 74 6c 79 20 73 65 74 20 62 79 20 65 irectly set by e
1390: 78 74 72 61 63 74 69 6e 67 20 74 68 65 20 65 78 xtracting the ex
13a0: 74 72 65 6d 65 20 50 6f 69 6e 74 20 6f 66 20 74 treme Point of t
13b0: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 he corresponding
13c0: 20 4c 69 6e 65 73 74 72 69 6e 67 73 2e 3c 62 72 Linestrings.<br
13d0: 3e 0d 0a 49 66 20 61 6e 79 20 6d 69 73 6d 61 74 >..If any mismat
13e0: 63 68 20 69 73 20 64 65 74 65 63 74 65 64 20 74 ch is detected t
13f0: 68 65 20 4e 65 74 77 6f 72 6b 20 77 69 6c 6c 20 he Network will
1400: 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 2e 3c become invalid.<
1410: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 3c 62 3e 4c /li>..<li>A <b>L
1420: 69 6e 6b 3c 2f 62 3e 20 6d 61 79 20 6c 65 67 69 ink</b> may legi
1430: 74 69 6d 61 74 65 6c 79 20 73 65 6c 66 2d 69 6e timately self-in
1440: 74 65 72 73 65 63 74 20 69 74 73 65 6c 66 20 28 tersect itself (
1450: 65 2e 67 2e 20 66 6f 72 6d 69 6e 67 20 61 20 6c e.g. forming a l
1460: 6f 6f 70 29 2c 20 61 73 20 73 68 6f 77 6e 20 69 oop), as shown i
1470: 6e 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 75 n the above figu
1480: 72 65 20 62 79 20 4c 69 6e 6b 20 3c 62 3e 4c 31 re by Link <b>L1
1490: 35 3c 2f 62 3e 20 28 6f 72 61 6e 67 65 20 73 70 5</b> (orange sp
14a0: 6f 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 ot).</li>..<li>T
14b0: 77 6f 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 wo <b>Links</b>
14c0: 6d 61 79 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 may legitimately
14d0: 20 69 6e 74 65 72 73 65 63 74 20 77 68 65 72 65 intersect where
14e0: 20 6e 6f 20 4e 6f 64 65 20 65 78 69 73 74 73 2c no Node exists,
14f0: 20 61 73 20 65 78 65 6d 70 6c 69 66 69 65 64 20 as exemplified
1500: 6f 6e 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 on the above fig
1510: 75 72 65 20 62 79 20 4c 69 6e 6b 73 20 3c 62 3e ure by Links <b>
1520: 4c 34 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 37 L4</b> and <b>L7
1530: 3c 2f 62 3e 20 28 67 72 65 65 6e 20 73 70 6f 74 </b> (green spot
1540: 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 75 73 75 ).<br>..This usu
1550: 61 6c 6c 79 20 68 61 70 70 65 6e 73 20 77 68 65 ally happens whe
1560: 6e 20 6f 6e 65 20 6f 66 20 74 68 65 20 74 77 6f n one of the two
1570: 20 4c 69 6e 6b 73 20 6f 76 65 72 70 61 73 73 65 Links overpasse
1580: 73 20 74 68 65 20 6f 74 68 65 72 2c 20 6f 72 20 s the other, or
1590: 77 68 65 72 65 20 73 6f 6d 65 20 74 65 63 68 6e where some techn
15a0: 69 63 61 6c 20 72 65 73 74 72 69 63 74 69 6f 6e ical restriction
15b0: 20 65 78 69 73 74 73 20 28 65 2e 67 2e 20 74 77 exists (e.g. tw
15c0: 6f 20 69 6e 73 75 6c 61 74 65 64 20 77 69 72 65 o insulated wire
15d0: 73 20 69 6e 20 61 6e 20 45 6c 65 63 74 72 69 63 s in an Electric
15e0: 61 6c 20 4e 65 74 77 6f 72 6b 29 2e 3c 2f 6c 69 al Network).</li
15f0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 73 3c >..<li><b>Links<
1600: 2f 62 3e 20 61 72 65 6e 27 74 20 73 74 72 69 63 /b> aren't stric
1610: 74 6c 79 20 72 65 71 75 69 72 65 64 20 74 6f 20 tly required to
1620: 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 be associated wi
1630: 74 68 20 61 6e 79 20 73 70 65 63 69 66 69 63 20 th any specific
1640: 61 74 74 72 69 62 75 74 65 2c 20 62 75 74 20 74 attribute, but t
1650: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 74 74 he following att
1660: 72 69 62 75 74 65 73 20 61 72 65 20 61 6c 6d 6f ributes are almo
1670: 73 74 20 75 6e 69 76 65 72 73 61 6c 6c 79 20 73 st universally s
1680: 75 70 70 6f 72 74 65 64 3a 0d 0a 3c 75 6c 3e 0d upported:..<ul>.
1690: 0a 3c 6c 69 3e 61 20 3c 62 3e 6e 61 6d 65 3c 2f .<li>a <b>name</
16a0: 62 3e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 b> identifying t
16b0: 68 65 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c 75 he Link.<br>..<u
16c0: 3e 45 78 61 6d 70 6c 65 73 3c 2f 75 3e 3a 20 74 >Examples</u>: t
16d0: 68 65 20 3c 69 3e 72 6f 61 64 20 74 6f 70 6f 6e he <i>road topon
16e0: 79 6d 3c 2f 69 3e 20 69 6e 20 61 20 3c 62 3e 72 ym</i> in a <b>r
16f0: 6f 61 64 20 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2c oad network</b>,
1700: 20 6f 72 20 74 68 65 20 3c 69 3e 72 69 76 65 72 or the <i>river
1710: 20 6e 61 6d 65 3c 2f 69 3e 20 69 6e 20 61 6e 20 name</i> in an
1720: 3c 62 3e 68 79 64 72 6f 67 72 61 70 68 69 63 20 <b>hydrographic
1730: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69 network</b>.</li
1740: 3e 0d 0a 3c 6c 69 3e 6f 6e 65 20 28 6f 72 20 65 >..<li>one (or e
1750: 76 65 6e 20 6d 6f 72 65 29 20 61 70 70 72 6f 70 ven more) approp
1760: 72 69 61 74 65 20 3c 62 3e 63 6f 73 74 20 76 61 riate <b>cost va
1770: 6c 75 65 3c 2f 62 3e 28 73 29 2e 3c 62 72 3e 0d lue</b>(s).<br>.
1780: 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a .<u>Example</u>:
1790: 20 74 68 65 20 3c 69 3e 74 69 6d 65 3c 2f 69 3e the <i>time</i>
17a0: 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 required to tra
17b0: 76 65 72 73 65 20 74 68 65 20 4c 69 6e 6b 20 28 verse the Link (
17c0: 6d 61 79 20 62 65 20 64 69 73 74 69 6e 67 75 69 may be distingui
17d0: 73 68 65 64 20 62 65 74 77 65 65 6e 20 70 65 64 shed between ped
17e0: 65 73 74 72 69 61 6e 73 2c 20 62 69 63 79 63 6c estrians, bicycl
17f0: 65 73 2c 20 63 61 72 73 2c 20 6c 6f 72 72 69 65 es, cars, lorrie
1800: 73 20 61 6e 64 20 73 6f 20 6f 6e 29 2e 3c 2f 6c s and so on).</l
1810: 69 3e 0d 0a 3c 6c 69 3e 61 20 70 61 69 72 20 6f i>..<li>a pair o
1820: 66 20 3c 62 3e 62 6f 6f 6c 65 61 6e 20 66 6c 61 f <b>boolean fla
1830: 67 73 3c 2f 62 3e 20 28 3c 62 3e 66 72 6f 6d 2d gs</b> (<b>from-
1840: 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 74 6f to</b> and <b>to
1850: 2d 66 72 6f 6d 3c 2f 62 3e 29 20 61 72 65 20 69 -from</b>) are i
1860: 6e 74 65 6e 64 65 6e 64 20 74 6f 20 73 70 65 63 ntendend to spec
1870: 69 66 79 20 69 66 20 74 68 65 20 4c 69 6e 6b 20 ify if the Link
1880: 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 can be traversed
1890: 20 6f 6e 20 62 6f 74 68 20 64 69 72 65 63 74 69 on both directi
18a0: 6f 6e 73 20 6f 72 20 6a 75 73 74 20 69 6e 20 6f ons or just in o
18b0: 6e 65 20 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f ne (<b>one-way</
18c0: 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e b>).</li>..</ul>
18d0: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 </li>..</ul>..<h
18e0: 34 3e 4c 6f 67 69 63 61 6c 20 63 6f 6e 63 6c 75 4>Logical conclu
18f0: 73 69 6f 6e 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20 sions</h4>..Any
1900: 74 6f 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 topologically va
1910: 6c 69 64 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f lid <b>Network</
1920: 62 3e 20 28 69 72 72 65 73 70 65 63 74 69 76 65 b> (irrespective
1930: 20 6f 66 20 77 68 65 74 68 65 72 20 69 74 20 69 of whether it i
1940: 73 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 3c 2f s a <b>Spatial</
1950: 62 3e 20 6f 72 20 3c 62 3e 4c 6f 67 69 63 61 6c b> or <b>Logical
1960: 3c 2f 62 3e 20 74 79 70 65 29 20 69 73 20 61 20 </b> type) is a
1970: 76 61 6c 69 64 20 3c 62 3e 47 72 61 70 68 3c 2f valid <b>Graph</
1980: 62 3e 2e 3c 62 72 3e 0d 0a 41 20 4e 65 74 77 6f b>.<br>..A Netwo
1990: 72 6b 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 rk allowing the
19a0: 73 75 70 70 6f 72 74 20 28 64 69 72 65 63 74 20 support (direct
19b0: 6f 72 20 69 6e 64 69 72 65 63 74 29 20 6f 66 20 or indirect) of
19c0: 73 6f 6d 65 20 61 70 70 72 6f 70 72 69 61 74 65 some appropriate
19d0: 20 3c 62 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f <b>cost value</
19e0: 62 3e 20 69 73 20 61 20 76 61 6c 69 64 20 3c 62 b> is a valid <b
19f0: 3e 57 65 69 67 68 74 65 64 20 47 72 61 70 68 3c >Weighted Graph<
1a00: 2f 62 3e 2c 20 61 6e 64 20 63 61 6e 20 63 6f 6e /b>, and can con
1a10: 73 65 71 75 65 6e 74 6c 79 20 73 75 70 70 6f 72 sequently suppor
1a20: 74 20 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 t <b>Routing alg
1a30: 6f 72 69 74 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e orithms</b>.<br>
1a40: 0d 0a 41 6c 6c 20 52 6f 75 74 69 6e 67 20 61 6c ..All Routing al
1a50: 67 6f 72 69 74 68 6d 73 20 61 72 65 20 69 6e 74 gorithms are int
1a60: 65 6e 64 65 64 20 74 6f 20 69 64 65 6e 74 69 66 ended to identif
1a70: 79 20 74 68 65 20 3c 62 3e 53 68 6f 72 74 65 73 y the <b>Shortes
1a80: 74 20 50 61 74 68 3c 2f 62 3e 20 73 6f 6c 75 74 t Path</b> solut
1a90: 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 ion connecting t
1aa0: 77 6f 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 wo <b>Nodes</b>
1ab0: 69 6e 20 61 20 3c 62 3e 77 65 69 67 68 74 65 64 in a <b>weighted
1ac0: 20 67 72 61 70 68 3c 2f 62 3e 20 28 3c 69 3e 61 graph</b> (<i>a
1ad0: 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 65 74 77 6f 72 ka</i> <b>Networ
1ae0: 6b 3c 2f 62 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d k</b>).<br><br>.
1af0: 0a 3c 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c .<b><u>Note</u><
1b00: 2f 62 3e 3a 20 74 68 65 20 74 65 72 6d 20 3c 62 /b>: the term <b
1b10: 3e 3c 69 3e 53 68 6f 72 74 65 73 74 20 50 61 74 ><i>Shortest Pat
1b20: 68 3c 2f 69 3e 3c 2f 62 3e 20 63 61 6e 20 62 65 h</i></b> can be
1b30: 20 65 61 73 69 6c 79 20 6d 69 73 75 6e 64 65 72 easily misunder
1b40: 73 74 6f 6f 64 2e 3c 62 72 3e 0d 0a 44 75 65 20 stood.<br>..Due
1b50: 74 6f 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65 to historical re
1b60: 61 73 6f 6e 73 20 74 68 65 20 6d 6f 73 74 20 63 asons the most c
1b70: 6f 6d 6d 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f ommon applicatio
1b80: 6e 20 66 69 65 6c 64 20 66 6f 72 20 52 6f 75 74 n field for Rout
1b90: 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 69 ing algorithms i
1ba0: 73 20 72 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e s related to <b>
1bb0: 52 6f 61 64 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 Road Networks</b
1bc0: 3e 2c 20 62 75 74 20 61 6c 73 6f 20 6d 61 6e 79 >, but also many
1bd0: 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 other kinds of
1be0: 4e 65 74 77 6f 72 6b 73 20 65 78 69 73 74 3a 0d Networks exist:.
1bf0: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f .<ul>..<li>Hydro
1c00: 67 72 61 70 68 69 63 20 4e 65 74 77 6f 72 6b 73 graphic Networks
1c10: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20 .</li>..<li>Gas
1c20: 2f 20 57 61 74 65 72 20 2f 20 4f 69 6c 20 4e 65 / Water / Oil Ne
1c30: 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c tworks.</li>..<l
1c40: 69 3e 45 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 i>Electrical Net
1c50: 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 works.</li>..<li
1c60: 3e 54 65 6c 65 63 6f 6d 75 6e 69 63 61 74 69 6f >Telecomunicatio
1c70: 6e 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e n Networks.</li>
1c80: 0d 0a 3c 6c 69 3e 53 6f 63 69 61 6c 20 6f 72 20 ..<li>Social or
1c90: 45 63 6f 6e 6f 6d 69 63 61 6c 20 4e 65 74 77 6f Economical Netwo
1ca0: 72 6b 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 rks representing
1cb0: 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 relationships b
1cc0: 65 74 77 65 65 6e 20 69 6e 64 69 76 69 64 75 61 etween individua
1cd0: 6c 73 20 6f 72 20 63 6f 6d 70 61 6e 69 65 73 2e ls or companies.
1ce0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65 </li>..<li>Epide
1cf0: 6d 69 6f 6c 6f 67 69 63 61 6c 20 4e 65 74 77 6f miological Netwo
1d00: 72 6b 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 rks representing
1d10: 20 74 68 65 20 70 72 6f 70 61 67 61 74 69 6f 6e the propagation
1d20: 20 6f 66 20 69 6e 66 65 63 74 69 76 65 20 64 69 of infective di
1d30: 73 65 61 73 65 73 20 62 65 74 77 65 65 6e 20 69 seases between i
1d40: 6e 64 69 76 69 64 75 61 6c 73 20 6f 72 20 67 72 ndividuals or gr
1d50: 6f 75 70 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c oups.</li>..</ul
1d60: 3e 3c 2f 6c 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49 ></li> ..<br>..I
1d70: 6e 20 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 n all the above
1d80: 63 61 73 65 73 20 77 65 20 63 65 72 74 61 69 6e cases we certain
1d90: 6c 79 20 68 61 76 65 20 76 61 6c 69 64 20 4e 65 ly have valid Ne
1da0: 74 77 6f 72 6b 73 20 73 75 70 70 6f 72 74 69 6e tworks supportin
1db0: 67 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 g Routing algori
1dc0: 74 68 6e 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c thns, but not al
1dd0: 6c 20 6f 66 20 74 68 65 6d 20 63 61 6e 20 69 6d l of them can im
1de0: 70 6c 79 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 ply something li
1df0: 6b 65 20 61 20 3c 69 3e 73 70 61 74 69 61 6c 20 ke a <i>spatial
1e00: 64 69 73 74 61 6e 63 65 3c 2f 69 3e 20 28 3c 69 distance</i> (<i
1e10: 3e 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 >geometric lengt
1e20: 68 3c 2f 69 3e 29 20 6f 72 20 61 20 3c 69 3e 74 h</i>) or a <i>t
1e30: 72 61 76 65 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c ravel time</i>.<
1e40: 62 72 3e 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74 br>..In the most
1e50: 20 67 65 6e 65 72 61 6c 20 61 63 63 65 70 74 69 general accepti
1e60: 6f 6e 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 on <b>costs</b>
1e70: 63 61 6e 20 62 65 20 72 65 70 72 65 73 65 6e 74 can be represent
1e80: 65 64 20 62 79 20 61 6e 79 20 72 65 61 73 6f 6e ed by any reason
1e90: 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 71 75 able physical qu
1ea0: 61 6e 74 69 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20 antity.<br>..So
1eb0: 61 20 6d 6f 72 65 20 67 65 6e 65 72 61 6c 69 7a a more generaliz
1ec0: 65 64 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 ed definition is
1ed0: 20 61 73 73 75 6d 69 6e 67 20 74 68 61 74 20 52 assuming that R
1ee0: 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d outing algorithm
1ef0: 73 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 s are intended t
1f00: 6f 20 69 64 65 6e 74 69 66 79 20 3c 62 3e 6c 65 o identify <b>le
1f10: 73 73 65 72 20 63 6f 73 74 3c 2f 62 3e 20 73 6f sser cost</b> so
1f20: 6c 75 74 69 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e lutions on a <b>
1f30: 77 65 69 67 68 74 65 64 20 67 72 61 70 68 3c 2f weighted graph</
1f40: 62 3e 2e 3c 62 72 3e 0d 0a 54 68 65 20 65 78 61 b>.<br>..The exa
1f50: 63 74 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f ct interpretatio
1f60: 6e 20 6f 66 20 74 68 65 20 69 6e 76 6f 6c 76 65 n of the involve
1f70: 64 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 28 d <b>costs</b> (
1f80: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65 <i>aka</i> <b>we
1f90: 69 67 68 74 73 3c 2f 62 3e 29 20 73 74 72 69 63 ights</b>) stric
1fa0: 74 6c 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 tly depends on t
1fb0: 68 65 20 76 65 72 79 20 73 70 65 63 69 66 69 63 he very specific
1fc0: 20 6e 61 74 75 72 65 20 6f 66 20 65 61 63 68 20 nature of each
1fd0: 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68 Network...<h3>Th
1fe0: 65 20 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 e Dijkstra's alg
1ff0: 6f 72 69 74 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69 orithm</h3>..Thi
2000: 73 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20 s well known <a
2010: 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e href="https://en
2020: 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 .wikipedia.org/w
2030: 69 6b 69 2f 44 69 6a 6b 73 74 72 61 25 32 37 73 iki/Dijkstra%27s
2040: 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 67 6f _algorithm">algo
2050: 72 69 74 68 6d 3c 2f 61 3e 20 69 73 6e 27 74 20 rithm</a> isn't
2060: 6e 65 63 65 73 73 61 72 69 6c 79 20 74 68 65 20 necessarily the
2070: 66 61 73 74 65 73 74 20 6f 6e 65 2c 20 62 75 74 fastest one, but
2080: 20 69 74 20 61 6c 77 61 79 73 20 65 6e 73 75 72 it always ensur
2090: 65 73 20 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65 es <b>full corre
20a0: 63 74 6e 65 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c ctness</b>:..<ul
20b0: 3e 0d 0a 3c 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d >..<li>Any Node-
20c0: 74 6f 2d 4e 6f 64 65 20 63 6f 6e 6e 65 63 74 69 to-Node connecti
20d0: 6f 6e 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 on identified by
20e0: 20 44 69 6a 6b 73 74 72 61 27 73 20 69 73 20 63 Dijkstra's is c
20f0: 65 72 74 61 69 6e 6c 79 20 65 6e 73 75 72 65 64 ertainly ensured
2100: 20 74 6f 20 62 65 20 3c 62 3e 6f 70 74 69 6d 61 to be <b>optima
2110: 6c 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f l</b>.<br>..In o
2120: 74 68 65 72 20 77 6f 72 64 73 2c 20 6e 6f 20 63 ther words, no c
2130: 6f 6e 6e 65 74 63 74 69 6f 6e 20 70 72 65 73 65 onnetction prese
2140: 6e 74 69 6e 67 20 61 20 6c 6f 77 65 72 20 63 6f nting a lower co
2150: 73 74 20 63 61 6e 20 63 6f 6e 63 65 70 74 75 61 st can conceptua
2160: 6c 6c 79 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d lly exist.</li>.
2170: 0a 3c 6c 69 3e 57 68 65 6e 20 44 69 6a 73 6a 74 .<li>When Dijsjt
2180: 72 61 27 73 20 66 61 69 6c 73 20 74 6f 20 69 64 ra's fails to id
2190: 65 6e 74 69 66 79 20 61 20 73 6f 6c 75 74 69 6f entify a solutio
21a0: 6e 20 74 68 69 73 20 73 75 72 65 6c 79 20 6d 65 n this surely me
21b0: 61 6e 73 20 74 68 61 74 20 6e 6f 20 73 6f 6c 75 ans that no solu
21c0: 74 69 6f 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 tion is possible
21d0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c .</li>..</ul>..<
21e0: 68 33 3e 54 68 65 20 41 2a 20 61 6c 67 6f 72 69 h3>The A* algori
21f0: 74 68 6d 3c 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 thm</h3>..Many a
2200: 6c 74 65 72 6e 61 74 69 76 65 20 52 6f 75 74 69 lternative Routi
2210: 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 68 61 ng algorithms ha
2220: 76 65 20 62 65 65 6e 20 69 6e 76 65 6e 74 65 64 ve been invented
2230: 20 64 75 72 69 6e 67 20 74 68 65 20 79 65 61 72 during the year
2240: 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d s.<br>..All them
2250: 20 61 72 65 20 62 61 73 65 64 20 6f 6e 20 68 65 are based on he
2260: 75 72 69 73 74 69 63 20 61 73 73 75 6d 70 74 69 uristic assumpti
2270: 6f 6e 73 20 61 6e 64 20 61 72 65 20 69 6e 74 65 ons and are inte
2280: 6e 64 65 64 20 74 6f 20 62 65 20 66 61 73 74 65 nded to be faste
2290: 72 20 74 68 61 6e 20 44 69 6a 6b 73 74 72 61 27 r than Dijkstra'
22a0: 73 2c 20 62 75 74 20 6e 6f 6e 65 20 6f 66 20 74 s, but none of t
22b0: 68 65 6d 20 63 61 6e 20 65 6e 73 75 72 65 20 3c hem can ensure <
22c0: 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65 b>full correctne
22d0: 73 73 3c 2f 62 3e 20 61 73 20 44 69 6a 6b 73 74 ss</b> as Dijkst
22e0: 72 61 27 73 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a ra's does.<br>..
22f0: 54 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 The <a href="htt
2300: 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 ps://en.wikipedi
2310: 61 2e 6f 72 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 a.org/wiki/A*_se
2320: 61 72 63 68 5f 61 6c 67 6f 72 69 74 68 6d 22 3e arch_algorithm">
2330: 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e A* algorithm</a>
2340: 20 61 70 70 6c 69 65 73 20 61 20 6d 69 6c 64 20 applies a mild
2350: 68 65 75 72 69 73 74 69 63 20 6f 70 74 69 6d 69 heuristic optimi
2360: 7a 61 74 69 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 zation, and can
2370: 62 65 20 61 20 72 65 61 6c 69 73 74 69 63 20 61 be a realistic a
2380: 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 44 69 lternative to Di
2390: 6a 6b 73 74 72 61 27 73 20 69 6e 20 6d 61 6e 79 jkstra's in many
23a0: 20 63 61 73 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d cases.<br><br>.
23b0: 0a 3c 68 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 .<hr>..<h1><a na
23c0: 6d 65 3d 22 73 61 6d 70 6c 65 22 3e 32 20 2d 20 me="sample">2 -
23d0: 54 68 65 20 73 61 6d 70 6c 65 2f 74 65 73 74 20 The sample/test
23e0: 44 42 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75 DB</a></h1>..You
23f0: 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f are expected to
2400: 20 66 6f 6c 6c 6f 77 20 74 68 65 20 63 75 72 72 follow the curr
2410: 65 6e 74 20 74 75 74 6f 72 69 61 6c 20 61 62 6f ent tutorial abo
2420: 75 74 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 ut <b>VirtualRou
2430: 74 69 6e 67 3c 2f 62 3e 20 62 79 20 64 69 72 65 ting</b> by dire
2440: 63 74 6c 79 20 74 65 73 74 69 6e 67 20 61 6c 6c ctly testing all
2450: 20 53 51 4c 20 71 75 65 72 69 65 73 20 64 69 73 SQL queries dis
2460: 63 75 73 73 65 64 20 20 62 65 6c 6f 77 20 77 69 cussed below wi
2470: 74 68 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 th the <a href="
2480: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
2490: 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e -gis.it/gaia-sin
24a0: 73 2f 72 6f 75 74 69 6e 67 2d 73 61 6d 70 6c 65 s/routing-sample
24b0: 2d 35 2e 30 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c -5.0.0.7z">sampl
24c0: 65 2f 74 65 73 74 20 44 42 20 74 68 61 74 20 79 e/test DB that y
24d0: 6f 75 20 63 61 6e 20 64 6f 77 6e 6c 6f 61 64 20 ou can download
24e0: 66 72 6f 6d 20 68 65 72 65 3c 2f 61 3e 3c 62 72 from here</a><br
24f0: 3e 3c 62 72 3e 0d 0a 54 68 65 20 73 61 6d 70 6c ><br>..The sampl
2500: 65 20 44 42 20 63 6f 6e 74 61 69 6e 73 20 74 68 e DB contains th
2510: 65 20 66 75 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e e full <b>road n
2520: 65 74 77 6f 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62 etwork</b> of <b
2530: 3e 54 75 73 63 61 6e 79 20 52 65 67 69 6f 6e 20 >Tuscany Region
2540: 28 49 74 61 6c 79 29 3c 2f 62 3e 20 28 3c 61 20 (Italy)</b> (<a
2550: 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 href="http://www
2560: 35 30 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63 502.regione.tosc
2570: 61 6e 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f ana.it/geoscopio
2580: 2f 64 6f 77 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f /download/grafo_
2590: 73 74 72 61 64 61 6c 65 2f 69 74 65 72 6e 65 74 stradale/iternet
25a0: 2e 7a 69 70 22 3e 49 74 65 72 2e 4e 65 74 20 64 .zip">Iter.Net d
25b0: 61 74 61 73 65 74 3c 2f 61 3e 29 20 6b 69 6e 64 ataset</a>) kind
25c0: 6c 79 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 ly released unde
25d0: 72 20 74 68 65 20 3c 62 3e 43 43 2d 42 59 2d 53 r the <b>CC-BY-S
25e0: 41 20 34 2e 30 3c 2f 62 3e 20 6c 69 63 65 6e 63 A 4.0</b> licenc
25f0: 65 20 74 65 72 6d 73 2e 3c 62 72 3e 0d 0a 41 6c e terms.<br>..Al
2600: 6c 74 68 6f 75 67 68 20 74 68 65 20 63 6f 6e 74 lthough the cont
2610: 65 6e 74 73 20 73 74 6f 72 65 64 20 69 6e 20 74 ents stored in t
2620: 68 65 20 73 61 6d 70 6c 65 20 64 61 74 61 62 61 he sample databa
2630: 73 65 20 68 61 76 65 20 62 65 65 6e 20 72 65 61 se have been rea
2640: 72 72 61 6e 67 65 64 2c 20 69 74 20 69 73 20 73 rranged, it is s
2650: 74 69 6c 6c 20 73 75 62 6a 65 63 74 20 74 6f 20 till subject to
2660: 74 68 65 20 69 6e 69 74 69 61 6c 20 3c 62 3e 43 the initial <b>C
2670: 43 2d 42 59 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 C-BY-SA 4.0</b>
2680: 63 6c 61 75 73 65 73 20 28 3c 69 3e 64 65 72 69 clauses (<i>deri
2690: 76 65 64 20 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a ved work</i>)...
26a0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a <br><br>..<ul>..
26b0: 3c 6c 69 3e 61 6c 6c 20 72 6f 61 64 20 6e 61 6d <li>all road nam
26c0: 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 77 69 es are stored wi
26d0: 74 68 69 6e 20 74 68 65 20 3c 62 3e 74 6f 70 6f thin the <b>topo
26e0: 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c nyms</b> Table.<
26f0: 62 72 3e 0d 0a 73 69 6e 63 65 20 74 68 65 20 73 br>..since the s
2700: 61 6d 65 20 72 6f 61 64 20 6e 61 6d 65 73 20 63 ame road names c
2710: 6f 75 6c 64 20 62 65 20 75 73 65 64 20 69 6e 20 ould be used in
2720: 64 69 66 66 65 72 65 6e 74 20 4d 75 6e 69 63 69 different Munici
2730: 70 61 6c 69 74 69 65 73 2c 20 74 68 65 20 3c 62 palities, the <b
2740: 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 >toponyms</b> Ta
2750: 62 6c 65 20 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 ble relationally
2760: 20 72 65 66 65 72 65 6e 63 65 73 20 74 68 65 20 references the
2770: 3c 62 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 <b>municipalitie
2780: 73 3c 2f 62 3e 20 54 61 62 6c 65 20 28 76 69 61 s</b> Table (via
2790: 20 3c 62 3e 50 52 49 4d 41 52 59 3c 2f 62 3e 20 <b>PRIMARY</b>
27a0: 2f 20 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 / <b>FOREIGN KEY
27b0: 3c 2f 62 3e 20 72 65 6c 61 74 69 6f 6e 73 68 69 </b> relationshi
27c0: 70 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 ps).</li>..<li>t
27d0: 68 65 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 he <b>roads</b>
27e0: 53 70 61 74 69 61 6c 20 54 61 62 6c 65 20 63 6f Spatial Table co
27f0: 6e 74 61 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e ntains about <b>
2800: 33 38 30 2c 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 380,000</b> Link
2810: 73 2c 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 s, and has the f
2820: 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 ollowing columns
2830: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e :..<ul>..<li><b>
2840: 69 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 id</b>: unique i
2850: 64 65 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 dentifier of eac
2860: 68 20 4c 69 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 h Link (<b>PRIMA
2870: 52 59 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 RY KEY</b>).</li
2880: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 >..<li><b>node_f
2890: 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e rom</b> and <b>n
28a0: 6f 64 65 5f 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 ode_to</b>: Node
28b0: 20 69 64 65 6e 74 69 66 69 65 72 73 2e 0d 0a 54 identifiers...T
28c0: 68 65 20 6f 72 69 67 69 6e 61 6c 20 49 74 65 72 he original Iter
28d0: 2e 4e 65 74 20 64 61 74 61 73 65 74 20 61 64 6f .Net dataset ado
28e0: 70 74 73 20 76 65 72 79 20 6c 6f 6e 67 20 61 6e pts very long an
28f0: 20 63 6f 6d 70 6c 65 78 20 61 6c 70 68 61 6e 75 complex alphanu
2900: 6d 65 72 69 63 20 4e 6f 64 65 20 63 6f 64 65 73 meric Node codes
2910: 3b 20 74 68 65 20 69 6e 74 65 67 65 72 20 4e 6f ; the integer No
2920: 64 65 20 49 44 73 20 77 65 72 65 20 6f 62 74 61 de IDs were obta
2930: 69 6e 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 ined by calling
2940: 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 the <b>CreateRou
2950: 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 tingNodes()</b>
2960: 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 SQL function dis
2970: 63 75 73 73 65 64 20 69 6e 20 61 20 66 6f 6c 6c cussed in a foll
2980: 6f 77 69 6e 67 20 73 65 63 74 69 6f 6e 2e 3c 2f owing section.</
2990: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 li>..<li><b>id_t
29a0: 6f 70 6f 6e 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 oponym</b>: rela
29b0: 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 tional reference
29c0: 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f to the correspo
29d0: 6e 64 69 6e 67 20 72 6f 61 64 20 6e 61 6d 65 20 nding road name
29e0: 63 6f 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 contained into t
29f0: 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f he <b>toponyms</
2a00: 62 3e 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52 b> Table (<b>FOR
2a10: 45 49 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f EIGN KEY</b>).</
2a20: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 li>..<li><b>spee
2a30: 64 5f 6b 6d 68 3c 2f 62 3e 3a 20 74 68 65 20 65 d_kmh</b>: the e
2a40: 73 74 69 6d 61 74 65 64 20 61 76 65 72 61 67 65 stimated average
2a50: 20 73 70 65 65 64 20 73 75 70 70 6f 72 74 65 64 speed supported
2a60: 20 62 79 20 74 68 65 20 4c 69 6e 6b 2c 20 65 78 by the Link, ex
2a70: 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6b 6d pressed in <b>km
2a80: 2f 68 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e /h</b>.<br>..<u>
2a90: 4e 6f 74 65 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 Note</u>: <b>neg
2aa0: 61 74 69 76 65 3c 2f 62 3e 20 73 70 65 65 64 73 ative</b> speeds
2ab0: 20 69 6e 74 65 6e 64 20 61 20 66 6f 72 62 69 64 intend a forbid
2ac0: 64 65 6e 20 4c 69 6e 6b 20 28 61 73 20 69 74 20 den Link (as it
2ad0: 63 6f 75 6c 64 20 62 65 20 74 68 65 20 63 61 73 could be the cas
2ae0: 65 20 6f 66 20 70 65 64 65 73 74 72 69 61 6e 20 e of pedestrian
2af0: 73 74 72 65 65 74 73 20 6f 72 20 62 69 63 79 63 streets or bicyc
2b00: 6c 65 20 6c 61 6e 65 73 20 65 78 6c 75 64 69 6e le lanes exludin
2b10: 67 20 6d 6f 74 6f 72 20 76 65 68 69 63 6c 65 73 g motor vehicles
2b20: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e ).</li>..<li><b>
2b30: 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 oneway_fromto</b
2b40: 3e 20 61 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f > and <b>oneway_
2b50: 74 6f 66 72 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c tofrom</b>: bool
2b60: 65 61 6e 20 66 6c 61 67 73 20 64 65 74 65 72 6d ean flags determ
2b70: 69 6e 65 20 69 66 20 61 20 4c 69 6e 6b 20 63 61 ine if a Link ca
2b80: 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20 69 n be traversed i
2b90: 6e 20 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e n both direction
2ba0: 73 20 6f 72 20 6a 75 73 74 20 69 6e 20 61 20 73 s or just in a s
2bb0: 69 6e 67 6c 65 20 64 69 72 65 63 74 69 6f 6e 20 ingle direction
2bc0: 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 (<b>one-way</b>)
2bd0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f .<br>..<u>Note</
2be0: 75 3e 3a 20 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 u>: all Links de
2bf0: 63 6c 61 72 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 claring <b>onewa
2c00: 79 5f 66 72 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 y_fromto=0</b> a
2c10: 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 nd <b>oneway_tof
2c20: 72 6f 6d 3d 30 3c 2f 62 3e 20 61 72 65 20 69 6e rom=0</b> are in
2c30: 74 65 6e 64 65 64 20 74 6f 20 62 65 20 61 6c 77 tended to be alw
2c40: 61 79 73 20 66 6f 72 62 69 64 64 65 6e 2e 3c 2f ays forbidden.</
2c50: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 li>..<li><b>cost
2c60: 3c 2f 62 3e 3a 20 74 68 65 20 3c 62 3e 74 69 6d </b>: the <b>tim
2c70: 65 3c 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 e</b> expressed
2c80: 69 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 in <b>seconds</b
2c90: 3e 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 > required to tr
2ca0: 61 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b averse each Link
2cb0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 .<br>..<u>Note #
2cc0: 31 3c 2f 75 3e 20 61 6c 6c 20 63 6f 73 74 73 20 1</u> all costs
2cd0: 77 65 72 65 20 63 61 6c 63 75 6c 61 74 65 64 20 were calculated
2ce0: 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 accordingly to t
2cf0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 he following for
2d00: 6d 75 6c 61 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 mula: <b>cost =
2d10: 28 28 53 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d ((ST_Length(geom
2d20: 29 20 2f 20 31 30 30 30 2e 30 29 20 2f 20 73 70 ) / 1000.0) / sp
2d30: 65 65 64 5f 6b 6d 68 29 20 2a 20 33 36 30 30 2e eed_kmh) * 3600.
2d40: 30 3c 2f 62 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 0</b><br>..<u>No
2d50: 74 65 20 23 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 te #2</u> all <b
2d60: 3e 38 36 2c 34 30 30 2e 30 3c 2f 62 3e 20 63 6f >86,400.0</b> co
2d70: 73 74 20 76 61 6c 75 65 73 20 28 65 71 75 69 76 st values (equiv
2d80: 61 6c 65 6e 74 20 74 6f 20 31 20 64 61 79 29 20 alent to 1 day)
2d90: 69 6d 70 6c 79 20 61 6e 20 3c 62 3e 69 6e 66 69 imply an <b>infi
2da0: 6e 69 74 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 nitive cost</b>
2db0: 74 68 75 73 20 69 6e 74 65 6e 64 69 6e 67 20 61 thus intending a
2dc0: 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 <b>forbidden</b
2dd0: 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c > Link.</li>..<l
2de0: 69 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 i><b>geom</b>: a
2df0: 20 3c 62 3e 33 44 20 4c 69 6e 65 73 74 72 69 6e <b>3D Linestrin
2e00: 67 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69 g</b> representi
2e10: 6e 67 20 74 68 65 20 47 65 6f 6d 65 74 72 79 20 ng the Geometry
2e20: 6f 66 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 of each Link.<br
2e30: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
2e40: 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 3c 62 3e the original <b>
2e50: 49 74 65 72 2e 4e 65 74 3c 2f 62 3e 20 64 61 74 Iter.Net</b> dat
2e60: 61 73 65 74 20 69 73 20 6a 75 73 74 20 3c 62 3e aset is just <b>
2e70: 32 44 3c 2f 62 3e 3b 20 65 6c 65 76 61 74 69 6f 2D</b>; elevatio
2e80: 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f ns (<b>Z</b> coo
2e90: 72 64 69 6e 61 74 65 73 29 20 77 65 72 65 20 69 rdinates) were i
2ea0: 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 79 20 64 nterpolated by d
2eb0: 72 61 70 69 6e 67 20 74 68 65 20 64 61 74 61 73 raping the datas
2ec0: 65 74 20 6f 76 65 72 20 61 6e 20 3c 61 20 68 72 et over an <a hr
2ed0: 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 ef="http://www50
2ee0: 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 2.regione.toscan
2ef0: 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 a.it/geoscopio/d
2f00: 6f 77 6e 6c 6f 61 64 2f 61 6c 74 69 6d 65 74 72 ownload/altimetr
2f10: 69 61 2f 64 61 5f 63 74 72 31 30 6b 2f 67 62 2f ia/da_ctr10k/gb/
2f20: 44 54 4d 5f 4f 72 6f 67 72 61 66 69 63 6f 2e 37 DTM_Orografico.7
2f30: 7a 22 3e 6f 72 6f 67 72 61 70 68 69 63 20 44 45 z">orographic DE
2f40: 4d 20 28 31 30 6d 20 58 20 31 30 6d 20 63 65 6c M (10m X 10m cel
2f50: 6c 73 29 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f ls)</a></li>..</
2f60: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 ul></li>..<li>th
2f70: 65 20 3c 62 3e 72 6f 61 64 73 5f 76 77 3c 2f 62 e <b>roads_vw</b
2f80: 3e 20 53 70 61 74 69 61 6c 20 56 69 65 77 20 72 > Spatial View r
2f90: 65 73 6f 6c 76 65 73 20 61 6c 6c 20 72 65 6c 61 esolves all rela
2fa0: 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 tional reference
2fb0: 73 20 62 65 74 77 65 65 6e 20 3c 62 3e 72 6f 61 s between <b>roa
2fc0: 64 73 3c 2f 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e ds</b>, <b>topon
2fd0: 79 6d 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d yms</b> and <b>m
2fe0: 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 unicipalities</b
2ff0: 3e 2c 20 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67 >, thus allowing
3000: 20 66 6f 72 20 65 61 73 69 65 72 20 53 51 4c 20 for easier SQL
3010: 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c queries.</li>..<
3020: 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f li>the <b>house_
3030: 6e 72 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 54 nr</b> Spatial T
3040: 61 62 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 62 able contains ab
3050: 6f 75 74 20 3c 62 3e 31 2c 34 38 30 2c 30 30 30 out <b>1,480,000
3060: 3c 2f 62 3e 20 48 6f 75 73 65 20 4e 75 6d 62 65 </b> House Numbe
3070: 72 73 2c 20 61 6e 64 20 68 61 73 20 74 68 65 20 rs, and has the
3080: 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e following column
3090: 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 s:..<ul>..<li><b
30a0: 3e 69 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 >id</b>: unique
30b0: 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 65 61 identifier of ea
30c0: 63 68 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20 ch House Number
30d0: 28 3c 62 3e 50 52 49 4d 41 52 59 20 4b 45 59 3c (<b>PRIMARY KEY<
30e0: 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e /b>).</li>..<li>
30f0: 3c 62 3e 69 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 <b>id_road</b>:
3100: 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 relational refer
3110: 65 6e 63 65 20 74 6f 20 74 68 65 20 63 6f 72 72 ence to the corr
3120: 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 esponding Link c
3130: 6f 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 ontained into th
3140: 65 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 e <b>roads</b> T
3150: 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e able (<b>FOREIGN
3160: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d KEY</b>).</li>.
3170: 0a 3c 6c 69 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 .<li><b>label</b
3180: 3e 3a 20 74 68 65 20 74 65 78 74 75 61 6c 20 6c >: the textual l
3190: 61 62 65 6c 20 66 75 6c 6c 79 20 71 75 61 6c 69 abel fully quali
31a0: 66 79 69 6e 67 20 65 61 63 68 20 48 6f 75 73 65 fying each House
31b0: 20 4e 75 6d 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c Number.</li>..<
31c0: 6c 69 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 li><b>geom</b>:
31d0: 61 20 3c 62 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 a <b>3D Point</b
31e0: 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 > representing t
31f0: 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65 he Geometry of e
3200: 61 63 68 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 ach House Number
3210: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 .<br>..<u>Note #
3220: 31 3c 2f 75 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 1</u>: also in t
3230: 68 69 73 20 63 61 73 65 20 61 6c 6c 20 65 6c 65 his case all ele
3240: 76 61 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 vations (<b>Z</b
3250: 3e 20 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77 > coordinates) w
3260: 65 72 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 ere interpolated
3270: 20 62 79 20 64 72 61 70 69 6e 67 20 74 68 65 20 by draping the
3280: 64 61 74 61 73 65 74 20 6f 76 65 72 20 74 68 65 dataset over the
3290: 20 73 61 6d 65 20 44 45 4d 20 61 73 20 61 62 6f same DEM as abo
32a0: 76 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 ve.<br>..<u>Note
32b0: 20 23 32 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c #2</u>: strictl
32c0: 79 20 73 70 65 61 63 6b 69 6e 67 20 74 68 65 20 y speacking the
32d0: 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 20 61 72 House Numbers ar
32e0: 65 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 e not part of th
32f0: 65 20 52 6f 61 64 20 4e 65 74 77 6f 72 6b 3b 20 e Road Network;
3300: 74 68 65 79 20 61 72 65 20 69 6e 63 6c 75 64 65 they are include
3310: 64 20 69 6e 20 74 68 65 20 73 61 6d 70 6c 65 2f d in the sample/
3320: 74 65 73 74 20 64 61 74 61 62 61 73 65 20 61 73 test database as
3330: 20 75 73 65 66 75 6c 20 65 78 61 6d 70 6c 65 73 useful examples
3340: 20 65 78 70 6c 61 69 6e 65 64 20 6c 61 74 65 72 explained later
3350: 20 69 6e 20 74 68 69 73 20 74 65 78 74 2e 3c 2f in this text.</
3360: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
3370: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 73 .<li>the <b>hous
3380: 65 5f 6e 72 5f 76 77 3c 2f 62 3e 20 53 70 61 74 e_nr_vw</b> Spat
3390: 69 61 6c 20 56 69 65 77 20 72 65 73 6f 6c 76 65 ial View resolve
33a0: 73 20 61 6c 6c 20 72 65 6c 61 74 69 6f 6e 61 6c s all relational
33b0: 20 72 65 66 65 72 65 6e 63 65 73 20 62 65 74 77 references betw
33c0: 65 65 6e 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c een <b>house_nr<
33d0: 2f 62 3e 2c 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 /b>, <b>roads</b
33e0: 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f >, <b>toponyms</
33f0: 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 b> and <b>munici
3400: 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74 68 palities</b>, th
3410: 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 us allowing for
3420: 65 61 73 69 65 72 20 53 51 4c 20 71 75 65 72 69 easier SQL queri
3430: 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d es.</li>..</ul>.
3440: 0a 3c 62 72 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68 .<br>.. <hr>..<h
3450: 31 3e 3c 61 20 6e 61 6d 65 3d 22 63 72 65 61 74 1><a name="creat
3460: 65 22 3e 33 20 2d 20 43 72 65 61 74 69 6e 67 20 e">3 - Creating
3470: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 VirtualRouting T
3480: 61 62 6c 65 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a ables</a></h1>..
3490: 41 6c 6c 20 56 69 72 74 75 61 6c 52 6f 75 74 69 All VirtualRouti
34a0: 6e 67 20 71 75 65 72 69 65 73 20 61 72 65 20 62 ng queries are b
34b0: 61 73 65 64 20 6f 6e 20 61 20 73 70 65 63 69 66 ased on a specif
34c0: 69 63 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 ic <b>VirtualRou
34d0: 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 2c 20 ting Table</b>,
34e0: 61 6e 64 20 69 6e 20 74 75 72 6e 2c 20 74 68 65 and in turn, the
34f0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 VirtualRouting
3500: 54 61 62 6c 65 20 69 73 20 62 61 73 65 64 20 6f Table is based o
3510: 6e 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e n a correspondin
3520: 67 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 g <b>Binary Data
3530: 20 54 61 62 6c 65 3c 2f 62 3e 20 77 68 69 63 68 Table</b> which
3540: 2c 20 74 61 6b 65 6e 20 74 6f 67 65 61 74 68 65 , taken togeathe
3550: 72 2c 20 69 73 20 61 6e 20 65 66 66 69 63 69 65 r, is an efficie
3560: 6e 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f nt representatio
3570: 6e 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79 n of the underly
3580: 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e ing Network.<br>
3590: 0d 0a 53 6f 20 77 65 27 6c 6c 20 73 74 61 72 74 ..So we'll start
35a0: 20 66 69 72 73 74 20 62 79 20 63 72 65 61 74 69 first by creati
35b0: 6e 67 20 74 68 65 73 65 20 74 61 62 6c 65 73 2e ng these tables.
35c0: 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6f 6c <br><br>..The ol
35d0: 64 2c 20 61 6e 64 20 6e 6f 77 20 73 75 70 65 72 d, and now super
35e0: 73 65 64 65 64 2c 20 3c 62 3e 56 69 72 74 75 61 seded, <b>Virtua
35f0: 6c 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 71 lNetwork</b> req
3600: 75 69 72 65 64 20 74 68 65 20 75 73 65 20 6f 66 uired the use of
3610: 20 61 20 73 65 70 61 72 61 74 65 20 43 4c 49 20 a separate CLI
3620: 74 6f 6f 6c 20 28 3c 62 3e 73 70 61 74 69 61 6c tool (<b>spatial
3630: 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 29 ite_network</b>)
3640: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f in order to pro
3650: 70 65 72 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65 perly initialize
3660: 20 61 20 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 a VirtualNetwor
3670: 6b 20 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20 k Table and its
3680: 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 companion Binary
3690: 20 44 61 74 61 20 54 61 62 6c 65 3b 0d 0a 61 6c Data Table;..al
36a0: 74 65 72 6e 61 74 69 76 65 6c 79 20 3c 62 3e 73 ternatively <b>s
36b0: 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 patialite_gui</b
36c0: 3e 20 73 75 70 70 6f 72 74 65 64 20 61 20 3c 62 > supported a <b
36d0: 3e 47 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20 >GUI wizard</b>
36e0: 66 6f 72 20 74 68 65 20 73 61 6d 65 20 74 61 73 for the same tas
36f0: 6b 2e 20 53 69 6e 63 65 20 76 65 72 73 69 6f 6e k. Since version
3700: 20 3c 62 3e 35 2e 30 2e 30 3c 2f 62 3e 2c 20 53 <b>5.0.0</b>, S
3710: 70 61 74 69 61 4c 69 74 65 20 20 73 75 70 70 6f patiaLite suppo
3720: 72 74 73 20 74 68 69 73 20 66 75 6e 63 74 69 6f rts this functio
3730: 6e 61 6c 69 74 79 20 64 69 72 65 63 74 6c 79 2c nality directly,
3740: 20 77 69 74 68 20 74 68 65 20 3c 62 3e 43 72 65 with the <b>Cre
3750: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e ateRouting()</b>
3760: 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a SQL function...
3770: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 <verbatim>..SELE
3780: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 CT CreateRouting
3790: 28 27 62 79 66 6f 6f 74 5f 64 61 74 61 27 2c 20 ('byfoot_data',
37a0: 27 62 79 66 6f 6f 74 27 2c 20 27 72 6f 61 64 73 'byfoot', 'roads
37b0: 5f 76 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d _vw', 'node_from
37c0: 27 2c 20 27 6e 6f 64 65 74 6f 27 2c 20 27 67 65 ', 'nodeto', 'ge
37d0: 6f 6d 27 2c 20 4e 55 4c 4c 29 3b 0d 0a 0d 0a 53 om', NULL);....S
37e0: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 ELECT CreateRout
37f0: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 ing_GetLastError
3800: 28 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ();..-----------
3810: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3820: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 54 6f 4e 6f 64 ---------..ToNod
3830: 65 20 43 6f 6c 75 6d 6e 20 22 6e 6f 64 65 74 6f e Column "nodeto
3840: 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 " is not defined
3850: 20 69 6e 20 74 68 65 20 49 6e 70 75 74 20 54 61 in the Input Ta
3860: 62 6c 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e ble..</verbatim>
3870: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 ..<u>Note</u>: t
3880: 68 69 73 20 66 69 72 73 74 20 71 75 65 72 79 20 his first query
3890: 28 62 61 73 65 64 20 6f 6e 20 74 68 65 20 3c 69 (based on the <i
38a0: 3e 6d 69 6e 69 6d 61 6c 20 66 6f 72 6d 3c 2f 69 >minimal form</i
38b0: 3e 20 6f 66 20 3c 62 3e 43 72 65 61 74 65 52 6f > of <b>CreateRo
38c0: 75 74 69 6e 67 3c 2f 62 3e 29 20 3c 62 3e 3c 69 uting</b>) <b><i
38d0: 3e 3c 75 3e 64 65 6c 69 62 65 72 61 74 65 6c 79 ><u>deliberately
38e0: 3c 2f 75 3e 3c 2f 69 3e 3c 2f 62 3e 20 63 6f 6e </u></i></b> con
38f0: 74 61 69 6e 73 20 61 6e 20 69 6e 74 65 6e 64 65 tains an intende
3900: 64 20 65 72 72 6f 72 20 63 61 75 73 69 6e 67 20 d error causing
3910: 61 20 66 61 69 6c 75 72 65 20 74 6f 20 20 72 61 a failure to ra
3920: 69 73 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e ise an exception
3930: 2e 3c 62 72 3e 0d 0a 43 72 65 61 74 65 52 6f 75 .<br>..CreateRou
3940: 74 69 6e 67 28 29 20 63 61 6e 20 66 61 69 6c 20 ting() can fail
3950: 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20 72 65 61 for multiple rea
3960: 73 6f 6e 73 2c 20 61 6e 64 20 62 79 20 63 61 6c sons, and by cal
3970: 6c 69 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f ling <b>CreateRo
3980: 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 uting_GetLastErr
3990: 6f 72 28 29 3c 2f 62 3e 20 79 6f 75 20 63 61 6e or()</b> you can
39a0: 20 65 61 73 69 6c 79 20 69 64 65 6e 74 69 66 79 easily identify
39b0: 20 74 68 65 20 65 78 61 63 74 20 72 65 61 73 6f the exact reaso
39c0: 6e 20 77 68 79 20 74 68 65 20 6d 6f 73 74 20 72 n why the most r
39d0: 65 63 65 6e 74 20 63 61 6c 6c 20 74 6f 20 43 72 ecent call to Cr
39e0: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 66 61 eateRouting() fa
39f0: 69 6c 65 64 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 iled.<br>..<verb
3a00: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 atim>..SELECT Cr
3a10: 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 eateRouting('byf
3a20: 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f oot_data', 'byfo
3a30: 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c ot', 'roads_vw',
3a40: 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 'node_from', 'n
3a50: 6f 64 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c ode_to', 'geom',
3a60: 20 4e 55 4c 4c 2c 20 27 74 6f 70 6f 6e 79 6d 27 NULL, 'toponym'
3a70: 2c 20 31 2c 20 31 29 3b 0d 0a 2d 2d 2d 2d 2d 2d , 1, 1);..------
3a80: 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d 0a 53 45 -------..1....SE
3a90: 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 LECT CreateRouti
3aa0: 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 ng_GetLastError(
3ab0: 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d );..------------
3ac0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3ad0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c 4c 0d 0a --------..NULL..
3ae0: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69 </verbatim>..Thi
3af0: 73 20 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 s second attempt
3b00: 20 77 69 6c 6c 20 73 75 63 63 65 65 64 2c 20 77 will succeed, w
3b10: 69 74 68 20 43 72 65 61 74 65 52 6f 75 74 69 6e ith CreateRoutin
3b20: 67 28 29 20 72 65 74 75 72 6e 69 6e 67 20 3c 62 g() returning <b
3b30: 3e 31 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f >1</b> (<i>aka</
3b40: 69 3e 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 2c i> <b>TRUE</b>),
3b50: 20 61 6e 64 20 61 73 20 79 6f 75 20 63 61 6e 20 and as you can
3b60: 65 61 73 69 6c 79 20 63 68 65 63 6b 20 6e 6f 77 easily check now
3b70: 20 74 68 65 20 44 61 74 61 62 61 73 65 20 63 6f the Database co
3b80: 6e 74 61 69 6e 73 20 74 77 6f 20 6e 65 77 20 54 ntains two new T
3b90: 61 62 6c 65 73 3a 20 3c 62 3e 62 79 66 6f 6f 74 ables: <b>byfoot
3ba0: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 62 79 66 6f </b> and <b>byfo
3bb0: 6f 74 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e ot_data</b>.<br>
3bc0: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 ..<u>Note</u>: a
3bd0: 66 74 65 72 20 61 20 73 75 63 63 65 73 73 66 75 fter a successfu
3be0: 6c 20 63 61 6c 6c 20 74 6f 20 43 72 65 61 74 65 l call to Create
3bf0: 52 6f 75 74 69 6e 67 28 29 20 3c 62 3e 43 72 65 Routing() <b>Cre
3c00: 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 ateRouting_GetLa
3c10: 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e 20 77 69 stError()</b> wi
3c20: 6c 6c 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e ll always return
3c30: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 62 72 <b>NULL</b>.<br
3c40: 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6c 6f 6f ><br>..Let's loo
3c50: 6b 2c 20 69 6e 20 6d 6f 72 65 20 64 65 74 61 69 k, in more detai
3c60: 6c 2c 20 6f 66 20 74 68 65 20 3c 69 3e 6d 69 6e l, of the <i>min
3c70: 69 6d 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 imal form</i> of
3c80: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 CreateRouting()
3c90: 3b 20 61 6e 64 20 74 68 65 20 6d 65 61 6e 69 6e ; and the meanin
3ca0: 67 20 6f 66 20 65 61 63 68 20 61 72 67 75 6d 65 g of each argume
3cb0: 6e 74 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c nt:..<ol>..<li><
3cc0: 69 3e 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f 69 i>byfoot_data</i
3cd0: 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 >: the name of t
3ce0: 68 65 20 4e 65 74 77 6f 72 6b 20 42 69 6e 61 72 he Network Binar
3cf0: 79 20 44 61 74 61 20 54 61 62 6c 65 20 74 6f 20 y Data Table to
3d00: 62 65 20 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e be created.</li>
3d10: 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 3c ..<li><i>byfoot<
3d20: 2f 69 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 /i>: the name of
3d30: 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 the VirtualRout
3d40: 69 6e 67 20 54 61 62 6c 65 20 74 6f 20 62 65 20 ing Table to be
3d50: 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c created.</li>..<
3d60: 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 3c 2f li><i>roads_vw</
3d70: 69 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 i>: the name of
3d80: 74 68 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 54 the <b>Spatial T
3d90: 61 62 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 53 able</b> or <b>S
3da0: 70 61 74 69 61 6c 20 56 69 65 77 3c 2f 62 3e 20 patial View</b>
3db0: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 representing the
3dc0: 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74 77 underlying Netw
3dd0: 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 ork.<br>..<u>Not
3de0: 65 3c 2f 75 3e 3a 20 69 6e 20 74 68 69 73 20 63 e</u>: in this c
3df0: 61 73 65 20 77 65 20 61 63 74 75 61 6c 6c 79 20 ase we actually
3e00: 75 73 65 64 20 61 20 53 70 61 74 69 61 6c 20 56 used a Spatial V
3e10: 69 65 77 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c iew.</li>..<li><
3e20: 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a i>node_from</i>:
3e30: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c name of the col
3e40: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 umn (in the abov
3e50: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 e Table or View)
3e60: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e expected to con
3e70: 74 61 69 6e 20 3c 62 3e 6e 6f 64 65 2d 66 72 6f tain <b>node-fro
3e80: 6d 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c m</b> values.</l
3e90: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f i>..<li><i>node_
3ea0: 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 to</i>: name of
3eb0: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 the column (in t
3ec0: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f he above Table o
3ed0: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 r View) expected
3ee0: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e to contain <b>n
3ef0: 6f 64 65 2d 74 6f 3c 2f 62 3e 20 76 61 6c 75 65 ode-to</b> value
3f00: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e s.</li>..<li><i>
3f10: 67 65 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f geom</i>: name o
3f20: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e f the column (in
3f30: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 the above Table
3f40: 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74 or View) expect
3f50: 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 ed to contain <b
3f60: 3e 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 3e >Linestrings</b>
3f70: 2e 3c 62 72 3e 0d 0a 57 65 20 63 6f 75 6c 64 20 .<br>..We could
3f80: 68 61 76 65 20 6c 65 67 69 74 69 6d 61 74 65 6c have legitimatel
3f90: 79 20 70 61 73 73 65 64 20 61 20 3c 62 3e 4e 55 y passed a <b>NU
3fa0: 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 20 66 6f 72 LL</b> value for
3fb0: 20 74 68 69 73 20 61 72 67 75 6d 65 6e 74 20 69 this argument i
3fc0: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 61 20 n the case of a
3fd0: 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f <b>Logical Netwo
3fe0: 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c rk</b>.</li>..<l
3ff0: 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e i><i>NULL</i>: n
4000: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d ame of the colum
4010: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 n (in the above
4020: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 Table or View) e
4030: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 xpected to conta
4040: 69 6e 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 76 in <b>cost</b> v
4050: 61 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74 alues.<br>..In t
4060: 68 69 73 20 63 61 73 65 20 77 65 20 68 61 76 65 his case we have
4070: 20 70 61 73 73 65 64 20 61 20 3c 62 3e 4e 55 4c passed a <b>NUL
4080: 4c 3c 2f 62 3e 20 76 61 6c 75 65 2c 20 61 6e 64 L</b> value, and
4090: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68 consequently th
40a0: 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 6f 66 e <b>cost</b> of
40b0: 20 65 61 63 68 20 4c 69 6e 6b 20 77 69 6c 6c 20 each Link will
40c0: 62 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 be assumed to be
40d0: 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 represented by
40e0: 74 68 65 20 3c 62 3e 67 65 6f 6d 65 74 72 69 63 the <b>geometric
40f0: 20 6c 65 6e 67 74 68 3c 2f 62 3e 20 6f 66 20 74 length</b> of t
4100: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 he corresponding
4110: 20 4c 69 6e 65 73 74 72 69 6e 67 2e 3c 62 72 3e Linestring.<br>
4120: 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e ..<u>Note #1</u>
4130: 3a 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 : in the case of
4140: 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 65 64 20 Networks based
4150: 6f 6e 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73 on <b>longitudes
4160: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69 </b> and <b>lati
4170: 74 75 64 65 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b tudes</b> (<i>ak
4180: 61 3c 2f 69 3e 20 3c 62 3e 67 65 6f 67 72 61 70 a</i> <b>geograp
4190: 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 hic</b> Referenc
41a0: 65 20 53 79 73 74 65 6d 73 29 20 74 68 65 20 67 e Systems) the g
41b0: 65 6f 6d 65 74 72 79 20 6c 65 6e 67 74 68 20 6f eometry length o
41c0: 66 20 61 6c 6c 20 4c 69 6e 65 73 74 72 69 6e 67 f all Linestring
41d0: 73 20 77 69 6c 6c 20 62 65 20 70 72 65 63 69 73 s will be precis
41e0: 65 6c 79 20 3c 62 3e 6d 65 61 73 75 72 65 64 20 ely <b>measured
41f0: 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64 on the ellipsoid
4200: 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 6e 67 </b> by applying
4210: 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 72 61 the most accura
4220: 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 20 66 te <b>geodesic f
4230: 6f 72 6d 75 6c 61 65 3c 2f 62 3e 20 61 6e 64 20 ormulae</b> and
4240: 77 69 6c 6c 20 62 65 20 63 6f 6e 73 65 71 75 65 will be conseque
4250: 6e 74 6c 79 20 65 78 70 72 65 73 73 65 64 20 69 ntly expressed i
4260: 6e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e 2e n <b>meters</b>.
4270: 20 49 6e 20 61 6e 79 20 6f 74 68 65 72 20 63 61 In any other ca
4280: 73 65 20 28 3c 62 3e 70 72 6f 6a 65 63 74 65 64 se (<b>projected
4290: 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 65 20 53 </b> Reference S
42a0: 79 73 74 65 6d 73 29 20 6c 65 6e 67 74 68 73 20 ystems) lengths
42b0: 77 69 6c 6c 20 62 65 20 65 78 70 72 65 73 73 65 will be expresse
42c0: 64 20 69 6e 20 74 68 65 20 3c 62 3e 6d 65 61 73 d in the <b>meas
42d0: 75 72 65 20 75 6e 69 74 3c 2f 62 3e 20 64 65 66 ure unit</b> def
42e0: 69 6e 65 64 20 62 79 20 74 68 65 20 52 65 66 65 ined by the Refe
42f0: 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 65 2e rence System (e.
4300: 67 2e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e g. <b>meters</b>
4310: 20 66 6f 72 20 3c 62 3e 55 54 4d 3c 2f 62 3e 20 for <b>UTM</b>
4320: 70 72 6f 6a 65 63 74 69 6f 6e 73 20 61 6e 64 20 projections and
4330: 3c 62 3e 66 65 65 74 3c 2f 62 3e 20 66 6f 72 20 <b>feet</b> for
4340: 3c 62 3e 4e 41 44 2d 66 74 3c 2f 62 3e 20 70 72 <b>NAD-ft</b> pr
4350: 6f 6a 65 63 74 69 6f 6e 73 29 2e 3c 62 72 3e 0d ojections).<br>.
4360: 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a .<u>Note #2</u>:
4370: 20 74 68 65 20 3c 62 3e 67 65 6f 6d 2d 63 6f 6c the <b>geom-col
4380: 75 6d 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 63 umn</b> and <b>c
4390: 6f 73 74 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 61 ost-column</b> a
43a0: 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6e 65 76 rguments are nev
43b0: 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 er allowed to be
43c0: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 61 74 20 <b>NULL</b> at
43d0: 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 2f the same time.</
43e0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 6f 70 6f li>..<li><i>topo
43f0: 6e 79 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 nym</i>: name of
4400: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 the column (in
4410: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 the above Table
4420: 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 or View) expecte
4430: 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e d to contain <b>
4440: 72 6f 61 64 2d 6e 61 6d 65 3c 2f 62 3e 20 76 61 road-name</b> va
4450: 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 74 20 63 6f lues.<br>..It co
4460: 75 6c 64 20 62 65 20 6c 65 67 69 74 69 6d 61 74 uld be legitimat
4470: 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 ely set to <b>NU
4480: 4c 4c 3c 2f 62 3e 20 69 66 20 61 6c 6c 20 4c 69 LL</b> if all Li
4490: 6e 6b 73 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75 nks are anonymou
44a0: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e s.</li>..<li><i>
44b0: 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e 1</i>: a boolean
44c0: 20 66 6c 61 67 20 69 6e 74 65 6e 64 65 64 20 74 flag intended t
44d0: 6f 20 73 70 65 63 69 66 79 20 69 66 20 74 68 65 o specify if the
44e0: 20 4e 65 74 77 6f 72 6b 20 6d 75 73 74 20 73 75 Network must su
44f0: 70 70 6f 72 74 20 74 68 65 20 3c 62 3e 41 2a 20 pport the <b>A*
4500: 61 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 6f 72 algorithm</b> or
4510: 20 6e 6f 74 20 28 73 65 74 20 74 6f 20 3c 62 3e not (set to <b>
4520: 54 52 55 45 3c 2f 62 3e 20 62 79 20 64 65 66 61 TRUE</b> by defa
4530: 75 6c 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e ult).</li>..<li>
4540: 3c 69 3e 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c <i>1</i>: a bool
4550: 65 61 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64 65 ean flag intende
4560: 64 20 74 6f 20 73 70 65 63 69 66 79 20 69 66 20 d to specify if
4570: 61 6c 6c 20 4e 65 74 77 6f 72 6b 27 73 20 4c 69 all Network's Li
4580: 6e 6b 73 20 61 72 65 20 61 73 73 75 6d 65 64 20 nks are assumed
4590: 74 6f 20 62 65 20 3c 62 3e 62 69 64 69 72 65 63 to be <b>bidirec
45a0: 74 69 6f 6e 61 6c 3c 2f 62 3e 20 6f 72 20 6e 6f tional</b> or no
45b0: 74 20 28 61 73 73 75 6d 65 64 20 74 6f 20 62 65 t (assumed to be
45c0: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 62 79 20 <b>TRUE</b> by
45d0: 64 65 66 61 75 6c 74 29 2e 3c 2f 6c 69 3e 20 0d default).</li> .
45e0: 0a 3c 2f 6f 6c 3e 0d 0a 3c 74 61 62 6c 65 20 62 .</ol>..<table b
45f0: 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 gcolor="#c0ffc0"
4600: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 cellspacing="10
4610: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 " cellpadding="6
4620: 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e "><tr><td>..<h3>
4630: 54 65 63 68 6e 69 63 61 6c 20 6e 6f 74 65 3c 2f Technical note</
4640: 68 33 3e 0d 0a 54 68 65 20 69 6e 74 65 72 6e 61 h3>..The interna
4650: 6c 20 65 6e 63 6f 64 69 6e 67 20 61 64 6f 70 74 l encoding adopt
4660: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 42 69 6e ed by the <b>Bin
4670: 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 3c 2f ary Data Table</
4680: 62 3e 20 69 73 20 75 6e 63 68 61 6e 67 65 64 20 b> is unchanged
4690: 61 6e 64 20 69 73 20 74 68 65 20 73 61 6d 65 20 and is the same
46a0: 66 6f 72 20 62 6f 74 68 20 3c 62 3e 56 69 72 74 for both <b>Virt
46b0: 75 61 6c 4e 65 74 77 6f 6b 3c 2f 62 3e 20 61 6e ualNetwok</b> an
46c0: 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 d <b>VirtualRout
46d0: 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 59 6f ing</b>.<br>..Yo
46e0: 75 20 63 61 6e 20 73 61 66 65 6c 79 20 62 61 73 u can safely bas
46f0: 65 20 61 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f e a <b>VirtualRo
4700: 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 20 uting Table</b>
4710: 6f 6e 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 on any existing
4720: 42 69 6e 61 72 79 20 44 61 74 61 0d 0a 54 61 62 Binary Data..Tab
4730: 6c 65 20 63 72 65 61 74 65 64 20 62 79 20 74 68 le created by th
4740: 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 2d e <b>spatialite-
4750: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 43 4c 49 20 network</b> CLI
4760: 74 6f 6f 6c 2c 20 65 78 61 63 74 6c 79 20 61 73 tool, exactly as
4770: 20 79 6f 75 20 63 61 6e 20 62 61 73 65 20 61 20 you can base a
4780: 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 <b>VirtualNetwor
4790: 6b 20 54 61 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 k Table</b> on a
47a0: 6e 79 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 ny Binary Data T
47b0: 61 62 6c 65 20 63 72 65 61 74 65 64 20 62 79 20 able created by
47c0: 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 the <b>CreateRou
47d0: 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66 ting()</b> SQL f
47e0: 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61 unction...<verba
47f0: 74 69 6d 3e 0d 0a 43 52 45 41 54 45 20 56 49 52 tim>..CREATE VIR
4800: 54 55 41 4c 20 54 41 42 4c 45 20 74 65 73 74 5f TUAL TABLE test_
4810: 6e 65 74 77 6f 72 6b 20 55 53 49 4e 47 20 56 69 network USING Vi
4820: 72 74 75 61 6c 4e 65 74 77 6f 72 6b 28 27 73 6f rtualNetwork('so
4830: 6d 65 5f 64 61 74 61 5f 74 61 62 6c 65 27 29 3b me_data_table');
4840: 0d 0a 0d 0a 43 52 45 41 54 45 20 56 49 52 54 55 ....CREATE VIRTU
4850: 41 4c 20 54 41 42 4c 45 20 74 65 73 74 5f 72 6f AL TABLE test_ro
4860: 75 74 69 6e 67 20 55 53 49 4e 47 20 56 69 72 74 uting USING Virt
4870: 75 61 6c 52 6f 75 74 69 6e 67 28 27 73 6f 6d 65 ualRouting('some
4880: 5f 64 61 74 61 5f 74 61 62 6c 65 27 29 3b 0d 0a _data_table');..
4890: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 49 6e 20 </verbatim>..In
48a0: 6f 72 64 65 72 20 74 6f 20 6d 61 6e 75 61 6c 6c order to manuall
48b0: 79 20 63 72 65 61 74 65 20 79 6f 75 72 20 56 69 y create your Vi
48c0: 72 74 75 61 6c 20 54 61 62 6c 65 73 20 79 6f 75 rtual Tables you
48d0: 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 65 78 just have to ex
48e0: 65 63 75 74 65 20 61 6e 20 61 70 70 72 6f 70 72 ecute an appropr
48f0: 69 61 74 65 20 3c 62 3e 43 52 45 41 54 45 20 56 iate <b>CREATE V
4900: 49 52 54 55 41 4c 20 54 41 42 4c 45 20 2e 2e 2e IRTUAL TABLE ...
4910: 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 2e 2e USING Virtual..
4920: 2e 20 28 2e 2e 2e 29 3c 2f 62 3e 20 73 74 61 74 . (...)</b> stat
4930: 65 6d 65 6e 74 2e 0d 0a 3c 68 34 3e 57 61 72 6e ement...<h4>Warn
4940: 69 6e 67 3c 2f 68 34 3e 0d 0a 49 6e 20 74 68 65 ing</h4>..In the
4950: 20 63 61 73 65 20 6f 66 20 3c 62 3e 53 70 61 74 case of <b>Spat
4960: 69 61 6c 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e ial Networks</b>
4970: 20 62 61 73 65 64 20 6f 6e 20 61 6e 79 20 3c 62 based on any <b
4980: 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e 20 >geographic</b>
4990: 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d Reference System
49a0: 20 28 75 73 69 6e 67 20 3c 62 3e 6c 6f 6e 67 69 (using <b>longi
49b0: 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 tudes</b> and <b
49c0: 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62 3e 29 20 >latitudes</b>)
49d0: 74 68 65 72 65 20 69 73 20 61 6e 20 69 6d 70 6f there is an impo
49e0: 72 74 61 6e 74 20 64 69 66 66 65 72 65 6e 63 65 rtant difference
49f0: 20 62 65 74 77 65 65 6e 20 42 69 6e 61 72 79 20 between Binary
4a00: 44 61 74 61 20 54 61 62 6c 65 73 20 63 72 65 61 Data Tables crea
4a10: 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 73 70 ted by the <b>sp
4a20: 61 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b atialite_network
4a30: 3c 2f 62 3e 20 47 55 49 20 74 6f 6f 6c 20 61 6e </b> GUI tool an
4a40: 64 20 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 d Binary Data T
4a50: 61 62 6c 65 73 20 63 72 65 61 74 65 64 20 62 79 ables created by
4a60: 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f the <b>CreateRo
4a70: 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 uting()</b> SQL
4a80: 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20 3c 62 function when <b
4a90: 3e 63 6f 73 74 73 3c 2f 62 3e 20 61 72 65 20 69 >costs</b> are i
4aa0: 6d 70 6c 69 63 69 74 6c 79 20 62 61 73 65 64 20 mplicitly based
4ab0: 6f 6e 20 74 68 65 20 67 65 6f 6d 65 74 72 69 63 on the geometric
4ac0: 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 4c length of the L
4ad0: 69 6e 6b 27 73 20 4c 69 6e 65 73 74 72 69 6e 67 ink's Linestring
4ae0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 :..<ul>..<li>the
4af0: 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 6e <b>spatialite_n
4b00: 65 74 77 6f 72 6b 3c 2f 62 3e 20 43 4c 49 20 74 etwork</b> CLI t
4b10: 6f 6f 6c 20 28 61 6e 64 20 74 68 65 20 3c 62 3e ool (and the <b>
4b20: 47 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20 69 GUI wizard</b> i
4b30: 6d 70 6c 65 6d 65 6e 74 65 64 20 62 79 20 70 72 mplemented by pr
4b40: 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 20 evious versions
4b50: 6f 66 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 of <b>spatialite
4b60: 5f 67 75 69 3c 2f 62 3e 29 20 63 6f 6d 70 75 74 _gui</b>) comput
4b70: 65 20 74 68 65 20 4c 69 6e 65 73 74 72 69 6e 67 e the Linestring
4b80: 27 73 20 6c 65 6e 67 74 68 20 61 73 20 61 6e 20 's length as an
4b90: 3c 62 3e 61 6e 67 75 6c 61 72 20 64 69 73 74 61 <b>angular dista
4ba0: 6e 63 65 3c 2f 62 3e 20 65 78 70 72 65 73 73 65 nce</b> expresse
4bb0: 64 20 69 6e 20 3c 62 3e 64 65 67 72 65 65 73 3c d in <b>degrees<
4bc0: 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 /b>.</li>..<li>t
4bd0: 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 he <b>CreateRout
4be0: 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 ing()</b> SQL fu
4bf0: 6e 63 74 69 6f 6e 20 63 6f 6d 70 75 74 65 73 20 nction computes
4c00: 74 68 65 20 4c 69 6e 65 73 74 72 69 6e 67 27 73 the Linestring's
4c10: 20 6c 65 6e 67 74 68 20 61 73 20 61 20 3c 62 3e length as a <b>
4c20: 6c 69 6e 65 61 72 20 64 69 73 74 61 6e 63 65 3c linear distance<
4c30: 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e /b> expressed in
4c40: 20 3c 62 3e 6d 65 74 72 65 73 3c 2f 62 3e 20 62 <b>metres</b> b
4c50: 79 20 61 70 70 6c 79 69 6e 67 20 74 68 65 20 6d y applying the m
4c60: 6f 73 74 20 61 63 63 75 72 61 74 65 20 3c 62 3e ost accurate <b>
4c70: 67 65 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c 61 geodesic formula
4c80: 65 3c 2f 62 3e 20 6f 6e 20 74 68 65 20 65 6c 6c e</b> on the ell
4c90: 69 70 73 6f 69 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f ipsoid.</li>..</
4ca0: 75 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c ul>..</td></tr><
4cb0: 2f 74 61 62 6c 65 3e 3c 62 72 3e 3c 62 72 3e 0d /table><br><br>.
4cc0: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
4cd0: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e ECT CreateRoutin
4ce0: 67 28 27 62 79 63 61 72 5f 64 61 74 61 27 2c 20 g('bycar_data',
4cf0: 27 62 79 63 61 72 27 2c 20 27 72 6f 61 64 73 5f 'bycar', 'roads_
4d00: 76 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 vw', 'node_from'
4d10: 2c 20 27 6e 6f 64 65 5f 74 6f 27 2c 20 27 67 65 , 'node_to', 'ge
4d20: 6f 6d 27 2c 20 27 63 6f 73 74 27 2c 20 27 74 6f om', 'cost', 'to
4d30: 70 6f 6e 79 6d 27 2c 20 31 2c 20 31 2c 20 27 6f ponym', 1, 1, 'o
4d40: 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 27 2c 20 27 neway_fromto', '
4d50: 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 27 2c 20 oneway_tofrom',
4d60: 30 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0);..-----------
4d70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f ---------..1..</
4d80: 76 65 72 62 61 74 69 6d 3e 0d 0a 41 66 74 65 72 verbatim>..After
4d90: 20 63 61 6c 6c 69 6e 67 20 79 65 74 20 61 6e 6f calling yet ano
4da0: 74 68 65 72 20 74 69 6d 65 20 3c 62 3e 43 72 65 ther time <b>Cre
4db0: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e ateRouting()</b>
4dc0: 20 6e 6f 77 20 74 68 65 20 44 61 74 61 62 61 73 now the Databas
4dd0: 65 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 66 e contains two f
4de0: 75 72 74 68 65 72 20 54 61 62 6c 65 73 3a 20 3c urther Tables: <
4df0: 62 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e 64 20 b>bycar</b> and
4e00: 3c 62 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f 62 <b>bycar_data</b
4e10: 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69 6d >.<br>..This tim
4e20: 65 20 79 6f 75 27 76 65 20 75 73 65 64 20 74 68 e you've used th
4e30: 65 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20 66 6f e <i>complete fo
4e40: 72 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 rm</i> of Create
4e50: 52 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27 73 Routing(); let's
4e60: 20 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65 70 see in more dep
4e70: 74 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d th all the argum
4e80: 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d ents and their m
4e90: 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c eaning:..<ol>..<
4ea0: 6c 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61 74 61 li><i>bycar_data
4eb0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 </i>: same as ab
4ec0: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ove.</li>..<li><
4ed0: 69 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73 61 6d i>bycar</i>: sam
4ee0: 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e e as above.</li>
4ef0: 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76 ..<li><i>roads_v
4f00: 77 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 w</i>: same as a
4f10: 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e bove.</li>..<li>
4f20: 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e <i>node_from</i>
4f30: 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e : same as above.
4f40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f </li>..<li><i>no
4f50: 64 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d 65 20 de_to</i>: same
4f60: 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a as above.</li>..
4f70: 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a <li><i>geom</i>:
4f80: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c same as above.<
4f90: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63 6f 73 /li>..<li><i>cos
4fa0: 74 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 t</i>: same as a
4fb0: 62 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73 20 63 bove...In this c
4fc0: 61 73 65 20 77 65 20 68 61 76 65 20 72 65 66 65 ase we have refe
4fd0: 72 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d 6e 20 renced a column
4fe0: 70 72 65 6c 6f 61 64 65 64 20 77 69 74 68 20 76 preloaded with v
4ff0: 61 6c 75 65 73 20 63 6f 72 72 65 73 70 6f 6e 64 alues correspond
5000: 69 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e 74 69 ing to the <b>ti
5010: 6d 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65 64 20 me</b> measured
5020: 69 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 in <b>seconds</b
5030: 3e 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 > required to tr
5040: 61 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b averse each Link
5050: 2e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 69 3e .</li> ..<li><i>
5060: 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73 61 6d toponym</i>: sam
5070: 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e e as above.</li>
5080: 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 ..<li><i>1</i>:
5090: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 3c same as above (<
50a0: 69 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f 69 3e i>A* enabled</i>
50b0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e ).</li>..<li><i>
50c0: 31 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 1</i>: same as a
50d0: 62 6f 76 65 20 28 3c 69 3e 62 69 64 69 72 65 63 bove (<i>bidirec
50e0: 74 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f 69 3e tional Links</i>
50f0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e ).</li>..<li><i>
5100: 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 69 oneway_fromto</i
5110: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 >: name of the c
5120: 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 olumn (in the ab
5130: 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 ove Table or Vie
5140: 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 w) expected to c
5150: 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20 66 ontain boolean f
5160: 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e 67 20 lags specifying
5170: 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 61 6e if each Link can
5180: 20 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e be traversed in
5190: 20 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c the <b>from-to<
51a0: 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f 72 /b> direction or
51b0: 20 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e not.</li>..<li>
51c0: 3c 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d <i>oneway_tofrom
51d0: 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 </i>: name of th
51e0: 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 e column (in the
51f0: 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 above Table or
5200: 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 View) expected t
5210: 6f 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 o contain boolea
5220: 6e 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 n flags specifyi
5230: 6e 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 ng if each Link
5240: 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 can be traversed
5250: 20 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d 66 72 in the <b>to-fr
5260: 6f 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e om</b> direction
5270: 20 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a 3c 75 or not.<br>..<u
5280: 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 62 6f >Note #1</u>: bo
5290: 74 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 th <b>from-to</b
52a0: 3e 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d > and <b>to-from
52b0: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 </b> column name
52c0: 73 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 6d s can be legitim
52d0: 61 74 65 6c 79 20 73 65 74 20 61 73 20 3c 62 3e ately set as <b>
52e0: 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f 20 3c NULL</b> if no <
52f0: 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65 b>one-way</b> re
5300: 73 74 72 69 63 74 69 6f 6e 73 20 61 70 70 6c 79 strictions apply
5310: 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 to the current
5320: 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 Network.<br>..<u
5330: 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 4e 65 >Note #2</u>: Ne
5340: 74 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 3c 62 tworks of the <b
5350: 3e 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c >unidirectional<
5360: 2f 62 3e 20 74 79 70 65 20 61 72 65 20 6e 65 76 /b> type are nev
5370: 65 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 72 65 er enabled to re
5380: 66 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 2d 77 ference <b>one-w
5390: 61 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 28 ay</b> columns (
53a0: 74 68 65 79 20 73 68 6f 75 6c 64 20 61 6c 77 61 they should alwa
53b0: 79 73 20 62 65 20 73 65 74 20 74 6f 20 3c 62 3e ys be set to <b>
53c0: 4e 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d NULL</b>).</li>.
53d0: 0a 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a 20 61 .<li><i>0</i>: a
53e0: 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e boolean flag in
53f0: 74 65 6e 64 69 6e 67 20 61 6e 20 3c 62 3e 6f 76 tending an <b>ov
5400: 65 72 77 72 69 74 65 20 61 75 74 68 6f 72 69 7a erwrite authoriz
5410: 61 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e ation</b>...<ul>
5420: 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 6f 20 ..<li>If set to
5430: 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e 20 61 6e 20 <b>FALSE</b> an
5440: 65 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 exception will b
5450: 65 20 72 61 69 73 65 64 20 69 66 20 74 68 65 20 e raised if the
5460: 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54 <b>Binary Data T
5470: 61 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20 able</b> and/or
5480: 74 68 65 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f the <b>VirtualRo
5490: 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 20 uting Table</b>
54a0: 64 6f 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 do already exist
54b0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73 .</li>..<li>If s
54c0: 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 et to <b>TRUE</b
54d0: 3e 20 65 76 65 6e 74 75 61 6c 6c 79 20 65 78 69 > eventually exi
54e0: 73 74 69 6e 67 20 54 61 62 6c 65 73 20 77 69 6c sting Tables wil
54f0: 6c 20 62 65 20 70 72 65 76 65 6e 74 69 76 65 6c l be preventivel
5500: 79 20 64 72 6f 70 70 65 64 20 69 6d 6d 65 64 69 y dropped immedi
5510: 61 74 65 6c 79 20 62 65 66 6f 72 65 20 73 74 61 ately before sta
5520: 72 74 69 6e 67 20 74 68 65 20 65 78 65 63 75 74 rting the execut
5530: 69 6f 6e 20 6f 66 20 3c 62 3e 43 72 65 61 74 65 ion of <b>Create
5540: 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 2e 3c 2f Routing()</b>.</
5550: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
5560: 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 .</ol>..<br>..<t
5570: 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 able bgcolor="#f
5580: 66 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 fffc0" cellspaci
5590: 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 ng="10" cellpadd
55a0: 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e ing="6"><tr><td>
55b0: 0d 0a 3c 68 33 3e 48 69 67 68 6c 69 67 68 74 3a ..<h3>Highlight:
55c0: 20 77 68 65 72 65 20 79 6f 75 20 61 72 65 3c 2f where you are</
55d0: 68 33 3e 0d 0a 59 6f 75 27 76 65 20 6a 75 73 74 h3>..You've just
55e0: 20 63 72 65 61 74 65 64 20 74 77 6f 20 56 69 72 created two Vir
55f0: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c tualRouting Tabl
5600: 65 73 20 62 61 73 65 64 20 6f 6e 20 64 69 66 66 es based on diff
5610: 65 72 65 6e 74 20 73 65 74 74 69 6e 67 73 3b 20 erent settings;
5620: 62 6f 74 68 20 74 68 65 6d 20 61 72 65 20 70 65 both them are pe
5630: 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 61 6e rfectly valid an
5640: 64 20 72 65 61 73 6f 6e 61 62 6c 65 2c 20 62 75 d reasonable, bu
5650: 74 20 74 68 65 79 20 61 72 65 20 69 6e 74 65 6e t they are inten
5660: 64 65 64 20 66 6f 72 20 64 69 66 66 65 72 65 6e ded for differen
5670: 74 20 70 75 72 70 6f 73 65 73 3a 0d 0a 3c 75 6c t purposes:..<ul
5680: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 79 66 6f 6f 74 >..<li><b>byfoot
5690: 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 66 69 63 </b> is specific
56a0: 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 66 6f ally intended fo
56b0: 72 20 3c 62 3e 70 65 64 65 73 74 72 69 61 6e 73 r <b>pedestrians
56c0: 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 </b>:..<ul>..<li
56d0: 3e 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20 61 >all Links are a
56e0: 6c 77 61 79 73 20 61 73 73 75 6d 65 64 20 74 6f lways assumed to
56f0: 20 62 65 20 61 63 63 65 73 73 69 62 6c 65 20 69 be accessible i
5700: 6e 20 3c 62 3e 62 6f 74 68 20 64 69 72 65 63 74 n <b>both direct
5710: 69 6f 6e 73 3c 2f 62 3e 3b 20 74 68 65 72 65 20 ions</b>; there
5720: 61 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 are no <b>one-wa
5730: 79 73 3c 2f 62 3e 20 61 6e 64 20 6e 6f 20 3c 62 ys</b> and no <b
5740: 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 4c >forbidden</b> L
5750: 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e inks.</li>..<li>
5760: 74 68 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 the <b>cost</b>
5770: 6f 66 20 65 61 63 68 20 4c 69 6e 6b 20 69 73 20 of each Link is
5780: 64 69 72 65 63 74 6c 79 20 72 65 70 72 65 73 65 directly represe
5790: 6e 74 65 64 20 62 79 20 69 74 73 20 67 65 6f 6d nted by its geom
57a0: 65 74 72 69 63 20 3c 62 3e 6c 65 6e 67 74 68 3c etric <b>length<
57b0: 2f 62 3e 2c 20 77 68 69 63 68 20 69 73 20 63 6f /b>, which is co
57c0: 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 nsistent with th
57d0: 65 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 20 e assumption of
57e0: 61 6e 20 61 6c 6d 6f 73 74 20 63 6f 6e 73 74 61 an almost consta
57f0: 6e 74 20 73 70 65 65 64 20 73 75 62 73 74 61 6e nt speed substan
5800: 74 69 61 6c 6c 79 20 69 6d 6d 75 6e 65 20 66 72 tially immune fr
5810: 6f 6d 20 61 64 76 65 72 73 65 20 72 6f 61 64 20 om adverse road
5820: 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 20 74 conditions and t
5830: 72 61 66 66 69 63 20 63 6f 6e 67 65 73 74 69 6f raffic congestio
5840: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f n.</li>..</ul></
5850: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 79 63 61 li>..<li><b>byca
5860: 72 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 66 69 r</b> is specifi
5870: 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 66 cally intended f
5880: 6f 72 20 3c 62 3e 6d 6f 74 6f 72 20 76 65 68 69 or <b>motor vehi
5890: 63 6c 65 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d cles</b>:..<ul>.
58a0: 0a 3c 6c 69 3e 6d 61 6e 79 20 4c 69 6e 6b 73 20 .<li>many Links
58b0: 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 are expected to
58c0: 62 65 20 61 63 63 65 73 73 69 62 6c 65 20 69 6e be accessible in
58d0: 20 3c 62 3e 62 6f 74 68 20 64 69 72 65 63 74 69 <b>both directi
58e0: 6f 6e 73 3c 2f 62 3e 20 62 75 74 20 6f 74 68 65 ons</b> but othe
58f0: 72 73 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 rs could easily
5900: 62 65 20 73 75 62 6a 65 63 74 20 74 6f 20 3c 62 be subject to <b
5910: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65 73 >one-way</b> res
5920: 74 72 69 63 74 69 6f 6e 73 20 6f 72 20 65 76 65 trictions or eve
5930: 6e 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 n be completely
5940: 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e <b>forbidden</b>
5950: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 .</li>..<li>the
5960: 63 6f 73 74 20 6f 66 20 65 61 63 68 20 4c 69 6e cost of each Lin
5970: 6b 20 69 73 20 65 78 70 72 65 73 73 65 64 20 61 k is expressed a
5980: 73 20 61 6e 20 65 73 74 69 6d 61 74 65 64 20 3c s an estimated <
5990: 62 3e 74 72 61 76 65 6c 20 74 69 6d 65 3c 2f 62 b>travel time</b
59a0: 3e 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 65 >, because the e
59b0: 78 70 65 63 74 65 64 20 73 70 65 65 64 73 20 63 xpected speeds c
59c0: 61 6e 20 67 72 65 61 74 6c 79 20 76 61 72 79 20 an greatly vary
59d0: 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 73 accordingly to s
59e0: 70 65 63 69 66 69 63 20 72 6f 61 64 20 63 6f 6e pecific road con
59f0: 64 69 74 69 6f 6e 73 2c 20 74 72 61 66 66 69 63 ditions, traffic
5a00: 20 63 6f 6e 67 65 73 74 69 6f 6e 20 61 6e 64 20 congestion and
5a10: 6c 65 67 61 6c 20 72 65 67 75 6c 61 74 69 6f 6e legal regulation
5a20: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f s.</li>..</ul></
5a30: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e li>..</ul>..<br>
5a40: 0d 0a 3c 75 3e 43 6f 6e 63 6c 75 73 69 6f 6e 3c ..<u>Conclusion<
5a50: 2f 75 3e 3a 20 61 20 73 69 6e 67 6c 65 20 56 69 /u>: a single Vi
5a60: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 rtualRouting Tab
5a70: 6c 65 20 63 61 6e 27 74 20 62 65 20 61 62 6c 65 le can't be able
5a80: 20 74 6f 20 61 64 65 71 75 61 74 65 6c 79 20 73 to adequately s
5a90: 75 70 70 6f 72 74 20 73 75 70 70 6f 72 74 20 74 upport support t
5aa0: 68 65 20 73 70 65 63 69 66 69 63 20 72 65 71 75 he specific requ
5ab0: 69 72 65 6d 65 6e 74 73 20 61 6e 64 20 65 78 70 irements and exp
5ac0: 65 63 74 61 74 69 6f 6e 73 20 6f 66 20 64 69 66 ectations of dif
5ad0: 66 65 72 65 6e 74 20 75 73 65 72 73 2e 3c 62 72 ferent users.<br
5ae0: 3e 0d 0a 44 65 66 69 6e 69 6e 67 20 6d 6f 72 65 >..Defining more
5af0: 20 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 Routing Tables
5b00: 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 73 with different s
5b10: 65 74 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20 ettings for the
5b20: 73 61 6d 65 20 4e 65 74 77 6f 72 6b 20 75 73 75 same Network usu
5b30: 61 6c 6c 79 20 69 73 20 61 20 67 6f 6f 64 20 64 ally is a good d
5b40: 65 73 69 67 6e 20 63 68 6f 69 63 65 20 6c 65 61 esign choice lea
5b50: 64 69 6e 67 20 74 6f 20 6d 6f 72 65 20 72 65 61 ding to more rea
5b60: 6c 69 73 74 69 63 20 72 65 73 75 6c 74 73 2e 3c listic results.<
5b70: 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d br>..</td></tr>.
5b80: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c .</table>..<br><
5b90: 62 72 3e 0d 0a 3c 68 33 3e 55 74 69 6c 69 74 79 br>..<h3>Utility
5ba0: 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 61 75 function for au
5bb0: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 74 tomatically sett
5bc0: 69 6e 67 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64 ing NodeFrom and
5bd0: 20 4e 6f 64 65 54 6f 20 49 44 73 3c 2f 68 33 3e NodeTo IDs</h3>
5be0: 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20 63 ..Sometimes it c
5bf0: 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79 20 ould eventually
5c00: 68 61 70 70 65 6e 20 74 6f 20 65 6e 63 6f 75 6e happen to encoun
5c10: 74 65 72 20 73 6f 6d 65 20 3c 62 3e 53 70 61 74 ter some <b>Spat
5c20: 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 ial Network</b>
5c30: 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 62 representation b
5c40: 65 69 6e 67 20 66 75 6c 6c 79 20 74 6f 70 6f 6c eing fully topol
5c50: 6f 67 69 63 61 6c 6c 79 20 63 6f 6e 73 69 73 74 ogically consist
5c60: 65 6e 74 20 62 75 74 20 63 6f 6d 70 6c 65 74 65 ent but complete
5c70: 6c 79 20 6c 61 63 6b 69 6e 67 20 61 6e 79 20 64 ly lacking any d
5c80: 65 66 69 6e 69 74 69 6f 6e 20 61 62 6f 75 74 20 efinition about
5c90: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 <b>NodeFrom</b>
5ca0: 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 and <b>NodeTo</b
5cb0: 3e 20 69 64 65 6e 74 69 66 69 65 72 73 2e 3c 62 > identifiers.<b
5cc0: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 73 70 65 63 r>..In this spec
5cd0: 69 66 69 63 20 63 61 73 65 20 79 6f 75 20 63 61 ific case you ca
5ce0: 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72 n successfully r
5cf0: 65 63 6f 76 65 72 20 61 20 70 65 72 66 65 63 74 ecover a perfect
5d00: 6c 79 20 76 61 6c 69 64 20 4e 65 74 77 6f 72 6b ly valid Network
5d10: 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 by calling the
5d20: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 <b>CreateRouting
5d30: 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 4c 20 Nodes()</b> SQL
5d40: 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62 function...<verb
5d50: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 atim>..SELECT Cr
5d60: 65 61 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 eateRoutingNodes
5d70: 28 4e 55 4c 4c 2c 20 27 74 61 62 6c 65 5f 6e 61 (NULL, 'table_na
5d80: 6d 65 27 2c 20 27 67 65 6f 6d 27 2c 20 27 6e 6f me', 'geom', 'no
5d90: 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f de_from', 'node_
5da0: 74 6f 27 29 3b 0d 0a 5f 5f 5f 5f 5f 5f 5f 5f 5f to');.._________
5db0: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f ________________
5dc0: 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e ..1..</verbatim>
5dd0: 0d 0a 4c 65 74 27 73 20 65 78 61 6d 69 6e 65 20 ..Let's examine
5de0: 61 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 61 6e all arguments an
5df0: 64 20 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 3a d their meaning:
5e00: 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e ..<ol>..<li><i>N
5e10: 55 4c 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 ULL</i>: name of
5e20: 20 74 68 65 20 3c 62 3e 41 74 74 61 63 68 65 64 the <b>Attached
5e30: 2d 44 42 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 69 -DB</b> containi
5e40: 6e 67 20 74 68 65 20 53 70 61 74 69 61 6c 20 54 ng the Spatial T
5e50: 61 62 6c 65 2e 3c 62 72 3e 0d 0a 49 74 20 63 61 able.<br>..It ca
5e60: 6e 20 62 65 20 6c 65 67 69 74 69 6d 61 74 65 6c n be legitimatel
5e70: 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c y set to <b>NULL
5e80: 3c 2f 62 3e 2c 20 61 6e 64 20 69 6e 20 74 68 69 </b>, and in thi
5e90: 73 20 63 61 73 65 20 74 68 65 20 3c 62 3e 4d 41 s case the <b>MA
5ea0: 49 4e 3c 2f 62 3e 20 44 42 20 69 73 20 61 73 73 IN</b> DB is ass
5eb0: 75 6d 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e umed.</li>..<li>
5ec0: 3c 69 3e 74 61 62 6c 65 5f 6e 61 6d 65 3c 2f 69 <i>table_name</i
5ed0: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 53 >: name of the S
5ee0: 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c 2f 6c patial Table.</l
5ef0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c i>..<li><i>geom<
5f00: 2f 6c 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 /li>: name of th
5f10: 65 20 63 6f 6c 75 6d 6e 20 28 28 69 6e 20 74 68 e column ((in th
5f20: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 29 20 63 e above Table) c
5f30: 6f 6e 74 61 69 6e 69 6e 67 20 3c 62 3e 4c 69 6e ontaining <b>Lin
5f40: 65 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c 2f 6c estrings</b>.</l
5f50: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f i>..<li><i>node_
5f60: 66 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f from</i>: name o
5f70: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 74 6f 20 f the column to
5f80: 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 be added to the
5f90: 61 62 6f 76 65 20 54 61 62 6c 65 20 61 6e 64 20 above Table and
5fa0: 70 6f 70 75 6c 61 74 65 64 20 77 69 74 68 20 61 populated with a
5fb0: 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 4e 6f ppropriate <b>No
5fc0: 64 65 46 72 6f 6d 3c 2f 62 3e 20 49 44 73 2e 3c deFrom</b> IDs.<
5fd0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 /li>..<li><i>nod
5fe0: 65 5f 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f e_to</i>: name o
5ff0: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 74 6f 20 f the column to
6000: 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 be added to the
6010: 61 62 6f 76 65 20 54 61 62 6c 65 20 61 6e 64 20 above Table and
6020: 70 6f 70 75 6c 61 74 65 64 20 77 69 74 68 20 61 populated with a
6030: 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 4e 6f ppropriate <b>No
6040: 64 65 54 6f 3c 2f 62 3e 20 49 44 73 2e 3c 62 72 deTo</b> IDs.<br
6050: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
6060: 62 6f 74 68 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d both <b>NodeFrom
6070: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 </b> and <b>Node
6080: 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 73 To</b> columns s
6090: 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 6c 72 hould not be alr
60a0: 65 61 64 79 20 64 65 66 69 6e 65 64 20 69 6e 20 eady defined in
60b0: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 2e the above Table.
60c0: 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 </li>..</ol>..<b
60d0: 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 4e 6f >CreateRoutingNo
60e0: 64 65 73 28 29 3c 2f 62 3e 20 77 69 6c 6c 20 72 des()</b> will r
60f0: 65 74 75 72 6e 20 3c 62 3e 31 3c 2f 62 3e 20 28 eturn <b>1</b> (
6100: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 54 52 <i>aka</i> <b>TR
6110: 55 45 3c 2f 62 3e 29 20 6f 6e 20 73 75 63 63 65 UE</b>) on succe
6120: 73 73 3b 20 61 6e 20 65 78 63 65 70 74 69 6f 6e ss; an exception
6130: 20 77 69 6c 6c 20 62 65 20 72 61 69 73 65 64 20 will be raised
6140: 6f 6e 20 66 61 69 6c 75 72 65 2e 3c 62 72 3e 0d on failure.<br>.
6150: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 79 6f .<u>Note</u>: yo
6160: 75 20 63 61 6e 20 63 61 6c 6c 20 3c 62 3e 43 72 u can call <b>Cr
6170: 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c eateRouting_GetL
6180: 61 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e 20 73 astError()</b> s
6190: 6f 20 74 6f 20 70 72 65 63 69 73 65 6c 79 20 69 o to precisely i
61a0: 64 65 6e 74 69 66 79 20 74 68 65 20 63 61 75 73 dentify the caus
61b0: 65 20 61 63 63 6f 75 6e 74 69 6e 67 20 66 6f 72 e accounting for
61c0: 20 66 61 69 6c 75 72 65 2e 3c 62 72 3e 3c 62 72 failure.<br><br
61d0: 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 ><br>..<table bg
61e0: 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 color="#c0ffc0"
61f0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 cellspacing="10"
6200: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
6210: 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 ><tr><td>..<h3>H
6220: 61 6e 64 6c 69 6e 67 20 64 79 6e 61 6d 69 63 20 andling dynamic
6230: 4e 65 74 77 6f 72 6b 73 3c 2f 68 33 3e 0d 0a 53 Networks</h3>..S
6240: 6f 6d 65 74 69 6d 65 73 20 69 74 20 68 61 70 70 ometimes it happ
6250: 65 6e 73 20 74 68 61 74 20 61 20 4e 65 74 77 6f ens that a Netwo
6260: 72 6b 20 63 6f 75 6c 64 20 62 65 20 73 75 62 6a rk could be subj
6270: 65 63 74 20 74 6f 20 72 61 74 68 65 72 20 66 72 ect to rather fr
6280: 65 71 75 65 6e 74 20 63 68 61 6e 67 65 73 3a 20 equent changes:
6290: 73 6f 6d 65 20 6e 65 77 20 4c 69 6e 6b 73 20 72 some new Links r
62a0: 65 71 75 69 72 65 20 74 6f 20 62 65 20 61 64 64 equire to be add
62b0: 65 64 2c 20 6f 62 73 6f 6c 65 74 65 20 4c 69 6e ed, obsolete Lin
62c0: 6b 73 20 72 65 71 75 69 72 65 20 74 6f 20 62 65 ks require to be
62d0: 20 72 65 6d 6f 76 65 64 2c 20 6f 74 68 65 72 20 removed, other
62e0: 4c 69 6e 6b 73 20 6d 61 79 20 61 73 73 75 6d 65 Links may assume
62f0: 20 61 20 64 69 66 66 65 72 65 6e 74 20 43 6f 73 a different Cos
6300: 74 2c 20 6f 6e 65 2d 77 61 79 73 20 63 6f 75 6c t, one-ways coul
6310: 64 20 62 65 20 72 65 76 65 72 73 65 64 2c 20 74 d be reversed, t
6320: 68 65 20 64 69 73 63 69 70 6c 69 6e 65 20 6f 66 he discipline of
6330: 20 70 65 64 65 73 74 72 69 61 6e 20 61 72 65 61 pedestrian area
6340: 73 20 63 6f 75 6c 64 20 62 65 20 6d 6f 64 69 66 s could be modif
6350: 69 65 64 20 61 6e 64 20 73 6f 20 6f 6e 2e 3c 62 ied and so on.<b
6360: 72 3e 0d 0a 41 20 56 69 72 74 75 61 6c 52 6f 75 r>..A VirtualRou
6370: 74 69 6e 67 20 54 61 62 6c 65 20 69 73 20 61 6c ting Table is al
6380: 77 61 79 73 20 62 61 73 65 64 20 6f 6e 20 61 20 ways based on a
6390: 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 companion Binary
63a0: 20 44 61 74 61 20 54 61 62 6c 65 2c 20 74 68 61 Data Table, tha
63b0: 74 20 69 73 20 69 6e 74 72 69 6e 73 69 63 61 6c t is intrinsical
63c0: 6c 79 20 3c 62 3e 73 74 61 74 69 63 3c 2f 62 3e ly <b>static</b>
63d0: 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 , and consequent
63e0: 6c 79 20 79 6f 75 20 61 72 65 20 72 65 71 75 69 ly you are requi
63f0: 72 65 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 red to re-create
6400: 20 62 6f 74 68 20 74 68 65 6d 20 66 72 6f 6d 20 both them from
6410: 74 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 6e 20 time to time in
6420: 6f 72 64 65 72 20 74 6f 20 73 75 70 70 6f 72 74 order to support
6430: 20 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 61 6e all recent chan
6440: 67 65 73 20 61 66 66 65 63 74 69 6e 67 20 74 68 ges affecting th
6450: 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 e underlaying Ne
6460: 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20 twork.<br>..The
6470: 6f 70 74 69 6d 61 6c 20 66 72 65 71 75 65 6e 63 optimal frequenc
6480: 79 20 66 6f 72 20 63 79 63 6c 69 63 61 6c 6c 79 y for cyclically
6490: 20 72 65 66 72 65 73 68 69 6e 67 20 74 68 65 20 refreshing the
64a0: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 73 Routing Tables s
64b0: 74 72 69 63 74 6c 79 20 64 65 70 65 6e 64 73 20 trictly depends
64c0: 6f 6e 20 73 70 65 63 69 66 69 63 20 72 65 71 75 on specific requ
64d0: 69 72 65 6d 65 6e 74 73 2c 20 62 75 74 20 74 68 irements, but th
64e0: 65 20 74 77 6f 20 6f 76 65 72 61 6c 6c 20 61 70 e two overall ap
64f0: 70 72 6f 61 63 68 65 73 20 61 72 65 20 63 6f 6d proaches are com
6500: 6d 6f 6e 6c 79 20 61 64 6f 70 74 65 64 3a 0d 0a monly adopted:..
6510: 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6c 6f 77 <ol>..<li><b>low
6520: 20 66 72 65 71 75 65 6e 63 79 20 72 65 66 72 65 frequency refre
6530: 73 68 3c 2f 62 3e 3a 20 62 65 73 74 20 66 69 74 sh</b>: best fit
6540: 20 66 6f 72 20 73 6c 6f 77 6c 79 20 65 76 6f 6c for slowly evol
6550: 76 69 6e 67 20 4e 65 74 77 6f 72 6b 73 2e 3c 62 ving Networks.<b
6560: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65 r>..In this case
6570: 20 72 65 2d 63 72 65 61 74 69 6e 67 20 74 68 65 re-creating the
6580: 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 20 Network Tables
6590: 6f 6e 63 65 20 61 20 6d 6f 6e 74 68 20 2f 20 77 once a month / w
65a0: 65 65 6b 20 2f 20 64 61 79 20 63 6f 75 6c 64 20 eek / day could
65b0: 62 65 20 72 65 61 73 6f 6e 61 62 6c 79 20 65 6e be reasonably en
65c0: 6f 75 67 68 2e 0d 0a 52 65 63 72 65 61 74 69 6e ough...Recreatin
65d0: 67 20 74 68 65 20 54 61 62 6c 65 73 20 66 72 6f g the Tables fro
65e0: 6d 20 73 63 72 61 74 63 68 20 75 73 75 61 6c 6c m scratch usuall
65f0: 79 20 72 65 71 75 69 72 65 73 20 73 65 76 65 72 y requires sever
6600: 61 6c 20 73 65 63 6f 6e 64 73 20 28 6f 72 20 65 al seconds (or e
6610: 76 65 6e 20 6c 65 73 73 2c 20 64 65 70 65 6e 64 ven less, depend
6620: 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 6d 62 65 ing on the numbe
6630: 72 20 6f 66 20 4c 69 6e 6b 73 29 2e 3c 62 72 3e r of Links).<br>
6640: 0d 0a 54 68 65 20 72 65 66 72 65 73 68 20 61 63 ..The refresh ac
6650: 74 69 76 69 74 69 65 73 20 63 6f 75 6c 64 20 62 tivities could b
6660: 65 20 6f 70 70 6f 72 74 75 6e 65 6c 79 20 70 6c e opportunely pl
6670: 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74 72 61 anned at low tra
6680: 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e 67 2e ffic hours (e.g.
6690: 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69 67 68 during the nigh
66a0: 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65 61 74 t), and <b>Creat
66b0: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 63 eRouting()</b> c
66c0: 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c 6c 79 ould be usefully
66d0: 20 63 61 6c 6c 65 64 20 62 79 20 65 6e 61 62 6c called by enabl
66e0: 69 6e 67 20 74 68 65 20 3c 62 3e 6f 76 65 72 77 ing the <b>overw
66f0: 72 69 74 65 3c 2f 62 3e 20 6f 70 74 69 6f 6e 2e rite</b> option.
6700: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65 </li>..<li><b>me
6710: 64 69 75 6d 2d 68 69 67 68 20 66 72 65 71 75 65 dium-high freque
6720: 6e 63 79 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a ncy refresh</b>:
6730: 20 62 65 73 74 20 66 69 74 20 66 6f 72 20 71 75 best fit for qu
6740: 69 63 6b 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e ickly evolving N
6750: 65 74 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 52 65 etworks.<br>..Re
6760: 2d 63 72 65 61 74 69 6e 67 20 74 68 65 20 4e 65 -creating the Ne
6770: 74 77 6f 72 6b 20 54 61 62 6c 65 73 20 6f 6e 63 twork Tables onc
6780: 65 20 70 65 72 20 68 6f 75 72 20 28 6f 72 20 65 e per hour (or e
6790: 76 65 6e 20 6d 6f 72 65 20 66 72 65 71 75 65 6e ven more frequen
67a0: 74 6c 79 29 20 63 6f 75 6c 64 20 62 65 20 73 74 tly) could be st
67b0: 72 69 63 74 6c 79 20 72 65 71 75 69 72 65 64 2c rictly required,
67c0: 20 61 6e 64 20 66 72 65 71 75 65 6e 74 20 3c 62 and frequent <b
67d0: 3e 6f 75 74 20 6f 66 20 73 65 72 76 69 63 65 3c >out of service<
67e0: 2f 62 3e 20 70 65 72 69 6f 64 73 20 77 68 69 6c /b> periods whil
67f0: 65 20 77 61 69 74 69 6e 67 20 66 6f 72 20 74 68 e waiting for th
6800: 65 20 72 65 66 72 65 73 68 20 70 72 6f 63 65 73 e refresh proces
6810: 73 20 74 6f 20 63 6f 6d 70 6c 65 74 65 20 63 6f s to complete co
6820: 75 6c 64 20 65 61 73 69 6c 79 20 62 65 20 75 6e uld easily be un
6830: 61 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 3e 0d acceptable.<br>.
6840: 0a 49 6e 20 74 68 69 73 20 63 61 73 65 20 79 6f .In this case yo
6850: 75 20 63 6f 75 6c 64 20 75 73 65 66 75 6c 6c 79 u could usefully
6860: 20 61 64 6f 70 74 20 61 20 3c 62 3e 6d 75 6c 74 adopt a <b>mult
6870: 69 2d 74 68 72 65 61 64 65 64 20 73 74 72 61 74 i-threaded strat
6880: 65 67 79 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a egy</b>:..<ul>..
6890: 3c 6c 69 3e 3c 62 3e 74 68 72 65 61 64 20 23 31 <li><b>thread #1
68a0: 3c 2f 62 3e 20 28 3c 69 3e 74 68 65 20 72 65 61 </b> (<i>the rea
68b0: 64 65 72 3c 2f 69 3e 29 3a 20 74 68 69 73 20 66 der</i>): this f
68c0: 69 72 73 74 20 74 68 72 65 61 64 20 69 73 20 69 irst thread is i
68d0: 6e 74 65 6e 64 65 64 20 74 6f 20 73 65 72 76 69 ntended to servi
68e0: 63 65 20 61 6e 79 20 69 6e 63 6f 6d 69 6e 67 20 ce any incoming
68f0: 52 6f 75 74 69 6e 67 20 72 65 71 75 65 73 74 2e Routing request.
6900: 20 49 74 20 77 69 6c 6c 20 62 65 20 61 6c 77 61 It will be alwa
6910: 79 73 20 61 63 74 69 76 65 2c 20 61 6e 64 20 77 ys active, and w
6920: 69 6c 6c 20 74 61 72 67 65 74 20 61 20 77 65 6c ill target a wel
6930: 6c 20 6b 6e 6f 77 6e 20 56 69 72 74 75 61 6c 52 l known VirtualR
6940: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 28 65 2e outing Table (e.
6950: 67 2e 20 3c 62 3e 6d 79 5f 72 6f 75 74 69 6e 67 g. <b>my_routing
6960: 3c 2f 62 3e 20 62 61 73 65 64 20 6f 6e 20 3c 62 </b> based on <b
6970: 3e 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 >my_routing_data
6980: 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 </b>).</li>..<li
6990: 3e 3c 62 3e 74 68 72 65 61 64 20 23 32 3c 2f 62 ><b>thread #2</b
69a0: 3e 20 28 3c 69 3e 74 68 65 20 77 72 69 74 65 72 > (<i>the writer
69b0: 3c 2f 69 3e 29 3a 20 74 68 69 73 20 73 65 63 6f </i>): this seco
69c0: 6e 64 20 74 68 72 65 61 64 20 69 73 20 6a 75 73 nd thread is jus
69d0: 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 72 65 t intended to re
69e0: 2d 63 72 65 61 74 65 20 62 6f 74 68 20 4e 65 74 -create both Net
69f0: 77 6f 72 6b 20 54 61 62 6c 65 73 20 61 74 20 70 work Tables at p
6a00: 72 65 64 65 66 69 6e 65 64 20 69 6e 74 65 72 76 redefined interv
6a10: 61 6c 73 2c 20 61 6e 64 20 69 74 20 77 69 6c 6c als, and it will
6a20: 20 73 6c 65 65 70 20 62 65 74 77 65 65 6e 20 61 sleep between a
6a30: 6e 20 69 6e 74 65 72 76 61 6c 20 61 6e 64 20 74 n interval and t
6a40: 68 65 20 6f 74 68 65 72 2e 3c 62 72 3e 0d 0a 57 he other.<br>..W
6a50: 68 65 6e 20 74 68 69 73 20 74 68 72 65 61 64 20 hen this thread
6a60: 61 77 61 6b 65 6e 73 20 77 69 6c 6c 20 72 65 2d awakens will re-
6a70: 63 72 65 61 74 65 20 62 6f 74 68 20 4e 65 74 77 create both Netw
6a80: 6f 72 6b 20 54 61 62 6c 65 73 20 62 79 20 75 73 ork Tables by us
6a90: 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 6e 61 ing different na
6aa0: 6d 65 73 2c 20 61 6e 64 20 77 69 6c 6c 20 6f 76 mes, and will ov
6ab0: 65 72 77 72 69 74 65 20 74 68 65 20 73 74 61 6e erwrite the stan
6ac0: 64 61 72 64 20 6f 6e 65 73 20 6a 75 73 74 20 61 dard ones just a
6ad0: 74 20 74 68 65 20 76 65 72 79 20 65 6e 64 20 6f t the very end o
6ae0: 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 28 61 f the process (a
6af0: 63 74 69 76 61 74 69 6e 67 20 61 20 73 65 6d 61 ctivating a sema
6b00: 70 68 6f 72 65 20 64 75 72 69 6e 67 20 74 68 69 phore during thi
6b10: 73 20 73 68 6f 72 74 2d 74 69 6d 65 64 20 6c 61 s short-timed la
6b20: 73 74 20 73 74 65 70 20 69 73 20 68 69 67 68 6c st step is highl
6b30: 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 29 2e 3c y recommended).<
6b40: 62 72 3e 0d 0a 53 6f 6d 65 74 68 69 6e 67 20 6c br>..Something l
6b50: 69 6b 65 20 74 68 69 73 20 70 73 65 75 64 6f 2d ike this pseudo-
6b60: 63 6f 64 65 20 65 78 65 6d 70 6c 69 66 69 65 73 code exemplifies
6b70: 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 :..<verbatim>..S
6b80: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 ELECT CreateRout
6b90: 69 6e 67 28 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 ing('new_my_rout
6ba0: 69 6e 67 5f 64 61 74 61 27 2c 20 27 6e 65 77 5f ing_data', 'new_
6bb0: 6d 79 5f 72 6f 75 74 69 6e 67 27 2c 20 2e 2e 2e my_routing', ...
6bc0: 29 3b 0d 0a 0d 0a 2d 2d 3e 20 73 74 61 72 74 20 );....--> start
6bd0: 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 73 6f the semaphore so
6be0: 20 74 6f 20 6c 6f 63 6b 20 74 68 65 20 6f 74 68 to lock the oth
6bf0: 65 72 20 74 68 72 65 61 64 0d 0a 0d 0a 42 45 47 er thread....BEG
6c00: 49 4e 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 IN;..DROP TABLE
6c10: 6d 79 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f my_routing;..DRO
6c20: 50 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 P TABLE my_routi
6c30: 6e 67 5f 64 61 74 61 3b 0d 0a 53 45 4c 45 43 54 ng_data;..SELECT
6c40: 20 43 6c 6f 6e 65 54 61 62 6c 65 28 27 4d 41 49 CloneTable('MAI
6c50: 4e 27 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 N', 'new_my_rout
6c60: 69 6e 67 5f 64 61 74 61 27 2c 20 27 6d 79 5f 72 ing_data', 'my_r
6c70: 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c 20 30 29 outing_data', 0)
6c80: 3b 0d 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 ;..CREATE VIRTUA
6c90: 4c 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 L TABLE my_routi
6ca0: 6e 67 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c ng USING Virtual
6cb0: 52 6f 75 74 69 6e 67 28 27 6d 79 5f 72 6f 75 74 Routing('my_rout
6cc0: 69 6e 67 5f 64 61 74 61 27 29 3b 0d 0a 44 52 4f ing_data');..DRO
6cd0: 50 20 54 41 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 P TABLE new_my_r
6ce0: 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41 outing;..DROP TA
6cf0: 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 BLE new_my_routi
6d00: 6e 67 5f 64 61 74 61 3b 0d 0a 43 4f 4d 4d 49 54 ng_data;..COMMIT
6d10: 3b 0d 0a 0d 0a 2d 2d 3e 20 72 65 6d 6f 76 65 20 ;....--> remove
6d20: 74 68 65 20 73 65 6d 61 70 68 6f 72 65 0d 0a 3c the semaphore..<
6d30: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e /verbatim>..<u>N
6d40: 6f 74 65 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c ote</u>: strictl
6d50: 79 20 72 65 73 70 65 63 74 69 6e 67 20 74 68 65 y respecting the
6d60: 20 61 62 6f 76 65 20 73 65 71 75 65 6e 63 65 20 above sequence
6d70: 6f 66 20 53 51 4c 20 6f 70 65 72 61 74 69 6f 6e of SQL operation
6d80: 73 20 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 s is absolutely
6d90: 72 65 71 75 69 72 65 64 2e 3c 2f 6c 69 3e 20 0d required.</li> .
6da0: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f .</ul></li>..</o
6db0: 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a l>..</td></tr>..
6dc0: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a </table>..<br>..
6dd0: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 <table bgcolor="
6de0: 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 #ffb060" cellspa
6df0: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 cing="10" cellpa
6e00: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 dding="6"><tr><t
6e10: 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a d>..<h3>Warning:
6e20: 20 68 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c how to correctl
6e30: 79 20 64 72 6f 70 20 4e 65 74 77 6f 72 6b 20 54 y drop Network T
6e40: 61 62 6c 65 73 3c 2f 68 33 3e 0d 0a 57 68 65 6e ables</h3>..When
6e50: 20 64 72 6f 70 70 69 6e 67 20 61 20 56 69 72 74 dropping a Virt
6e60: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 ualRouting Table
6e70: 20 61 6e 64 20 69 74 73 20 63 6f 6d 70 61 6e 69 and its compani
6e80: 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 on Binary Data T
6e90: 61 62 6c 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 able following t
6ea0: 68 65 20 63 6f 72 72 65 63 74 20 73 65 71 75 65 he correct seque
6eb0: 6e 63 65 20 6f 66 20 53 51 4c 20 63 6f 6d 6d 61 nce of SQL comma
6ec0: 6e 64 73 20 69 73 20 70 61 72 61 6d 6f 75 6e 74 nds is paramount
6ed0: 2e 3c 62 72 3e 0d 0a 46 61 69 6c 69 6e 67 20 74 .<br>..Failing t
6ee0: 6f 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 65 o strictly respe
6ef0: 63 74 20 74 68 65 20 65 78 70 65 63 74 65 64 20 ct the expected
6f00: 73 65 71 75 65 6e 63 65 20 77 69 6c 6c 20 73 75 sequence will su
6f10: 72 65 6c 79 20 63 61 75 73 65 20 79 6f 75 20 73 rely cause you s
6f20: 65 76 65 72 61 6c 20 74 72 6f 75 62 6c 65 73 20 everal troubles
6f30: 61 6e 64 20 73 65 76 65 72 65 20 68 65 61 64 61 and severe heada
6f40: 63 68 65 73 2c 20 61 6e 64 20 77 69 6c 6c 20 70 ches, and will p
6f50: 6f 73 73 69 62 6c 79 20 6c 65 61 64 20 74 6f 20 ossibly lead to
6f60: 61 6e 20 69 72 72 65 6d 65 64 69 61 62 6c 79 20 an irremediably
6f70: 63 6f 72 72 75 70 74 65 64 20 64 61 74 61 62 61 corrupted databa
6f80: 73 65 2e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 79 se...<ol>..<li>y
6f90: 6f 75 20 61 72 65 20 61 6c 77 61 79 73 20 65 78 ou are always ex
6fa0: 70 65 63 74 65 64 20 74 6f 20 44 52 4f 50 20 66 pected to DROP f
6fb0: 69 72 73 74 20 74 68 65 20 56 69 72 74 75 61 6c irst the Virtual
6fc0: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 2e 3c 2f Routing Table.</
6fd0: 6c 69 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 63 61 6e li>..<li>you can
6fe0: 20 73 61 66 65 6c 79 20 44 52 4f 50 20 74 68 65 safely DROP the
6ff0: 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 companion Binar
7000: 79 20 44 61 74 61 20 54 61 62 6c 65 20 6f 6e 6c y Data Table onl
7010: 79 20 6f 6e 63 65 20 69 74 27 73 20 6e 6f 20 6c y once it's no l
7020: 6f 6e 67 65 72 20 72 65 66 65 72 65 6e 63 65 64 onger referenced
7030: 20 62 79 20 74 68 65 20 56 69 72 74 75 61 6c 52 by the VirtualR
7040: 6f 75 74 69 6e 67 20 54 61 62 6c 65 2e 3c 2f 6c outing Table.</l
7050: 69 3e 0d 0a 3c 6c 69 3e 62 79 20 66 6f 6c 6c 6f i>..<li>by follo
7060: 77 69 6e 67 20 74 68 65 20 72 65 76 65 72 73 65 wing the reverse
7070: 20 73 65 71 75 65 6e 63 65 20 79 6f 75 27 6c 6c sequence you'll
7080: 20 64 69 72 65 63 74 6c 79 20 63 72 65 61 74 65 directly create
7090: 20 61 6e 20 3c 62 3e 6f 72 70 68 61 6e 3c 2f 62 an <b>orphan</b
70a0: 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 > VirtualRouting
70b0: 20 54 61 62 6c 65 20 74 68 61 74 20 63 61 6e 6e Table that cann
70c0: 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 20 61 ot be accessed a
70d0: 6e 79 20 6c 6f 6e 67 65 72 2c 20 61 6e 64 20 74 ny longer, and t
70e0: 68 61 74 20 77 69 6c 6c 20 63 6f 6e 73 65 71 75 hat will consequ
70f0: 65 6e 74 6c 79 20 72 65 66 75 73 65 20 74 6f 20 ently refuse to
7100: 62 65 20 64 72 6f 70 70 65 64 2e 3c 62 72 3e 0d be dropped.<br>.
7110: 0a 42 65 20 77 61 72 6e 65 64 20 21 21 3c 2f 6c .Be warned !!</l
7120: 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e i>..</ol>..</td>
7130: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
7140: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c .<br><br>..<hr><
7150: 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 br>..<h1><a name
7160: 3d 22 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53 ="from_to">4 - S
7170: 6f 6c 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53 olving classic S
7180: 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f hortest Path pro
7190: 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a blems</a></h1>..
71a0: 54 68 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63 The most classic
71b0: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 Shortest Path p
71c0: 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 roblem requires
71d0: 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 to identify the
71e0: 6f 70 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69 optimal connecti
71f0: 6f 6e 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62 on between an <b
7200: 3e 4f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e >Origin Node</b>
7210: 20 61 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e and a <b>Destin
7220: 61 74 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c ation Node</b>.<
7230: 62 72 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69 br>..We can easi
7240: 6c 79 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63 ly translate suc
7250: 68 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f h a problem into
7260: 20 61 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75 a simple SQL qu
7270: 65 72 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f ery targeting so
7280: 6d 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e me VirtualRoutin
7290: 67 20 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61 g Table...<verba
72a0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d tim>..SELECT * .
72b0: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 .FROM byfoot..WH
72c0: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 ERE NodeFrom = 1
72d0: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 78731 AND NodeTo
72e0: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 = 183286;..</ve
72f0: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 rbatim>..<table
7300: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c border="1" bgcol
7310: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c or="#ffffcf" cel
7320: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c lspacing="4" cel
7330: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c lpadding="6">..<
7340: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 tr><th bgcolor="
7350: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 #d0d0a0">Algorit
7360: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c hm</th><th bgcol
7370: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 or="#d0d0a0">Req
7380: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 uest</th><th bgc
7390: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f olor="#d0d0a0">O
73a0: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 ptions</th><th b
73b0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
73c0: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c >Delimiter</th><
73d0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
73e0: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 0a0">RouteId</th
73f0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
7400: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 0d0a0">RouteRow<
7410: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
7420: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f "#d0d0a0">Role</
7430: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
7440: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 #d0d0a0">LinkRow
7450: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c id</th><th bgcol
7460: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
7470: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 eFrom</th><th bg
7480: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
7490: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 NodeTo</th><th b
74a0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
74b0: 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c >PointFrom</th><
74c0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
74d0: 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 0a0">PointTo</th
74e0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
74f0: 30 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 0d0a0">Tolerance
7500: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
7510: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c ="#d0d0a0">Cost<
7520: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
7530: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 "#d0d0a0">Geomet
7540: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ry</th><th bgcol
7550: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d or="#d0d0a0">Nam
7560: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 e</th></tr>..<tr
7570: 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c >..<td>Dijkstra<
7580: 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 /td><td>Shortest
7590: 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 Path</td><td>Fu
75a0: 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 ll</td><td>, 	
75b0: 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 1;dec=44, hex=2c
75c0: 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c ]</td><td al
75d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
75e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
75f0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
7600: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
7610: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
7620: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
7630: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
7640: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c ht">183286</td><
7650: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
7660: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
7670: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
7680: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 "right">300.9122
7690: 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 08</td><td>BLOB
76a0: 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c sz=272 GEOMETRY<
76b0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
76c0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
76d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
76e0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
76f0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
7700: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
7710: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 ight">0</td><td
7720: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c align="right">1<
7730: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
7740: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
7750: 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 t">224014</td><t
7760: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
7770: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
7780: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
7790: 38 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 885</td><td>NULL
77a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
77b0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
77c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
77d0: 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c >94.812424</td><
77e0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
77f0: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 VIA PIETRO ARETI
7800: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NO</td>..</tr>..
7810: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
7820: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
7830: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
7840: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
7850: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
7860: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
7870: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">2</td><td>Li
7880: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
7890: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c ="right">224446<
78a0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
78b0: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 ight">182885</td
78c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
78d0: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 t">178880</td><t
78e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
78f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
7900: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
7910: 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 right">69.727726
7920: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
7930: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 d><td>VIA MARGAR
7940: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ITONE</td>..</tr
7950: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
7960: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
7970: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
7980: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
7990: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
79a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
79b0: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
79c0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
79d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
79e0: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
79f0: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
7a00: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
7a10: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 ight">183286</td
7a20: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7a30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
7a40: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
7a50: 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 n="right">136.37
7a60: 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 2057</td><td>NUL
7a70: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 L</td><td>VIA MA
7a80: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a RGARITONE</td>..
7a90: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
7aa0: 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 .<br>..Let's qui
7ab0: 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 ckly examine the
7ac0: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 resultset retur
7ad0: 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 ned by the above
7ae0: 20 52 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d Routing query:.
7af0: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c .<ul>..<li>the <
7b00: 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 b>first row</b>
7b10: 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64 (<i>aka</i> head
7b20: 65 72 20 72 6f 77 29 20 68 61 73 20 61 20 73 70 er row) has a sp
7b30: 65 63 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61 ecial interpreta
7b40: 74 69 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74 tion, and is int
7b50: 65 6e 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69 ended to summari
7b60: 7a 65 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f ze the travel so
7b70: 6c 75 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c lution as a whol
7b80: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c e.</li>..<li>all
7b90: 20 74 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e the <b>followin
7ba0: 67 20 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65 g rows</b> repre
7bb0: 73 65 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69 sent a single Li
7bc0: 6e 6b 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 nk required to b
7bd0: 75 69 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f uild the solutio
7be0: 6e 20 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b n (optima path);
7bf0: 20 4c 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72 Links are order
7c00: 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 ed accordingly t
7c10: 6f 20 74 68 65 20 74 72 61 76 65 6c 20 64 69 72 o the travel dir
7c20: 65 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e ection connectin
7c30: 67 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 g the Origin and
7c40: 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e the Destination
7c50: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 .</li>..<li>colu
7c60: 6d 6e 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d mns <b>Algorithm
7c70: 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 </b>, <b>Request
7c80: 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 </b>, <b>Options
7c90: 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 </b>, <b>Delimit
7ca0: 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 er</b>, <b>Point
7cb0: 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 From</b>, <b>Poi
7cc0: 6e 74 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c ntTo</b>, <b>Tol
7cd0: 65 72 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c erance</b> and <
7ce0: 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61 b>Geometry</b> a
7cf0: 72 65 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f re always set to
7d00: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 65 78 63 <b>NULL</b> exc
7d10: 65 70 74 20 74 68 61 74 20 69 6e 20 74 68 65 20 ept that in the
7d20: 66 69 72 73 74 20 72 6f 77 20 6f 66 20 74 68 65 first row of the
7d30: 20 72 65 73 75 6c 74 73 65 74 3a 0d 0a 3c 75 6c resultset:..<ul
7d40: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 >..<li>column <b
7d50: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 61 >Algorithm</b> a
7d60: 63 63 6f 75 6e 74 73 20 66 6f 72 20 74 68 65 20 ccounts for the
7d70: 52 6f 75 74 69 6e 67 20 41 6c 67 6f 72 69 74 68 Routing Algorith
7d80: 6d 20 75 73 65 64 20 62 79 20 74 68 65 20 63 75 m used by the cu
7d90: 72 72 65 6e 74 20 71 75 65 72 79 20 28 3c 69 3e rrent query (<i>
7da0: 44 69 6a 6b 73 74 72 61 27 73 3c 2f 69 3e 20 6f Dijkstra's</i> o
7db0: 72 20 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c 2f 6c r <i>A*</i>).</l
7dc0: 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c i>..<li>column <
7dd0: 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 73 70 b>Request</b> sp
7de0: 65 63 69 66 69 65 73 20 74 68 65 20 65 78 61 63 ecifies the exac
7df0: 74 20 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20 t nature of the
7e00: 63 75 72 72 65 6e 74 20 71 75 65 72 79 20 28 69 current query (i
7e10: 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20 n this specific
7e20: 63 61 73 65 20 3c 69 3e 53 68 6f 72 74 65 73 74 case <i>Shortest
7e30: 20 50 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e Path</i>).</li>
7e40: 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 67 6e 6f ..<li>we'll igno
7e50: 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f 6c 75 6d re for now colum
7e60: 6e 73 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 ns <b>Options</b
7e70: 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c >, <b>Delimiter<
7e80: 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 72 6f /b>, <b>PointFro
7e90: 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54 m</b>, <b>PointT
7ea0: 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c o</b> and <b>Tol
7eb0: 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 65 69 erance</b>: thei
7ec0: 72 20 72 65 73 70 65 63 74 69 76 65 20 6d 65 61 r respective mea
7ed0: 6e 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 65 78 nings will be ex
7ee0: 70 6c 61 69 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f plained in follo
7ef0: 77 69 6e 67 20 70 61 72 61 67 72 61 70 68 73 2e wing paragraphs.
7f00: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d </li>..<li>colum
7f10: 6e 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 n <b>Geometry</b
7f20: 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 3c 62 3e > contains a <b>
7f30: 4c 49 4e 45 53 54 52 49 4e 47 3c 2f 62 3e 20 72 LINESTRING</b> r
7f40: 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 epresentation of
7f50: 20 74 68 65 20 77 68 6f 6c 65 20 74 72 61 76 65 the whole trave
7f60: 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 62 72 3e 0d l solution.<br>.
7f70: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 6f 6e .<u>Note</u>: on
7f80: 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 <b>Logical Netw
7f90: 6f 72 6b 73 3c 2f 62 3e 20 28 6e 6f 74 20 73 75 orks</b> (not su
7fa0: 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65 74 72 pporting Geometr
7fb0: 69 65 73 29 20 3c 62 3e 47 65 6f 6d 65 74 72 79 ies) <b>Geometry
7fc0: 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73 </b> will always
7fd0: 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e be <b>NULL</b>.
7fe0: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 </li>..</ul></li
7ff0: 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 67 6e >..<li>we'll ign
8000: 6f 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f 6c 75 ore for now colu
8010: 6d 6e 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62 mn <b>RouteId</b
8020: 3e 3b 20 69 74 73 20 6d 65 61 6e 69 6e 67 20 77 >; its meaning w
8030: 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e 65 64 ill be explained
8040: 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 in following pa
8050: 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a ragraphs.</li>..
8060: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f <li>column <b>Ro
8070: 75 74 65 52 6f 77 3c 2f 62 3e 20 73 69 6d 70 6c uteRow</b> simpl
8080: 79 20 69 73 20 74 68 65 20 70 72 6f 67 72 65 73 y is the progres
8090: 73 69 76 65 20 6e 75 6d 62 65 72 20 6f 66 20 74 sive number of t
80a0: 68 65 20 72 6f 77 20 69 6e 20 74 68 65 20 74 72 he row in the tr
80b0: 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 28 61 avel solution (a
80c0: 6c 77 61 79 73 20 3c 62 3e 30 3c 2f 62 3e 20 69 lways <b>0</b> i
80d0: 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 n the header row
80e0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c ).</li>..<li>col
80f0: 75 6d 6e 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20 umn <b>Role</b>
8100: 63 61 6e 20 62 65 20 3c 69 3e 52 6f 75 74 65 3c can be <i>Route<
8110: 2f 69 3e 20 28 68 65 61 64 65 72 20 72 6f 77 29 /i> (header row)
8120: 20 6f 72 20 3c 69 3e 4c 69 6e 6b 3c 2f 69 3e 20 or <i>Link</i>
8130: 28 61 6c 6c 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 (all following r
8140: 6f 77 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e ows).</li>..<li>
8150: 63 6f 6c 75 6d 6e 20 3c 62 3e 4c 69 6e 6b 52 6f column <b>LinkRo
8160: 77 69 64 3c 2f 62 3e 20 72 65 66 65 72 65 6e 63 wid</b> referenc
8170: 65 73 20 74 68 65 20 3c 62 3e 52 4f 57 49 44 3c es the <b>ROWID<
8180: 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65 /b> of the corre
8190: 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 28 61 sponding Link (a
81a0: 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c 62 3e lways set to <b>
81b0: 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68 65 20 NULL</b> in the
81c0: 68 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f 6c 69 header row).</li
81d0: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 >..<li>column <b
81e0: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e >NodeFrom</b> an
81f0: 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 d <b>NodeTo</b>
8200: 68 61 76 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 have the followi
8210: 6e 67 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f ng interpretatio
8220: 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e n:..<ul>..<li>in
8230: 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 20 the header row
8240: 74 68 65 79 20 63 6f 72 72 65 73 70 6f 6e 64 20 they correspond
8250: 74 6f 20 68 65 20 3c 62 3e 4f 72 69 67 69 6e 3c to he <b>Origin<
8260: 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 73 74 69 /b> and <b>Desti
8270: 6e 61 74 69 6f 6e 3c 2f 62 3e 20 4e 6f 64 65 73 nation</b> Nodes
8280: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 .</li>..<li>in a
8290: 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 ll the following
82a0: 20 72 6f 77 73 20 74 68 65 79 20 61 72 65 20 69 rows they are i
82b0: 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69 ntended to speci
82c0: 66 79 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e fy the direction
82d0: 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 of the current
82e0: 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c Link.</li>..</ul
82f0: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 ></li>..<li>colu
8300: 6d 6e 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 20 68 mn <b>Cost</b> h
8310: 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 as the following
8320: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 3a interpretation:
8330: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 ..<ul>..<li>in t
8340: 68 65 20 68 65 61 64 65 72 20 74 6f 77 20 69 74 he header tow it
8350: 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 corresponds to
8360: 74 68 65 20 3c 62 3e 74 6f 74 61 6c 20 63 6f 73 the <b>total cos
8370: 74 3c 2f 62 3e 20 6f 66 20 74 68 65 20 74 72 61 t</b> of the tra
8380: 76 65 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 vel.</li>..<li>i
8390: 6e 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 n all the follow
83a0: 69 6e 67 20 72 6f 77 73 20 69 74 20 72 65 70 72 ing rows it repr
83b0: 65 73 65 6e 74 73 20 74 68 65 20 73 70 65 63 69 esents the speci
83c0: 66 69 63 20 63 6f 73 74 20 6f 66 20 74 68 65 20 fic cost of the
83d0: 63 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c current Link.</l
83e0: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
83f0: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4e 61 <li>column <b>Na
8400: 6d 65 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20 me</b> contains
8410: 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 the description
8420: 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c of the current L
8430: 69 6e 6b 20 28 75 73 75 61 6c 6c 79 20 61 20 72 ink (usually a r
8440: 6f 61 64 20 6e 61 6d 65 29 2c 20 61 6e 64 20 69 oad name), and i
8450: 73 20 61 6c 77 61 79 73 20 3c 62 3e 4e 55 4c 4c s always <b>NULL
8460: 3c 2f 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64 </b> in the head
8470: 65 72 20 72 6f 77 2e 3c 62 72 3e 0d 0a 3c 75 3e er row.<br>..<u>
8480: 4e 6f 74 65 3c 2f 75 3e 20 69 74 20 63 6f 75 6c Note</u> it coul
8490: 64 20 62 65 20 61 6c 77 61 79 73 20 62 65 20 3c d be always be <
84a0: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 74 68 b>NULL</b> if th
84b0: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 e VirtualRouting
84c0: 20 54 61 62 6c 65 20 64 6f 65 73 20 6e 6f 74 20 Table does not
84d0: 73 75 70 70 6f 72 74 73 20 6e 61 6d 65 73 2e 3c supports names.<
84e0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e /li>..</ul></li>
84f0: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 ..</ul>..<br><br
8500: 3e 0d 0a 54 65 73 74 69 6e 67 20 74 68 65 20 72 >..Testing the r
8510: 65 74 75 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e eturn connection
8520: 20 6a 75 73 74 20 72 65 71 75 69 72 65 73 20 73 just requires s
8530: 77 61 70 70 69 6e 67 20 74 68 65 20 4f 72 69 67 wapping the Orig
8540: 69 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 in and the Desti
8550: 6e 61 74 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20 nation; in this
8560: 65 78 61 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a example you'll j
8570: 75 73 74 20 72 65 71 75 65 73 74 20 74 68 65 20 ust request the
8580: 6d 65 61 6e 69 6e 67 66 75 6c 20 63 6f 6c 75 6d meaningful colum
8590: 6e 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d ns:..<verbatim>.
85a0: 0a 53 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 .SELECT RouteRow
85b0: 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 , Role, LinkRowi
85c0: 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 d, NodeFrom, Nod
85d0: 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 eTo, Cost, Geome
85e0: 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 try, Name..FROM
85f0: 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f byfoot..WHERE No
8600: 64 65 54 6f 20 3d 20 31 37 38 37 33 31 20 41 4e deTo = 178731 AN
8610: 44 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33 D NodeFrom = 183
8620: 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 286;..</verbatim
8630: 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 >..<table border
8640: 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 ="1" bgcolor="#f
8650: 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 fffcf" cellspaci
8660: 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 ng="4" cellpaddi
8670: 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 ng="6">..<tr><th
8680: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
8690: 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 0">RouteRow</th>
86a0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
86b0: 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c d0a0">Role</th><
86c0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
86d0: 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 0a0">LinkRowid</
86e0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
86f0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f #d0d0a0">NodeFro
8700: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f m</th><th bgcolo
8710: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
8720: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c To</th><th bgcol
8730: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 or="#d0d0a0">Cos
8740: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
8750: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d r="#d0d0a0">Geom
8760: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 etry</th><th bgc
8770: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
8780: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c ame</th></tr>..<
8790: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
87a0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
87b0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
87c0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
87d0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 n="right">183286
87e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
87f0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
8800: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8810: 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f ht">300.912208</
8820: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 td><td>BLOB sz=2
8830: 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 72 GEOMETRY</td>
8840: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
8850: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
8860: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c align="right">1<
8870: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
8880: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
8890: 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 t">224414</td><t
88a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
88b0: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 183286</td><td a
88c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
88d0: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 880</td><td alig
88e0: 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 n="right">136.37
88f0: 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 2057</td><td>NUL
8900: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 L</td><td>VIA MA
8910: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a RGARITONE</td>..
8920: 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e </tr>..<td align
8930: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c ="right">2</td><
8940: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
8950: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
8960: 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4446</td><td ali
8970: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
8980: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
8990: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f "right">182885</
89a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
89b0: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f ght">69.727726</
89c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
89d0: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 <td>VIA MARGARIT
89e0: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ONE</td>..</tr>.
89f0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
8a00: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
8a10: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
8a20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
8a30: 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4014</td><td ali
8a40: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 gn="right">18288
8a50: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 5</td><td align=
8a60: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
8a70: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8a80: 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f ght">94.812424</
8a90: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
8aa0: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 <td>VIA PIETRO A
8ab0: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 RETINO</td>..</t
8ac0: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 r>..</table>..<b
8ad0: 72 3e 0d 0a 49 66 20 79 6f 75 20 72 65 6d 65 6d r>..If you remem
8ae0: 62 65 72 2c 20 74 68 65 20 3c 62 3e 62 79 66 6f ber, the <b>byfo
8af0: 6f 74 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f ot</b> VirtualRo
8b00: 75 74 69 6e 67 20 54 61 62 6c 65 20 68 61 73 20 uting Table has
8b10: 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f no <b>one-ways</
8b20: 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 b>, and conseque
8b30: 6e 74 6c 79 20 74 68 65 20 72 65 74 75 72 6e 20 ntly the return
8b40: 70 61 74 68 20 65 78 61 63 74 6c 79 20 63 6f 72 path exactly cor
8b50: 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 responds to the
8b60: 66 69 72 73 74 20 6f 6e 65 2c 20 65 78 63 65 70 first one, excep
8b70: 74 20 69 6e 20 74 68 61 74 20 61 6c 6c 20 64 69 t in that all di
8b80: 72 65 63 74 69 6f 6e 73 20 61 72 65 20 6e 6f 77 rections are now
8b90: 20 72 65 76 65 72 73 65 64 2e 0d 0a 3c 62 72 3e reversed...<br>
8ba0: 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f 77 20 79 6f <br><br>..Now yo
8bb0: 75 27 6c 6c 20 67 6f 20 74 6f 20 74 65 73 74 20 u'll go to test
8bc0: 74 68 65 20 73 61 6d 65 20 63 6f 6e 6e 65 63 74 the same connect
8bd0: 69 6f 6e 73 2c 20 62 75 74 20 74 68 69 73 20 74 ions, but this t
8be0: 69 6d 65 20 79 6f 75 27 6c 6c 20 74 61 72 67 65 ime you'll targe
8bf0: 74 20 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f t the <b>bycar</
8c00: 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e b> VirtualRoutin
8c10: 67 20 54 61 62 6c 65 20 74 68 61 74 20 66 75 6c g Table that ful
8c20: 6c 79 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 6f ly supports <b>o
8c30: 6e 65 2d 77 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76 ne-ways</b>:..<v
8c40: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 erbatim>..SELECT
8c50: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c RouteRow, Role,
8c60: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 LinkRowid, Node
8c70: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f From, NodeTo, Co
8c80: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 st, Geometry, Na
8c90: 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a me..FROM bycar..
8ca0: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d WHERE NodeFrom =
8cb0: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 178731 AND Node
8cc0: 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f To = 183286;..</
8cd0: 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c verbatim>..<tabl
8ce0: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 e border="1" bgc
8cf0: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 olor="#ffffcf" c
8d00: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 ellspacing="4" c
8d10: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d ellpadding="6">.
8d20: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 .<tr><th bgcolor
8d30: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 ="#d0d0a0">Route
8d40: 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f Row</th><th bgco
8d50: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
8d60: 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c le</th><th bgcol
8d70: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e or="#d0d0a0">Lin
8d80: 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 kRowid</th><th b
8d90: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
8da0: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 >NodeFrom</th><t
8db0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
8dc0: 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c a0">NodeTo</th><
8dd0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
8de0: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 0a0">Cost</th><t
8df0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
8e00: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 a0">Geometry</th
8e10: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
8e20: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0d0a0">Name</th>
8e30: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
8e40: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
8e50: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
8e60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
8e70: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8e80: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
8e90: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
8ea0: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83286</td><td al
8eb0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e ign="right">101.
8ec0: 38 31 35 35 35 32 3c 2f 74 64 3e 3c 74 64 3e 42 815552</td><td>B
8ed0: 4c 4f 42 20 73 7a 3d 32 30 33 32 20 47 45 4f 4d LOB sz=2032 GEOM
8ee0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c ETRY</td><td>NUL
8ef0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
8f00: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
8f10: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 right">1</td><td
8f20: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
8f30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 ign="right">2240
8f40: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
8f50: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
8f60: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
8f70: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 ight">182885</td
8f80: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
8f90: 74 22 3e 31 33 2e 31 32 37 38 37 34 3c 2f 74 64 t">13.127874</td
8fa0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
8fb0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 d>VIA PIETRO ARE
8fc0: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TINO</td>..</tr>
8fd0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 ..<tr>..<td alig
8fe0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e n="right">2</td>
8ff0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
9000: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
9010: 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 24446</td><td al
9020: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 ign="right">1828
9030: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 85</td><td align
9040: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
9050: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9060: 69 67 68 74 22 3e 39 2e 36 35 34 36 30 38 3c 2f ight">9.654608</
9070: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
9080: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 <td>VIA MARGARIT
9090: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ONE</td>..</tr>.
90a0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
90b0: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
90c0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
90d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 align="right">21
90e0: 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 9171</td><td ali
90f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
9100: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
9110: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f "right">178732</
9120: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9130: 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 ght">7.809952</t
9140: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
9150: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f td>VIA FRANCESCO
9160: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f CRISPI</td>..</
9170: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
9180: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f lign="right">4</
9190: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
91a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
91b0: 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 ">219058</td><td
91c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
91d0: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 78732</td><td al
91e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
91f0: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 54</td><td align
9200: 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 ="right">12.4456
9210: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 26</td><td>NULL<
9220: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e /td><td>VIA FRAN
9230: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 CESCO CRISPI</td
9240: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
9250: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9260: 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">5</td><td>Link
9270: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9280: 72 69 67 68 74 22 3e 32 32 35 38 38 38 3c 2f 74 right">225888</t
9290: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
92a0: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c ht">178754</td><
92b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
92c0: 3e 31 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20 >183461</td><td
92d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e align="right">1.
92e0: 35 39 39 38 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e 599865</td><td>N
92f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
9300: 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 FRANCESCO CRISPI
9310: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
9320: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
9330: 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e ight">6</td><td>
9340: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
9350: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38 gn="right">22588
9360: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 7</td><td align=
9370: 22 72 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f "right">183461</
9380: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9390: 67 68 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e ght">182800</td>
93a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
93b0: 22 3e 33 2e 33 30 30 35 39 30 3c 2f 74 64 3e 3c ">3.300590</td><
93c0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
93d0: 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 VIA FRANCESCO CR
93e0: 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e ISPI</td>..</tr>
93f0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 ..<tr>..<td alig
9400: 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e n="right">7</td>
9410: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
9420: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
9430: 32 33 39 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 23935</td><td al
9440: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 ign="right">1828
9450: 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 00</td><td align
9460: 3d 22 72 69 67 68 74 22 3e 31 38 32 37 39 39 3c ="right">182799<
9470: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9480: 69 67 68 74 22 3e 36 2e 36 38 38 37 38 36 3c 2f ight">6.688786</
9490: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
94a0: 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 <td>VIALE LUCA S
94b0: 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a IGNORELLI</td>..
94c0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
94d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 align="right">8
94e0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
94f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9500: 68 74 22 3e 32 32 36 30 33 38 3c 2f 74 64 3e 3c ht">226038</td><
9510: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9520: 3e 31 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20 >182799</td><td
9530: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9540: 33 34 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3456</td><td ali
9550: 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 32 39 34 gn="right">1.294
9560: 30 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 017</td><td>NULL
9570: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c </td><td>VIALE L
9580: 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f UCA SIGNORELLI</
9590: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
95a0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
95b0: 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">9</td><td>Li
95c0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
95d0: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 33 32 3c ="right">225832<
95e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
95f0: 69 67 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 64 ight">183456</td
9600: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9610: 74 22 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74 t">183444</td><t
9620: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9630: 32 2e 33 38 35 34 38 36 3c 2f 74 64 3e 3c 74 64 2.385486</td><td
9640: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
9650: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 ALE LUCA SIGNORE
9660: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d LLI</td>..</tr>.
9670: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
9680: 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e ="right">10</td>
9690: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
96a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
96b0: 32 35 38 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 25831</td><td al
96c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 ign="right">1834
96d0: 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 44</td><td align
96e0: 3d 22 72 69 67 68 74 22 3e 31 38 33 35 35 34 3c ="right">183554<
96f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9700: 69 67 68 74 22 3e 33 2e 31 36 30 36 36 32 3c 2f ight">3.160662</
9710: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
9720: 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 <td>VIALE LUCA S
9730: 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a IGNORELLI</td>..
9740: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
9750: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9760: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
9770: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9780: 67 68 74 22 3e 32 32 35 37 36 35 3c 2f 74 64 3e ght">225765</td>
9790: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
97a0: 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64 ">183554</td><td
97b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
97c0: 38 33 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 83954</td><td al
97d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 34 36 ign="right">7.46
97e0: 39 39 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 9917</td><td>NUL
97f0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 L</td><td>VIALE
9800: 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c LUCA SIGNORELLI<
9810: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
9820: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
9830: 67 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e ght">12</td><td>
9840: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
9850: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36 gn="right">22576
9860: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
9870: 22 72 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f "right">183954</
9880: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9890: 67 68 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e ght">183905</td>
98a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
98b0: 22 3e 33 2e 32 33 36 33 38 39 3c 2f 74 64 3e 3c ">3.236389</td><
98c0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
98d0: 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f VIALE LUCA SIGNO
98e0: 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RELLI</td>..</tr
98f0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
9900: 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 3c 2f 74 gn="right">13</t
9910: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
9920: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9930: 3e 32 32 35 39 37 39 3c 2f 74 64 3e 3c 74 64 20 >225979</td><td
9940: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9950: 33 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3905</td><td ali
9960: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32 gn="right">18362
9970: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
9980: 22 72 69 67 68 74 22 3e 31 33 2e 39 38 33 36 32 "right">13.98362
9990: 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 9</td><td>NULL</
99a0: 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 td><td>STRADA SE
99b0: 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c NZA NOME</td>..<
99c0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
99d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 align="right">14
99e0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
99f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9a00: 68 74 22 3e 32 32 34 39 30 35 3c 2f 74 64 3e 3c ht">224905</td><
9a10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9a20: 3e 31 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20 >183626</td><td
9a30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9a40: 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3128</td><td ali
9a50: 67 6e 3d 22 72 69 67 68 74 22 3e 35 2e 36 32 37 gn="right">5.627
9a60: 33 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 358</td><td>NULL
9a70: 3c 2f 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 </td><td>STRADA
9a80: 53 45 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d SENZA NOME</td>.
9a90: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
9aa0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9ab0: 31 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 15</td><td>Link<
9ac0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9ad0: 69 67 68 74 22 3e 32 32 34 38 39 37 3c 2f 74 64 ight">224897</td
9ae0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9af0: 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 t">183128</td><t
9b00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9b10: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 183286</td><td a
9b20: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 2e lign="right">10.
9b30: 30 33 30 37 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e 030792</td><td>N
9b40: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
9b50: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e MARGARITONE</td>
9b60: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 ..</tr>..</table
9b70: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 >..<verbatim>..S
9b80: 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 ELECT RouteRow,
9b90: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c Role, LinkRowid,
9ba0: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 NodeFrom, NodeT
9bb0: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 o, Cost, Geometr
9bc0: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 y, Name..FROM by
9bd0: 63 61 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54 car..WHERE NodeT
9be0: 6f 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e o = 178731 AND N
9bf0: 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 36 odeFrom = 183286
9c00: 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a ;..</verbatim>..
9c10: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 <table border="1
9c20: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 " bgcolor="#ffff
9c30: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d cf" cellspacing=
9c40: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "4" cellpadding=
9c50: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 "6">..<tr><th bg
9c60: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
9c70: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 RouteRow</th><th
9c80: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
9c90: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
9ca0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
9cb0: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e ">LinkRowid</th>
9cc0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
9cd0: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f d0a0">NodeFrom</
9ce0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
9cf0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c #d0d0a0">NodeTo<
9d00: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
9d10: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f "#d0d0a0">Cost</
9d20: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
9d30: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 #d0d0a0">Geometr
9d40: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f y</th><th bgcolo
9d50: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 r="#d0d0a0">Name
9d60: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
9d70: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
9d80: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
9d90: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
9da0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9db0: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 right">183286</t
9dc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9dd0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
9de0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9df0: 3e 31 30 33 2e 33 30 35 32 35 39 3c 2f 74 64 3e >103.305259</td>
9e00: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 39 34 34 20 <td>BLOB sz=944
9e10: 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 GEOMETRY</td><td
9e20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
9e30: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
9e40: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 gn="right">1</td
9e50: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
9e60: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9e70: 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 224414</td><td a
9e80: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
9e90: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 286</td><td alig
9ea0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 n="right">178880
9eb0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9ec0: 72 69 67 68 74 22 3e 31 38 2e 38 38 32 32 38 35 right">18.882285
9ed0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
9ee0: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 d><td>VIA MARGAR
9ef0: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ITONE</td>..</tr
9f00: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
9f10: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 gn="right">2</td
9f20: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
9f30: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9f40: 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 219171</td><td a
9f50: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
9f60: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 880</td><td alig
9f70: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 n="right">178732
9f80: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9f90: 72 69 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c right">7.809952<
9fa0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
9fb0: 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 ><td>VIA FRANCES
9fc0: 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a CO CRISPI</td>..
9fd0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
9fe0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 align="right">3
9ff0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
a000: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a010: 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c ht">219058</td><
a020: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a030: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 >178732</td><td
a040: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
a050: 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8754</td><td ali
a060: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 gn="right">12.44
a070: 35 36 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 5626</td><td>NUL
a080: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 L</td><td>VIA FR
a090: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f ANCESCO CRISPI</
a0a0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
a0b0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
a0c0: 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">4</td><td>Li
a0d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
a0e0: 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c ="right">224538<
a0f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a100: 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 ight">178754</td
a110: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a120: 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 t">181972</td><t
a130: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a140: 37 2e 30 34 37 37 38 34 3c 2f 74 64 3e 3c 74 64 7.047784</td><td
a150: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
a160: 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 A ANTONIO GUADAG
a170: 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NOLI</td>..</tr>
a180: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 ..<tr>..<td alig
a190: 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e n="right">5</td>
a1a0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
a1b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
a1c0: 32 32 35 37 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 22575</td><td al
a1d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 ign="right">1819
a1e0: 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 72</td><td align
a1f0: 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c ="right">181971<
a200: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a210: 69 67 68 74 22 3e 31 2e 38 35 32 32 38 33 3c 2f ight">1.852283</
a220: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
a230: 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 <td>VIA ANTONIO
a240: 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d GUADAGNOLI</td>.
a250: 0a 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 .</tr>..<td alig
a260: 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e n="right">6</td>
a270: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
a280: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
a290: 32 34 39 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 24967</td><td al
a2a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 ign="right">1819
a2b0: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 71</td><td align
a2c0: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c ="right">182891<
a2d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a2e0: 69 67 68 74 22 3e 31 34 2e 32 37 33 31 38 35 3c ight">14.273185<
a2f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
a300: 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f ><td>VIA ANTONIO
a310: 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e GUADAGNOLI</td>
a320: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
a330: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a340: 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >7</td><td>Link<
a350: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a360: 69 67 68 74 22 3e 32 32 34 31 36 38 3c 2f 74 64 ight">224168</td
a370: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a380: 74 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74 t">182891</td><t
a390: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a3a0: 31 38 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 183057</td><td a
a3b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36 lign="right">6.6
a3c0: 34 33 33 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 43309</td><td>NU
a3d0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d LL</td><td>VIA M
a3e0: 41 43 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f ACALLE'</td>..</
a3f0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
a400: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f lign="right">8</
a410: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
a420: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a430: 22 3e 32 32 34 31 36 37 3c 2f 74 64 3e 3c 74 64 ">224167</td><td
a440: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a450: 38 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 83057</td><td al
a460: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 ign="right">1830
a470: 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 56</td><td align
a480: 3d 22 72 69 67 68 74 22 3e 33 2e 31 35 31 32 37 ="right">3.15127
a490: 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 2</td><td>NULL</
a4a0: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c td><td>VIA MACAL
a4b0: 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d LE'</td>..</tr>.
a4c0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
a4d0: 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c ="right">9</td><
a4e0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
a4f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
a500: 34 31 37 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4174</td><td ali
a510: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 gn="right">18305
a520: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
a530: 22 72 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f "right">182941</
a540: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a550: 67 68 74 22 3e 37 2e 39 36 36 38 37 30 3c 2f 74 ght">7.966870</t
a560: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
a570: 74 64 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e td>VIA RODI</td>
a580: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
a590: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a5a0: 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b >10</td><td>Link
a5b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a5c0: 72 69 67 68 74 22 3e 32 32 34 30 35 39 3c 2f 74 right">224059</t
a5d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a5e0: 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c ht">182941</td><
a5f0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a600: 3e 31 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20 >182001</td><td
a610: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e align="right">6.
a620: 33 39 33 37 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e 393747</td><td>N
a630: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
a640: 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e RODI</td>..</tr>
a650: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 ..<tr>..<td alig
a660: 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 n="right">11</td
a670: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
a680: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a690: 32 32 32 36 33 37 3c 2f 74 64 3e 3c 74 64 20 61 222637</td><td a
a6a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
a6b0: 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 001</td><td alig
a6c0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 n="right">182000
a6d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a6e0: 72 69 67 68 74 22 3e 32 2e 34 37 35 35 33 38 3c right">2.475538<
a6f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
a700: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 ><td>VIA PIETRO
a710: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f ARETINO</td>..</
a720: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
a730: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c lign="right">12<
a740: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
a750: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a760: 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 t">222636</td><t
a770: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a780: 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 182000</td><td a
a790: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
a7a0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
a7b0: 6e 3d 22 72 69 67 68 74 22 3e 31 34 2e 33 36 33 n="right">14.363
a7c0: 34 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 408</td><td>NULL
a7d0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 </td><td>VIA PIE
a7e0: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e TRO ARETINO</td>
a7f0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 ..</tr>..</table
a800: 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 >..<br>..As you
a810: 63 61 6e 20 65 61 73 69 6c 79 20 6e 6f 74 69 63 can easily notic
a820: 65 2c 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 70 e, the optimal p
a830: 61 74 68 73 20 72 65 74 75 72 6e 65 64 20 62 79 aths returned by
a840: 20 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62 the <b>bycar</b
a850: 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 > VirtualRouting
a860: 20 54 61 62 6c 65 20 74 68 65 20 70 61 74 68 73 Table the paths
a870: 20 69 6e 20 6f 70 70 6f 73 69 74 65 20 64 69 72 in opposite dir
a880: 65 63 74 69 6f 6e 73 20 73 74 72 6f 6e 67 6c 79 ections strongly
a890: 20 64 69 66 66 65 72 20 62 65 74 77 65 65 6e 20 differ between
a8a0: 74 68 65 6d 2c 20 61 6e 64 20 62 6f 74 68 20 61 them, and both a
a8b0: 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69 re completely di
a8c0: 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65 fferent from the
a8d0: 20 70 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 path returned b
a8e0: 79 20 71 75 65 72 79 69 6e 67 20 3c 62 3e 62 79 y querying <b>by
a8f0: 66 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 foot</b>.<br>..A
a900: 20 71 75 69 63 6b 20 67 6c 61 6e 63 65 20 61 74 quick glance at
a910: 20 74 68 65 20 62 65 6c 6f 77 20 6d 61 70 20 77 the below map w
a920: 69 6c 6c 20 73 75 72 65 6c 79 20 68 65 6c 70 20 ill surely help
a930: 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 62 65 to understand be
a940: 74 74 65 72 20 77 68 61 74 27 73 20 72 65 61 6c tter what's real
a950: 6c 79 20 68 61 70 70 65 6e 69 6e 67 2e 3c 62 72 ly happening.<br
a960: 3e 0d 0a 54 68 69 73 20 69 73 20 61 20 63 65 6e >..This is a cen
a970: 74 72 61 6c 20 61 72 65 61 20 6f 66 20 74 68 65 tral area of the
a980: 20 74 6f 77 6e 20 6f 66 20 41 72 65 7a 7a 6f 20 town of Arezzo
a990: 61 72 6f 75 6e 64 20 74 68 65 20 61 72 63 68 61 around the archa
a9a0: 65 6f 6c 6f 67 69 63 61 6c 20 72 75 69 6e 73 20 eological ruins
a9b0: 6f 66 20 74 68 65 20 52 6f 6d 61 6e 20 41 6d 70 of the Roman Amp
a9c0: 68 69 74 68 65 61 74 65 72 3b 20 63 69 72 63 75 hitheater; circu
a9d0: 6c 61 74 69 6e 67 20 62 79 20 63 61 72 20 69 73 lating by car is
a9e0: 20 64 69 73 63 6f 75 72 61 67 65 64 20 61 6e 64 discouraged and
a9f0: 20 69 73 20 73 75 62 6a 65 63 74 20 74 6f 20 6d is subject to m
aa00: 61 6e 79 20 6f 6e 65 2d 77 61 79 20 72 65 73 74 any one-way rest
aa10: 72 69 63 74 69 6f 6e 73 2e 20 4e 6f 74 20 73 75 rictions. Not su
aa20: 72 70 72 69 73 69 6e 67 6c 79 2c 20 6d 6f 76 69 rprisingly, movi
aa30: 6e 67 20 62 79 20 66 6f 6f 74 20 69 73 20 74 68 ng by foot is th
aa40: 65 20 66 61 73 74 65 72 20 6f 70 74 69 6f 6e 2e e faster option.
aa50: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 ..<br><br>..<img
aa60: 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 src="https://ww
aa70: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 w.gaia-gis.it/ga
aa80: 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d ia-sins/routing-
aa90: 66 69 67 73 2f 72 6f 75 74 69 6e 67 31 2e 6a 70 figs/routing1.jp
aaa0: 67 22 20 61 6c 74 3d 22 66 69 67 31 22 3e 0d 0a g" alt="fig1">..
aab0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79 65 6c 6c 6f 77 <ul>..<li>yellow
aac0: 20 70 61 74 68 3a 20 70 65 64 65 73 74 72 69 61 path: pedestria
aad0: 6e 73 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 67 72 65 ns</li>..<li>gre
aae0: 65 6e 20 70 61 74 68 3a 20 63 61 72 2c 20 64 69 en path: car, di
aaf0: 72 65 63 74 20 64 69 72 65 63 74 69 6f 6e 3c 2f rect direction</
ab00: 6c 69 3e 0d 0a 3c 6c 69 3e 72 65 64 20 70 61 74 li>..<li>red pat
ab10: 68 3a 20 63 61 72 2c 20 72 65 74 75 72 6e 20 64 h: car, return d
ab20: 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c irection</li>..<
ab30: 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 /ul>..<br>..<tab
ab40: 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 le bgcolor="#c0f
ab50: 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 fc0" cellspacing
ab60: 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e ="10" cellpaddin
ab70: 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a g="6"><tr><td>..
ab80: 3c 68 33 3e 4c 69 6e 65 73 74 72 69 6e 67 73 20 <h3>Linestrings
ab90: 72 65 74 75 72 6e 65 64 20 62 79 20 56 69 72 74 returned by Virt
aba0: 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 68 33 3e 0d ualRouting</h3>.
abb0: 0a 41 6c 6c 20 4c 49 4e 45 53 54 52 49 4e 47 20 .All LINESTRING
abc0: 47 65 6f 6d 65 74 72 69 65 73 20 63 72 65 61 74 Geometries creat
abd0: 65 64 20 62 79 20 61 6e 79 20 56 69 72 74 75 61 ed by any Virtua
abe0: 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c 20 61 6c lRouting will al
abf0: 77 61 79 73 20 63 6f 6e 74 61 69 6e 20 3c 62 3e ways contain <b>
ac00: 4d 20 76 61 6c 75 65 73 3c 2f 62 3e 3a 0d 0a 3c M values</b>:..<
ac10: 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20 ul>..<li>if the
ac20: 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 underlaying Netw
ac30: 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 73 ork's Geometries
ac40: 20 61 72 65 20 3c 62 3e 58 59 3c 2f 62 3e 20 74 are <b>XY</b> t
ac50: 68 65 6e 20 3c 62 3e 58 59 4d 3c 2f 62 3e 20 4c hen <b>XYM</b> L
ac60: 69 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 inestrings will
ac70: 62 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69 be returned.</li
ac80: 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e >..<li>if the un
ac90: 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 derlaying Networ
aca0: 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61 k's Geometries a
acb0: 72 65 20 3c 62 3e 58 59 5a 3c 2f 62 3e 20 74 68 re <b>XYZ</b> th
acc0: 65 6e 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20 4c en <b>XYZM</b> L
acd0: 69 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 inestrings will
ace0: 62 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69 be returned.</li
acf0: 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e >..<li>if the un
ad00: 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 derlaying Networ
ad10: 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61 k's Geometries a
ad20: 72 65 20 3c 62 3e 58 59 4d 3c 2f 62 3e 20 6f 72 re <b>XYM</b> or
ad30: 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20 74 68 65 <b>XYZM</b> the
ad40: 6e 20 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 n Linestrings r
ad50: 65 74 75 72 6e 65 64 20 69 6e 74 6f 20 74 68 65 eturned into the
ad60: 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c 20 resultset will
ad70: 6d 61 69 6e 74 61 69 6e 20 74 68 65 20 73 61 6d maintain the sam
ad80: 65 20 64 69 6d 65 6e 73 69 6f 6e 73 20 61 73 20 e dimensions as
ad90: 69 6e 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 in the underlayi
ada0: 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 3e ng Network.</li>
adb0: 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 79 20 63 61 73 ..<li>in any cas
adc0: 65 20 74 68 65 20 3c 62 3e 4d 3c 2f 62 3e 20 76 e the <b>M</b> v
add0: 61 6c 75 65 73 20 77 69 6c 6c 20 62 65 20 61 70 alues will be ap
ade0: 70 72 6f 70 72 69 61 74 65 6c 79 20 73 65 74 20 propriately set
adf0: 73 6f 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 so to represent
ae00: 74 68 65 20 3c 75 3e 70 61 72 74 69 61 6c 20 63 the <u>partial c
ae10: 6f 73 74 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f ost</u> correspo
ae20: 6e 64 69 6e 67 20 74 6f 20 65 61 63 68 20 76 65 nding to each ve
ae30: 72 74 65 78 2e 0d 0a 28 69 66 20 74 68 65 20 69 rtex...(if the i
ae40: 6e 70 75 74 20 4c 69 6e 65 73 74 72 69 6e 67 73 nput Linestrings
ae50: 20 61 6c 72 65 61 64 79 20 63 6f 6e 74 61 69 6e already contain
ae60: 73 20 4d 2d 76 61 6c 75 65 73 20 74 68 65 79 27 s M-values they'
ae70: 6c 6c 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 ll be overwritte
ae80: 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d n).</li>..</ul>.
ae90: 0a 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 65 72 20 .<br>..In other
aea0: 77 6f 72 64 73 2c 20 61 6c 6c 20 4c 69 6e 65 73 words, all Lines
aeb0: 74 72 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 trings returned
aec0: 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e by VirtualRoutin
aed0: 67 20 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c g can effectivel
aee0: 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 4c 52 3c y support <b>LR<
aef0: 2f 62 3e 20 28 3c 69 3e 4c 69 6e 65 61 72 20 52 /b> (<i>Linear R
af00: 65 66 65 72 65 6e 63 69 6e 67 3c 2f 69 3e 29 20 eferencing</i>)
af10: 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73 2c 20 61 SQL functions, a
af20: 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 s in the followi
af30: 6e 67 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 76 ng examples:..<v
af40: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 erbatim>..SELECT
af50: 20 53 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77 65 ST_Locate_Betwe
af60: 65 6e 5f 4d 65 61 73 75 72 65 73 28 3c 67 65 6f en_Measures(<geo
af70: 6d 65 74 72 79 3e 2c 20 33 30 2e 30 2c 20 34 35 metry>, 30.0, 45
af80: 2e 30 29 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 53 .0);....SELECT S
af90: 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77 65 65 6e T_Locate_Between
afa0: 5f 4d 65 61 73 75 72 65 73 28 3c 67 65 6f 6d 65 _Measures(<geome
afb0: 74 72 79 3e 2c 20 38 30 2e 30 2c 20 39 35 2e 30 try>, 80.0, 95.0
afc0: 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d );..</verbatim>.
afd0: 0a 54 68 65 20 73 69 64 65 20 6d 61 70 20 67 72 .The side map gr
afe0: 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 aphically shows
aff0: 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 70 6f the estimated po
b000: 73 69 74 69 6f 6e 73 20 72 65 73 70 65 63 74 69 sitions respecti
b010: 76 65 6c 79 20 3c 62 3e 33 30 3c 2f 62 3e 2d 3c vely <b>30</b>-<
b020: 62 3e 34 35 3c 2f 62 3e 20 73 65 63 6f 6e 64 73 b>45</b> seconds
b030: 20 61 66 74 65 72 20 73 74 61 72 74 69 6e 67 20 after starting
b040: 28 79 65 6c 6c 6f 77 20 64 6f 74 74 65 64 20 6c (yellow dotted l
b050: 69 6e 65 29 20 61 6e 64 20 3c 62 3e 38 30 3c 2f ine) and <b>80</
b060: 62 3e 2d 3c 62 3e 39 35 3c 2f 62 3e 20 73 65 63 b>-<b>95</b> sec
b070: 6f 6e 64 73 20 61 66 74 65 72 20 73 74 61 72 74 onds after start
b080: 69 6e 67 20 28 67 72 65 65 6e 20 64 6f 74 74 65 ing (green dotte
b090: 64 20 6c 69 6e 65 29 2e 3c 62 72 3e 0d 0a 28 61 d line).<br>..(a
b0a0: 73 73 75 6d 69 6e 67 20 74 68 65 20 73 61 6d 65 ssuming the same
b0b0: 20 70 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 path returned b
b0c0: 79 20 74 68 65 20 6c 61 74 65 73 74 20 3c 62 3e y the latest <b>
b0d0: 62 79 63 61 72 3c 2f 62 3e 20 71 75 65 72 79 29 bycar</b> query)
b0e0: 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 ...</td>..<td><i
b0f0: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f mg src="https://
b100: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
b110: 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e gaia-sins/routin
b120: 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e 67 32 2e g-figs/routing2.
b130: 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 32 22 3e jpg" alt="fig2">
b140: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f </td>..</tr>..</
b150: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68 table>..<br>..<h
b160: 32 3e 50 6c 61 79 69 6e 67 20 77 69 74 68 20 56 2>Playing with V
b170: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 6f irtualRouting co
b180: 6e 66 69 67 75 72 61 62 6c 65 20 6f 70 74 69 6f nfigurable optio
b190: 6e 73 3c 2f 68 32 3e 0d 0a 53 65 76 65 72 61 6c ns</h2>..Several
b1a0: 20 61 73 70 65 63 74 73 20 6f 66 20 56 69 72 74 aspects of Virt
b1b0: 75 61 6c 52 6f 75 74 69 6e 67 20 63 61 6e 20 62 ualRouting can b
b1c0: 65 20 66 72 65 65 6c 79 20 63 75 73 74 6f 6d 69 e freely customi
b1d0: 7a 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e zed...<verbatim>
b1e0: 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 ..UPDATE byfoot
b1f0: 53 45 54 20 41 6c 67 6f 72 69 74 68 6d 20 3d 20 SET Algorithm =
b200: 27 41 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 'A*';....SELECT
b210: 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f Algorithm, Optio
b220: 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f ns, RouteRow, Ro
b230: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e le, LinkRowid, N
b240: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c odeFrom, NodeTo,
b250: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c Cost, Geometry,
b260: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f Name..FROM byfo
b270: 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 ot..WHERE NodeFr
b280: 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 om = 178731 AND
b290: 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b NodeTo = 183286;
b2a0: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 49 ..</verbatim>..I
b2b0: 66 20 79 6f 75 20 72 65 6d 65 6d 62 65 72 20 69 f you remember i
b2c0: 6e 20 61 6c 6c 20 74 68 65 20 70 72 65 76 69 6f n all the previo
b2d0: 75 73 20 65 78 61 6d 70 6c 65 73 20 74 68 65 20 us examples the
b2e0: 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 <b>Dijkstra's</b
b2f0: 3e 20 61 6c 67 6f 72 69 74 68 6d 20 77 61 73 20 > algorithm was
b300: 75 73 65 64 3b 20 6e 6f 77 20 28 61 66 74 65 72 used; now (after
b310: 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 61 executing the a
b320: 62 6f 76 65 20 3c 62 3e 55 50 44 41 54 45 3c 2f bove <b>UPDATE</
b330: 62 3e 29 20 61 6c 6c 20 53 68 6f 72 74 65 73 74 b>) all Shortest
b340: 20 50 61 74 68 20 71 75 65 72 69 65 73 20 77 69 Path queries wi
b350: 6c 6c 20 62 65 20 62 61 73 65 64 20 6f 6e 20 74 ll be based on t
b360: 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 3c he alternative <
b370: 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 b>A*</b> algorit
b380: 68 6d 2e 3c 62 72 3e 0d 0a 49 66 20 79 6f 75 20 hm.<br>..If you
b390: 77 69 73 68 20 74 6f 20 73 65 6c 65 63 74 20 61 wish to select a
b3a0: 67 61 69 6e 20 74 68 65 20 44 69 6a 6b 73 74 72 gain the Dijkstr
b3b0: 61 27 73 20 61 6c 67 6f 72 69 74 68 6d 20 79 6f a's algorithm yo
b3c0: 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 65 u just have to e
b3d0: 78 65 63 75 74 65 3c 62 72 3e 20 3c 62 3e 55 50 xecute<br> <b>UP
b3e0: 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 DATE byfoot SET
b3f0: 41 6c 67 6f 72 69 74 68 6d 20 3d 20 27 44 49 4a Algorithm = 'DIJ
b400: 4b 53 54 52 41 27 3b 3c 2f 62 3e 2e 3c 62 72 3e KSTRA';</b>.<br>
b410: 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 <br>..The follow
b420: 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 ing table shows
b430: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 the resultset re
b440: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 turned by the pr
b450: 65 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 evious Shortest
b460: 50 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 Path query; plea
b470: 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 se notice the va
b480: 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c lue in the <b>Al
b490: 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 63 6f 6c 75 gorithm</b> colu
b4a0: 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c mn...<br><br>..<
b4b0: 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 table border="1"
b4c0: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 bgcolor="#ffffc
b4d0: 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 f" cellspacing="
b4e0: 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 4" cellpadding="
b4f0: 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6">..<tr><th bgc
b500: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 olor="#d0d0a0">A
b510: 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 lgorithm</th><th
b520: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
b530: 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 0">Options</th><
b540: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
b550: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 0a0">RouteRow</t
b560: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
b570: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 d0d0a0">Role</th
b580: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
b590: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 0d0a0">LinkRowid
b5a0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
b5b0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 ="#d0d0a0">NodeF
b5c0: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f rom</th><th bgco
b5d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f lor="#d0d0a0">No
b5e0: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 deTo</th><th bgc
b5f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 olor="#d0d0a0">C
b600: 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ost</th><th bgco
b610: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 lor="#d0d0a0">Ge
b620: 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 ometry</th><th b
b630: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
b640: 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d >Name</th></tr>.
b650: 0a 3c 74 72 3e 3c 74 64 3e 41 2a 3c 2f 74 64 3e .<tr><td>A*</td>
b660: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 <td>Full</td><td
b670: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
b680: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
b690: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
b6a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
b6b0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
b6c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
b6d0: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83286</td><td al
b6e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e ign="right">300.
b6f0: 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 912208</td><td>B
b700: 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 LOB sz=272 GEOME
b710: 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c TRY</td><td>NULL
b720: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
b730: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
b740: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
b750: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
b760: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
b770: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
b780: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e ght">224014</td>
b790: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
b7a0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
b7b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
b7c0: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 82885</td><td al
b7d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 ign="right">94.8
b7e0: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 12424</td><td>NU
b7f0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 LL</td><td>VIA P
b800: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 IETRO ARETINO</t
b810: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
b820: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
b830: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
b840: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f lign="right">2</
b850: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
b860: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
b870: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 ">224446</td><td
b880: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
b890: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 82885</td><td al
b8a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
b8b0: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
b8c0: 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 ="right">69.7277
b8d0: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 26</td><td>NULL<
b8e0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
b8f0: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
b900: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
b910: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
b920: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
b930: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
b940: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
b950: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
b960: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
b970: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
b980: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
b990: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 ight">183286</td
b9a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
b9b0: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 t">136.372057</t
b9c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
b9d0: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f td>VIA MARGARITO
b9e0: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NE</td>..</tr>..
b9f0: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 </table>..<br><b
ba00: 72 3e 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 r><br>..You can
ba10: 65 76 65 6e 74 75 61 6c 6c 79 20 63 6f 6e 66 69 eventually confi
ba20: 67 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 73 gure the results
ba30: 65 74 20 72 65 74 75 72 6e 65 64 20 74 68 65 20 et returned the
ba40: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 71 VirtualRouting q
ba50: 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 62 61 74 ueries...<verbat
ba60: 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f im>..UPDATE byfo
ba70: 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d ot SET Options =
ba80: 20 27 4e 4f 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 'NO LINKS';....
ba90: 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d SELECT Algorithm
baa0: 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 , Options, Route
bab0: 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 Row, Role, LinkR
bac0: 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 owid, NodeFrom,
bad0: 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 NodeTo, Cost, Ge
bae0: 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 ometry, Name..FR
baf0: 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 OM byfoot..WHERE
bb00: 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 NodeFrom = 1787
bb10: 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 AND NodeTo =
bb20: 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 183286;..</verba
bb30: 74 69 6d 3e 0d 0a 41 66 74 65 72 20 73 65 74 74 tim>..After sett
bb40: 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 ing <b>Options='
bb50: 4e 4f 20 4c 49 4e 4b 53 27 3c 2f 62 3e 20 74 68 NO LINKS'</b> th
bb60: 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c e resultset will
bb70: 20 73 69 6d 70 6c 79 20 63 6f 6e 74 61 69 6e 20 simply contain
bb80: 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 2c 20 the header row,
bb90: 61 6e 64 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c and all the foll
bba0: 6f 77 69 6e 67 20 72 6f 77 73 20 77 69 6c 6c 20 owing rows will
bbb0: 62 65 20 73 75 70 70 72 65 73 73 65 64 2e 3c 62 be suppressed.<b
bbc0: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a r>..<u>Note</u>:
bbd0: 20 70 72 6f 64 75 63 69 6e 67 20 61 20 72 65 64 producing a red
bbe0: 75 63 65 64 20 72 65 73 75 6c 74 73 65 74 20 69 uced resultset i
bbf0: 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 s expected to be
bc00: 20 73 6f 6d 65 77 61 79 20 66 61 73 74 65 72 2e someway faster.
bc10: 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 <br>..The follow
bc20: 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 ing table shows
bc30: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 the resultset re
bc40: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 turned by the pr
bc50: 65 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 evious Shortest
bc60: 50 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 Path query; plea
bc70: 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 se notice the va
bc80: 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 lue in the <b>Op
bc90: 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e tions</b> column
bca0: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 ...<br><br>..<ta
bcb0: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 ble border="1" b
bcc0: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 gcolor="#ffffcf"
bcd0: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 cellspacing="4"
bce0: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
bcf0: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c >..<tr><th bgcol
bd00: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 or="#d0d0a0">Alg
bd10: 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 orithm</th><th b
bd20: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
bd30: 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 >Options</th><th
bd40: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
bd50: 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 0">RouteRow</th>
bd60: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
bd70: 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c d0a0">Role</th><
bd80: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
bd90: 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 0a0">LinkRowid</
bda0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
bdb0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f #d0d0a0">NodeFro
bdc0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f m</th><th bgcolo
bdd0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
bde0: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c To</th><th bgcol
bdf0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 or="#d0d0a0">Cos
be00: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
be10: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d r="#d0d0a0">Geom
be20: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 etry</th><th bgc
be30: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
be40: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c ame</th></tr>..<
be50: 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e tr>..<td>A*</td>
be60: 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64 <td>No Links</td
be70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
be80: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
be90: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
bea0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
beb0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
bec0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
bed0: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 t">183286</td><t
bee0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
bef0: 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 300.912208</td><
bf00: 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 td>BLOB sz=272 G
bf10: 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e EOMETRY</td><td>
bf20: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
bf30: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e ..</table>..<br>
bf40: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 <br><br>..<verba
bf50: 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 tim>..UPDATE byf
bf60: 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 oot SET Options
bf70: 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 = 'NO GEOMETRIES
bf80: 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 ';....SELECT Alg
bf90: 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c orithm, Options,
bfa0: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c RouteRow, Role,
bfb0: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 LinkRowid, Node
bfc0: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f From, NodeTo, Co
bfd0: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 st, Geometry, Na
bfe0: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d me..FROM byfoot.
bff0: 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 .WHERE NodeFrom
c000: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 = 178731 AND Nod
c010: 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c eTo = 183286;..<
c020: 2f 76 65 72 62 61 74 69 6d 3e 41 66 74 65 72 20 /verbatim>After
c030: 73 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f setting <b>Optio
c040: 6e 73 3d 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 ns='NO GEOMETRIE
c050: 53 27 3c 2f 62 3e 20 74 68 65 20 72 65 73 75 6c S'</b> the resul
c060: 74 73 65 74 20 77 69 6c 6c 20 63 6f 6e 74 61 69 tset will contai
c070: 6e 20 61 6c 6c 20 72 6f 77 73 2c 20 62 75 74 20 n all rows, but
c080: 61 6c 6c 20 47 65 6f 6d 65 74 72 69 65 73 20 77 all Geometries w
c090: 69 6c 6c 20 62 65 20 73 75 70 70 72 65 73 73 65 ill be suppresse
c0a0: 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c d.<br>..<u>Note<
c0b0: 2f 75 3e 3a 20 74 68 69 73 20 74 6f 6f 20 69 73 /u>: this too is
c0c0: 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 expected to be
c0d0: 73 6f 6d 65 77 61 79 20 66 61 73 74 65 72 2e 3c someway faster.<
c0e0: 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 br>..The followi
c0f0: 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 ng table shows t
c100: 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 he resultset ret
c110: 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 urned by the pre
c120: 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 vious Shortest P
c130: 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 ath query; pleas
c140: 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c e notice the val
c150: 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 ue in the <b>Opt
c160: 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e ions</b> column.
c170: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 ..<br><br>..<tab
c180: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 le border="1" bg
c190: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 color="#ffffcf"
c1a0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 cellspacing="4"
c1b0: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
c1c0: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f ..<tr><th bgcolo
c1d0: 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f r="#d0d0a0">Algo
c1e0: 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 rithm</th><th bg
c1f0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
c200: 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 Options</th><th
c210: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
c220: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c ">RouteRow</th><
c230: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
c240: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 0a0">Role</th><t
c250: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
c260: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 a0">LinkRowid</t
c270: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
c280: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d d0d0a0">NodeFrom
c290: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
c2a0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 ="#d0d0a0">NodeT
c2b0: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f o</th><th bgcolo
c2c0: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 r="#d0d0a0">Cost
c2d0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
c2e0: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 ="#d0d0a0">Geome
c2f0: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f try</th><th bgco
c300: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 lor="#d0d0a0">Na
c310: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 me</th></tr>..<t
c320: 72 3e 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 r><td>A*</td><td
c330: 3e 4e 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f >No Geometries</
c340: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
c350: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
c360: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
c370: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
c380: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
c390: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
c3a0: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e ght">183286</td>
c3b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
c3c0: 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 ">300.912208</td
c3d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
c3e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
c3f0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
c400: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
c410: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
c420: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e ight">1</td><td>
c430: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
c440: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 gn="right">22401
c450: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
c460: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
c470: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
c480: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e ght">182885</td>
c490: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
c4a0: 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e ">94.812424</td>
c4b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
c4c0: 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 >VIA PIETRO ARET
c4d0: 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d INO</td>..</tr>.
c4e0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
c4f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
c500: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
c510: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">2</td><td>Lin
c520: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
c530: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f "right">224446</
c540: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
c550: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e ght">182885</td>
c560: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
c570: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 ">178880</td><td
c580: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 align="right">6
c590: 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 9.727726</td><td
c5a0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
c5b0: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 A MARGARITONE</t
c5c0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
c5d0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
c5e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
c5f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f lign="right">3</
c600: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
c610: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
c620: 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 ">224414</td><td
c630: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
c640: 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 78880</td><td al
c650: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 ign="right">1832
c660: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 86</td><td align
c670: 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 ="right">136.372
c680: 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 057</td><td>NULL
c690: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 </td><td>VIA MAR
c6a0: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c GARITONE</td>..<
c6b0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a /tr>..</table>..
c6c0: 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 <br><br><br>..<v
c6d0: 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 erbatim>..UPDATE
c6e0: 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 byfoot SET Opti
c6f0: 6f 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b 0d ons = 'SIMPLE';.
c700: 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 ...SELECT Algori
c710: 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f thm, Options, Ro
c720: 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 uteRow, Role, Li
c730: 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f nkRowid, NodeFro
c740: 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c m, NodeTo, Cost,
c750: 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d Geometry, Name.
c760: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 .FROM byfoot..WH
c770: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 ERE NodeFrom = 1
c780: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 78731 AND NodeTo
c790: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 = 183286;..</ve
c7a0: 72 62 61 74 69 6d 3e 53 65 74 74 69 6e 67 20 3c rbatim>Setting <
c7b0: 62 3e 4f 70 74 69 6f 6e 73 3d 27 53 49 4d 50 4c b>Options='SIMPL
c7c0: 45 27 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 73 E'</b> has the s
c7d0: 61 6d 65 20 65 66 66 65 63 74 20 74 68 61 6e 20 ame effect than
c7e0: 73 65 74 74 69 6e 67 20 62 6f 74 68 20 3c 62 3e setting both <b>
c7f0: 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 NO LINKS</b> and
c800: 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 <b>NO GEOMETRIE
c810: 53 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d S</b> at the sam
c820: 65 20 74 69 6d 65 2e 3c 62 72 3e 0d 0a 3c 75 3e e time.<br>..<u>
c830: 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 69 Note</u>: this i
c840: 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 s expected to be
c850: 20 74 68 65 20 66 61 73 74 65 73 74 20 73 65 74 the fastest set
c860: 74 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 ting.<br>..The f
c870: 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 ollowing table s
c880: 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 hows the results
c890: 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 et returned by t
c8a0: 68 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72 he previous Shor
c8b0: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 3b test Path query;
c8c0: 20 70 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74 please notice t
c8d0: 68 65 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 he value in the
c8e0: 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 <b>Options</b> c
c8f0: 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e olumn...<br><br>
c900: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d ..<table border=
c910: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 "1" bgcolor="#ff
c920: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e ffcf" cellspacin
c930: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e g="4" cellpaddin
c940: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 g="6">..<tr><th
c950: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
c960: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e ">Algorithm</th>
c970: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
c980: 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 d0a0">Options</t
c990: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
c9a0: 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 d0d0a0">RouteRow
c9b0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
c9c0: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c ="#d0d0a0">Role<
c9d0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
c9e0: 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f "#d0d0a0">LinkRo
c9f0: 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f wid</th><th bgco
ca00: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f lor="#d0d0a0">No
ca10: 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 deFrom</th><th b
ca20: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
ca30: 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 >NodeTo</th><th
ca40: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
ca50: 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 ">Cost</th><th b
ca60: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
ca70: 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 >Geometry</th><t
ca80: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
ca90: 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 a0">Name</th></t
caa0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41 2a r>..<tr>..<td>A*
cab0: 3c 2f 74 64 3e 3c 74 64 3e 53 69 6d 70 6c 65 3c </td><td>Simple<
cac0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
cad0: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e ight">0</td><td>
cae0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 Route</td><td>NU
caf0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
cb00: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
cb10: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
cb20: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 ight">183286</td
cb30: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
cb40: 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 t">300.912208</t
cb50: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
cb60: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
cb70: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
cb80: 62 72 3e 0d 0a 46 69 6e 61 6c 6c 79 2c 20 69 66 br>..Finally, if
cb90: 20 79 6f 75 20 77 69 73 68 20 74 6f 20 73 65 6c you wish to sel
cba0: 65 63 74 20 61 67 61 69 6e 20 74 68 65 20 69 6e ect again the in
cbb0: 69 74 69 61 6c 20 73 74 61 6e 64 61 72 64 20 73 itial standard s
cbc0: 65 74 74 69 6e 67 20 79 6f 75 20 6a 75 73 74 20 etting you just
cbd0: 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 65 3c have to execute<
cbe0: 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 62 79 br> <b>UPDATE by
cbf0: 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 foot SET Options
cc00: 20 3d 20 27 46 55 4c 4c 27 3b 3c 2f 62 3e 2e 3c = 'FULL';</b>.<
cc10: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 br><br>..<hr><br
cc20: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 >..<h1><a name="
cc30: 6d 75 6c 74 69 22 3e 35 20 2d 20 53 6f 6c 76 69 multi">5 - Solvi
cc40: 6e 67 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 ng multi-destina
cc50: 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 tion Shortest Pa
cc60: 74 68 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c th problems</a><
cc70: 2f 68 31 3e 0d 0a 41 20 76 65 72 79 20 69 6e 74 /h1>..A very int
cc80: 65 72 65 73 74 69 6e 67 20 66 65 61 74 75 72 65 eresting feature
cc90: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 supported by th
cca0: 65 20 44 69 6a 6b 73 74 72 61 27 73 20 41 6c 67 e Dijkstra's Alg
ccb0: 6f 72 69 74 68 6d 20 69 73 20 74 68 61 74 20 69 orithm is that i
ccc0: 74 20 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72 t robustly ensur
ccd0: 65 73 20 74 68 61 74 20 77 68 65 6e 20 61 20 64 es that when a d
cce0: 65 73 74 69 6e 61 74 69 6f 6e 20 69 73 20 72 65 estination is re
ccf0: 61 63 68 65 64 20 61 6c 6c 20 74 68 65 20 64 65 ached all the de
cd00: 73 74 69 6e 61 74 69 6f 6e 73 20 70 72 65 73 65 stinations prese
cd10: 6e 74 69 6e 67 20 61 20 3c 62 3e 6c 65 73 73 65 nting a <b>lesse
cd20: 72 20 63 6f 73 74 3c 2f 62 3e 20 68 61 76 65 20 r cost</b> have
cd30: 61 6c 72 65 61 64 79 20 62 65 65 6e 20 72 65 61 already been rea
cd40: 63 68 65 64 20 69 6e 20 73 6f 6d 65 20 70 72 65 ched in some pre
cd50: 76 69 6f 75 73 20 73 74 65 70 20 6f 66 20 74 68 vious step of th
cd60: 65 20 70 72 6f 63 65 73 73 2e 3c 62 72 3e 0d 0a e process.<br>..
cd70: 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 6f 20 65 This allows to e
cd80: 66 66 69 63 69 65 6e 74 6c 79 20 73 75 70 70 6f fficiently suppo
cd90: 72 74 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 20 64 rt <b>multiple d
cda0: 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 estinations</b>
cdb0: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 Shortest Path qu
cdc0: 65 72 69 65 73 2e 0d 0a 59 6f 75 20 73 69 6d 70 eries...You simp
cdd0: 6c 79 20 68 61 76 65 20 74 6f 20 73 70 65 63 69 ly have to speci
cde0: 66 79 20 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f fy a <b>single o
cdf0: 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 rigin Node</b> a
ce00: 6e 64 20 61 6e 20 3c 62 3e 61 72 62 69 74 72 61 nd an <b>arbitra
ce10: 72 79 20 6c 69 73 74 20 6f 66 20 64 65 73 74 69 ry list of desti
ce20: 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 3c 2f 62 3e nation Nodes</b>
ce30: 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 44 69 6a in a single Dij
ce40: 6b 73 74 72 61 27 73 20 65 78 65 63 75 74 69 6f kstra's executio
ce50: 6e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e n.<br><br>..<u>N
ce60: 6f 74 65 3c 2f 75 3e 3a 20 65 78 65 63 75 74 69 ote</u>: executi
ce70: 6e 67 20 61 20 6d 75 6c 74 69 2d 64 65 73 74 69 ng a multi-desti
ce80: 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 nation Shortest
ce90: 50 61 74 68 20 71 75 65 72 79 20 72 65 71 75 69 Path query requi
cea0: 72 65 73 20 61 20 3c 62 3e 70 72 6f 63 65 73 73 res a <b>process
ceb0: 69 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 74 68 61 ing time</b> tha
cec0: 74 20 69 73 6e 27 74 20 74 68 65 20 3c 75 3e 73 t isn't the <u>s
ced0: 75 6d 20 6f 66 20 61 6c 6c 20 69 6e 64 69 76 69 um of all indivi
cee0: 64 75 61 6c 20 74 69 6d 69 6e 67 73 20 66 6f 72 dual timings for
cef0: 20 65 61 63 68 20 64 65 73 74 69 6e 61 74 69 6f each destinatio
cf00: 6e 3c 2f 75 3e 2c 20 62 75 74 20 73 69 6d 70 6c n</u>, but simpl
cf10: 79 20 69 73 20 74 68 65 20 3c 75 3e 74 69 6d 65 y is the <u>time
cf20: 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 61 required to rea
cf30: 63 68 20 74 68 65 20 6d 6f 73 74 20 63 6f 73 74 ch the most cost
cf40: 6c 79 20 6f 66 20 61 6c 6c 20 64 65 73 74 69 6e ly of all destin
cf50: 61 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 ations in the li
cf60: 73 74 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 54 68 69 st</u>.<br>..Thi
cf70: 73 20 69 73 6e 27 74 20 72 69 67 6f 72 6f 75 73 s isn't rigorous
cf80: 6c 79 20 74 72 75 65 20 69 6e 20 74 68 65 20 63 ly true in the c
cf90: 61 73 65 20 6f 66 20 74 68 65 20 56 69 72 74 75 ase of the Virtu
cfa0: 61 6c 52 6f 75 74 69 6e 67 20 73 70 65 63 69 66 alRouting specif
cfb0: 69 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ic implementatio
cfc0: 6e 2c 20 62 65 63 61 75 73 65 20 61 72 72 61 6e n, because arran
cfd0: 67 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 ging the results
cfe0: 65 74 20 74 6f 20 62 65 20 72 65 74 75 72 6e 65 et to be returne
cff0: 64 20 61 6e 64 20 63 72 65 61 74 69 6e 67 20 61 d and creating a
d000: 6c 6c 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 ll the individua
d010: 6c 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 66 6f l Linestrings fo
d020: 72 20 65 61 63 68 20 64 65 73 74 69 6e 61 74 69 r each destinati
d030: 6f 6e 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 69 on will surely i
d040: 6d 70 6f 73 65 20 73 6f 6d 65 20 66 75 72 74 68 mpose some furth
d050: 65 72 20 6f 76 65 72 68 65 61 64 2c 20 62 75 74 er overhead, but
d060: 20 6e 6f 6e 65 74 68 65 6c 65 73 73 20 69 74 20 nonetheless it
d070: 72 65 6d 61 69 6e 73 20 63 6f 6e 66 69 72 6d 65 remains confirme
d080: 64 20 74 68 61 74 20 65 78 65 63 75 74 69 6e 67 d that executing
d090: 20 61 20 73 69 6e 67 6c 65 20 6d 75 6c 74 69 2d a single multi-
d0a0: 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 destination quer
d0b0: 79 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 62 65 y will surely be
d0c0: 20 20 6e 6f 74 69 63 65 61 62 6c 79 20 66 61 73 noticeably fas
d0d0: 74 65 72 20 74 68 65 6e 20 65 78 65 63 75 74 69 ter then executi
d0e0: 6e 67 20 6d 61 6e 79 20 73 70 61 72 73 65 20 73 ng many sparse s
d0f0: 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f ingle-destinatio
d100: 6e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 n queries...<ver
d110: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 batim>..SELECT A
d120: 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 lgorithm, Reques
d130: 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 t, Options, Deli
d140: 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 miter, RouteId,
d150: 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 RouteRow, Role,
d160: 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 LinkRowid, NodeF
d170: 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 rom, NodeTo, Cos
d180: 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d t, Geometry, Nam
d190: 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a e..FROM byfoot..
d1a0: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d WHERE NodeFrom =
d1b0: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 178731 AND Node
d1c0: 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 32 39 30 To = '183286,290
d1d0: 34 35 38 2c 31 38 31 39 39 39 2c 31 38 34 30 33 458,181999,18403
d1e0: 30 2c 31 32 34 36 32 32 2c 31 38 33 38 38 32 2c 0,124622,183882,
d1f0: 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 178754';..</verb
d200: 61 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61 atim>..As you ca
d210: 6e 20 65 61 73 69 6c 79 20 6e 6f 74 69 63 65 2c n easily notice,
d220: 20 61 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 2d 64 a <b>multiple-d
d230: 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 estinations</b>
d240: 71 75 65 72 79 20 68 61 73 20 74 68 65 20 73 61 query has the sa
d250: 6d 65 20 69 64 65 6e 74 69 63 61 6c 20 66 6f 72 me identical for
d260: 6d 20 6f 66 20 61 6e 79 20 75 73 75 61 6c 20 53 m of any usual S
d270: 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65 hortest Path que
d280: 72 79 2c 20 65 78 63 65 70 74 20 69 6e 20 74 68 ry, except in th
d290: 61 74 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e at <b>NodeTo</b>
d2a0: 20 6e 6f 77 20 63 6f 72 72 65 73 70 6f 6e 64 73 now corresponds
d2b0: 20 74 6f 20 61 20 63 6f 6d 6d 61 2d 73 65 70 61 to a comma-sepa
d2c0: 72 61 74 65 64 20 6c 69 73 74 2e 3c 62 72 3e 0d rated list.<br>.
d2d0: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 .The following t
d2e0: 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 able shows the r
d2f0: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 esultset returne
d300: 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 d by the previou
d310: 73 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 s multi-destinat
d320: 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 ion Shortest Pat
d330: 68 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 h query...<br><b
d340: 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 r>..<table borde
d350: 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 r="1" bgcolor="#
d360: 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 ffffcf" cellspac
d370: 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 ing="4" cellpadd
d380: 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 ing="6">..<tr><t
d390: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
d3a0: 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 a0">Algorithm</t
d3b0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
d3c0: 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c d0d0a0">Request<
d3d0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
d3e0: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e "#d0d0a0">Option
d3f0: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f s</th><th bgcolo
d400: 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 r="#d0d0a0">Deli
d410: 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 miter</th><th bg
d420: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
d430: 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 RouteId</th><th
d440: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
d450: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c ">RouteRow</th><
d460: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
d470: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 0a0">Role</th><t
d480: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
d490: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 a0">LinkRowid</t
d4a0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
d4b0: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d d0d0a0">NodeFrom
d4c0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
d4d0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 ="#d0d0a0">NodeT
d4e0: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f o</th><th bgcolo
d4f0: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 r="#d0d0a0">Cost
d500: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
d510: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 ="#d0d0a0">Geome
d520: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f try</th><th bgco
d530: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 lor="#d0d0a0">Na
d540: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 me</th></tr>..<t
d550: 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 r>..<td>Dijkstra
d560: 3c 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 </td><td>Shortes
d570: 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 t Path</td><td>F
d580: 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 ull</td><td>, &#
d590: 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 91;dec=44, hex=2
d5a0: 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 c]</td><td a
d5b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
d5c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
d5d0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
d5e0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
d5f0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
d600: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
d610: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
d620: 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e ght">183882</td>
d630: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
d640: 22 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 ">154.750839</td
d650: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 ><td>BLOB sz=240
d660: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
d670: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
d680: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
d690: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
d6a0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
d6b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
d6c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
d6d0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
d6e0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 "right">1</td><t
d6f0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
d700: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 lign="right">222
d710: 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 636</td><td alig
d720: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
d730: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
d740: 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 right">182000</t
d750: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
d760: 68 74 22 3e 31 30 33 2e 37 33 35 37 32 32 3c 2f ht">103.735722</
d770: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
d780: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 <td>VIA PIETRO A
d790: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 RETINO</td>..</t
d7a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
d7b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
d7c0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
d7d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
d7e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
d7f0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
d800: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
d810: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
d820: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
d830: 35 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 527</td><td alig
d840: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 n="right">182000
d850: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
d860: 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 right">183882</t
d870: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
d880: 68 74 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74 ht">51.015117</t
d890: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
d8a0: 74 64 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e td>VIA LICIO NEN
d8b0: 43 45 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 CETTI</td>..</tr
d8c0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
d8d0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
d8e0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
d8f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
d900: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
d910: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
d920: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
d930: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
d940: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
d950: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
d960: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
d970: 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 right">184030</t
d980: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
d990: 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f ht">176.364755</
d9a0: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 td><td>BLOB sz=3
d9b0: 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 04 GEOMETRY</td>
d9c0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
d9d0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
d9e0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
d9f0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
da00: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
da10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
da20: 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">1</td><td alig
da30: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e n="right">1</td>
da40: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
da50: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
da60: 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 24014</td><td al
da70: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
da80: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
da90: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c ="right">182885<
daa0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
dab0: 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c ight">94.812424<
dac0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
dad0: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 ><td>VIA PIETRO
dae0: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f ARETINO</td>..</
daf0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
db00: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
db10: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
db20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
db30: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
db40: 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >1</td><td align
db50: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c ="right">2</td><
db60: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
db70: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
db80: 34 38 36 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4862</td><td ali
db90: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 gn="right">18288
dba0: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 5</td><td align=
dbb0: 22 72 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f "right">182043</
dbc0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
dbd0: 67 68 74 22 3e 33 37 2e 30 39 35 32 38 37 3c 2f ght">37.095287</
dbe0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
dbf0: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 <td>VIA MARGARIT
dc00: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ONE</td>..</tr>.
dc10: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
dc20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
dc30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
dc40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
dc50: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
dc60: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
dc70: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c ght">3</td><td>L
dc80: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
dc90: 6e 3d 22 72 69 67 68 74 22 3e 32 32 36 30 37 30 n="right">226070
dca0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
dcb0: 72 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 right">182043</t
dcc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
dcd0: 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c ht">184030</td><
dce0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
dcf0: 3e 34 34 2e 34 35 37 30 34 34 3c 2f 74 64 3e 3c >44.457044</td><
dd00: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
dd10: 50 49 41 5a 5a 41 20 53 41 4e 54 27 41 47 4f 53 PIAZZA SANT'AGOS
dd20: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TINO</td>..</tr>
dd30: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
dd40: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
dd50: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
dd60: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
dd70: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
dd80: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
dd90: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e ight">0</td><td>
dda0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 Route</td><td>NU
ddb0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
ddc0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
ddd0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
dde0: 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 ight">178754</td
ddf0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
de00: 74 22 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f 74 t">224.677095</t
de10: 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 d><td>BLOB sz=24
de20: 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 0 GEOMETRY</td><
de30: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
de40: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
de50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
de60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
de70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c d><td>NULL<td al
de80: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
de90: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
dea0: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">1</td><td>Li
deb0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
dec0: 3d 22 72 69 67 68 74 22 3e 32 31 39 30 34 35 3c ="right">219045<
ded0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
dee0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
def0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
df00: 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 t">178732</td><t
df10: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
df20: 37 36 2e 30 32 31 30 30 37 3c 2f 74 64 3e 3c 74 76.021007</td><t
df30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
df40: 49 41 20 41 53 53 41 42 3c 2f 74 64 3e 0d 0a 3c IA ASSAB</td>..<
df50: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
df60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
df70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
df80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
df90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
dfa0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">2</td><td alig
dfb0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e n="right">2</td>
dfc0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
dfd0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
dfe0: 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 19058</td><td al
dff0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
e000: 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 32</td><td align
e010: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c ="right">178754<
e020: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e030: 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38 39 ight">148.656089
e040: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e050: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 d><td>VIA FRANCE
e060: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d SCO CRISPI</td>.
e070: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
e080: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
e090: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e0a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e0b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e0c0: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">3</td><td al
e0d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
e0e0: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e d><td>Route</td>
e0f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e100: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
e110: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
e120: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 ign="right">1819
e130: 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 99</td><td align
e140: 3d 22 72 69 67 68 74 22 3e 32 36 30 2e 31 33 32 ="right">260.132
e150: 33 35 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 354</td><td>BLOB
e160: 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 sz=240 GEOMETRY
e170: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e180: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
e190: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
e1a0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
e1b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e1c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e1d0: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
e1e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
e1f0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
e200: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e210: 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c ht">224014</td><
e220: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e230: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
e240: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
e250: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2885</td><td ali
e260: 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 gn="right">94.81
e270: 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 2424</td><td>NUL
e280: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 L</td><td>VIA PI
e290: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 ETRO ARETINO</td
e2a0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
e2b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e2c0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
e2d0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e2e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e2f0: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 ight">3</td><td
e300: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
e310: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
e320: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e330: 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 t">224446</td><t
e340: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e350: 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 182885</td><td a
e360: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
e370: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 880</td><td alig
e380: 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 n="right">69.727
e390: 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 726</td><td>NULL
e3a0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 </td><td>VIA MAR
e3b0: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c GARITONE</td>..<
e3c0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
e3d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
e3e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e3f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e400: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e410: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">3</td><td alig
e420: 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e n="right">3</td>
e430: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
e440: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
e450: 32 35 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 25800</td><td al
e460: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
e470: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
e480: 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c ="right">181999<
e490: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e4a0: 69 67 68 74 22 3e 39 35 2e 35 39 32 32 30 34 3c ight">95.592204<
e4b0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e4c0: 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 ><td>VIA FRANCES
e4d0: 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a CO CRISPI</td>..
e4e0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
e4f0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
e500: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e510: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e520: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e530: 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">4</td><td ali
e540: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
e550: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c ><td>Route</td><
e560: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
e570: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
e580: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
e590: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 gn="right">18328
e5a0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
e5b0: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 "right">300.9122
e5c0: 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 08</td><td>BLOB
e5d0: 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c sz=272 GEOMETRY<
e5e0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e5f0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
e600: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e610: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
e620: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e630: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e640: 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 ight">4</td><td
e650: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c align="right">1<
e660: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
e670: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e680: 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 t">224014</td><t
e690: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e6a0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
e6b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
e6c0: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 885</td><td alig
e6d0: 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 n="right">94.812
e6e0: 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 424</td><td>NULL
e6f0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 </td><td>VIA PIE
e700: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e TRO ARETINO</td>
e710: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
e720: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
e730: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
e740: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e750: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e760: 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 ght">4</td><td a
e770: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f lign="right">2</
e780: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
e790: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e7a0: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 ">224446</td><td
e7b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
e7c0: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 82885</td><td al
e7d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
e7e0: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
e7f0: 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 ="right">69.7277
e800: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 26</td><td>NULL<
e810: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
e820: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
e830: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
e840: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e850: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e860: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e870: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e880: 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >4</td><td align
e890: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
e8a0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
e8b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
e8c0: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4414</td><td ali
e8d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
e8e0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
e8f0: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
e900: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e910: 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c ght">136.372057<
e920: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e930: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 ><td>VIA MARGARI
e940: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TONE</td>..</tr>
e950: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
e960: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e970: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e980: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
e990: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
e9a0: 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63 L</td><td>Unreac
e9b0: 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 hable NodeTo</td
e9c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e9d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e9e0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
e9f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 39 30 lign="right">290
ea00: 34 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 458</td><td>NULL
ea10: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
ea20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
ea30: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
ea40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
ea50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
ea60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
ea70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
ea80: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
ea90: 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 Unreachable Node
eaa0: 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c To</td><td>NULL<
eab0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
eac0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
ead0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
eae0: 74 22 3e 31 32 34 36 32 32 3c 2f 74 64 3e 3c 74 t">124622</td><t
eaf0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
eb00: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
eb10: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f </td>..</tr>..</
eb20: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 table>..<br>..Le
eb30: 74 27 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d t's quickly exam
eb40: 69 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 ine the resultse
eb50: 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 t returned by th
eb60: 65 20 61 62 6f 76 65 20 3c 62 3e 6d 75 6c 74 69 e above <b>multi
eb70: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 -destinations</b
eb80: 3e 20 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a > query...<ul>..
eb90: 3c 6c 69 3e 74 68 65 20 6f 76 65 72 61 6c 6c 20 <li>the overall
eba0: 6c 61 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73 74 layout is almost
ebb0: 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d exactly the sam
ebc0: 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 e as you've alre
ebd0: 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 ady seen in the
ebe0: 63 61 73 65 20 6f 66 20 3c 62 3e 73 69 6e 67 6c case of <b>singl
ebf0: 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 e-destination</b
ec00: 3e 20 71 75 65 72 69 65 73 2c 20 62 75 74 20 69 > queries, but i
ec10: 6e 20 74 68 69 73 20 63 61 73 65 20 6d 6f 72 65 n this case more
ec20: 20 69 6e 64 69 76 69 64 75 61 6c 20 74 72 61 76 individual trav
ec30: 65 6c 20 73 6f 6c 75 74 69 6f 6e 73 20 61 72 65 el solutions are
ec40: 20 67 72 6f 75 70 65 64 20 61 6c 74 6f 67 65 74 grouped altoget
ec50: 68 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 her.</li>..<li>t
ec60: 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c he <b>first row<
ec70: 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c /b> of the resul
ec80: 74 73 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20 tset is someway
ec90: 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 exceptional, and
eca0: 20 69 73 20 74 68 65 20 75 6e 69 71 75 65 20 72 is the unique r
ecb0: 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 ow of the result
ecc0: 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c set presenting <
ecd0: 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 b>NOT NULL</b> v
ece0: 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e alues in the <b>
ecf0: 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c Algorithm</b>, <
ed00: 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c b>Request</b>, <
ed10: 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e b>Options</b> an
ed20: 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f d <b>Delimiter</
ed30: 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e b> columns.</li>
ed40: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 75 ..<li>the <b>Rou
ed50: 74 65 49 64 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 teId</b> column
ed60: 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 67 is intended to g
ed70: 72 6f 75 70 20 74 6f 67 65 74 68 65 72 20 61 6c roup together al
ed80: 6c 20 72 6f 77 73 20 62 65 6c 6f 6e 67 69 6e 67 l rows belonging
ed90: 20 74 6f 20 73 61 6d 65 20 74 72 61 76 65 6c 20 to same travel
eda0: 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 61 6b 61 solution (<i>aka
edb0: 3c 2f 69 3e 20 3c 62 3e 52 6f 75 74 65 3c 2f 62 </i> <b>Route</b
edc0: 3e 29 2e 3c 62 72 3e 0d 0a 52 6f 75 74 65 73 20 >).<br>..Routes
edd0: 61 72 65 20 70 72 6f 67 72 65 73 73 69 76 65 6c are progressivel
ede0: 79 20 6e 75 6d 62 65 72 65 64 20 61 6e 64 20 61 y numbered and a
edf0: 72 65 20 6f 72 64 65 72 65 64 20 61 63 63 6f 72 re ordered accor
ee00: 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 69 72 20 dingly to their
ee10: 3c 62 3e 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 62 <b>total cost</b
ee20: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 >.</li>..<li>the
ee30: 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e <b>RouteRow</b>
ee40: 20 63 6f 6c 75 6d 6e 20 68 61 73 20 74 68 65 20 column has the
ee50: 73 61 6d 65 20 69 6e 74 65 72 70 72 65 74 61 74 same interpretat
ee60: 69 6f 6e 20 61 73 20 69 6e 20 73 69 6e 67 6c 65 ion as in single
ee70: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 72 65 73 -destination res
ee80: 75 6c 74 73 65 74 73 2c 20 61 6e 64 20 69 73 20 ultsets, and is
ee90: 69 6e 74 65 6e 64 65 64 20 74 6f 20 70 72 6f 67 intended to prog
eea0: 72 65 73 73 69 76 65 6c 79 20 6f 72 64 65 72 20 ressively order
eeb0: 69 6e 20 74 68 65 20 63 6f 72 72 65 63 74 20 73 in the correct s
eec0: 65 71 75 65 6e 63 65 20 61 6c 6c 20 4c 69 6e 6b equence all Link
eed0: 73 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 s connecting the
eee0: 20 4f 72 69 67 69 6e 20 61 6e 64 20 74 68 65 20 Origin and the
eef0: 44 65 73 74 69 6e 61 74 69 6f 6e 20 6f 66 20 65 Destination of e
ef00: 61 63 68 20 52 6f 75 74 65 2e 3c 62 72 3e 0d 0a ach Route.<br>..
ef10: 3c 62 3e 52 6f 75 74 65 52 6f 77 3d 30 3c 2f 62 <b>RouteRow=0</b
ef20: 3e 20 61 6c 77 61 79 73 20 69 64 65 6e 74 69 66 > always identif
ef30: 69 65 73 20 74 68 65 20 68 65 61 64 65 72 20 72 ies the header r
ef40: 6f 77 20 6f 66 20 65 61 63 68 20 74 72 61 76 65 ow of each trave
ef50: 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e l solution.</li>
ef60: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c ..</ul>..<br>..<
ef70: 75 3e 4e 6f 74 69 63 65 3c 2f 75 3e 3a 20 74 68 u>Notice</u>: th
ef80: 65 20 6c 61 73 74 20 74 77 6f 20 72 6f 77 73 20 e last two rows
ef90: 69 6e 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 in the resultset
efa0: 20 72 65 70 6f 72 74 73 20 3c 62 3e 55 6e 72 65 reports <b>Unre
efb0: 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 09 3c achable NodeTo.<
efc0: 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52 6f /b> in the <b>Ro
efd0: 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2c 20 74 le</b> column, t
efe0: 68 75 73 20 69 6d 70 6c 79 69 6e 67 20 61 20 3c hus implying a <
eff0: 62 3e 66 6f 72 62 69 64 64 65 6e 20 63 6f 6e 6e b>forbidden conn
f000: 65 63 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d ection</b>.<br>.
f010: 0a 54 68 69 73 20 77 61 73 20 70 75 72 70 6f 73 .This was purpos
f020: 65 6c 79 20 69 6e 74 65 6e 64 65 64 3a 20 4e 6f ely intended: No
f030: 64 65 73 20 3c 62 3e 32 39 30 34 35 38 3c 2f 62 des <b>290458</b
f040: 3e 20 61 6e 64 20 3c 62 3e 31 32 34 36 32 32 3c > and <b>124622<
f050: 2f 62 3e 20 61 72 65 20 6c 6f 63 61 74 65 64 20 /b> are located
f060: 6f 6e 20 45 6c 62 61 20 61 6e 64 20 47 69 67 6c on Elba and Gigl
f070: 69 6f 20 69 73 6c 61 6e 64 73 2e 20 54 68 65 20 io islands. The
f080: 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 underlaying Netw
f090: 6f 72 6b 20 69 73 20 62 61 73 65 64 20 6f 6e 20 ork is based on
f0a0: 3c 62 3e 49 74 65 72 2e 4e 65 74 3c 2f 62 3e 20 <b>Iter.Net</b>
f0b0: 74 68 61 74 20 64 6f 6e 27 74 20 73 75 70 70 6f that don't suppo
f0c0: 72 74 73 20 66 65 72 72 79 20 63 6f 6e 6e 65 63 rts ferry connec
f0d0: 74 69 6f 6e 73 2c 20 73 6f 20 61 6e 79 20 74 72 tions, so any tr
f0e0: 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 62 65 avel solution be
f0f0: 74 77 65 65 6e 20 74 68 65 20 69 73 6c 61 6e 64 tween the island
f100: 73 20 61 6e 64 20 74 68 65 20 6d 61 69 6e 6c 61 s and the mainla
f110: 6e 64 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 66 nd will always f
f120: 61 69 6c 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 ail...<br><br><b
f130: 72 3e 0d 0a 41 6c 73 6f 20 3c 62 3e 6d 75 6c 74 r>..Also <b>mult
f140: 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f i-destinations</
f150: 62 3e 20 71 75 65 72 69 65 73 20 63 61 6e 20 62 b> queries can b
f160: 65 20 63 75 73 74 6f 6d 69 7a 65 64 2c 20 62 75 e customized, bu
f170: 74 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 t the configurat
f180: 69 6f 6e 20 72 75 6c 65 73 20 73 6c 69 67 68 74 ion rules slight
f190: 6c 79 20 64 69 66 66 65 72 20 66 72 6f 6d 20 77 ly differ from w
f1a0: 68 61 74 20 79 6f 75 20 68 61 76 65 20 61 6c 72 hat you have alr
f1b0: 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 eady seen in the
f1c0: 20 63 61 73 65 20 6f 66 20 73 69 6e 67 6c 65 2d case of single-
f1d0: 64 65 73 74 69 6e 61 74 69 6f 6e 2e 0d 0a 3c 75 destination...<u
f1e0: 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 41 6c 67 6f 72 l>..<li><b>Algor
f1f0: 69 74 68 6d 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 3c ithm</b>: only <
f200: 62 3e 44 69 6a 6b 73 74 72 61 3c 2f 62 3e 20 69 b>Dijkstra</b> i
f210: 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 6d s supported by m
f220: 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e ulti-destination
f230: 2c 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 69 6d , and will be im
f240: 70 6c 69 63 69 74 6c 79 20 61 73 73 75 6d 65 64 plicitly assumed
f250: 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 20 61 even when the a
f260: 6c 74 65 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a lternative <b>A*
f270: 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d 20 69 </b> algorithm i
f280: 73 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 s currently sele
f290: 63 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e cted.</li>..<li>
f2a0: 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20 <b>Options</b>:
f2b0: 74 68 65 20 75 73 75 61 6c 20 3c 62 3e 46 55 4c the usual <b>FUL
f2c0: 4c 3c 2f 62 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45 L</b>, <b>SIMPLE
f2d0: 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b </b>, <b>NO LINK
f2e0: 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 S</b> and <b>NO
f2f0: 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61 GEOMETRIES</b> a
f300: 72 65 20 73 75 70 70 6f 72 74 65 64 20 61 6e 64 re supported and
f310: 20 77 69 6c 6c 20 68 61 76 65 20 74 68 65 20 73 will have the s
f320: 61 6d 65 20 65 66 66 65 63 74 20 61 73 20 69 6e ame effect as in
f330: 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 single-destinat
f340: 69 6f 6e 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 ion queries.</li
f350: 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 62 61 >..</ul>..<verba
f360: 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 tim>..UPDATE byf
f370: 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 oot SET Options
f380: 3d 20 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53 = 'SIMPLE';....S
f390: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c ELECT Algorithm,
f3a0: 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e Request, Option
f3b0: 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f s, Delimiter, Ro
f3c0: 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c uteId, RouteRow,
f3d0: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 Role, LinkRowid
f3e0: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 , NodeFrom, Node
f3f0: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 To, Cost, Geomet
f400: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 ry, Name..FROM b
f410: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 yfoot..WHERE Nod
f420: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 eFrom = 178731 A
f430: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 ND NodeTo = '183
f440: 32 38 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 286,290458,18199
f450: 39 2c 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 9,184030,124622,
f460: 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 183882,178754';.
f470: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 .</verbatim>..Th
f480: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c e following tabl
f490: 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 e shows the resu
f4a0: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 ltset returned b
f4b0: 79 20 74 68 65 20 73 61 6d 65 20 6d 75 6c 74 69 y the same multi
f4c0: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 -destination que
f4d0: 72 79 20 75 73 65 64 20 69 6e 20 74 68 65 20 70 ry used in the p
f4e0: 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 revious example
f4f0: 61 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74 after enabling t
f500: 68 65 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e he <b>SIMPLE</b>
f510: 20 6f 70 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 option...<br><b
f520: 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 r>..<table borde
f530: 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 r="1" bgcolor="#
f540: 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 ffffcf" cellspac
f550: 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 ing="4" cellpadd
f560: 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 ing="6">..<tr><t
f570: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
f580: 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 a0">Algorithm</t
f590: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
f5a0: 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c d0d0a0">Request<
f5b0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
f5c0: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e "#d0d0a0">Option
f5d0: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f s</th><th bgcolo
f5e0: 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 r="#d0d0a0">Deli
f5f0: 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 miter</th><th bg
f600: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
f610: 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 RouteId</th><th
f620: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
f630: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c ">RouteRow</th><
f640: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
f650: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 0a0">Role</th><t
f660: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
f670: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 a0">LinkRowid</t
f680: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
f690: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d d0d0a0">NodeFrom
f6a0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
f6b0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 ="#d0d0a0">NodeT
f6c0: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f o</th><th bgcolo
f6d0: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 r="#d0d0a0">Cost
f6e0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
f6f0: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 ="#d0d0a0">Geome
f700: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f try</th><th bgco
f710: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 lor="#d0d0a0">Na
f720: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 me</th></tr>..<t
f730: 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 r>..<td>Dijkstra
f740: 3c 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 </td><td>Shortes
f750: 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 t Path</td><td>F
f760: 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 ull</td><td>, &#
f770: 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 91;dec=44, hex=2
f780: 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 c]</td><td a
f790: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
f7a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
f7b0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
f7c0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
f7d0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
f7e0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
f7f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
f800: 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e ght">183882</td>
f810: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
f820: 22 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 ">154.750839</td
f830: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
f840: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
f850: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
f860: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
f870: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
f880: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
f890: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
f8a0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
f8b0: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
f8c0: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
f8d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
f8e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
f8f0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
f900: 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f "right">184030</
f910: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
f920: 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c ght">176.364755<
f930: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
f940: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
f950: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
f960: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
f970: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
f980: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
f990: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
f9a0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">2</td><td ali
f9b0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
f9c0: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c ><td>Route</td><
f9d0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
f9e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
f9f0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
fa00: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 gn="right">17875
fa10: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
fa20: 22 72 69 67 68 74 22 3e 32 32 34 2e 36 37 37 30 "right">224.6770
fa30: 39 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 95</td><td>NULL<
fa40: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
fa50: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
fa60: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fa70: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
fa80: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
fa90: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
faa0: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 ight">3</td><td
fab0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
fac0: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 /td><td>Route</t
fad0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
fae0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
faf0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
fb00: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
fb10: 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1999</td><td ali
fb20: 67 6e 3d 22 72 69 67 68 74 22 3e 32 36 30 2e 31 gn="right">260.1
fb30: 33 32 33 35 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 32354</td><td>NU
fb40: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
fb50: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
fb60: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
fb70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fb80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
fb90: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
fba0: 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c ="right">4</td><
fbb0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
fbc0: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
fbd0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
fbe0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
fbf0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
fc00: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
fc10: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
fc20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 align="right">30
fc30: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 0.912208</td><td
fc40: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
fc50: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
fc60: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
fc70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fc80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fc90: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
fca0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
fcb0: 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 /td><td>Unreacha
fcc0: 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c ble NodeTo</td><
fcd0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
fce0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
fcf0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
fd00: 67 6e 3d 22 72 69 67 68 74 22 3e 32 39 30 34 35 gn="right">29045
fd10: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
fd20: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fd30: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
fd40: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
fd50: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fd60: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fd70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fd80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fd90: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e >NULL</td><td>Un
fda0: 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f reachable NodeTo
fdb0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
fdc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
fdd0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
fde0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
fdf0: 3e 31 32 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e >124622</td><td>
fe00: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fe10: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fe20: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 td>..</tr>..</ta
fe30: 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 ble>..<br>..The
fe40: 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69 map below graphi
fe50: 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 cally shows the
fe60: 70 72 65 76 69 6f 75 73 20 3c 62 3e 6d 75 6c 74 previous <b>mult
fe70: 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f i-destinations</
fe80: 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 b> queries...<br
fe90: 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d ><br>..<img src=
fea0: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
feb0: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
fec0: 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f ns/routing-figs/
fed0: 72 6f 75 74 69 6e 67 33 2e 6a 70 67 22 20 61 6c routing3.jpg" al
fee0: 74 3d 22 66 69 67 33 22 3e 0d 0a 3c 75 6c 3e 0d t="fig3">..<ul>.
fef0: 0a 3c 6c 69 3e 52 65 64 20 73 74 61 72 3a 20 74 .<li>Red star: t
ff00: 68 65 20 4f 72 69 67 69 6e 20 4e 6f 64 65 2e 3c he Origin Node.<
ff10: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65 65 6e 20 /li>..<li>Green
ff20: 64 6f 74 73 3a 20 74 68 65 20 44 65 73 74 69 6e dots: the Destin
ff30: 61 74 69 6f 6e 20 4e 6f 64 65 73 2e 3c 2f 6c 69 ation Nodes.</li
ff40: 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 6c 69 >..<li>Yellow li
ff50: 6e 65 73 3a 20 61 6c 6c 20 69 6e 64 69 76 69 64 nes: all individ
ff60: 75 61 6c 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 ual travel solut
ff70: 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c ions.</li>..</ul
ff80: 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 >..<br>..<table
ff90: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 bgcolor="#ffb060
ffa0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 " cellspacing="1
ffb0: 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 0" cellpadding="
ffc0: 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 6"><tr><td>..<h3
ffd0: 3e 44 61 6e 67 65 72 6f 75 73 20 70 69 74 66 61 >Dangerous pitfa
ffe0: 6c 6c 73 20 72 65 6c 61 74 65 64 20 74 6f 20 6d lls related to m
fff0: 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74 ultiple destinat
10000 69 6f 6e 20 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a ion lists</h3>..
10010 53 51 4c 20 73 79 6e 74 61 78 20 64 69 72 65 63 SQL syntax direc
10020 74 6c 79 20 61 6c 6c 6f 77 73 20 74 6f 20 73 70 tly allows to sp
10030 65 63 69 66 79 20 6c 69 73 74 73 20 6f 66 20 20 ecify lists of
10040 6d 75 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 2c multiple values,
10050 20 73 6f 20 6d 61 79 20 62 65 20 79 6f 75 20 61 so may be you a
10060 72 65 20 6e 6f 77 20 77 6f 6e 64 65 72 69 6e 67 re now wondering
10070 20 61 62 6f 75 74 20 77 72 69 74 69 6e 67 20 74 about writing t
10080 68 65 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 20 64 he <b>multiple d
10090 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 estinations</b>
100a0 71 75 65 72 79 20 74 65 73 74 65 64 20 69 6e 20 query tested in
100b0 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 the previous exa
100c0 6d 70 6c 65 73 20 74 68 69 73 20 77 61 79 3a 0d mples this way:.
100d0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
100e0 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 ECT Algorithm, R
100f0 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c equest, Options,
10100 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 Delimiter, Rout
10110 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 eId, RouteRow, R
10120 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 ole, LinkRowid,
10130 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f NodeFrom, NodeTo
10140 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 , Cost, Geometry
10150 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 , Name..FROM byf
10160 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 oot..WHERE NodeF
10170 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 rom = 178731 AND
10180 20 4e 6f 64 65 54 6f 20 49 4e 20 28 31 38 33 32 NodeTo IN (1832
10190 38 36 2c 20 32 39 30 34 35 38 2c 20 31 38 31 39 86, 290458, 1819
101a0 39 39 2c 20 31 38 34 30 33 30 2c 20 31 32 34 36 99, 184030, 1246
101b0 32 32 2c 20 31 38 33 38 38 32 2c 20 31 37 38 37 22, 183882, 1787
101c0 35 34 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 54);..</verbatim
101d0 3e 0d 0a 54 68 65 72 65 20 69 73 20 61 20 76 65 >..There is a ve
101e0 72 79 20 67 6f 6f 64 20 72 65 61 73 6f 6e 20 64 ry good reason d
101f0 69 73 63 6f 75 72 61 67 69 6e 67 20 66 72 6f 6d iscouraging from
10200 20 64 6f 69 6e 67 20 73 75 63 68 20 61 20 74 68 doing such a th
10210 69 6e 67 2c 20 6c 65 74 27 73 20 73 65 65 20 77 ing, let's see w
10220 68 79 2e 3c 62 72 3e 0d 0a 3c 62 3e 53 51 4c 69 hy.<br>..<b>SQLi
10230 74 65 3c 2f 62 3e 20 77 69 6c 6c 20 70 72 6f 63 te</b> will proc
10240 65 73 73 20 61 20 72 65 71 75 65 73 74 20 77 72 ess a request wr
10250 69 74 74 65 6e 20 74 68 69 73 20 77 61 79 20 62 itten this way b
10260 79 20 72 65 70 65 61 74 65 64 6c 79 20 63 61 6c y repeatedly cal
10270 6c 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 ling VirtualRout
10280 69 6e 67 20 70 61 73 73 69 6e 67 20 65 61 63 68 ing passing each
10290 20 74 69 6d 65 20 61 20 73 69 6e 67 6c 65 20 44 time a single D
102a0 65 73 74 69 6e 61 74 69 6f 6e 3b 20 61 6e 64 20 estination; and
102b0 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 3c 62 3e consequently <b>
102c0 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f VirtualRouting</
102d0 62 3e 20 77 69 6c 6c 20 6e 65 76 65 72 20 72 65 b> will never re
102e0 63 65 69 76 65 20 74 68 65 20 63 72 69 74 69 63 ceive the critic
102f0 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 al information t
10300 68 61 74 20 61 20 73 69 6e 67 6c 65 20 6d 6f 6e hat a single mon
10310 6f 6c 69 74 68 69 63 20 72 65 71 75 65 73 74 20 olithic request
10320 77 61 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 was intended to
10330 62 65 20 65 78 65 63 75 74 65 64 20 69 6e 20 61 be executed in a
10340 20 73 69 6e 67 6c 65 20 73 68 6f 74 2e 20 53 6f single shot. So
10350 20 74 68 65 20 72 65 71 75 65 73 74 20 63 6f 6e the request con
10360 74 65 78 74 20 77 69 6c 6c 20 62 65 20 65 61 73 text will be eas
10370 69 6c 79 20 6d 69 73 69 6e 74 65 72 70 72 65 74 ily misinterpret
10380 65 64 2c 20 61 6e 64 20 61 6e 79 20 65 78 70 65 ed, and any expe
10390 63 74 65 64 20 73 70 65 65 64 20 62 65 6e 65 66 cted speed benef
103a0 69 74 20 77 69 6c 6c 20 62 65 20 63 6f 6d 70 6c it will be compl
103b0 65 74 65 6c 79 20 66 72 75 73 74 72 61 74 65 64 etely frustrated
103c0 2e 0d 0a 3c 68 33 3e 42 65 77 61 72 65 3c 2f 68 ...<h3>Beware</h
103d0 33 3e 0d 0a 3c 62 3e 4e 65 76 65 72 20 65 76 65 3>..<b>Never eve
103e0 72 3c 2f 62 3e 20 61 74 74 65 6d 70 74 20 74 6f r</b> attempt to
103f0 20 64 65 66 69 6e 65 20 61 20 6c 69 73 74 20 6f define a list o
10400 66 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 f multiple desti
10410 6e 61 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68 nations using th
10420 65 20 73 74 61 6e 64 61 72 64 20 53 51 4c 20 73 e standard SQL s
10430 79 6e 74 61 78 20 3c 62 3e 3c 69 3e 57 48 45 52 yntax <b><i>WHER
10440 45 20 4e 6f 64 65 54 6f 20 49 4e 20 28 2e 2e 2e E NodeTo IN (...
10450 2e 2e 2e 29 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65 ...)</i></b>, be
10460 63 61 75 73 65 20 74 68 69 73 20 77 69 6c 6c 20 cause this will
10470 63 65 72 74 61 69 6e 6c 79 20 63 61 75 73 65 20 certainly cause
10480 6d 61 6e 79 20 75 6e 65 78 70 65 63 74 65 64 20 many unexpected
10490 74 72 6f 75 62 6c 65 73 2e 3c 62 72 3e 0d 0a 42 troubles.<br>..B
104a0 61 64 6c 79 20 66 6f 72 6d 61 74 74 65 64 20 72 adly formatted r
104b0 65 73 75 6c 74 73 65 74 73 20 77 69 6c 6c 20 62 esultsets will b
104c0 65 20 74 68 65 6e 20 72 65 74 75 72 6e 65 64 2c e then returned,
104d0 20 6d 61 79 20 62 65 20 63 6f 6e 74 61 69 6e 69 may be containi
104e0 6e 67 20 77 72 6f 6e 67 20 72 65 73 75 6c 74 73 ng wrong results
104f0 2e 20 3c 62 3e 59 6f 75 20 61 72 65 20 77 61 72 . <b>You are war
10500 6e 65 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e ned</b>.<br><br>
10510 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 ..</td></tr></ta
10520 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 ble>..<br>..<tab
10530 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 le bgcolor="#c0f
10540 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 fc0" cellspacing
10550 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e ="10" cellpaddin
10560 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a g="6"><tr><td>..
10570 3c 68 33 3e 48 6f 77 20 74 6f 20 63 6f 72 72 65 <h3>How to corre
10580 63 74 6c 79 20 66 6f 72 6d 61 74 20 6d 75 6c 74 ctly format mult
10590 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e iple destination
105a0 73 20 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a 56 69 s lists</h3>..Vi
105b0 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 61 6c 77 rtualRouting alw
105c0 61 79 73 20 65 78 70 65 63 74 73 20 74 6f 20 72 ays expects to r
105d0 65 63 65 69 76 65 20 61 20 3c 62 3e 6d 75 6c 74 eceive a <b>mult
105e0 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f i-destinations</
105f0 62 3e 20 6c 69 73 74 20 61 73 20 61 20 3c 62 3e b> list as a <b>
10600 54 45 58 54 3c 2f 62 3e 20 73 74 72 69 6e 67 20 TEXT</b> string
10610 63 6f 6e 74 61 69 6e 69 6e 67 20 74 69 67 68 74 containing tight
10620 6c 79 20 70 61 63 6b 65 64 20 76 61 6c 75 65 73 ly packed values
10630 20 73 65 70 61 72 61 74 65 64 20 62 79 20 61 20 separated by a
10640 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 20 3c 62 3e conventional <b>
10650 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 28 75 delimiter</b> (u
10660 73 75 61 6c 6c 79 20 72 65 70 72 65 73 65 6e 74 sually represent
10670 65 64 20 62 79 20 61 20 3c 62 3e 63 6f 6d 6d 61 ed by a <b>comma
10680 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 45 78 61 6d </b>).<br>..Exam
10690 70 6c 65 73 20 6f 66 20 3c 62 3e 77 65 6c 6c 20 ples of <b>well
106a0 66 6f 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d 75 formatted</b> mu
106b0 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 lti-destinations
106c0 20 6c 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61 74 lists:..<verbat
106d0 69 6d 3e 0d 0a 27 31 2c 32 2c 33 2c 34 2c 35 2c im>..'1,2,3,4,5,
106e0 31 30 2c 31 30 30 2c 31 30 30 30 2c 31 30 30 30 10,100,1000,1000
106f0 30 30 27 20 20 20 2d 2d 20 69 6e 74 65 67 65 72 00' -- integer
10700 20 4e 6f 64 65 20 49 44 73 0d 0a 0d 0a 27 41 31 Node IDs....'A1
10710 30 30 42 2c 41 31 30 30 46 2c 42 32 35 30 5a 2c 00B,A100F,B250Z,
10720 43 30 31 30 4d 2c 5a 39 39 39 41 27 20 20 2d 2d C010M,Z999A' --
10730 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 4e 6f alphanumeric No
10740 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76 65 72 62 de Codes..</verb
10750 61 74 69 6d 3e 0d 0a 45 78 61 6d 70 6c 65 73 20 atim>..Examples
10760 6f 66 20 3c 62 3e 62 61 64 6c 79 20 66 6f 72 6d of <b>badly form
10770 61 74 74 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d atted</b> multi-
10780 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 destinations lis
10790 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d ts:..<verbatim>.
107a0 0a 27 20 20 31 2c 20 32 2c 20 33 2c 20 34 20 2c .' 1, 2, 3, 4 ,
107b0 20 35 20 2c 20 31 30 2c 20 31 30 30 2c 20 31 30 5 , 10, 100, 10
107c0 30 30 2c 20 31 30 30 30 30 30 20 20 27 20 20 20 00, 100000 '
107d0 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20 -- integer Node
107e0 49 44 73 0d 0a 0d 0a 27 20 20 41 31 30 30 42 2c IDs....' A100B,
107f0 20 41 31 30 30 46 20 2c 20 42 32 35 30 5a 20 2c A100F , B250Z ,
10800 20 43 30 31 30 4d 2c 20 5a 39 39 39 41 20 20 27 C010M, Z999A '
10810 20 20 20 20 20 20 2d 2d 20 61 6c 70 68 61 6e 75 -- alphanu
10820 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f 64 65 73 meric Node Codes
10830 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c ..</verbatim>..<
10840 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6c 6c 20 u>Note</u>: all
10850 77 68 69 74 65 73 70 61 63 65 73 20 69 6d 6d 65 whitespaces imme
10860 64 69 61 74 65 6c 79 20 70 72 65 63 65 64 69 6e diately precedin
10870 67 20 6f 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 g or following t
10880 68 65 20 3c 62 3e 64 65 6c 69 6d 69 74 65 72 3c he <b>delimiter<
10890 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 /b> will be cons
108a0 69 64 65 72 65 64 20 74 6f 20 62 65 20 69 6e 74 idered to be int
108b0 65 67 72 61 6c 20 70 61 72 74 20 6f 66 20 74 68 egral part of th
108c0 65 20 76 61 6c 75 65 20 69 74 73 65 6c 66 2e 3c e value itself.<
108d0 62 72 3e 0d 0a 54 68 69 73 20 77 69 6c 6c 20 68 br>..This will h
108e0 61 76 65 20 6e 6f 20 61 64 76 65 72 73 65 20 63 ave no adverse c
108f0 6f 6e 73 65 71 75 65 6e 63 65 73 20 69 6e 20 74 onsequences in t
10900 68 65 20 63 61 73 65 20 6f 66 20 69 6e 74 65 67 he case of integ
10910 65 72 20 76 61 6c 75 65 73 2c 20 62 75 74 20 63 er values, but c
10920 61 6e 20 65 61 73 69 6c 79 20 68 61 76 65 20 63 an easily have c
10930 61 74 61 73 74 72 6f 70 68 69 63 20 65 66 66 65 atastrophic effe
10940 63 74 73 20 6f 6e 20 61 6c 70 68 61 6e 75 6d 65 cts on alphanume
10950 72 69 63 20 76 61 6c 75 65 73 2e 0d 0a 3c 68 33 ric values...<h3
10960 3e 44 65 66 69 6e 69 6e 67 20 61 20 63 75 73 74 >Defining a cust
10970 6f 6d 20 64 65 6c 69 6d 69 74 65 72 3c 2f 68 33 om delimiter</h3
10980 3e 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20 >..Sometimes it
10990 63 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c 20 could be useful
109a0 73 65 74 74 69 6e 67 20 75 70 20 61 20 64 65 6c setting up a del
109b0 69 6d 69 74 65 72 20 64 69 66 66 65 72 65 6e 74 imiter different
109c0 20 66 72 6f 6d 20 3c 62 3e 63 6f 6d 6d 61 3c 2f from <b>comma</
109d0 62 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d b>...<verbatim>.
109e0 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 .UPDATE byfoot S
109f0 45 54 20 44 65 6c 69 6d 69 74 65 72 20 3d 20 27 ET Delimiter = '
10a00 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 44 65 *';....SELECT De
10a10 6c 69 6d 69 74 65 72 20 46 52 4f 4d 20 62 79 66 limiter FROM byf
10a20 6f 6f 74 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d oot;..----------
10a30 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65 63 --------..* [dec
10a40 3d 34 32 2c 20 68 65 78 3d 32 61 5d 0d 0a 3c 2f =42, hex=2a]..</
10a50 76 65 72 62 61 74 69 6d 3e 20 0d 0a 59 6f 75 20 verbatim> ..You
10a60 73 69 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 65 simply have to e
10a70 78 65 63 75 74 65 20 61 6e 20 3c 62 3e 55 50 44 xecute an <b>UPD
10a80 41 54 45 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e ATE</b> statemen
10a90 74 20 62 79 20 73 70 65 63 69 66 79 69 6e 67 20 t by specifying
10aa0 74 68 65 20 6e 65 77 20 64 65 6c 69 6d 69 74 65 the new delimite
10ab0 72 20 76 61 6c 75 65 2e 3c 62 72 3e 3c 62 72 3e r value.<br><br>
10ac0 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 ..</td></tr></ta
10ad0 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a ble>..<br><br>..
10ae0 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 <hr><br>..<h1><a
10af0 20 6e 61 6d 65 3d 22 69 73 6f 63 68 72 6f 6e 65 name="isochrone
10b00 22 3e 36 20 2d 20 53 6f 6c 76 69 6e 67 20 49 73 ">6 - Solving Is
10b10 6f 63 68 72 6f 6e 65 20 70 72 6f 62 6c 65 6d 73 ochrone problems
10b20 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 3c 61 20 68 72 </a></h1>..<a hr
10b30 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 ef="https://en.w
10b40 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b ikipedia.org/wik
10b50 69 2f 49 73 6f 63 68 72 6f 6e 65 5f 6d 61 70 22 i/Isochrone_map"
10b60 3e 49 73 6f 63 68 72 6f 6e 65 73 3c 2f 61 3e 20 >Isochrones</a>
10b70 61 72 65 20 61 72 65 61 73 20 28 6f 72 20 63 75 are areas (or cu
10b80 72 76 65 73 29 20 63 6f 6e 6e 65 63 74 69 6e 67 rves) connecting
10b90 20 70 6f 69 6e 74 73 20 61 74 20 77 68 69 63 68 points at which
10ba0 20 73 6f 6d 65 74 68 69 6e 67 20 6f 63 63 75 72 something occur
10bb0 73 20 6f 72 20 61 72 72 69 76 65 73 20 61 74 20 s or arrives at
10bc0 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 62 the same time.<b
10bd0 72 3e 0d 0a 49 73 6f 63 68 72 6f 6e 65 73 20 61 r>..Isochrones a
10be0 72 65 20 75 73 75 61 6c 6c 79 20 72 65 6c 61 74 re usually relat
10bf0 65 64 20 74 6f 20 4e 65 74 77 6f 72 6b 20 41 6e ed to Network An
10c00 61 6c 79 73 69 73 20 61 6e 64 20 52 6f 75 74 69 alysis and Routi
10c10 6e 67 20 62 65 63 61 75 73 65 20 74 68 65 79 20 ng because they
10c20 61 6c 6c 6f 77 20 74 6f 20 65 61 73 69 6c 79 20 allow to easily
10c30 69 64 65 6e 74 69 66 79 20 77 68 69 63 68 20 73 identify which s
10c40 70 65 63 69 66 69 63 20 70 6f 72 74 69 6f 6e 20 pecific portion
10c50 6f 66 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 63 of the Network c
10c60 61 6e 20 62 65 20 72 65 61 63 68 65 64 20 73 74 an be reached st
10c70 61 72 74 69 6e 67 20 62 79 20 73 6f 6d 65 20 3c arting by some <
10c80 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 b>origin Node</b
10c90 3e 20 73 70 65 6e 64 69 6e 67 20 6e 6f 20 6d 6f > spending no mo
10ca0 72 65 20 74 68 61 6e 20 61 20 67 69 76 65 6e 20 re than a given
10cb0 3c 62 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 62 72 3e <b>Cost</b>.<br>
10cc0 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 68 61 76 <br>..As you hav
10cd0 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 61 e already seen a
10ce0 62 6f 75 74 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 bout <b>multi-de
10cf0 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 stination</b> qu
10d00 65 72 69 65 73 2c 20 74 68 65 20 44 69 6a 6b 73 eries, the Dijks
10d10 74 72 61 27 73 20 41 6c 67 6f 72 69 74 68 6d 20 tra's Algorithm
10d20 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72 65 73 robustly ensures
10d30 20 74 68 61 74 20 77 68 65 6e 20 61 20 64 65 73 that when a des
10d40 74 69 6e 61 74 69 6f 6e 20 69 73 20 72 65 61 63 tination is reac
10d50 68 65 64 20 61 6c 6c 20 74 68 65 20 64 65 73 74 hed all the dest
10d60 69 6e 61 74 69 6f 6e 73 20 70 72 65 73 65 6e 74 inations present
10d70 69 6e 67 20 61 20 3c 62 3e 6c 65 73 73 65 72 20 ing a <b>lesser
10d80 63 6f 73 74 3c 2f 62 3e 20 68 61 76 65 20 61 6c cost</b> have al
10d90 72 65 61 64 79 20 62 65 65 6e 20 72 65 61 63 68 ready been reach
10da0 65 64 20 69 6e 20 73 6f 6d 65 20 70 72 65 76 69 ed in some previ
10db0 6f 75 73 20 73 74 65 70 20 6f 66 20 74 68 65 20 ous step of the
10dc0 70 72 6f 63 65 73 73 2e 3c 62 72 3e 0d 0a 54 68 process.<br>..Th
10dd0 69 73 20 61 6c 6c 6f 77 73 20 74 6f 20 65 66 66 is allows to eff
10de0 69 63 69 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 iciently support
10df0 20 3c 62 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 62 <b>Isochrone</b
10e00 3e 20 71 75 65 72 69 65 73 2e 0d 0a 59 6f 75 20 > queries...You
10e10 73 69 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 73 simply have to s
10e20 70 65 63 69 66 79 20 61 20 3c 62 3e 73 69 6e 67 pecify a <b>sing
10e30 6c 65 20 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f le origin Node</
10e40 62 3e 20 61 6e 64 20 61 20 3c 62 3e 43 6f 73 74 b> and a <b>Cost
10e50 20 74 68 72 65 73 68 6f 6c 64 3c 2f 62 3e 2e 3c threshold</b>.<
10e60 62 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 br><br>..<u>Note
10e70 3c 2f 75 3e 3a 20 65 78 65 63 75 74 69 6e 67 20 </u>: executing
10e80 61 6e 20 49 73 6f 63 68 72 6f 6e 65 20 71 75 65 an Isochrone que
10e90 72 79 20 72 65 71 75 69 72 65 73 20 61 20 3c 62 ry requires a <b
10ea0 3e 70 72 6f 63 65 73 73 69 6e 67 20 74 69 6d 65 >processing time
10eb0 3c 2f 62 3e 20 74 68 61 74 20 69 73 6e 27 74 20 </b> that isn't
10ec0 74 68 65 20 3c 75 3e 73 75 6d 20 6f 66 20 61 6c the <u>sum of al
10ed0 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 74 69 6d l individual tim
10ee0 69 6e 67 73 20 66 6f 72 20 65 61 63 68 20 64 65 ings for each de
10ef0 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c 20 62 stination</u>, b
10f00 75 74 20 73 69 6d 70 6c 79 20 69 73 20 74 68 65 ut simply is the
10f10 20 3c 75 3e 74 69 6d 65 20 72 65 71 75 69 72 65 <u>time require
10f20 64 20 74 6f 20 72 65 61 63 68 20 74 68 65 20 6d d to reach the m
10f30 6f 73 74 20 63 6f 73 74 6c 79 20 64 65 73 74 69 ost costly desti
10f40 6e 61 74 69 6f 6e 3c 2f 75 3e 2e 3c 62 72 3e 0d nation</u>.<br>.
10f50 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
10f60 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 ECT Algorithm, R
10f70 65 71 75 65 73 74 2c 20 52 6f 6c 65 2c 20 4e 6f equest, Role, No
10f80 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 deFrom, NodeTo,
10f90 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 0d 0a Cost, Geometry..
10fa0 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 FROM byfoot..WHE
10fb0 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 RE NodeFrom = 18
10fc0 31 39 39 39 20 41 4e 44 20 43 6f 73 74 20 3c 3d 1999 AND Cost <=
10fd0 20 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62 1000.0;..</verb
10fe0 61 74 69 6d 3e 0d 0a 41 6e 20 3c 62 3e 49 73 6f atim>..An <b>Iso
10ff0 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79 chrone</b> query
11000 20 61 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 as supported by
11010 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 <b>VirtualRouti
11020 6e 67 3c 2f 62 3e 20 6a 75 73 74 20 72 65 71 75 ng</b> just requ
11030 69 72 65 73 20 74 6f 20 73 70 65 63 69 66 79 3a ires to specify:
11040 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4e ..<ul>..<li><b>N
11050 6f 64 65 46 72 6f 6d 3c 2f 62 3e 3a 20 74 68 65 odeFrom</b>: the
11060 20 3c 62 3e 3c 69 3e 49 44 3c 2f 69 3e 3c 2f 62 <b><i>ID</i></b
11070 3e 20 6f 72 20 3c 62 3e 3c 69 3e 43 6f 64 65 3c > or <b><i>Code<
11080 2f 69 3e 3c 2f 62 3e 20 75 6e 69 71 75 65 6c 79 /i></b> uniquely
11090 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 identifying the
110a0 20 3c 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65 3c <b>origin Node<
110b0 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c /b>.</li>..<li><
110c0 62 3e 43 6f 73 74 3c 2f 62 3e 3a 20 74 68 65 20 b>Cost</b>: the
110d0 6d 61 78 69 6d 75 6d 20 3c 62 3e 43 6f 73 74 20 maximum <b>Cost
110e0 74 68 72 65 73 68 6f 6c 64 3c 2f 62 3e 20 6e 6f threshold</b> no
110f0 74 20 74 6f 20 62 65 20 65 78 63 65 65 64 65 64 t to be exceeded
11100 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f .<br>..<u>Note</
11110 75 3e 3a 20 61 6e 79 20 76 61 6c 69 64 20 49 73 u>: any valid Is
11120 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 20 3c 62 ochrone query <b
11130 3e 6d 75 73 74 3c 2f 62 3e 20 6e 65 63 65 73 73 >must</b> necess
11140 61 72 69 6c 79 20 73 70 65 63 69 66 79 20 61 20 arily specify a
11150 3c 62 3e 3c 3d 3c 2f 62 3e 20 28 3c 75 3e 3c 69 <b><=</b> (<u><i
11160 3e 6c 65 73 73 65 72 20 74 68 61 6e 20 6f 72 20 >lesser than or
11170 65 71 75 61 6c 20 74 6f 3c 2f 69 3e 3c 2f 75 3e equal to</i></u>
11180 29 20 63 6f 6d 70 61 72 69 73 6f 6e 20 6f 70 65 ) comparison ope
11190 72 61 74 6f 72 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 rator.</li>..</u
111a0 6c 3e 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 66 6f l>..<br>..The fo
111b0 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 llowing table sh
111c0 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 ows the resultse
111d0 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 t returned by th
111e0 65 20 61 62 6f 76 65 20 49 73 6f 63 68 72 6f 6e e above Isochron
111f0 65 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 e query...<br><b
11200 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 r>..<table borde
11210 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 r="1" bgcolor="#
11220 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 ffffcf" cellspac
11230 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 ing="4" cellpadd
11240 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 ing="6">..<tr><t
11250 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
11260 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 a0">Algorithm</t
11270 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
11280 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c d0d0a0">Request<
11290 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
112a0 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f "#d0d0a0">Role</
112b0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
112c0 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f #d0d0a0">NodeFro
112d0 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f m</th><th bgcolo
112e0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
112f0 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c To</th><th bgcol
11300 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 or="#d0d0a0">Cos
11310 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
11320 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d r="#d0d0a0">Geom
11330 65 74 72 79 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a etry</th></tr>..
11340 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e <tr>..<tr>..<td>
11350 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 Dijkstra</td><td
11360 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 74 64 3e 3c >Isochrone</td><
11370 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e td>Solution</td>
11380 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
11390 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 ">181999</td><td
113a0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
113b0 37 38 37 31 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 78717</td><td al
113c0 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 37 32 2e ign="right">572.
113d0 34 35 35 31 34 33 3c 2f 74 64 3e 3c 74 64 3e 42 455143</td><td>B
113e0 4c 4f 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45 54 LOB sz=60 GEOMET
113f0 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a RY</td>..</tr>..
11400 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
11410 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
11420 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 74 64 20 <td>Solution<td
11430 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
11440 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1999</td><td ali
11450 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 31 gn="right">17871
11460 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 8</td><td align=
11470 22 72 69 67 68 74 22 3e 35 38 37 2e 33 30 33 37 "right">587.3037
11480 37 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 79</td><td>BLOB
11490 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f sz=60 GEOMETRY</
114a0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
114b0 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e ..<td align="cen
114c0 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d 22 37 22 ter" colspan="7"
114d0 3e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 3c 2f >.............</
114e0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
114f0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
11500 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
11510 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 53 6f align="right">So
11520 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 lution</td><td a
11530 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 lign="right">181
11540 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 999</td><td alig
11550 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 35 n="right">184035
11560 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
11570 72 69 67 68 74 22 3e 35 37 39 2e 37 38 36 37 32 right">579.78672
11580 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 4</td><td>BLOB s
11590 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 z=60 GEOMETRY</t
115a0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
115b0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
115c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 d>NULL</td><td>S
115d0 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 olution</td><td
115e0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
115f0 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1999</td><td ali
11600 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 gn="right">18403
11610 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
11620 22 72 69 67 68 74 22 3e 36 34 32 2e 36 39 31 35 "right">642.6915
11630 39 37 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 97</td><td>BLOB
11640 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f sz=60 GEOMETRY</
11650 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 td>..</tr>..</ta
11660 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 ble>..<br>..Let'
11670 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e s quickly examin
11680 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 e the resultset
11690 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 returned by the
116a0 61 62 6f 76 65 20 3c 62 3e 69 73 6f 63 68 72 6f above <b>isochro
116b0 6e 65 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a 3c ne</b> query...<
116c0 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e ul>..<li>the <b>
116d0 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 first row</b> of
116e0 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 69 the resultset i
116f0 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65 70 74 s someway except
11700 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74 68 ional, and is th
11710 65 20 75 6e 69 71 75 65 20 72 6f 77 20 6f 66 20 e unique row of
11720 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 70 72 the resultset pr
11730 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 esenting <b>NOT
11740 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 NULL</b> values
11750 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 in the <b>Algori
11760 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 thm</b>, <b>Requ
11770 65 73 74 3c 2f 62 3e 2c 20 3c 2f 62 3e 4f 70 74 est</b>, </b>Opt
11780 69 6f 6e 73 3c 2f 62 3e 20 28 61 6e 64 20 3c 2f ions</b> (and </
11790 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 29 b>Delimiter</b>)
117a0 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a columns.</li>..
117b0 3c 6c 69 3e 61 6c 6c 20 72 6f 77 73 20 28 69 6e <li>all rows (in
117c0 63 6c 75 64 69 6e 67 20 74 68 65 20 66 69 72 73 cluding the firs
117d0 74 20 6f 6e 65 29 20 68 61 76 65 20 3c 62 3e 52 t one) have <b>R
117e0 6f 6c 65 20 3d 20 53 6f 6c 75 74 69 6f 6e 3c 2f ole = Solution</
117f0 62 3e 2c 20 61 6e 64 20 72 65 70 72 65 73 65 6e b>, and represen
11800 74 20 61 20 73 69 6e 67 6c 65 20 63 6f 6e 6e 65 t a single conne
11810 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 3c 62 ction between <b
11820 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e >NodeFrom</b> an
11830 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2c d <b>NodeTo</b>,
11840 20 77 69 74 68 20 74 68 65 20 63 6f 72 72 65 73 with the corres
11850 70 6f 6e 64 69 6e 67 20 3c 62 3e 43 6f 73 74 3c ponding <b>Cost<
11860 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 /b>.</li>..<li>t
11870 68 65 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f he <b>Geometry</
11880 62 3e 20 63 6f 6c 75 6d 6e 20 61 6c 77 61 79 73 b> column always
11890 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 corresponds to
118a0 74 68 65 20 3c 62 3e 32 44 20 50 6f 69 6e 74 3c the <b>2D Point<
118b0 2f 62 3e 20 77 68 65 72 65 20 3c 62 3e 4e 6f 64 /b> where <b>Nod
118c0 65 54 6f 3c 2f 62 3e 20 69 73 20 6c 6f 63 61 74 eTo</b> is locat
118d0 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d ed.</li>..</ul>.
118e0 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f .<br>..<u>Note</
118f0 75 3e 3a 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 u>: <b>isochrone
11900 3c 2f 62 3e 20 71 75 65 72 69 65 73 20 61 72 65 </b> queries are
11910 20 6e 6f 74 20 61 66 66 65 63 74 65 64 20 62 79 not affected by
11920 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 20 6f 70 configurable op
11930 74 69 6f 6e 73 2e 0d 0a 3c 62 3e 41 6c 67 6f 72 tions...<b>Algor
11940 69 74 68 6d 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 ithm</b> will be
11950 20 61 6c 77 61 79 73 20 61 73 73 75 6d 65 64 20 always assumed
11960 74 6f 20 62 65 20 3c 62 3e 44 69 6a 73 6b 74 72 to be <b>Dijsktr
11970 61 3c 2f 62 3e 2c 20 61 6e 64 20 74 68 65 20 63 a</b>, and the c
11980 75 72 72 65 6e 74 20 3c 62 3e 4f 70 74 69 6f 6e urrent <b>Option
11990 73 3c 2f 62 3e 20 73 65 74 74 69 6e 67 73 20 77 s</b> settings w
119a0 69 6c 6c 20 62 65 20 73 69 6d 70 6c 79 20 69 67 ill be simply ig
119b0 6e 6f 72 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69 nored...<verbati
119c0 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 43 6f m>..SELECT ST_Co
119d0 6e 63 61 76 65 48 75 6c 6c 28 53 54 5f 43 6f 6c ncaveHull(ST_Col
119e0 6c 65 63 74 28 47 65 6f 6d 65 74 72 79 29 29 0d lect(Geometry)).
119f0 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 .FROM byfoot..WH
11a00 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 ERE NodeFrom = 1
11a10 38 31 39 39 39 20 41 4e 44 20 43 6f 73 74 20 3c 81999 AND Cost <
11a20 3d 20 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72 = 1000.0;..</ver
11a30 62 61 74 69 6d 3e 0d 0a 41 6e 79 20 69 73 6f 63 batim>..Any isoc
11a40 68 72 6f 6e 65 20 71 75 65 72 79 20 77 69 6c 6c hrone query will
11a50 20 6a 75 73 74 20 72 65 74 75 72 6e 20 61 20 50 just return a P
11a60 6f 69 6e 74 2d 73 65 74 3b 20 69 66 20 79 6f 75 oint-set; if you
11a70 20 65 76 65 6e 74 75 61 6c 6c 79 20 77 69 73 68 eventually wish
11a80 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 63 to obtain the c
11a90 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 61 72 65 orresponding are
11aa0 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f al representatio
11ab0 6e 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 n you just have
11ac0 74 6f 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 43 6f to call <b>ST_Co
11ad0 6c 6c 65 63 74 28 29 3c 2f 62 3e 20 69 6e 20 6f llect()</b> in o
11ae0 72 64 65 72 20 74 6f 20 67 65 74 20 61 20 6d 6f rder to get a mo
11af0 6e 6f 6c 69 74 68 69 63 20 4d 75 6c 74 69 50 6f nolithic MultiPo
11b00 69 6e 74 2c 20 74 68 65 6e 20 63 61 6c 6c 69 6e int, then callin
11b10 67 20 3c 62 3e 53 54 5f 43 6f 6e 63 61 76 65 48 g <b>ST_ConcaveH
11b20 75 6c 6c 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 ull()</b> in ord
11b30 65 72 20 74 6f 20 67 65 74 20 61 20 50 6f 6c 79 er to get a Poly
11b40 67 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 gon...<br><br><b
11b50 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f r>..The map belo
11b60 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 w graphically sh
11b70 6f 77 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 ows the previous
11b80 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 <b>isochrone</b
11b90 3e 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 > query...<br><b
11ba0 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 r>..<img src="ht
11bb0 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 tps://www.gaia-g
11bc0 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f is.it/gaia-sins/
11bd0 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 69 73 6f routing-figs/iso
11be0 63 68 72 6f 6e 65 2e 6a 70 67 22 20 61 6c 74 3d chrone.jpg" alt=
11bf0 22 69 73 6f 63 68 72 6f 6e 65 22 3e 0d 0a 3c 75 "isochrone">..<u
11c00 6c 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 73 l>..<li>Yellow s
11c10 74 61 72 3a 20 74 68 65 20 4f 72 69 67 69 6e 20 tar: the Origin
11c20 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e Node.</li>..<li>
11c30 42 6c 75 65 20 64 6f 74 73 3a 20 61 6c 6c 20 44 Blue dots: all D
11c40 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 estination Nodes
11c50 20 77 69 74 68 69 6e 20 74 68 65 20 67 69 76 65 within the give
11c60 6e 20 43 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c n Cost.</li>..<l
11c70 69 3e 57 68 69 74 65 20 6c 69 6e 65 3a 20 74 68 i>White line: th
11c80 65 20 62 6f 75 6e 64 61 72 79 20 6f 66 20 74 68 e boundary of th
11c90 65 20 49 73 6f 63 68 72 6f 6e 65 2e 20 0d 0a 3c e Isochrone. ..<
11ca0 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 br><br>..<table
11cb0 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 bgcolor="#c0ffc0
11cc0 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 " cellspacing="1
11cd0 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 0" cellpadding="
11ce0 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 72 6"><tr><td>..<br
11cf0 3e 3c 62 72 3e 0d 0a 3c 75 3e 3c 62 3e 4e 6f 74 ><br>..<u><b>Not
11d00 65 3c 2f 62 3e 3c 2f 75 3e 3a 20 69 74 20 74 68 e</b></u>: it th
11d10 69 73 20 65 78 61 6d 70 6c 65 20 79 6f 75 27 76 is example you'v
11d20 65 20 75 73 65 64 20 74 68 65 20 3c 62 3e 62 79 e used the <b>by
11d30 66 6f 6f 74 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b foot</b> Network
11d40 2c 20 74 68 61 74 20 69 73 20 62 61 73 65 64 20 , that is based
11d50 6f 6e 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 on <b>Costs</b>
11d60 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e expressed in <b>
11d70 6d 65 74 65 72 73 3c 2f 62 3e 20 28 67 65 6f 6d meters</b> (geom
11d80 65 74 72 69 63 20 6c 65 6e 67 74 68 20 6f 66 20 etric length of
11d90 65 61 63 68 20 4c 69 6e 6b 29 2e 3c 62 72 3e 0d each Link).<br>.
11da0 0a 54 68 69 73 20 4e 65 74 77 6f 72 6b 20 69 73 .This Network is
11db0 20 6d 61 69 6e 6c 79 20 69 6e 74 65 6e 64 65 64 mainly intended
11dc0 20 66 6f 72 20 3c 62 3e 70 65 64 65 73 74 72 69 for <b>pedestri
11dd0 61 6e 73 3c 2f 62 3e 2c 20 73 6f 20 77 65 20 63 ans</b>, so we c
11de0 61 6e 20 73 61 66 65 6c 79 20 61 73 73 75 6d 65 an safely assume
11df0 20 61 20 3c 75 3e 3c 69 3e 63 6f 6e 73 74 61 6e a <u><i>constan
11e00 74 20 73 70 65 65 64 3c 2f 69 3e 3c 2f 75 3e 20 t speed</i></u>
11e10 6f 66 20 61 62 6f 75 74 20 3c 62 3e 34 3c 2f 62 of about <b>4</b
11e20 3e 20 74 6f 20 3c 62 3e 36 20 6b 6d 2f 68 3c 2f > to <b>6 km/h</
11e30 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 b>, and conseque
11e40 6e 74 6c 79 20 74 68 65 20 3c 62 3e 49 73 6f 63 ntly the <b>Isoc
11e50 68 72 6f 6e 65 3c 2f 62 3e 20 65 66 66 65 63 74 hrone</b> effect
11e60 69 76 65 6c 79 20 72 65 73 70 65 63 74 73 20 74 ively respects t
11e70 68 65 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 74 69 he <u><i>same ti
11e80 6d 65 3c 2f 69 3e 3c 2f 75 3e 20 72 65 71 75 69 me</i></u> requi
11e90 73 69 74 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53 site.<br><br>..S
11ea0 70 65 61 6b 69 6e 67 20 69 6e 20 6d 6f 72 65 20 peaking in more
11eb0 67 65 6e 65 72 61 6c 20 74 65 72 6d 73 2c 20 61 general terms, a
11ec0 6e 20 49 73 6f 63 68 72 6f 6e 65 20 63 61 6e 20 n Isochrone can
11ed0 62 65 20 69 6e 74 65 6e 64 65 64 20 61 73 20 61 be intended as a
11ee0 20 67 65 6e 65 72 69 63 20 73 79 6e 6f 6e 79 6d generic synonym
11ef0 20 66 6f 72 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 for <u><i>same
11f00 43 6f 73 74 3c 2f 69 3e 3c 2f 75 3e 2c 20 65 76 Cost</i></u>, ev
11f10 65 6e 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 en when there is
11f20 20 6e 6f 20 6f 62 76 69 6f 75 73 20 63 6f 6e 6e no obvious conn
11f30 65 63 74 69 6f 6e 20 77 69 74 68 20 3c 62 3e 54 ection with <b>T
11f40 69 6d 65 2e 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 ime.</b>.<br><br
11f50 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 >..</td></tr></t
11f60 61 62 6c 65 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d able>..<hr><br>.
11f70 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 74 73 .<h1><a name="ts
11f80 70 22 3e 37 20 2d 20 53 6f 6c 76 69 6e 67 20 54 p">7 - Solving T
11f90 53 50 20 28 74 72 61 76 65 6c 69 6e 67 20 73 61 SP (traveling sa
11fa0 6c 65 73 6d 61 6e 29 20 70 72 6f 62 6c 65 6d 73 lesman) problems
11fb0 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 3c 62 3e 54 53 </a></h1>..<b>TS
11fc0 50 3c 2f 62 3e 20 28 3c 61 20 68 72 65 66 3d 22 P</b> (<a href="
11fd0 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 https://en.wikip
11fe0 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 72 edia.org/wiki/Tr
11ff0 61 76 65 6c 6c 69 6e 67 5f 73 61 6c 65 73 6d 61 avelling_salesma
12000 6e 5f 70 72 6f 62 6c 65 6d 22 3e 54 72 61 76 65 n_problem">Trave
12010 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50 72 ling Salesman Pr
12020 6f 62 6c 65 6d 3c 2f 61 3e 29 20 69 73 20 61 20 oblem</a>) is a
12030 77 65 6c 6c 20 6b 6e 6f 77 6e 20 4f 70 65 72 61 well known Opera
12040 74 69 6f 6e 73 20 52 65 73 65 61 72 63 68 20 70 tions Research p
12050 72 6f 62 6c 65 6d 2e 0d 0a 3c 62 72 3e 3c 62 72 roblem...<br><br
12060 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f >..<table bgcolo
12070 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c r="#c0ffc0" cell
12080 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c spacing="10" cel
12090 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 lpadding="6"><tr
120a0 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 54 68 65 20 54 ><td>..<h3>The T
120b0 72 61 76 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61 raveling Salesma
120c0 6e 20 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a n Problem</h3>..
120d0 3c 62 3e 3c 69 3e 47 69 76 65 6e 20 61 20 6c 69 <b><i>Given a li
120e0 73 74 20 6f 66 20 63 69 74 69 65 73 20 61 6e 64 st of cities and
120f0 20 74 68 65 20 64 69 73 74 61 6e 63 65 73 20 62 the distances b
12100 65 74 77 65 65 6e 20 65 61 63 68 20 70 61 69 72 etween each pair
12110 20 6f 66 20 63 69 74 69 65 73 2c 20 77 68 61 74 of cities, what
12120 20 69 73 20 74 68 65 20 73 68 6f 72 74 65 73 74 is the shortest
12130 20 70 6f 73 73 69 62 6c 65 20 72 6f 75 74 65 20 possible route
12140 74 68 61 74 20 76 69 73 69 74 73 20 65 61 63 68 that visits each
12150 20 63 69 74 79 20 61 6e 64 20 72 65 74 75 72 6e city and return
12160 73 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 20 s to the origin
12170 63 69 74 79 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d 0a city ?</i></b>..
12180 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c <br><br>..</td><
12190 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 /tr></table>..<b
121a0 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3a 3c 2f 75 3e r>..<u>Note:</u>
121b0 20 74 68 65 20 74 65 72 6d 73 20 3c 69 3e 3c 75 the terms <i><u
121c0 3e 73 61 6c 65 73 6d 61 6e 3c 2f 75 3e 3c 2f 69 >salesman</u></i
121d0 3e 20 61 6e 64 20 3c 69 3e 3c 75 3e 63 69 74 79 > and <i><u>city
121e0 3c 2f 75 3e 3c 2f 69 3e 20 61 72 65 20 75 6e 69 </u></i> are uni
121f0 76 65 72 73 61 6c 6c 79 20 75 73 65 64 20 66 6f versally used fo
12200 72 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 r historical rea
12210 73 6f 6e 73 2c 20 62 75 74 20 79 6f 75 20 73 68 sons, but you sh
12220 6f 75 6c 64 20 61 76 6f 69 64 20 74 6f 20 6c 69 ould avoid to li
12230 74 65 72 61 6c 6c 79 20 69 6e 74 65 6e 64 20 62 terally intend b
12240 6f 74 68 20 74 68 65 6d 2e 3c 62 72 3e 0d 0a 54 oth them.<br>..T
12250 68 65 20 74 65 72 6d 20 3c 75 3e 3c 69 3e 73 61 he term <u><i>sa
12260 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 69 lesman</i></u> i
12270 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20 n this specific
12280 63 6f 6e 74 65 78 74 20 69 6e 74 65 6e 64 73 20 context intends
12290 61 6e 79 20 70 6f 73 73 69 62 6c 65 20 6b 69 6e any possible kin
122a0 64 20 6f 66 20 3c 75 3e 3c 69 3e 6d 6f 76 69 6e d of <u><i>movin
122b0 67 20 61 67 65 6e 74 3c 2f 69 3e 3c 2f 75 3e 20 g agent</i></u>
122c0 28 70 65 64 65 73 74 72 69 61 6e 2c 20 76 65 68 (pedestrian, veh
122d0 69 63 6c 65 2c 20 70 61 73 73 65 6e 67 65 72 20 icle, passenger
122e0 6f 72 20 77 68 61 74 65 76 65 72 20 65 6c 73 65 or whatever else
122f0 29 2c 20 65 78 61 63 74 6c 79 20 61 73 20 3c 69 ), exactly as <i
12300 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e ><u>city</u></i>
12310 20 73 69 6d 70 6c 79 20 73 74 61 6e 64 73 20 66 simply stands f
12320 6f 72 20 61 6e 79 20 3c 69 3e 3c 75 3e 67 65 6e or any <i><u>gen
12330 65 72 69 63 20 64 65 73 74 69 6e 61 74 69 6f 6e eric destination
12340 3c 2f 75 3e 3c 2f 69 3e 20 6f 6e 20 61 20 67 69 </u></i> on a gi
12350 76 65 6e 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 62 ven Network...<b
12360 72 3e 3c 62 72 3e 0d 0a 57 65 20 63 61 6e 20 63 r><br>..We can c
12370 6f 6e 63 65 70 74 75 61 6c 79 20 73 70 6c 69 74 onceptualy split
12380 20 54 50 53 20 69 6e 20 74 77 6f 20 68 61 6c 76 TPS in two halv
12390 65 73 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 63 es:..<ol>..<li>c
123a0 6f 6d 70 75 74 69 6e 67 20 61 6c 6c 20 64 69 73 omputing all dis
123b0 74 61 6e 63 65 73 20 62 65 74 77 65 65 6e 20 70 tances between p
123c0 61 69 72 73 20 6f 66 20 3c 69 3e 63 69 74 69 65 airs of <i>citie
123d0 73 3c 2f 69 3e 2e 20 54 68 69 73 20 69 73 20 61 s</i>. This is a
123e0 20 74 79 70 69 63 61 6c 20 3c 62 3e 53 68 6f 72 typical <b>Shor
123f0 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 70 72 6f testPath</b> pro
12400 62 6c 65 6d 2c 20 61 6e 64 20 77 65 20 63 61 6e blem, and we can
12410 20 64 75 6c 79 20 75 73 65 20 74 68 65 20 44 69 duly use the Di
12420 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 69 74 jkstra's algorit
12430 68 6d 20 66 6f 72 20 74 68 69 73 2e 3c 2f 6c 69 hm for this.</li
12440 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 77 65 20 68 >..<li>then we h
12450 61 76 65 20 74 6f 20 63 68 65 63 6b 20 61 6c 6c ave to check all
12460 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 70 65 72 possible <b>per
12470 6d 75 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 2f 20 mutations</b> /
12480 3c 62 3e 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 3c <b>combinations<
12490 2f 62 3e 20 73 6f 20 74 6f 20 69 64 65 6e 74 69 /b> so to identi
124a0 66 79 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 54 fy the optimal T
124b0 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 SP solution.</li
124c0 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 55 6e 68 61 70 70 >..</ol>..Unhapp
124d0 69 6c 79 20 74 68 65 72 65 20 69 73 20 61 20 70 ily there is a p
124e0 72 61 63 74 69 63 61 6c 20 64 69 66 66 69 63 75 ractical difficu
124f0 6c 74 79 20 69 6e 20 73 75 63 68 20 61 20 73 74 lty in such a st
12500 72 61 69 67 68 74 20 61 70 70 72 6f 61 63 68 3b raight approach;
12510 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 the number of c
12520 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 77 69 6c 6c ombinations will
12530 20 67 72 6f 77 20 65 78 74 72 65 6d 65 6c 79 20 grow extremely
12540 66 61 73 74 20 61 73 20 74 68 65 20 6e 75 6d 62 fast as the numb
12550 65 72 20 6f 66 20 3c 62 3e 3c 69 3e 63 69 74 69 er of <b><i>citi
12560 65 73 3c 2f 69 3e 3c 2f 62 3e 20 69 6e 63 72 65 es</i></b> incre
12570 61 73 65 73 2e 3c 62 72 3e 0d 0a 53 69 6d 70 6c ases.<br>..Simpl
12580 79 20 63 6f 6d 70 75 74 69 6e 67 20 74 68 65 20 y computing the
12590 63 6f 6d 70 6c 65 74 65 20 54 53 50 20 73 6f 6c complete TSP sol
125a0 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20 ution for about
125b0 74 65 6e 20 63 69 74 69 65 73 20 77 69 6c 6c 20 ten cities will
125c0 72 65 71 75 69 72 65 20 61 20 3c 62 3e 76 65 72 require a <b>ver
125d0 79 20 6c 6f 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 y long time</b>
125e0 65 76 65 6e 20 75 73 69 6e 67 20 61 20 73 75 70 even using a sup
125f0 65 72 63 6f 6d 70 75 74 65 72 2e 3c 62 72 3e 0d ercomputer.<br>.
12600 0a 41 6e 64 20 61 74 74 65 6d 70 74 69 6e 67 20 .And attempting
12610 74 6f 20 63 6f 6d 70 75 74 65 20 61 20 54 53 50 to compute a TSP
12620 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 61 62 solution for ab
12630 6f 75 74 20 68 75 6e 64 72 65 64 20 63 69 74 69 out hundred citi
12640 65 73 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 es will require
12650 61 20 3c 62 3e 70 72 61 63 74 69 63 61 6c 6c 79 a <b>practically
12660 20 69 6e 66 69 6e 69 74 65 3c 2f 62 3e 20 74 69 infinite</b> ti
12670 6d 65 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 48 me...<br><br>..H
12680 6f 77 65 76 65 72 20 73 6f 6c 76 69 6e 67 20 54 owever solving T
12690 53 50 20 69 73 20 68 69 67 68 6c 79 20 64 65 73 SP is highly des
126a0 69 72 61 62 6c 65 20 69 6e 20 6d 61 6e 79 20 61 irable in many a
126b0 70 70 6c 69 63 61 74 69 6f 6e 20 66 69 65 6c 64 pplication field
126c0 73 3a 20 3c 62 3e 6c 6f 67 69 73 74 69 63 73 3c s: <b>logistics<
126d0 2f 62 3e 20 28 6a 75 73 74 20 74 68 69 6e 6b 20 /b> (just think
126e0 61 62 6f 75 74 20 63 6f 75 72 69 65 72 20 63 6f about courier co
126f0 6d 70 61 6e 69 65 73 20 61 73 20 44 48 4c 2c 20 mpanies as DHL,
12700 46 65 64 45 58 2c 20 55 50 53 20 6f 72 20 54 4e FedEX, UPS or TN
12710 54 29 2c 20 3c 62 3e 66 69 65 6c 64 20 6d 61 69 T), <b>field mai
12720 6e 74 65 6e 61 6e 63 65 3c 2f 62 3e 20 2f 20 3c ntenance</b> / <
12730 62 3e 61 73 73 69 73 74 61 6e 63 65 3c 2f 62 3e b>assistance</b>
12740 2c 20 3c 62 3e 77 61 73 74 65 20 63 6f 6c 6c 65 , <b>waste colle
12750 63 74 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e 73 63 ction</b>, <b>sc
12760 68 6f 6f 6c 62 75 73 3c 2f 62 3e 20 2f 20 3c 62 hoolbus</b> / <b
12770 3e 73 68 61 72 65 64 20 74 61 78 69 20 73 65 72 >shared taxi ser
12780 76 69 63 65 73 3c 2f 62 3e 20 65 74 63 2e 3c 62 vices</b> etc.<b
12790 72 3e 0d 0a 4d 61 6e 79 20 61 6c 67 6f 72 69 74 r>..Many algorit
127a0 68 6d 73 20 68 61 76 65 20 62 65 65 6e 20 69 6e hms have been in
127b0 76 65 6e 74 65 64 20 64 75 72 69 6e 67 20 6c 61 vented during la
127c0 73 74 20 64 65 63 61 64 65 73 20 69 6e 74 65 6e st decades inten
127d0 64 65 64 20 74 6f 20 70 72 6f 64 75 63 65 20 70 ded to produce p
127e0 72 61 63 74 69 63 61 6c 20 61 6c 74 68 6f 75 67 ractical althoug
127f0 68 20 61 70 70 72 6f 78 69 6d 61 74 65 20 2f 20 h approximate /
12800 69 6d 70 65 72 66 65 63 74 20 54 53 50 20 73 6f imperfect TSP so
12810 6c 75 74 69 6f 6e 73 20 69 6e 20 61 20 72 65 61 lutions in a rea
12820 73 6f 6e 61 62 6c 79 20 73 68 6f 72 74 20 74 69 sonably short ti
12830 6d 65 2e 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 65 me...Many of the
12840 6d 20 73 74 72 6f 6e 67 6c 79 20 64 65 70 65 6e m strongly depen
12850 64 20 6f 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 d on <a href="ht
12860 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 tps://en.wikiped
12870 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 48 65 75 72 ia.org/wiki/Heur
12880 69 73 74 69 63 22 3e 68 65 75 72 69 73 74 69 63 istic">heuristic
12890 3c 2f 61 3e 20 61 6e 64 20 2f 20 6f 72 20 3c 61 </a> and / or <a
128a0 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 href="https://e
128b0 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f n.wikipedia.org/
128c0 77 69 6b 69 2f 52 61 6e 64 6f 6d 6e 65 73 73 22 wiki/Randomness"
128d0 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f 61 3e 2e >randomness</a>.
128e0 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 56 ..<br><br>..<b>V
128f0 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 irtualRouting</b
12900 3e 20 73 75 70 70 6f 72 74 73 20 74 77 6f 20 64 > supports two d
12910 69 66 66 65 72 65 6e 74 20 54 53 50 20 61 6c 67 ifferent TSP alg
12920 6f 72 69 74 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a orithms:..<ul>..
12930 3c 6c 69 3e 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 <li><b>TSP NN</b
12940 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 > (<i>aka</i> <b
12950 3e 3c 69 3e 4e 65 61 72 65 73 74 20 4e 65 69 67 ><i>Nearest Neig
12960 68 62 6f 75 72 3c 2f 69 3e 3c 2f 62 3e 29 3c 62 hbour</i></b>)<b
12970 72 3e 0d 0a 54 68 69 73 20 3c 61 20 68 72 65 66 r>..This <a href
12980 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b ="https://en.wik
12990 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f ipedia.org/wiki/
129a0 4e 65 61 72 65 73 74 5f 6e 65 69 67 68 62 6f 75 Nearest_neighbou
129b0 72 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 66 69 72 r_algorithm">fir
129c0 73 74 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e st algorithm</a>
129d0 20 69 73 20 73 74 72 61 69 67 68 74 66 6f 72 77 is straightforw
129e0 61 72 64 20 73 69 6d 70 6c 65 20 61 6e 64 20 76 ard simple and v
129f0 65 72 79 20 66 61 73 74 3b 20 69 74 20 63 61 6e ery fast; it can
12a00 20 65 66 66 65 63 74 69 76 65 6c 79 20 73 6f 6c effectively sol
12a10 76 65 20 68 75 67 65 20 54 53 50 20 73 6f 6c 75 ve huge TSP solu
12a20 74 69 6f 6e 73 20 28 74 68 6f 75 73 61 6e 64 20 tions (thousand
12a30 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 20 6f 72 <i>cities</i> or
12a40 20 65 76 65 6e 20 6d 6f 72 65 29 20 69 6e 20 61 even more) in a
12a50 20 76 65 72 79 20 73 68 6f 72 74 20 74 69 6d 65 very short time
12a60 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74 20 .<br>..<u>Short
12a70 64 65 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e 3a description</u>:
12a80 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 73 74 61 72 ..<ul>..<li>star
12a90 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 3c 75 ting from the <u
12aa0 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 ><i>base city</i
12ab0 3e 3c 2f 75 3e 20 74 68 65 20 3c 75 3e 3c 69 3e ></u> the <u><i>
12ac0 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e salesman</i></u>
12ad0 20 67 6f 65 73 20 74 6f 20 74 68 65 20 3c 75 3e goes to the <u>
12ae0 3c 69 3e 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 <i>city</i></u>
12af0 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 3c presenting the <
12b00 69 3e 3c 75 3e 6c 65 73 73 65 72 20 63 6f 6e 6e i><u>lesser conn
12b10 65 63 74 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e 3c ection cost</u><
12b20 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 /i>.</li>..<li>t
12b30 68 65 20 61 6c 72 65 61 64 79 20 76 69 73 69 74 he already visit
12b40 65 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 ed <i><u>city</u
12b50 3e 3c 2f 69 3e 20 69 73 20 63 61 6e 63 65 6c 6c ></i> is cancell
12b60 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 ed from the list
12b70 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 3c , and then the <
12b80 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 u><i>salesman</i
12b90 3e 3c 2f 75 3e 20 67 6f 65 73 20 74 6f 20 74 68 ></u> goes to th
12ba0 65 20 6e 65 78 74 20 3c 75 3e 3c 69 3e 63 69 74 e next <u><i>cit
12bb0 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e y</i></u> presen
12bc0 74 69 6e 67 20 74 68 65 20 3c 69 3e 3c 75 3e 6c ting the <i><u>l
12bd0 65 73 73 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e esser connection
12be0 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f cost</u></i>.</
12bf0 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 63 79 63 li>..<li>the cyc
12c00 6c 65 20 63 6f 6e 74 69 6e 75 65 73 20 75 6e 74 le continues unt
12c10 69 6c 20 61 6c 6c 20 20 3c 69 3e 3c 75 3e 63 69 il all <i><u>ci
12c20 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 69 6e 20 ties</u></i> in
12c30 74 68 65 20 6c 69 73 74 20 68 61 76 65 20 62 65 the list have be
12c40 65 6e 20 76 69 73 69 74 65 64 2e 3c 2f 6c 69 3e en visited.</li>
12c50 0d 0a 3c 6c 69 3e 66 69 6e 61 6c 6c 79 2c 20 74 ..<li>finally, t
12c60 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 he <u><i>salesma
12c70 6e 3c 2f 69 3e 3c 2f 75 3e 20 72 65 74 75 72 6e n</i></u> return
12c80 73 20 74 6f 20 68 69 73 2f 68 65 72 20 69 6e 69 s to his/her ini
12c90 74 69 61 6c 20 3c 75 3e 3c 69 3e 62 61 73 65 20 tial <u><i>base
12ca0 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c 69 city</i></u></li
12cb0 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f 74 >..</ul>..<u>Not
12cc0 65 3c 2f 75 3e 20 69 74 27 73 20 76 65 72 79 20 e</u> it's very
12cd0 75 6e 6c 69 6b 65 20 74 68 61 74 20 54 53 50 20 unlike that TSP
12ce0 4e 4e 20 63 6f 75 6c 64 20 66 69 6e 64 20 74 68 NN could find th
12cf0 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e e <b>optimal</b>
12d00 20 73 6f 6c 75 74 69 6f 6e 2c 20 62 75 74 20 69 solution, but i
12d10 74 20 63 61 6e 20 71 75 69 63 6b 6c 79 20 66 69 t can quickly fi
12d20 6e 64 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 nd some reasonab
12d30 6c 65 20 3c 62 3e 61 70 70 72 6f 78 69 6d 61 74 le <b>approximat
12d40 65 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 28 e</b> solution (
12d50 3c 69 3e 66 65 77 20 69 73 20 73 75 72 65 6c 79 <i>few is surely
12d60 20 62 65 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 better than not
12d70 68 69 6e 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a hing</i>).<br>..
12d80 49 6e 20 74 68 65 20 6d 6f 73 74 20 75 6e 6c 75 In the most unlu
12d90 63 6b 79 20 63 61 73 65 20 54 53 50 20 4e 4e 20 cky case TSP NN
12da0 63 6f 75 6c 64 20 70 6f 73 73 69 62 6c 79 20 72 could possibly r
12db0 65 74 75 72 6e 20 74 68 65 20 3c 62 3e 77 6f 72 eturn the <b>wor
12dc0 73 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c st solution</b>,
12dd0 20 62 75 74 20 74 68 65 20 73 70 65 63 69 66 69 but the specifi
12de0 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e c implementation
12df0 20 61 64 6f 70 74 65 64 20 62 79 20 56 69 72 74 adopted by Virt
12e00 75 61 6c 52 6f 75 74 69 6e 67 20 63 68 65 63 6b ualRouting check
12e10 73 20 61 67 61 69 6e 73 74 20 74 68 69 73 20 70 s against this p
12e20 6f 73 73 69 62 69 6c 69 74 79 3a 0d 0a 3c 75 6c ossibility:..<ul
12e30 3e 0d 0a 3c 6c 69 3e 65 61 63 68 20 54 53 50 20 >..<li>each TSP
12e40 4e 4e 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6d NN is always com
12e50 70 75 74 65 64 20 74 77 69 63 65 20 62 79 20 72 puted twice by r
12e60 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67 andomly choosing
12e70 20 61 20 64 69 66 66 65 72 65 6e 74 20 3c 75 3e a different <u>
12e80 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e <i>base city</i>
12e90 3c 2f 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f </u> and then no
12ea0 72 6d 61 6c 69 7a 69 6e 67 20 74 68 65 20 73 6f rmalizing the so
12eb0 6c 75 74 69 6f 6e 3b 20 74 68 65 20 62 65 73 74 lution; the best
12ec0 20 6f 66 20 74 68 65 20 74 77 6f 20 73 6f 6c 75 of the two solu
12ed0 74 69 6f 6e 73 20 69 73 20 74 68 65 6e 20 72 65 tions is then re
12ee0 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c turned.</li>..<l
12ef0 69 3e 74 68 69 73 20 73 69 6d 70 6c 65 20 62 75 i>this simple bu
12f00 74 20 65 66 66 65 63 74 69 76 65 20 70 72 65 63 t effective prec
12f10 61 75 74 69 6f 6e 20 72 6f 62 75 73 74 6c 79 20 aution robustly
12f20 65 6e 73 75 72 65 73 20 74 68 61 74 20 74 68 65 ensures that the
12f30 20 3c 62 3e 77 6f 72 73 74 20 73 6f 6c 75 74 69 <b>worst soluti
12f40 6f 6e 3c 2f 62 3e 20 77 69 6c 6c 20 6e 65 76 65 on</b> will neve
12f50 72 20 62 65 20 72 65 74 75 72 6e 65 64 2c 20 61 r be returned, a
12f60 6e 64 20 6a 75 73 74 20 69 6d 70 6c 69 65 73 20 nd just implies
12f70 61 20 6d 6f 64 65 72 61 74 65 6c 79 20 69 6e 63 a moderately inc
12f80 72 65 61 73 65 64 20 65 78 65 63 75 74 69 6f 6e reased execution
12f90 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 time.</li>..</u
12fa0 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e l></li>..<li><b>
12fb0 54 53 50 20 47 41 3c 2f 62 3e 20 28 3c 69 3e 61 TSP GA</b> (<i>a
12fc0 6b 61 3c 2f 69 3e 20 3c 62 3e 3c 69 3e 47 65 6e ka</i> <b><i>Gen
12fd0 65 74 69 63 20 41 6c 67 6f 72 69 74 68 6d 3c 2f etic Algorithm</
12fe0 69 3e 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 54 68 i></b>).<br>..Th
12ff0 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 is <a href="http
13000 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 s://en.wikipedia
13010 2e 6f 72 67 2f 77 69 6b 69 2f 47 65 6e 65 74 69 .org/wiki/Geneti
13020 63 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 74 c_algorithm">alt
13030 65 72 6e 61 74 69 76 65 20 61 6c 67 6f 72 69 74 ernative algorit
13040 68 6d 3c 2f 61 3e 20 69 73 20 6d 75 63 68 20 6d hm</a> is much m
13050 6f 72 65 20 63 6f 6d 70 6c 65 78 20 61 6e 64 20 ore complex and
13060 73 6f 70 68 69 73 74 69 63 61 74 65 64 2c 20 61 sophisticated, a
13070 6e 64 20 69 73 20 64 69 72 65 63 74 6c 79 20 69 nd is directly i
13080 6e 73 70 69 72 65 64 20 62 79 20 62 69 6f 6c 6f nspired by biolo
13090 67 69 63 61 6c 20 63 6f 6e 63 65 70 74 73 20 73 gical concepts s
130a0 75 63 68 20 61 73 20 3c 62 3e 73 65 78 75 61 6c uch as <b>sexual
130b0 20 72 65 70 72 6f 64 75 63 74 69 6f 6e 3c 2f 62 reproduction</b
130c0 3e 2c 20 3c 62 3e 67 65 6e 65 74 69 63 20 6d 75 >, <b>genetic mu
130d0 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 tations</b> and
130e0 3c 62 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65 63 <b>natural selec
130f0 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c tion</b>.<br>..<
13100 75 3e 53 68 6f 72 74 20 64 65 73 63 72 69 70 74 u>Short descript
13110 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d 0a ion</u>:..<ul>..
13120 3c 6c 69 3e 61 20 66 69 72 73 74 20 69 6e 69 74 <li>a first init
13130 69 61 6c 20 73 65 74 20 6f 66 20 73 6f 6c 75 74 ial set of solut
13140 69 6f 6e 73 20 28 3c 69 3e 3c 75 3e 74 68 65 20 ions (<i><u>the
13150 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f 75 3e 3c 2f population</u></
13160 69 3e 29 20 69 73 20 63 72 65 61 74 65 64 20 62 i>) is created b
13170 79 20 75 73 69 6e 67 20 54 53 50 20 4e 4e 20 61 y using TSP NN a
13180 66 74 65 72 20 72 61 6e 64 6f 6d 6c 79 20 63 68 fter randomly ch
13190 6f 6f 73 69 6e 67 20 74 68 65 20 3c 75 3e 3c 69 oosing the <u><i
131a0 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f >base city</i></
131b0 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d u> and then norm
131c0 61 6c 69 7a 69 6e 67 20 65 61 63 68 20 73 6f 6c alizing each sol
131d0 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 ution.</li>..<li
131e0 3e 74 68 65 6e 20 64 75 72 69 6e 67 20 65 61 63 >then during eac
131f0 68 20 73 74 65 70 20 6f 66 20 74 68 65 20 65 78 h step of the ex
13200 65 63 75 74 69 6f 6e 20 6c 6f 6f 70 20 28 3c 69 ecution loop (<i
13210 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f ><u>generation</
13220 75 3e 3c 2f 69 3e 29 20 70 61 69 72 73 20 6f 66 u></i>) pairs of
13230 20 73 6f 6c 75 74 69 6f 6e 73 20 3c 69 3e 3c 75 solutions <i><u
13240 3e 73 65 78 75 61 6c 6c 79 20 72 65 70 72 6f 64 >sexually reprod
13250 75 63 65 73 3c 2f 69 3e 3c 2f 75 3e 20 67 69 76 uces</i></u> giv
13260 69 6e 67 20 62 69 72 74 68 20 74 6f 20 3c 75 3e ing birth to <u>
13270 3c 69 3e 63 68 69 6c 64 72 65 6e 20 73 6f 6c 75 <i>children solu
13280 74 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 72 tions</i></u>; r
13290 65 70 72 6f 64 75 63 74 69 6f 6e 20 69 73 20 73 eproduction is s
132a0 75 62 6a 65 63 74 20 74 6f 20 3c 75 3e 3c 69 3e ubject to <u><i>
132b0 63 68 72 6f 6d 6f 73 6f 6d 65 20 63 72 6f 73 73 chromosome cross
132c0 6f 76 65 72 73 3c 2f 69 3e 3c 2f 75 3e 20 61 6e overs</i></u> an
132d0 64 20 3c 69 3e 3c 75 3e 72 61 6e 64 6f 6d 20 6d d <i><u>random m
132e0 75 74 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 2e utation</u></i>.
132f0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 65 </li>..<li>for e
13300 61 63 68 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 ach <i><u>genera
13310 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 74 68 65 tion</u></i> the
13320 20 3c 69 3e 3c 75 3e 6e 61 74 75 72 61 6c 20 73 <i><u>natural s
13330 65 6c 65 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e election</u></i>
13340 20 65 6c 69 6d 69 6e 61 74 65 73 20 61 6c 6c 20 eliminates all
13350 70 6f 6f 72 6c 79 20 66 69 74 20 69 6e 64 69 76 poorly fit indiv
13360 69 64 75 61 6c 73 20 66 72 6f 6d 20 74 68 65 20 iduals from the
13370 3c 75 3e 3c 69 3e 70 6f 70 75 6c 61 74 69 6f 6e <u><i>population
13380 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 63 6f 6e </i></u> and con
13390 73 65 71 75 65 6e 74 6c 79 20 6f 6e 6c 79 20 74 sequently only t
133a0 68 65 20 62 65 73 74 20 66 69 74 20 69 6e 64 69 he best fit indi
133b0 76 69 64 75 61 6c 73 20 63 61 6e 20 66 75 72 74 viduals can furt
133c0 68 65 72 20 70 72 6f 70 61 67 61 74 65 20 74 68 her propagate th
133d0 65 69 72 20 3c 75 3e 3c 69 3e 67 65 6e 6f 6d 65 eir <u><i>genome
133e0 3c 2f 69 3e 3c 2f 75 3e 20 74 6f 20 74 68 65 20 </i></u> to the
133f0 6e 65 78 74 20 3c 75 3e 3c 69 3e 67 65 6e 65 72 next <u><i>gener
13400 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c 2f ation</i></u>.</
13410 6c 69 3e 0d 0a 3c 6c 69 3e 61 66 74 65 72 20 61 li>..<li>after a
13420 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 20 certain number
13430 6f 66 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 of <i><u>generat
13440 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 20 28 6c 65 ions</i></u> (le
13450 74 27 73 20 73 61 79 20 61 62 6f 75 74 20 73 6f t's say about so
13460 6d 65 20 68 75 6e 64 72 65 64 74 68 20 69 74 65 me hundredth ite
13470 72 61 74 69 6f 6e 73 29 20 74 68 65 20 3c 62 3e rations) the <b>
13480 6f 70 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e optimal solution
13490 3c 2f 62 3e 20 28 6f 72 20 61 74 20 6c 65 61 73 </b> (or at leas
134a0 74 20 61 20 3c 62 3e 66 61 69 72 6c 79 20 67 6f t a <b>fairly go
134b0 6f 64 20 73 75 62 2d 6f 70 74 69 6d 61 6c 20 73 od sub-optimal s
134c0 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 29 20 73 68 6f olution</b>) sho
134d0 75 6c 64 20 66 69 6e 61 6c 6c 79 20 65 6d 65 72 uld finally emer
134e0 67 65 2c 20 61 6e 64 20 73 6f 20 74 68 65 20 6c ge, and so the l
134f0 6f 6f 70 20 63 61 6e 20 65 78 69 74 2e 3c 2f 6c oop can exit.</l
13500 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
13510 3c 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a <li><u>Note</u>:
13520 20 54 53 50 20 47 41 20 69 73 20 75 73 75 61 6c TSP GA is usual
13530 6c 79 20 65 78 70 65 63 74 65 64 20 74 6f 20 69 ly expected to i
13540 64 65 6e 74 69 66 79 20 62 65 74 74 65 72 20 73 dentify better s
13550 6f 6c 75 74 69 6f 6e 73 20 74 68 61 6e 20 54 53 olutions than TS
13560 50 20 4e 4e 20 63 61 6e 20 64 6f 2c 20 62 75 74 P NN can do, but
13570 20 69 74 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 it will surely
13580 72 65 71 75 69 72 65 20 6d 75 63 68 20 6d 6f 72 require much mor
13590 65 20 74 69 6d 65 20 74 6f 20 63 6f 6d 70 6c 65 e time to comple
135a0 74 65 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e te.</li> ..</ul>
135b0 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 ..<br><br>..Let'
135c0 73 20 6e 6f 77 20 65 78 61 6d 69 6e 65 20 61 20 s now examine a
135d0 70 72 61 63 74 69 63 61 6c 20 65 78 61 6d 70 6c practical exampl
135e0 65 20 6f 66 20 54 53 50 20 73 6f 6c 76 69 6e 67 e of TSP solving
135f0 20 75 73 69 6e 67 20 56 69 72 74 75 61 6c 52 6f using VirtualRo
13600 75 74 69 6e 67 2e 20 0d 0a 3c 76 65 72 62 61 74 uting. ..<verbat
13610 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f im>..UPDATE byfo
13620 6f 74 20 53 45 54 20 52 65 71 75 65 73 74 20 3d ot SET Request =
13630 20 27 54 53 50 27 3b 0d 0a 0d 0a 53 45 4c 45 43 'TSP';....SELEC
13640 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 T Algorithm, Req
13650 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 uest, Options, D
13660 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 elimiter, RouteI
13670 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c d, RouteRow, Rol
13680 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f e, LinkRowid, No
13690 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 deFrom, NodeTo,
136a0 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 Cost, Geometry,
136b0 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f Name..FROM byfoo
136c0 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f t..WHERE NodeFro
136d0 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e m = 178731 AND N
136e0 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c odeTo = '183286,
136f0 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 181999,184030,18
13700 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 3882,178754';..<
13710 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 20 56 69 /verbatim>..A Vi
13720 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 3c 62 3e rtualRouting <b>
13730 54 53 50 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 TSP</b> query ha
13740 73 20 74 68 65 20 73 61 6d 65 20 69 64 65 6e 74 s the same ident
13750 69 63 61 6c 20 66 6f 72 6d 20 6f 66 20 61 20 3c ical form of a <
13760 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 b>multi-destinat
13770 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 79 3b 20 74 ion</b> query; t
13780 68 65 20 3c 69 3e 3c 75 3e 62 61 73 65 20 63 69 he <i><u>base ci
13790 74 79 3c 75 3e 3c 2f 69 3e 20 69 73 20 61 6c 77 ty<u></i> is alw
137a0 61 79 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 ays expected to
137b0 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 3c 62 correspond to <b
137c0 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e >NodeFrom</b> an
137d0 64 20 61 6c 6c 20 6f 74 68 65 72 20 3c 69 3e 3c d all other <i><
137e0 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e u>cities</u></i>
137f0 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 20 61 to be visited a
13800 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 re expected to b
13810 65 20 65 6e 75 6d 65 72 61 74 65 64 20 69 6e 74 e enumerated int
13820 6f 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 o a <b>multi-des
13830 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 6c 69 73 tination</b> lis
13840 74 20 61 73 73 69 67 6e 65 64 20 74 6f 20 3c 62 t assigned to <b
13850 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c 75 >NodeTo</b>...<u
13860 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75 20 6d >Note</u>: you m
13870 75 73 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73 ust explicitly s
13880 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 3c et the current <
13890 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 b>Request</b> as
138a0 20 3c 62 3e 54 53 50 3c 2f 62 3e 2c 20 3c 62 3e <b>TSP</b>, <b>
138b0 54 53 50 20 4e 4e 3c 2f 62 3e 20 6f 72 20 3c 62 TSP NN</b> or <b
138c0 3e 54 53 50 20 47 41 3c 2f 62 3e 20 28 54 53 50 >TSP GA</b> (TSP
138d0 20 61 6e 64 20 54 53 50 20 4e 4e 20 61 72 65 20 and TSP NN are
138e0 73 79 6e 6f 6e 79 6d 73 29 2e 0d 0a 3c 62 72 3e synonyms)...<br>
138f0 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 <br>..<table bor
13900 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d der="1" bgcolor=
13910 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 "#ffffcf" cellsp
13920 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 acing="4" cellpa
13930 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e dding="6">..<tr>
13940 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
13950 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c d0a0">Algorithm<
13960 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
13970 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 "#d0d0a0">Reques
13980 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
13990 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 r="#d0d0a0">Opti
139a0 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ons</th><th bgco
139b0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 lor="#d0d0a0">De
139c0 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 limiter</th><th
139d0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
139e0 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 ">RouteId</th><t
139f0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
13a00 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 a0">RouteRow</th
13a10 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
13a20 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 0d0a0">Role</th>
13a30 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
13a40 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c d0a0">LinkRowid<
13a50 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
13a60 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 "#d0d0a0">NodeFr
13a70 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c om</th><th bgcol
13a80 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
13a90 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f eTo</th><th bgco
13aa0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f lor="#d0d0a0">Co
13ab0 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
13ac0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f or="#d0d0a0">Geo
13ad0 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 metry</th><th bg
13ae0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
13af0 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a Name</th></tr>..
13b00 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 <tr>..<td>Dijkst
13b10 72 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e ra</td><td>TSP N
13b20 4e 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f N</td><td>Full</
13b30 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 td><td>, [de
13b40 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 c=44, hex=2c]
13b50 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d ;</td><td align=
13b60 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
13b70 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
13b80 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f 0</td><td>TSP So
13b90 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e lution</td><td>N
13ba0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
13bb0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
13bc0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
13bd0 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
13be0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
13bf0 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33 33 3c ht">1254.433933<
13c00 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
13c10 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 2000 GEOMETRY</t
13c20 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
13c30 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
13c40 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
13c50 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
13c60 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 </td><td>NULL<td
13c70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
13c80 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
13c90 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
13ca0 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
13cb0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
13cc0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
13cd0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
13ce0 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 right">184030</t
13cf0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
13d00 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f ht">176.364755</
13d10 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 td><td>BLOB sz=3
13d20 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 04 GEOMETRY</td>
13d30 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
13d40 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
13d50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
13d60 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
13d70 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
13d80 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
13d90 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">2</td><td alig
13da0 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e n="right">1</td>
13db0 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
13dc0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
13dd0 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 24014</td><td al
13de0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
13df0 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
13e00 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c ="right">182885<
13e10 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
13e20 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c ight">94.812424<
13e30 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
13e40 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 ><td>VIA PIETRO
13e50 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f ARETINO</td>..</
13e60 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d tr>..<tr>..<tr>.
13e70 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
13e80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
13e90 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
13ea0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
13eb0 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
13ec0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
13ed0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
13ee0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
13ef0 68 74 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c ht">224862</td><
13f00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
13f10 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 >182885</td><td
13f20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
13f30 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2043</td><td ali
13f40 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 39 gn="right">37.09
13f50 35 32 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 5287</td><td>NUL
13f60 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 L</td><td>VIA MA
13f70 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a RGARITONE</td>..
13f80 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
13f90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
13fa0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
13fb0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
13fc0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
13fd0 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">2</td><td ali
13fe0 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
13ff0 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
14000 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14010 32 32 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61 226070</td><td a
14020 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
14030 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 043</td><td alig
14040 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 n="right">184030
14050 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14060 72 69 67 68 74 22 3e 34 34 2e 34 35 37 30 34 34 right">44.457044
14070 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14080 64 3e 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e d><td>PIAZZA SAN
14090 54 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d T'AGOSTINO</td>.
140a0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
140b0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
140c0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
140d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
140e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
140f0 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">2</td><td al
14100 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
14110 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e d><td>Route</td>
14120 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14130 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14140 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 84030</td><td al
14150 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 ign="right">1819
14160 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 99</td><td align
14170 3d 22 72 69 67 68 74 22 3e 31 33 39 2e 31 31 34 ="right">139.114
14180 39 33 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 938</td><td>BLOB
14190 20 73 7a 3d 34 39 36 20 47 45 4f 4d 45 54 52 59 sz=496 GEOMETRY
141a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
141b0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
141c0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
141d0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
141e0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
141f0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14200 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
14210 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14220 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
14230 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14240 68 74 22 3e 32 32 36 30 37 31 3c 2f 74 64 3e 3c ht">226071</td><
14250 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14260 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 >184030</td><td
14270 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
14280 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2629</td><td ali
14290 67 6e 3d 22 72 69 67 68 74 22 3e 35 35 2e 36 38 gn="right">55.68
142a0 39 30 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 9009</td><td>NUL
142b0 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 47 49 L</td><td>VIA GI
142c0 55 53 45 50 50 45 20 47 41 52 49 42 41 4c 44 49 USEPPE GARIBALDI
142d0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
142e0 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
142f0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14300 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14310 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
14320 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e n="right">3</td>
14330 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14340 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">2</td><td>Link
14350 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14360 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 right">225512</t
14370 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14380 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c ht">182629</td><
14390 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
143a0 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 >182933</td><td
143b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 align="right">34
143c0 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e .184194</td><td>
143d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 NULL</td><td>COR
143e0 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a SO ITALIA</td>..
143f0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
14400 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
14410 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
14420 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
14430 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
14440 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">3</td><td ali
14450 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
14460 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
14470 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14480 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 225511</td><td a
14490 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
144a0 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 933</td><td alig
144b0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 n="right">181999
144c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
144d0 72 69 67 68 74 22 3e 34 39 2e 32 34 31 37 33 35 right">49.241735
144e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
144f0 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c d><td>CORSO ITAL
14500 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a IA</td>..</tr>..
14510 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
14520 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14530 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14540 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
14550 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 ign="right">3</t
14560 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14570 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
14580 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
14590 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
145a0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
145b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
145c0 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c ht">183286</td><
145d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
145e0 3e 32 31 37 2e 36 37 32 38 38 35 3c 2f 74 64 3e >217.672885</td>
145f0 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 38 20 <td>BLOB sz=688
14600 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 GEOMETRY</td><td
14610 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
14620 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
14630 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14640 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14650 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14660 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
14670 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14680 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 right">1</td><td
14690 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
146a0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 ign="right">2226
146b0 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 35</td><td align
146c0 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c ="right">181999<
146d0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
146e0 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 ight">181998</td
146f0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
14700 74 22 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f 74 t">101.629750</t
14710 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14720 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c td>CORSO ITALIA<
14730 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
14740 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
14750 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14760 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
14770 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
14780 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c ="right">4</td><
14790 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
147a0 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >2</td><td>Link<
147b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
147c0 69 67 68 74 22 3e 32 32 34 37 38 30 3c 2f 74 64 ight">224780</td
147d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
147e0 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 t">181998</td><t
147f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14800 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 183560</td><td a
14810 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e lign="right">73.
14820 37 33 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 733572</td><td>N
14830 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
14840 44 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c DELL'ANFITEATRO<
14850 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
14860 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
14870 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14880 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
14890 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 LL<td align="rig
148a0 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">4</td><td al
148b0 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 ign="right">3</t
148c0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
148d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
148e0 3e 32 32 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20 >225827</td><td
148f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
14900 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3560</td><td ali
14910 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 gn="right">18328
14920 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
14930 22 72 69 67 68 74 22 3e 34 32 2e 33 30 39 35 36 "right">42.30956
14940 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
14950 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 td><td>VIA DELL'
14960 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d ANFITEATRO</td>.
14970 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
14980 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14990 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
149a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
149b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
149c0 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">4</td><td al
149d0 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
149e0 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e d><td>Route</td>
149f0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14a00 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14a10 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83286</td><td al
14a20 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
14a30 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 54</td><td align
14a40 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 31 33 ="right">378.313
14a50 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 684</td><td>BLOB
14a60 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 sz=272 GEOMETRY
14a70 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14a80 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
14a90 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
14aa0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14ab0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
14ac0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14ad0 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 right">5</td><td
14ae0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14af0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
14b00 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14b10 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c ht">224414</td><
14b20 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14b30 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
14b40 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
14b50 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8880</td><td ali
14b60 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 gn="right">136.3
14b70 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 72057</td><td>NU
14b80 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d LL</td><td>VIA M
14b90 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d ARGARITONE</td>.
14ba0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
14bb0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14bc0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
14bd0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14be0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14bf0 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">5</td><td al
14c00 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
14c10 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
14c20 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14c30 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 >219171</td><td
14c40 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
14c50 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8880</td><td ali
14c60 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
14c70 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
14c80 22 72 69 67 68 74 22 3e 39 33 2e 32 38 35 35 33 "right">93.28553
14c90 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
14ca0 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 td><td>VIA FRANC
14cb0 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e ESCO CRISPI</td>
14cc0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
14cd0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14ce0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14cf0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14d00 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14d10 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 ght">5</td><td a
14d20 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f lign="right">3</
14d30 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
14d40 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14d50 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 ">219058</td><td
14d60 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14d70 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 78732</td><td al
14d80 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
14d90 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 54</td><td align
14da0 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36 35 36 ="right">148.656
14db0 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 089</td><td>NULL
14dc0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 </td><td>VIA FRA
14dd0 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 NCESCO CRISPI</t
14de0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
14df0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
14e00 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14e10 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
14e20 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14e30 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 right">5</td><td
14e40 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
14e50 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
14e60 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14e70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14e80 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 ">178754</td><td
14e90 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14ea0 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 83882</td><td al
14eb0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 2e ign="right">188.
14ec0 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 216831</td><td>B
14ed0 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 LOB sz=400 GEOME
14ee0 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c TRY</td><td>NULL
14ef0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
14f00 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
14f10 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14f20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14f30 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
14f40 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e n="right">6</td>
14f50 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14f60 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">1</td><td>Link
14f70 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14f80 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 right">224538</t
14f90 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14fa0 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c ht">178754</td><
14fb0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14fc0 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 >181972</td><td
14fd0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 30 align="right">50
14fe0 2e 39 30 30 36 36 33 3c 2f 74 64 3e 3c 74 64 3e .900663</td><td>
14ff0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
15000 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e ANTONIO GUADAGN
15010 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d OLI</td>..</tr>.
15020 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
15030 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
15040 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
15050 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 d>NULL</td>..<td
15060 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 align="right">6
15070 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
15080 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
15090 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
150a0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 35 ign="right">2245
150b0 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 37</td><td align
150c0 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c ="right">181972<
150d0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
150e0 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 ight">182000</td
150f0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
15100 74 22 3e 38 36 2e 33 30 31 30 35 31 3c 2f 74 64 t">86.301051</td
15110 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
15120 64 3e 56 49 41 20 44 45 4c 20 4e 49 4e 46 45 4f d>VIA DEL NINFEO
15130 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
15140 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
15150 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
15160 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
15170 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
15180 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e n="right">6</td>
15190 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
151a0 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
151b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
151c0 72 69 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 right">225527</t
151d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
151e0 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c ht">182000</td><
151f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15200 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 >183882</td><td
15210 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 align="right">51
15220 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e .015117</td><td>
15230 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
15240 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c LICIO NENCETTI<
15250 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
15260 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
15270 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
15280 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
15290 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
152a0 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c ="right">6</td><
152b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
152c0 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
152d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 </td><td>NULL<td
152e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
152f0 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 83882</td><td al
15300 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
15310 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
15320 3d 22 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 ="right">154.750
15330 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 839</td><td>BLOB
15340 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 sz=240 GEOMETRY
15350 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
15360 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
15370 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
15380 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
15390 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
153a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
153b0 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 right">7</td><td
153c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
153d0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
153e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
153f0 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c ht">225527</td><
15400 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15410 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 >183882</td><td
15420 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
15430 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2000</td><td ali
15440 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 gn="right">51.01
15450 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 5117</td><td>NUL
15460 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 L</td><td>VIA LI
15470 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 CIO NENCETTI</td
15480 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
15490 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
154a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
154b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
154c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
154d0 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 ight">7</td><td
154e0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
154f0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
15500 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
15510 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 t">222636</td><t
15520 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15530 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 182000</td><td a
15540 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
15550 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
15560 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 37 33 n="right">103.73
15570 35 37 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 5722</td><td>NUL
15580 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 L</td><td>VIA PI
15590 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 ETRO ARETINO</td
155a0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c >..</tr>..</tabl
155b0 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 e>..<br>..Let's
155c0 6e 6f 77 20 71 75 69 63 6b 6c 79 20 65 78 61 6d now quickly exam
155d0 69 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 ine the resultse
155e0 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 61 6e t returned by an
155f0 79 20 54 53 50 20 71 75 65 72 79 3a 0d 0a 3c 75 y TSP query:..<u
15600 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65 l>..<li>the gene
15610 72 61 6c 20 6c 61 79 6f 75 74 20 69 73 20 6d 6f ral layout is mo
15620 72 65 20 6f 72 20 6c 65 73 73 20 74 68 65 20 73 re or less the s
15630 61 6d 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c ame as you've al
15640 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 ready seen in th
15650 65 20 63 61 73 65 20 6f 66 20 3c 62 3e 53 68 6f e case of <b>Sho
15660 72 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 rtestPath</b> qu
15670 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 eries.</li>..<li
15680 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f >the <b>first ro
15690 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73 w</b> of the res
156a0 75 6c 74 73 65 74 20 69 73 20 73 6f 6d 65 77 61 ultset is somewa
156b0 79 20 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 y exceptional, a
156c0 6e 64 20 69 73 20 74 68 65 20 75 6e 69 71 75 65 nd is the unique
156d0 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 row of the resu
156e0 6c 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67 ltset presenting
156f0 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e <b>NOT NULL</b>
15700 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c values in the <
15710 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c b>Algorithm</b>,
15720 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c <b>Request</b>,
15730 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 <b>Options</b>
15740 61 6e 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 and <b>Delimiter
15750 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 62 72 </b> columns.<br
15760 3e 0d 0a 49 74 20 63 6f 6e 74 61 69 6e 73 20 74 >..It contains t
15770 68 65 20 3c 62 3e 54 53 50 20 73 6f 6c 75 74 69 he <b>TSP soluti
15780 6f 6e 3c 2f 62 3e 20 61 73 20 61 20 77 68 6f 6c on</b> as a whol
15790 65 3a 20 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 e: column <b>Cos
157a0 74 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c 75 3e t</b> is the <u>
157b0 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 61 total cost</u> a
157c0 6e 64 20 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f nd column <b>Geo
157d0 6d 65 74 72 79 3c 2f 62 3e 20 69 73 20 74 68 65 metry</b> is the
157e0 20 3c 75 3e 6f 76 65 72 61 6c 6c 20 73 6f 6c 75 <u>overall solu
157f0 74 69 6f 6e 20 70 61 74 68 3c 2f 75 3e 2e 3c 2f tion path</u>.</
15800 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 li>..<li>columns
15810 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 <b>RouteId</b>
15820 61 6e 64 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c and <b>RouteRow<
15830 2f 62 3e 20 68 61 76 65 20 74 68 65 20 73 61 6d /b> have the sam
15840 65 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e e interpretation
15850 20 61 73 20 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d as in <b>multi-
15860 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 destination Shor
15870 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 testPath</b> que
15880 72 69 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69 ries, but in thi
15890 73 20 73 70 65 63 69 66 69 63 20 63 61 73 65 20 s specific case
158a0 65 61 63 68 20 3c 75 3e 3c 69 3e 72 6f 75 74 65 each <u><i>route
158b0 3c 2f 69 3e 3c 2f 75 3e 20 63 6f 72 72 65 73 70 </i></u> corresp
158c0 6f 6e 64 73 20 74 6f 20 61 20 63 6f 6e 6e 65 63 onds to a connec
158d0 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 77 6f tion between two
158e0 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 <i><u>cities</u
158f0 3e 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 ></i>.<br>..All
15900 3c 69 3e 3c 75 3e 72 6f 75 74 65 73 3c 2f 75 3e <i><u>routes</u>
15910 3c 2f 69 3e 20 61 72 65 20 6f 72 64 65 72 20 61 </i> are order a
15920 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 ccordingly to th
15930 65 20 72 75 6e 6e 69 6e 67 20 73 65 71 75 65 6e e running sequen
15940 63 65 20 6f 66 20 74 68 65 20 54 53 50 20 73 6f ce of the TSP so
15950 6c 75 74 69 6f 6e 2e 20 3c 62 3e 52 6f 75 74 65 lution. <b>Route
15960 49 64 3d 30 3c 2f 62 3e 20 69 64 65 6e 74 69 66 Id=0</b> identif
15970 69 65 73 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 ies the overall
15980 54 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c TSP solution.</l
15990 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 i>..</ul><br><br
159a0 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 >..<verbatim>..U
159b0 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 PDATE byfoot SET
159c0 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 20 Request = 'TSP
159d0 47 41 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 GA';....SELECT A
159e0 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 lgorithm, Reques
159f0 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 t, Options, Deli
15a00 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 miter, RouteId,
15a10 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 RouteRow, Role,
15a20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 LinkRowid, NodeF
15a30 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 rom, NodeTo, Cos
15a40 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d t, Geometry, Nam
15a50 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a e..FROM byfoot..
15a60 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d WHERE NodeFrom =
15a70 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 178731 AND Node
15a80 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31 To = '183286,181
15a90 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38 999,184030,18388
15aa0 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 2,178754';..</ve
15ab0 72 62 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 rbatim>..If you
15ac0 77 69 73 68 20 74 6f 20 67 65 74 20 61 20 3c 62 wish to get a <b
15ad0 3e 54 53 50 20 47 41 3c 2f 62 3e 20 73 6f 6c 75 >TSP GA</b> solu
15ae0 74 69 6f 6e 20 79 6f 75 20 73 69 6d 70 6c 65 20 tion you simple
15af0 68 61 76 65 20 74 6f 20 73 65 74 20 3c 62 3e 52 have to set <b>R
15b00 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 equest</b> as <b
15b10 3e 54 53 50 20 47 41 3c 2f 62 3e 3b 20 61 6e 64 >TSP GA</b>; and
15b20 20 79 6f 75 20 63 61 6e 20 73 65 74 20 61 67 61 you can set aga
15b30 69 6e 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 in <b>Request</b
15b40 3e 20 61 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 > as <b>TSP</b>
15b50 6f 72 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e or <b>TSP NN</b>
15b60 20 74 6f 20 72 65 76 65 72 74 20 62 61 63 6b 20 to revert back
15b70 74 6f 20 74 68 65 20 73 69 6d 70 6c 65 72 20 2f to the simpler /
15b80 20 66 61 73 74 65 72 20 61 6c 67 6f 72 69 74 68 faster algorith
15b90 6d 2e 0d 0a 3c 62 72 3e 0d 0a 41 6c 73 6f 20 69 m...<br>..Also i
15ba0 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 54 53 n the case of TS
15bb0 50 20 79 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 P you can eventu
15bc0 61 6c 6c 79 20 61 63 74 69 76 61 74 65 20 74 68 ally activate th
15bd0 65 20 75 73 75 61 6c 20 3c 62 3e 4f 70 74 69 6f e usual <b>Optio
15be0 6e 73 3c 2f 62 3e 20 61 6c 72 65 61 64 79 20 65 ns</b> already e
15bf0 78 70 6c 61 69 6e 65 64 20 69 6e 20 74 68 65 20 xplained in the
15c00 53 68 6f 72 74 65 73 74 50 61 74 68 20 65 78 61 ShortestPath exa
15c10 6d 70 6c 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e mples.<br>..<u>N
15c20 6f 74 65 3c 2f 75 3e 3a 54 53 50 20 70 72 6f 62 ote</u>:TSP prob
15c30 6c 65 6d 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 lems will always
15c40 20 69 6d 70 6c 79 20 75 73 69 6e 67 20 74 68 65 imply using the
15c50 20 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f <b>Dijkstra's</
15c60 62 3e 20 61 6c 67 6f 72 69 74 68 6d 2c 20 65 76 b> algorithm, ev
15c70 65 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65 en when the alte
15c80 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 rnative <b>A*</b
15c90 3e 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 > algorithm is c
15ca0 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 urrently selecte
15cb0 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a d...<verbatim>..
15cc0 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 UPDATE byfoot SE
15cd0 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 T Request = 'TSP
15ce0 27 2c 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f ', Options = 'NO
15cf0 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 LINKS';....SELE
15d00 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 CT Algorithm, Re
15d10 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 quest, Options,
15d20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 Delimiter, Route
15d30 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f Id, RouteRow, Ro
15d40 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e le, LinkRowid, N
15d50 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c odeFrom, NodeTo,
15d60 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c Cost, Geometry,
15d70 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f Name..FROM byfo
15d80 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 ot..WHERE NodeFr
15d90 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 om = 178731 AND
15da0 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 NodeTo = '183286
15db0 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 ,181999,184030,1
15dc0 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 83882,178754';..
15dd0 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 </verbatim>..The
15de0 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 following table
15df0 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c shows the resul
15e00 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 tset returned by
15e10 20 74 68 65 20 73 61 6d 65 20 54 53 50 20 71 75 the same TSP qu
15e20 65 72 79 20 75 73 65 64 20 69 6e 20 74 68 65 20 ery used in the
15e30 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 previous example
15e40 20 61 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 after enabling
15e50 74 68 65 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c the <b>NO LINKS<
15e60 2f 62 3e 20 6f 70 74 69 6f 6e 2e 20 3c 62 72 3e /b> option. <br>
15e70 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 <br>..<table bor
15e80 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d der="1" bgcolor=
15e90 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 "#ffffcf" cellsp
15ea0 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 acing="4" cellpa
15eb0 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e dding="6">..<tr>
15ec0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
15ed0 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c d0a0">Algorithm<
15ee0 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
15ef0 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 "#d0d0a0">Reques
15f00 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
15f10 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 r="#d0d0a0">Opti
15f20 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ons</th><th bgco
15f30 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 lor="#d0d0a0">De
15f40 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 limiter</th><th
15f50 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
15f60 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 ">RouteId</th><t
15f70 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
15f80 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 a0">RouteRow</th
15f90 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
15fa0 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 0d0a0">Role</th>
15fb0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
15fc0 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c d0a0">LinkRowid<
15fd0 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
15fe0 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 "#d0d0a0">NodeFr
15ff0 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c om</th><th bgcol
16000 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
16010 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f eTo</th><th bgco
16020 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f lor="#d0d0a0">Co
16030 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
16040 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f or="#d0d0a0">Geo
16050 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 metry</th><th bg
16060 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
16070 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a Name</th></tr>..
16080 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 <tr>..<td>Dijkst
16090 72 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e ra</td><td>TSP N
160a0 4e 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e N</td><td>No Lin
160b0 6b 73 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 ks</td><td>, 	
160c0 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 1;dec=44, hex=2c
160d0 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c ]</td><td al
160e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
160f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
16100 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 ht">0</td><td>TS
16110 50 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c P Solution</td><
16120 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
16130 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
16140 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
16150 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
16160 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
16170 22 72 69 67 68 74 22 3e 31 32 35 34 2e 34 33 33 "right">1254.433
16180 39 33 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 933</td><td>BLOB
16190 20 73 7a 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 sz=2000 GEOMETR
161a0 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f Y</td><td>NULL</
161b0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
161c0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
161d0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
161e0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
161f0 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 L<td align="righ
16200 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">1</td><td ali
16210 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
16220 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c ><td>Route</td><
16230 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
16240 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
16250 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
16260 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 gn="right">18403
16270 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
16280 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36 34 37 "right">176.3647
16290 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 55</td><td>BLOB
162a0 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52 59 3c sz=304 GEOMETRY<
162b0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
162c0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
162d0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
162e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
162f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
16300 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16310 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >2</td><td align
16320 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
16330 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 td>Route</td><td
16340 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
16350 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 ign="right">1840
16360 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 30</td><td align
16370 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c ="right">181999<
16380 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
16390 69 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33 38 ight">139.114938
163a0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
163b0 3d 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =496 GEOMETRY</t
163c0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
163d0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
163e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
163f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
16400 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
16410 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
16420 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">3</td><td al
16430 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
16440 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e d><td>Route</td>
16450 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
16460 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
16470 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 81999</td><td al
16480 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 ign="right">1832
16490 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 86</td><td align
164a0 3d 22 72 69 67 68 74 22 3e 32 31 37 2e 36 37 32 ="right">217.672
164b0 38 38 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 885</td><td>BLOB
164c0 20 73 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 sz=688 GEOMETRY
164d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
164e0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
164f0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
16500 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
16510 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
16520 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
16530 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 right">4</td><td
16540 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
16550 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
16560 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
16570 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
16580 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
16590 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
165a0 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 78754</td><td al
165b0 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e ign="right">378.
165c0 33 31 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 313684</td><td>B
165d0 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 LOB sz=272 GEOME
165e0 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c TRY</td><td>NULL
165f0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
16600 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
16610 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
16620 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
16630 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
16640 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e n="right">5</td>
16650 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
16660 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
16670 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
16680 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
16690 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e ght">178754</td>
166a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
166b0 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 ">183882</td><td
166c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
166d0 38 38 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 88.216831</td><t
166e0 64 3e 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 d>BLOB sz=400 GE
166f0 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e OMETRY</td><td>N
16700 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
16710 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
16720 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
16730 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
16740 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
16750 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f lign="right">6</
16760 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
16770 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
16780 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
16790 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
167a0 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f "right">183882</
167b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
167c0 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
167d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
167e0 22 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 ">154.750839</td
167f0 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 ><td>BLOB sz=240
16800 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
16810 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
16820 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 r>..</table>..<b
16830 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 r><br><br>..The
16840 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69 map below graphi
16850 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 cally shows the
16860 70 72 65 76 69 6f 75 73 20 3c 62 3e 54 53 50 3c previous <b>TSP<
16870 2f 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 /b> queries...<b
16880 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 r><br>..<img src
16890 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 ="https://www.ga
168a0 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 ia-gis.it/gaia-s
168b0 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 ins/routing-figs
168c0 2f 74 73 70 31 2e 6a 70 67 22 20 61 6c 74 3d 22 /tsp1.jpg" alt="
168d0 66 69 67 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c fig4">..<ul>..<l
168e0 69 3e 52 65 64 20 73 74 61 72 3a 20 74 68 65 20 i>Red star: the
168f0 3c 75 3e 3c 69 3e 62 61 73 65 2d 63 69 74 79 3c <u><i>base-city<
16900 2f 69 3e 3c 2f 75 3e 20 28 66 72 6f 6d 20 77 68 /i></u> (from wh
16910 65 72 65 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 ere the <u><i>sa
16920 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 lesman</i></u>)
16930 62 65 67 69 6e 73 20 68 69 73 2f 68 65 72 20 74 begins his/her t
16940 72 69 70 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 rip.</li>..<li>G
16950 72 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 3c reen dots: the <
16960 75 3e 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 3c u><i>cities</i><
16970 2f 75 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65 /u> to be visite
16980 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c d.</li>..<li>Yel
16990 6c 6f 77 20 6c 69 6e 65 3a 20 74 68 65 20 54 53 low line: the TS
169a0 50 20 73 6f 6c 75 74 69 6f 6e 20 28 74 68 61 74 P solution (that
169b0 20 69 73 20 61 6c 77 61 79 73 20 61 20 63 69 72 is always a cir
169c0 63 75 6c 61 72 20 70 61 74 68 29 2e 3c 2f 6c 69 cular path).</li
169d0 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 >..</ul><br>..<t
169e0 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 able bgcolor="#f
169f0 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 fb060" cellspaci
16a00 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 ng="10" cellpadd
16a10 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e ing="6"><tr><td>
16a20 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 ..<h3>Warning: h
16a30 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 ow to correctly
16a40 68 61 6e 64 6c 69 6e 67 20 54 53 50 20 72 65 73 handling TSP res
16a50 75 6c 74 73 65 74 73 20 77 69 74 68 20 73 70 61 ultsets with spa
16a60 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 68 33 3e tialite_gui</h3>
16a70 0d 0a 59 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 ..You should nev
16a80 65 72 20 66 6f 72 67 65 74 20 6f 72 20 6f 76 65 er forget or ove
16a90 72 6c 6f 6f 6b 20 74 68 61 74 20 62 6f 74 68 20 rlook that both
16aa0 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 61 6e <b>TSP NN</b> an
16ab0 64 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 d <b>TSP GA</b>
16ac0 61 72 65 20 3c 75 3e 3c 69 3e 68 65 75 72 69 73 are <u><i>heuris
16ad0 74 69 63 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f tic algorithms</
16ae0 69 3e 3c 2f 75 3e 20 68 65 61 76 69 6c 79 20 72 i></u> heavily r
16af0 65 6c 79 69 6e 67 20 6f 6e 20 3c 75 3e 3c 69 3e elying on <u><i>
16b00 72 61 6e 64 6f 6d 3c 69 3e 3c 2f 75 3e 20 63 68 random<i></u> ch
16b10 6f 69 63 65 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 oices.<br>..This
16b20 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 68 61 could easily ha
16b30 76 65 20 74 68 65 20 70 72 61 63 74 69 63 61 6c ve the practical
16b40 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 74 68 61 consequence tha
16b50 74 20 72 65 73 6f 6c 76 69 6e 67 20 74 77 69 63 t resolving twic
16b60 65 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20 e (or even more
16b70 74 69 6d 65 73 29 20 74 68 65 20 73 61 6d 65 20 times) the same
16b80 69 64 65 6e 74 69 63 61 6c 20 54 53 50 20 71 75 identical TSP qu
16b90 65 72 79 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 ery could eventu
16ba0 61 6c 6c 79 20 72 65 74 75 72 6e 20 64 69 66 66 ally return diff
16bb0 65 72 65 6e 74 20 72 65 73 75 6c 74 73 65 74 73 erent resultsets
16bc0 2e 3c 62 72 3e 0d 0a 54 68 65 72 65 20 69 73 20 .<br>..There is
16bd0 6e 6f 74 68 69 6e 67 20 69 6e 74 72 69 6e 73 69 nothing intrinsi
16be0 63 61 6c 6c 79 20 77 72 6f 6e 67 20 69 6e 20 74 cally wrong in t
16bf0 68 69 73 2c 20 69 74 20 73 69 6d 70 6c 79 20 69 his, it simply i
16c00 73 20 61 20 64 69 72 65 63 74 20 63 6f 6e 73 65 s a direct conse
16c10 71 75 65 6e 63 65 20 6f 66 20 75 73 69 6e 67 20 quence of using
16c20 3c 75 3e 3c 69 3e 72 61 6e 64 6f 6d 6e 65 73 73 <u><i>randomness
16c30 3c 2f 69 3e 3c 2f 75 3e 3b 20 77 65 20 61 72 65 </i></u>; we are
16c40 20 73 69 6d 70 6c 79 20 62 61 72 67 61 69 6e 69 simply bargaini
16c50 6e 67 20 3c 62 3e 65 78 61 63 74 6e 65 73 73 3c ng <b>exactness<
16c60 2f 62 3e 20 61 6e 64 20 3c 62 3e 72 65 70 72 6f /b> and <b>repro
16c70 64 75 63 69 62 69 6c 69 74 79 3c 2f 62 3e 20 66 ducibility</b> f
16c80 6f 72 20 3c 62 3e 71 75 69 63 6b 6e 65 73 73 3c or <b>quickness<
16c90 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 /b>.<br><br>..<b
16ca0 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c >spatialite_gui<
16cb0 2f 62 3e 20 6f 6e 20 69 74 73 20 6f 77 6e 20 61 /b> on its own a
16cc0 64 6f 70 74 73 20 61 20 3c 62 3e 70 61 67 65 64 dopts a <b>paged
16cd0 20 73 74 72 61 74 65 67 79 3c 2f 62 3e 20 77 68 strategy</b> wh
16ce0 65 6e 20 73 68 6f 77 69 6e 67 20 68 75 67 65 20 en showing huge
16cf0 72 65 73 75 6c 74 73 65 74 73 3b 20 74 68 69 73 resultsets; this
16d00 20 72 65 71 75 69 72 65 73 20 72 65 70 65 61 74 requires repeat
16d10 69 6e 67 20 61 67 61 69 6e 20 74 68 65 20 69 6e ing again the in
16d20 69 74 69 61 6c 20 53 51 4c 20 71 75 65 72 79 20 itial SQL query
16d30 65 61 63 68 20 74 69 6d 65 20 74 68 61 74 20 61 each time that a
16d40 20 3c 62 3e 6e 65 77 20 70 61 67 65 20 6f 66 20 <b>new page of
16d50 35 30 30 20 72 6f 77 73 3c 2f 62 3e 20 68 61 73 500 rows</b> has
16d60 20 74 6f 20 62 65 20 73 68 6f 77 6e 20 6f 6e 20 to be shown on
16d70 74 68 65 20 63 75 72 72 65 6e 74 20 77 69 6e 64 the current wind
16d80 6f 77 20 70 61 6e 65 6c 2e 3c 62 72 3e 0d 0a 54 ow panel.<br>..T
16d90 68 65 20 74 77 6f 20 74 68 69 6e 67 73 20 64 6f he two things do
16da0 6e 27 74 20 67 6f 20 74 6f 67 65 74 68 65 72 20 n't go together
16db0 77 65 6c 6c 3b 20 73 6f 20 64 6f 6e 27 74 20 62 well; so don't b
16dc0 65 20 73 75 72 70 72 69 73 65 64 20 77 68 65 6e e surprised when
16dd0 20 65 76 65 6e 74 75 61 6c 6c 79 20 64 69 73 63 eventually disc
16de0 6f 76 65 72 69 6e 67 20 74 68 61 74 20 3c 62 3e overing that <b>
16df0 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f spatialite_gui</
16e00 62 3e 20 77 69 6c 6c 20 62 65 68 61 76 65 20 62 b> will behave b
16e10 69 7a 61 72 72 65 6c 79 20 77 68 69 6c 65 20 70 izarrely while p
16e20 72 65 73 65 6e 74 69 6e 67 20 73 6f 6d 65 20 72 resenting some r
16e30 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 esultset returne
16e40 64 20 62 79 20 61 20 54 53 50 20 71 75 65 72 79 d by a TSP query
16e50 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a . ..<verbatim>..
16e60 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 UPDATE byfoot SE
16e70 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 T Request = 'TSP
16e80 27 3b 0d 0a 0d 0a 43 52 45 41 54 45 20 54 41 42 ';....CREATE TAB
16e90 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 LE my_tsp_soluti
16ea0 6f 6e 20 41 53 0d 0a 53 45 4c 45 43 54 20 41 6c on AS..SELECT Al
16eb0 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 gorithm, Request
16ec0 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d , Options, Delim
16ed0 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 iter, RouteId, R
16ee0 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c outeRow, Role, L
16ef0 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 inkRowid, NodeFr
16f00 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 om, NodeTo, Cost
16f10 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 , Geometry, Name
16f20 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 ..FROM byfoot..W
16f30 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 HERE NodeFrom =
16f40 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 178731 AND NodeT
16f50 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 o = '183286,1819
16f60 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 99,184030,183882
16f70 2c 31 37 38 37 35 34 27 3b 0d 0a 0d 0a 2e 2e 2e ,178754';.......
16f80 20 20 3c 6e 6f 77 20 71 75 65 72 79 20 22 6d 79 <now query "my
16f90 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 22 20 75 _tsp_solution" u
16fa0 73 69 6e 67 20 73 70 61 74 69 61 6c 69 74 65 5f sing spatialite_
16fb0 67 75 69 3e 20 20 2e 2e 2e 0d 0a 0d 0a 44 52 4f gui> .......DRO
16fc0 50 20 54 41 42 4c 45 20 6d 79 5f 74 73 70 5f 73 P TABLE my_tsp_s
16fd0 6f 6c 75 74 69 6f 6e 3b 0d 0a 3c 2f 76 65 72 62 olution;..</verb
16fe0 61 74 69 6d 3e 0d 0a 3c 75 3e 48 69 6e 74 3c 2f atim>..<u>Hint</
16ff0 75 3e 3a 20 72 65 73 6f 6c 76 69 6e 67 20 74 68 u>: resolving th
17000 69 73 20 70 75 7a 7a 6c 69 6e 67 20 69 73 73 75 is puzzling issu
17010 65 20 69 73 20 68 6f 77 65 76 65 72 20 62 61 73 e is however bas
17020 69 63 61 6c 6c 79 20 73 69 6d 70 6c 65 3a 0d 0a ically simple:..
17030 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 73 69 <ol>..<li>you si
17040 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 74 61 6b mply have to tak
17050 65 20 61 20 3c 62 3e 73 74 61 74 69 63 20 73 6e e a <b>static sn
17060 61 70 73 68 6f 74 3c 2f 62 3e 20 6f 66 20 79 6f apshot</b> of yo
17070 75 72 20 54 53 50 20 72 65 73 75 6c 74 73 65 74 ur TSP resultset
17080 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 3c 62 by using the <b
17090 3e 43 52 45 41 54 45 20 54 41 42 4c 45 20 3c 69 >CREATE TABLE <i
170a0 3e 6e 61 6d 65 3c 2f 69 3e 20 41 53 20 3c 69 3e >name</i> AS <i>
170b0 54 53 50 20 71 75 65 72 79 3c 69 3e 3c 2f 62 3e TSP query<i></b>
170c0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e .</li>..<li>then
170d0 20 79 6f 75 20 63 61 6e 20 66 72 65 65 6c 79 20 you can freely
170e0 65 78 61 6d 69 6e 65 20 74 68 65 20 61 62 6f 76 examine the abov
170f0 65 20 73 6e 61 70 73 68 6f 74 2e 3c 2f 6c 69 3e e snapshot.</li>
17100 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 6c 6c ..<li>and finall
17110 79 20 79 6f 75 20 63 61 6e 20 64 75 6c 79 20 3c y you can duly <
17120 62 3e 44 52 4f 50 3c 2f 62 3e 20 74 68 65 20 73 b>DROP</b> the s
17130 6e 61 70 73 68 6f 74 20 6f 6e 63 65 20 69 74 27 napshot once it'
17140 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 75 73 65 66 s no longer usef
17150 75 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d ul.</li>..</ol>.
17160 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 .</td></tr>..</t
17170 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 able>..<br>..<ta
17180 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 ble bgcolor="#c0
17190 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e ffc0" cellspacin
171a0 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 g="10" cellpaddi
171b0 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d ng="6"><tr><td>.
171c0 0a 3c 68 33 3e 4d 6f 72 65 20 61 62 6f 75 74 20 .<h3>More about
171d0 4c 69 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69 Linear Referenci
171e0 6e 67 20 61 6e 64 20 56 69 72 74 75 61 6c 52 6f ng and VirtualRo
171f0 75 74 69 6e 67 20 4c 69 6e 65 73 74 72 69 6e 67 uting Linestring
17200 73 3c 2f 68 33 3e 20 0d 0a 59 6f 75 20 68 61 76 s</h3> ..You hav
17210 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 e already seen i
17220 6e 20 61 20 70 72 65 76 69 6f 75 73 20 65 78 61 n a previous exa
17230 6d 70 6c 65 20 74 68 61 74 20 61 6c 6c 20 4c 49 mple that all LI
17240 4e 45 53 54 52 49 4e 47 73 20 63 72 65 61 74 65 NESTRINGs create
17250 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 d by VirtualRout
17260 69 6e 67 20 73 75 70 70 6f 72 74 20 74 68 65 20 ing support the
17270 3c 62 3e 4d 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e <b>M</b> (<b><i>
17280 6d 65 61 73 75 72 65 3c 2f 69 3e 3c 2f 62 3e 29 measure</i></b>)
17290 20 63 6f 6f 72 64 69 6e 61 74 65 20 69 6e 74 65 coordinate inte
172a0 6e 64 65 64 20 61 73 20 61 20 3c 62 3e 70 72 6f nded as a <b>pro
172b0 67 72 65 73 73 69 76 65 20 63 6f 73 74 3c 2f 62 gressive cost</b
172c0 3e 20 66 6f 72 20 65 61 63 68 20 76 65 72 74 65 > for each verte
172d0 78 2e 20 41 6e 64 20 79 6f 75 20 61 6c 72 65 61 x. And you alrea
172e0 64 79 20 6b 6e 6f 77 20 74 68 65 20 74 68 65 79 dy know the they
172f0 20 63 61 6e 20 73 75 70 70 6f 72 74 20 3c 62 3e can support <b>
17300 3c 69 3e 6c 69 6e 65 61 72 20 72 65 66 65 72 65 <i>linear refere
17310 6e 63 69 6e 67 3c 2f 69 3e 3c 2f 62 3e 20 28 3c ncing</i></b> (<
17320 62 3e 4c 52 3c 2f 62 3e 29 20 53 51 4c 20 66 75 b>LR</b>) SQL fu
17330 6e 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 4c 65 nctions.<br>..Le
17340 74 27 73 20 6e 6f 77 20 67 6f 20 69 6e 20 66 75 t's now go in fu
17350 72 74 68 65 72 20 64 65 70 74 68 2e 0d 0a 3c 68 rther depth...<h
17360 33 3e 54 72 61 6a 65 63 74 6f 72 79 20 6f 62 6a 3>Trajectory obj
17370 65 63 74 73 3c 2f 68 33 3e 0d 0a 41 20 3c 62 3e ects</h3>..A <b>
17380 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62 3e 20 69 Trajectory</b> i
17390 73 20 61 6e 79 20 4c 69 6e 65 73 74 72 69 6e 67 s any Linestring
173a0 20 73 75 70 70 6f 72 74 69 6e 67 20 3c 62 3e 4d supporting <b>M
173b0 20 63 6f 6f 72 64 69 6e 61 74 65 73 3c 2f 62 3e coordinates</b>
173c0 20 77 69 74 68 20 61 20 63 6f 6e 74 69 6e 75 6f with a continuo
173d0 75 73 6c 79 20 69 6e 63 72 65 61 73 69 6e 67 20 usly increasing
173e0 74 72 65 6e 64 2e 3c 62 72 3e 0d 0a 49 6e 20 73 trend.<br>..In s
173f0 69 6d 70 6c 65 72 20 77 6f 72 64 73 2c 20 74 68 impler words, th
17400 65 20 3c 62 3e 4d 2d 76 61 6c 75 65 3c 2f 62 3e e <b>M-value</b>
17410 20 6f 66 20 65 61 63 68 20 76 65 72 74 65 78 20 of each vertex
17420 28 65 78 63 65 70 74 20 74 68 65 20 6c 61 73 74 (except the last
17430 20 6f 6e 65 29 20 6d 75 73 74 20 62 65 20 3c 62 one) must be <b
17440 3e 6c 65 73 73 65 72 3c 2f 62 3e 20 74 68 61 6e >lesser</b> than
17450 20 74 68 65 20 4d 2d 56 61 6c 75 65 20 6f 66 20 the M-Value of
17460 74 68 65 20 6e 65 78 74 20 76 65 72 74 65 78 2e the next vertex.
17470 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 ..<verbatim>..SE
17480 4c 45 43 54 20 2a 20 46 52 4f 4d 20 6d 79 5f 74 LECT * FROM my_t
17490 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 57 48 45 52 sp_solution WHER
174a0 45 20 53 54 5f 49 73 56 61 6c 69 64 54 72 61 6a E ST_IsValidTraj
174b0 65 63 74 6f 72 79 28 67 65 6f 6d 65 74 72 79 29 ectory(geometry)
174c0 20 3d 20 31 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d = 1;..---------
174d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 3c ----------..1..<
174e0 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 73 20 79 /verbatim>..As y
174f0 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 63 68 ou can easily ch
17500 65 63 6b 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c eck by calling <
17510 62 3e 53 54 5f 49 73 56 61 6c 69 64 54 72 61 6a b>ST_IsValidTraj
17520 65 63 74 6f 72 79 28 29 3c 2f 62 3e 20 65 76 65 ectory()</b> eve
17530 72 79 20 4c 69 6e 65 73 74 72 69 6e 67 20 63 72 ry Linestring cr
17540 65 61 74 65 64 20 62 79 20 56 69 72 74 75 61 6c eated by Virtual
17550 52 6f 75 74 69 6e 67 20 69 73 20 61 20 3c 62 3e Routing is a <b>
17560 76 61 6c 69 64 20 54 72 61 6a 65 63 74 6f 72 79 valid Trajectory
17570 3c 2f 62 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d </b>...<verbatim
17580 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 54 72 61 >..SELECT ST_Tra
17590 6a 65 63 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61 jectoryInterpola
175a0 74 65 50 6f 69 6e 74 28 47 65 6f 6d 65 74 72 79 tePoint(Geometry
175b0 2c 20 31 30 30 2e 30 29 0d 0a 46 52 4f 4d 20 6d , 100.0)..FROM m
175c0 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 0d 0a y_tsp_solution..
175d0 57 48 45 52 45 20 52 6f 75 74 65 49 64 20 3d 20 WHERE RouteId =
175e0 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0;..</verbatim>.
175f0 0a 53 6f 20 79 6f 75 20 6a 75 73 74 20 68 61 76 .So you just hav
17600 65 20 74 6f 20 63 61 6c 6c 20 3c 62 3e 53 54 5f e to call <b>ST_
17610 54 72 61 6a 65 63 74 6f 72 79 49 6e 74 65 72 70 TrajectoryInterp
17620 6f 6c 61 74 65 50 6f 69 6e 74 28 29 3c 2f 62 3e olatePoint()</b>
17630 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 63 72 65 in order to cre
17640 61 74 65 20 61 20 50 4f 49 4e 54 20 70 72 65 63 ate a POINT prec
17650 69 73 65 6c 79 20 6c 6f 63 61 74 65 64 20 6f 6e isely located on
17660 20 74 68 65 20 4c 69 6e 65 73 74 72 69 6e 67 20 the Linestring
17670 61 74 20 74 68 65 20 67 69 76 65 6e 20 3c 62 3e at the given <b>
17680 63 6f 73 74 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 3c cost</b>...<br><
17690 62 72 3e 3c 68 72 3e 3c 62 72 3e 3c 62 72 3e 0d br><hr><br><br>.
176a0 0a 54 68 65 20 73 69 64 65 20 6d 61 70 20 67 72 .The side map gr
176b0 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 aphically shows
176c0 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 70 6f the estimated po
176d0 73 69 74 69 6f 6e 73 20 65 76 65 72 79 20 31 30 sitions every 10
176e0 30 6d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 20 0m assuming the
176f0 73 61 6d 65 20 70 61 74 68 20 72 65 74 75 72 6e same path return
17700 65 64 20 62 79 20 74 68 65 20 6c 61 74 65 73 74 ed by the latest
17710 20 54 53 50 20 71 75 65 72 79 2e 0d 0a 3c 2f 74 TSP query...</t
17720 64 3e 3c 74 64 3e 20 20 20 20 20 20 20 20 20 20 d><td>
17730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ada0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1add0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ade0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1baf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1beb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1caa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1caf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ceb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ced0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1daa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1daf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1deb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ded0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1def0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ead0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ede0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1faf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe60 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 3c ..<
1fe70 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f img src="https:/
1fe80 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 /www.gaia-gis.it
1fe90 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 /gaia-sins/routi
1fea0 6e 67 2d 66 69 67 73 2f 74 73 70 32 2e 6a 70 67 ng-figs/tsp2.jpg
1feb0 22 20 61 6c 74 3d 22 66 69 67 35 22 3e 0d 0a 3c " alt="fig5">..<
1fec0 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 /td></tr></table
1fed0 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 >..<br><br>..<hr
1fee0 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 ><br>..<h1><a na
1fef0 6d 65 3d 22 70 32 70 22 3e 38 20 2d 20 53 6f 6c me="p2p">8 - Sol
1ff00 76 69 6e 67 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f ving Point-to-Po
1ff10 69 6e 74 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e int problems</a>
1ff20 3c 2f 68 31 3e 0d 0a 41 20 3c 62 3e 50 6f 69 6e </h1>..A <b>Poin
1ff30 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 t-to-Point</b> q
1ff40 75 65 72 79 20 69 73 20 76 65 72 79 20 73 69 6d uery is very sim
1ff50 69 6c 61 72 20 74 6f 20 61 20 6d 6f 73 74 20 75 ilar to a most u
1ff60 73 75 61 6c 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 sual <b>single-d
1ff70 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 estination Short
1ff80 65 73 74 20 50 61 74 68 3c 2f 62 3e 20 71 75 65 est Path</b> que
1ff90 72 79 2c 20 65 78 63 65 70 74 20 74 68 61 74 3a ry, except that:
1ffa0 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 20 63 6c ..<ul>..<li>A cl
1ffb0 61 73 73 69 63 20 53 68 6f 72 74 65 73 74 20 50 assic Shortest P
1ffc0 61 74 68 20 71 75 65 72 79 20 72 65 71 75 69 72 ath query requir
1ffd0 65 73 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 es to specify a
1ffe0 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 <b>NodeFrom</b>
1fff0 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 (<u><i>origin</i
20000 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 20 3c 62 3e ></u>) and a <b>
20010 4e 6f 64 65 54 6f 3c 2f 62 3e 20 28 3c 75 3e 3c NodeTo</b> (<u><
20020 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 i>destination</i
20030 3e 3c 2f 75 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c ></u>).</li>..<l
20040 69 3e 41 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 i>A Point-to-Poi
20050 6e 74 20 71 75 65 72 79 20 68 61 73 20 6d 6f 72 nt query has mor
20060 65 20 72 65 6c 61 78 65 64 20 72 65 71 75 69 73 e relaxed requis
20070 69 74 65 73 2c 20 61 6e 64 20 6a 75 73 74 20 72 ites, and just r
20080 65 71 75 69 72 65 73 20 74 6f 20 73 70 65 63 69 equires to speci
20090 66 79 20 61 20 3c 62 3e 50 6f 69 6e 74 46 72 6f fy a <b>PointFro
200a0 6d 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6f 72 69 m</b> (<u><i>ori
200b0 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 61 6e 64 gin</i></u>) and
200c0 20 61 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 a <b>PointTo</b
200d0 3e 20 28 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 > (<u><i>destina
200e0 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c 62 tion</i></u>).<b
200f0 72 3e 0d 0a 42 6f 74 68 20 3c 62 3e 50 6f 69 6e r>..Both <b>Poin
20100 74 73 3c 2f 62 3e 20 63 61 6e 20 62 65 20 66 72 ts</b> can be fr
20110 65 65 6c 79 20 70 6f 73 69 74 69 6f 6e 65 64 20 eely positioned
20120 65 76 65 72 79 77 68 65 72 65 20 6f 6e 20 61 20 everywhere on a
20130 6d 61 70 2c 20 61 6e 64 20 61 72 65 20 6e 6f 74 map, and are not
20140 20 72 65 71 75 69 72 65 64 20 74 6f 20 70 72 65 required to pre
20150 63 69 73 65 6c 79 20 69 6e 74 65 72 73 65 63 74 cisely intersect
20160 20 6e 65 69 74 68 65 72 20 61 20 3c 62 3e 4e 6f neither a <b>No
20170 64 65 3c 2f 62 3e 20 6e 6f 72 20 61 20 3c 62 3e de</b> nor a <b>
20180 4c 69 6e 6b 3c 2f 62 3e 20 6f 66 20 74 68 65 20 Link</b> of the
20190 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 underlaying Netw
201a0 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20 50 6f ork.<br>..The Po
201b0 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 27 73 20 3c int-to-Point's <
201c0 75 3e 3c 69 3e 69 6e 74 65 72 6e 61 6c 20 6c 6f u><i>internal lo
201d0 67 69 63 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c gic</i></u> will
201e0 20 74 68 65 6e 20 61 75 74 6f 6d 61 74 69 63 61 then automatica
201f0 6c 6c 79 20 69 64 65 6e 74 69 66 79 20 28 69 66 lly identify (if
20200 20 70 6f 73 73 69 62 6c 65 29 20 74 68 65 20 61 possible) the a
20210 70 70 72 6f 70 72 69 61 74 65 20 4e 6f 64 65 73 ppropriate Nodes
20220 20 66 6f 72 20 63 6f 6d 70 75 74 69 6e 67 20 61 for computing a
20230 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 73 Shortest Path s
20240 6f 6c 75 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 olution.<br>..<u
20250 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 65 20 74 >Note</u>: the t
20260 77 6f 20 50 6f 69 6e 74 73 20 3c 62 3e 6d 75 73 wo Points <b>mus
20270 74 3c 2f 62 3e 20 62 65 20 69 6e 20 74 68 65 20 t</b> be in the
20280 73 61 6d 65 20 3c 62 3e 53 52 49 44 3c 2f 62 3e same <b>SRID</b>
20290 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 of the underlay
202a0 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 ing Network.</li
202b0 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 48 6f >..</ul>..<h3>Ho
202c0 77 20 69 74 20 70 72 61 63 74 69 63 61 6c 6c 79 w it practically
202d0 20 77 6f 72 6b 73 3c 2f 68 33 3e 0d 0a 3c 6f 6c works</h3>..<ol
202e0 3e 0d 0a 3c 6c 69 3e 61 20 66 69 72 73 74 20 3c >..<li>a first <
202f0 75 3e 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61 u><i>spatial sea
20300 72 63 68 3c 2f 69 3e 3c 2f 75 3e 20 62 61 73 65 rch</i></u> base
20310 64 20 6f 6e 20 74 68 65 20 3c 62 3e 50 6f 69 6e d on the <b>Poin
20320 74 46 72 6f 6d 3c 2f 62 3e 20 77 69 6c 6c 20 61 tFrom</b> will a
20330 74 74 65 6d 70 74 20 74 6f 20 69 64 65 6e 74 69 ttempt to identi
20340 66 79 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c fy all <b>Links<
20350 2f 62 3e 20 66 61 6c 6c 69 6e 67 20 77 69 74 68 /b> falling with
20360 69 6e 20 61 20 67 69 76 65 6e 20 3c 62 3e 74 6f in a given <b>to
20370 6c 65 72 61 6e 63 65 20 72 61 64 69 75 73 3c 2f lerance radius</
20380 62 3e 20 66 72 6f 6d 20 74 68 65 20 50 6f 69 6e b> from the Poin
20390 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 73 t.</li>..<li>a s
203a0 65 63 6f 6e 64 20 73 69 6d 69 6c 61 72 20 73 70 econd similar sp
203b0 61 74 69 61 6c 20 73 65 61 72 63 68 20 77 69 6c atial search wil
203c0 6c 20 61 74 74 65 6d 70 74 20 74 6f 20 69 64 65 l attempt to ide
203d0 6e 74 69 66 79 20 61 6c 6c 20 3c 62 3e 4c 69 6e ntify all <b>Lin
203e0 6b 73 3c 2f 62 3e 20 72 65 6c 61 74 65 64 20 74 ks</b> related t
203f0 6f 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f o the <b>PointTo
20400 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </b>.</li>..<li>
20410 61 6c 6c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e all <b>Nodes</b>
20420 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 6e belonging to an
20430 79 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 69 64 y <b>Link</b> id
20440 65 6e 74 69 66 69 65 64 20 62 79 20 74 68 65 20 entified by the
20450 66 69 72 73 74 20 73 70 61 74 69 61 6c 20 73 65 first spatial se
20460 61 72 63 68 20 77 69 6c 6c 20 62 65 20 63 6f 6e arch will be con
20470 73 69 64 65 72 65 64 20 61 73 20 70 6f 73 73 69 sidered as possi
20480 62 6c 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 20 ble <b>NodeFrom
20490 63 61 6e 64 69 64 61 74 65 73 3c 2f 62 3e 2e 3c candidates</b>.<
204a0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 73 79 /li>..<li>and sy
204b0 6d 6d 65 74 72 69 63 61 6c 6c 79 2c 20 61 6c 6c mmetrically, all
204c0 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 62 65 <b>Nodes</b> be
204d0 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 6e 79 20 3c longing to any <
204e0 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 69 64 65 6e 74 b>Link</b> ident
204f0 69 66 69 65 64 20 62 79 20 74 68 65 20 73 65 63 ified by the sec
20500 6f 6e 64 20 73 70 61 74 69 61 6c 20 73 65 61 72 ond spatial sear
20510 63 68 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69 ch will be consi
20520 64 65 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c dered as possibl
20530 65 20 3c 62 3e 4e 6f 64 65 54 6f 20 63 61 6e 64 e <b>NodeTo cand
20540 69 64 61 74 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e idates</b>.</li>
20550 0d 0a 3c 6c 69 3e 61 20 66 75 6c 6c 20 70 65 72 ..<li>a full per
20560 6d 75 74 61 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 mutation of all
20570 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 73 6f Shortest Path so
20580 6c 75 74 69 6f 6e 73 20 63 6f 6e 6e 65 63 74 69 lutions connecti
20590 6e 67 20 6f 6e 65 20 74 68 65 20 46 72 6f 6d 20 ng one the From
205a0 63 61 6e 64 69 64 61 74 65 73 20 74 6f 20 6f 6e candidates to on
205b0 65 20 6f 66 20 74 68 65 20 54 6f 20 63 61 6e 64 e of the To cand
205c0 69 64 61 74 65 73 20 77 69 6c 6c 20 62 65 20 74 idates will be t
205d0 68 65 6e 20 63 6f 6d 70 75 74 65 64 2e 3c 2f 6c hen computed.</l
205e0 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 i>..<li>and fina
205f0 6c 6c 79 20 74 68 65 20 3c 62 3e 6f 70 74 69 6d lly the <b>optim
20600 61 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e al Point-to-Poin
20610 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 77 t solution</b> w
20620 69 6c 6c 20 62 65 20 73 65 6c 65 63 74 65 64 20 ill be selected
20630 62 79 20 69 64 65 6e 74 69 66 79 69 6e 67 20 77 by identifying w
20640 68 69 63 68 20 73 70 65 63 69 66 69 63 20 63 61 hich specific ca
20650 6e 64 69 64 61 74 65 20 70 72 65 73 65 6e 74 73 ndidate presents
20660 20 74 68 65 20 3c 62 3e 6c 65 73 73 65 72 20 43 the <b>lesser C
20670 6f 73 74 3c 2f 62 3e 20 6f 66 20 74 68 65 6d 20 ost</b> of them
20680 61 6c 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e all.</li>..</ol>
20690 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 <br>..<table bgc
206a0 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63 olor="#ffb060" c
206b0 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 ellspacing="10"
206c0 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
206d0 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 42 65 <tr><td>..<h3>Be
206e0 20 61 77 61 72 65 3c 2f 68 33 3e 0d 0a 41 74 74 aware</h3>..Att
206f0 65 6d 70 74 69 6e 67 20 74 6f 20 73 6f 6c 76 65 empting to solve
20700 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 Point-to-Point
20710 71 75 65 72 69 65 73 20 73 74 72 69 63 74 6c 79 queries strictly
20720 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 61 requires that a
20730 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 n appropriate <b
20740 3e 53 70 61 74 69 61 6c 20 49 6e 64 65 78 3c 2f >Spatial Index</
20750 62 3e 20 63 61 6e 20 65 66 66 65 63 74 69 76 65 b> can effective
20760 6c 79 20 73 75 70 70 6f 72 74 20 61 6c 6c 20 4c ly support all L
20770 69 6e 6b 73 20 6f 66 20 74 68 65 20 75 6e 64 65 inks of the unde
20780 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e rlaying Network.
20790 3c 62 72 3e 0d 0a 49 66 20 73 75 63 68 20 61 20 <br>..If such a
207a0 72 65 71 75 69 73 69 74 65 20 69 73 20 6e 6f 74 requisite is not
207b0 20 73 61 74 69 73 66 69 65 64 20 74 68 65 20 61 satisfied the a
207c0 62 6f 76 65 20 6d 65 6e 74 69 6f 6e 65 64 20 3c bove mentioned <
207d0 75 3e 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61 u><i>spatial sea
207e0 72 63 68 65 73 3c 2f 69 3e 3c 2f 75 3e 20 77 69 rches</i></u> wi
207f0 6c 6c 20 6d 69 73 65 72 61 62 6c 79 20 66 61 69 ll miserably fai
20800 6c 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e l, and consequen
20810 74 6c 79 20 61 6c 6c 20 50 6f 69 6e 74 2d 74 6f tly all Point-to
20820 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 20 77 -Point queries w
20830 69 6c 6c 20 62 65 20 75 6e 61 62 6c 65 20 74 6f ill be unable to
20840 20 69 64 65 6e 74 69 66 79 20 61 6e 79 20 70 6f identify any po
20850 73 73 69 62 6c 65 20 43 61 6e 64 69 64 61 74 65 ssible Candidate
20860 20 74 6f 20 62 65 20 65 76 61 6c 75 61 74 65 64 to be evaluated
20870 2e 0d 0a 3c 68 33 3e 41 6c 77 61 79 73 20 72 65 ...<h3>Always re
20880 6d 65 6d 62 65 72 3c 2f 68 33 3e 0d 0a 43 61 72 member</h3>..Car
20890 65 66 75 6c 6c 79 20 63 68 65 63 6b 20 69 66 20 efully check if
208a0 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 53 an appropriate S
208b0 70 61 74 69 61 6c 20 49 6e 64 65 78 20 64 6f 20 patial Index do
208c0 72 65 61 6c 6c 79 20 65 78 69 73 74 73 20 62 65 really exists be
208d0 66 6f 72 65 20 61 74 74 65 6d 70 74 69 6e 67 20 fore attempting
208e0 74 6f 20 65 78 65 63 75 74 65 20 61 6e 79 20 50 to execute any P
208f0 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 oint-to-Point qu
20900 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a ery...<br><br>..
20910 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c </td></tr></tabl
20920 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 e>..<br>..<table
20930 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 bgcolor="#c0ffc
20940 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 0" cellspacing="
20950 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 10" cellpadding=
20960 22 36 22 3e 3c 74 72 3e 3c 74 64 20 61 6c 69 67 "6"><tr><td alig
20970 6e 3d 22 63 65 6e 74 65 72 22 20 63 6f 6c 73 70 n="center" colsp
20980 61 6e 3d 22 32 22 3e 0d 0a 3c 68 32 3e 42 61 73 an="2">..<h2>Bas
20990 69 63 20 63 6f 6e 63 65 70 74 73 2c 20 74 65 63 ic concepts, tec
209a0 68 6e 69 63 61 6c 20 64 65 74 61 69 6c 73 20 61 hnical details a
209b0 6e 64 20 72 65 6c 61 74 65 64 20 67 6c 6f 73 73 nd related gloss
209c0 61 72 79 3c 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c ary</h2>..</td><
209d0 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a /tr>..<tr><td>..
209e0 54 68 65 20 73 69 64 65 20 66 69 67 75 72 65 20 The side figure
209f0 73 68 6f 77 73 20 61 20 68 79 70 6f 74 68 65 74 shows a hypothet
20a00 69 63 61 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f ical Point-to-Po
20a10 69 6e 74 20 73 6f 6c 75 74 69 6f 6e 20 61 6c 6d int solution alm
20a20 6f 73 74 20 70 72 65 63 69 73 65 6c 79 20 62 61 ost precisely ba
20a30 73 65 64 20 6f 6e 20 74 68 65 20 66 6f 6c 6c 6f sed on the follo
20a40 77 69 6e 67 20 73 65 71 75 65 6e 63 65 20 6f 66 wing sequence of
20a50 20 4e 6f 64 65 73 3a 3c 62 72 3e 0d 0a 3c 62 3e Nodes:<br>..<b>
20a60 3c 69 3e 4e 31 2d 4e 32 2d 4e 33 2d 4e 34 2d 4e <i>N1-N2-N3-N4-N
20a70 35 2d 4e 36 2d 4e 37 2d 4e 38 2d 4e 39 2d 4e 31 5-N6-N7-N8-N9-N1
20a80 30 2d 4e 31 31 2d 4e 31 32 2d 4e 31 33 2d 4e 31 0-N11-N12-N13-N1
20a90 34 2d 4e 31 35 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 4-N15</i></b>..<
20aa0 62 72 3e 3c 62 72 3e 0d 0a 48 6f 77 65 76 65 72 br><br>..However
20ab0 2c 20 61 73 20 79 6f 75 20 63 61 6e 20 65 61 73 , as you can eas
20ac0 69 6c 79 20 6e 6f 74 69 63 65 2c 20 74 68 65 72 ily notice, ther
20ad0 65 20 61 72 65 20 74 77 6f 20 73 74 72 69 6b 69 e are two striki
20ae0 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 3a 0d 0a ng exceptions:..
20af0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 3c 62 <ul>..<li>The <b
20b00 3e 66 69 72 73 74 3c 2f 62 3e 20 4c 69 6e 6b 20 >first</b> Link
20b10 28 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 4e (connecting <b>N
20b20 31 3c 2f 62 3e 20 74 6f 20 3c 62 3e 4e 32 3c 2f 1</b> to <b>N2</
20b30 62 3e 29 20 69 73 20 6e 6f 74 20 63 6f 6d 70 6c b>) is not compl
20b40 65 74 65 6c 79 20 72 65 71 75 69 72 65 64 20 62 etely required b
20b50 79 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e 2e 3c y the Solution.<
20b60 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 6d 61 6c br>..Just a smal
20b70 6c 20 70 6f 72 74 69 6f 6e 20 28 64 72 61 77 6e l portion (drawn
20b80 20 69 6e 20 72 65 64 29 20 6f 66 20 74 68 69 73 in red) of this
20b90 20 4c 69 6e 6b 20 69 73 20 65 66 66 65 63 74 69 Link is effecti
20ba0 76 65 6c 79 20 72 65 71 75 69 72 65 64 2e 3c 62 vely required.<b
20bb0 72 3e 0d 0a 54 68 65 20 72 65 6d 61 69 6e 69 6e r>..The remainin
20bc0 67 20 70 61 72 74 20 28 64 72 61 77 6e 20 69 6e g part (drawn in
20bd0 20 67 72 61 79 29 20 69 73 6e 27 74 20 63 6f 76 gray) isn't cov
20be0 65 72 65 64 20 62 79 20 74 68 65 20 53 6f 6c 75 ered by the Solu
20bf0 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e tion.</li>..<li>
20c00 45 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 Exactly the same
20c10 20 69 73 20 66 6f 72 20 74 68 65 20 3c 62 3e 6c is for the <b>l
20c20 61 73 74 3c 2f 62 3e 20 4c 69 6e 6b 20 63 6f 6e ast</b> Link con
20c30 6e 65 63 74 69 6e 67 20 3c 62 3e 4e 31 34 3c 2f necting <b>N14</
20c40 62 3e 20 74 6f 20 3c 62 3e 4e 31 35 3c 2f 62 3e b> to <b>N15</b>
20c50 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 61 74 .</li>..<li>That
20c60 27 73 20 6e 6f 74 20 61 6c 6c 3a 20 74 68 65 72 's not all: ther
20c70 65 20 61 72 65 20 74 77 6f 20 73 68 6f 72 74 20 e are two short
20c80 73 65 67 6d 65 6e 74 73 20 28 64 72 61 77 6e 20 segments (drawn
20c90 69 6e 20 67 72 65 65 6e 29 20 63 6f 6e 6e 65 63 in green) connec
20ca0 74 69 6e 67 20 3c 62 3e 50 66 72 6f 6d 3c 2f 62 ting <b>Pfrom</b
20cb0 3e 20 61 6e 64 20 3c 62 3e 50 74 6f 3c 2f 62 3e > and <b>Pto</b>
20cc0 20 28 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e 20 (<i>origin</i>
20cd0 61 6e 64 20 3c 69 3e 64 65 73 74 69 6e 61 74 69 and <i>destinati
20ce0 6f 6e 3c 2f 69 3e 20 50 6f 69 6e 74 73 29 20 72 on</i> Points) r
20cf0 65 73 70 65 63 74 69 76 65 6c 79 20 74 6f 20 74 espectively to t
20d00 68 65 20 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20 he <b>first</b>
20d10 61 6e 64 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e 20 and <b>last</b>
20d20 70 61 72 74 69 61 6c 20 4c 69 6e 6b 73 2e 3c 2f partial Links.</
20d30 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e li>..</ul>..<br>
20d40 0d 0a 41 6c 6c 20 74 68 69 73 20 73 68 6f 75 6c ..All this shoul
20d50 64 6e 27 74 20 62 65 20 75 6e 65 78 70 65 63 74 dn't be unexpect
20d60 65 64 2c 20 62 65 63 61 75 73 65 20 69 74 20 73 ed, because it s
20d70 69 6d 70 6c 79 20 69 73 20 74 68 65 20 6d 6f 73 imply is the mos
20d80 74 20 6f 62 76 69 6f 75 73 20 64 69 72 65 63 74 t obvious direct
20d90 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 consequence of
20da0 74 68 65 20 76 65 72 79 20 62 61 73 69 63 20 61 the very basic a
20db0 73 73 75 6d 70 74 69 6f 6e 73 20 61 74 20 74 68 ssumptions at th
20dc0 65 20 62 61 73 69 73 20 6f 66 20 50 6f 69 6e 74 e basis of Point
20dd0 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 -to-Point querie
20de0 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4e 65 s:..<ul>..<li>Ne
20df0 69 74 68 65 72 20 74 68 65 20 3c 62 3e 50 6f 69 ither the <b>Poi
20e00 6e 74 46 72 6f 6d 3c 2f 62 3e 20 6e 6f 72 20 74 ntFrom</b> nor t
20e10 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 he <b>PointTo</b
20e20 3e 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 > are required t
20e30 6f 20 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73 o exactly inters
20e40 65 63 74 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f 62 ect a <b>Node</b
20e50 3e 2e 3c 62 72 3e 0d 0a 43 6f 6e 73 65 71 75 65 >.<br>..Conseque
20e60 6e 74 6c 79 20 74 68 65 20 3c 62 3e 66 69 72 73 ntly the <b>firs
20e70 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 73 t</b> and <b>las
20e80 74 3c 2f 62 3e 20 4c 69 6e 6b 73 20 6f 66 20 74 t</b> Links of t
20e90 68 65 20 6f 76 65 72 61 6c 6c 20 50 6f 69 6e 74 he overall Point
20ea0 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69 -to-Point Soluti
20eb0 6f 6e 20 63 6f 75 6c 64 20 62 65 20 6f 6e 6c 79 on could be only
20ec0 20 70 61 72 74 69 61 6c 6c 79 20 69 6e 76 6f 6c partially invol
20ed0 76 65 64 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69 72 ved.<br>..In Vir
20ee0 74 75 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72 67 tualRouting jarg
20ef0 6f 6e 20 74 68 65 73 65 20 74 77 6f 20 3c 75 3e on these two <u>
20f00 3c 69 3e 73 70 65 63 69 61 6c 20 69 74 65 6d 73 <i>special items
20f10 3c 2f 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65 73 </i></u> are res
20f20 70 65 63 74 69 76 65 6c 79 20 63 61 6c 6c 65 64 pectively called
20f30 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e :..<ul>..<li><b>
20f40 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 Partial Link (St
20f50 61 72 74 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c art)</b></li>..<
20f60 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 li><b>Partial Li
20f70 6e 6b 20 28 45 6e 64 29 3c 2f 62 3e 3c 2f 6c 69 nk (End)</b></li
20f80 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a >..</ul></li> ..
20f90 3c 6c 69 3e 42 6f 74 68 20 74 68 65 20 3c 62 3e <li>Both the <b>
20fa0 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 61 6e PointFrom</b> an
20fb0 64 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f d the <b>PointTo
20fc0 3c 2f 62 3e 20 63 61 6e 20 6c 65 67 69 74 69 6d </b> can legitim
20fd0 61 74 65 6c 79 20 68 61 76 65 20 61 6e 79 20 61 ately have any a
20fe0 72 62 69 74 72 61 72 79 20 70 6f 73 69 74 69 6f rbitrary positio
20ff0 6e 20 61 6e 64 20 61 72 65 20 6e 65 76 65 72 20 n and are never
21000 72 65 71 75 69 72 65 64 20 74 6f 20 65 78 61 63 required to exac
21010 74 6c 79 20 69 6e 74 65 72 73 65 63 74 20 61 20 tly intersect a
21020 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 2e 3c 62 72 3e <b>Link</b>.<br>
21030 0d 0a 54 68 69 73 20 63 61 6e 20 65 61 73 69 6c ..This can easil
21040 79 20 69 6d 70 6c 79 20 74 68 61 74 20 61 6e 20 y imply that an
21050 3c 75 3e 3c 69 3e 65 78 74 72 61 20 73 68 6f 72 <u><i>extra shor
21060 74 20 6c 65 67 3c 2f 69 3e 3c 2f 75 3e 20 63 6f t leg</i></u> co
21070 75 6c 64 20 62 65 20 72 65 71 75 69 72 65 64 20 uld be required
21080 69 6e 20 6f 72 64 65 72 20 74 6f 20 63 6f 6e 6e in order to conn
21090 65 63 74 20 74 68 65 20 46 72 6f 6d 2f 54 6f 20 ect the From/To
210a0 50 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 63 6f Points to the co
210b0 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b rresponding Link
210c0 73 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69 72 75 74 s.<br>..In Virut
210d0 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72 67 6f 6e alRouting jargon
210e0 20 74 68 65 73 65 20 74 77 6f 20 3c 75 3e 3c 69 these two <u><i
210f0 3e 73 70 65 63 69 61 6c 20 69 74 65 6d 73 3c 2f >special items</
21100 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65 73 70 65 i></u> are respe
21110 63 74 69 76 65 6c 79 20 63 61 6c 6c 65 64 3a 0d ctively called:.
21120 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e .<ul>..<li><b>In
21130 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 3c 2f gress Path</b></
21140 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72 65 li>..<li><b>Egre
21150 73 73 20 50 61 74 68 3c 2f 62 3e 3c 2f 6c 69 3e ss Path</b></li>
21160 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c ..</ul></li> ..<
21170 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 li><u>Note</u>:
21180 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 69 73 20 none of them is
21190 61 20 73 74 72 69 63 74 6c 79 20 6d 61 6e 64 61 a strictly manda
211a0 74 6f 72 79 20 69 74 65 6d 3a 0d 0a 3c 75 6c 3e tory item:..<ul>
211b0 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 49 6e 67 ..<li>the <b>Ing
211c0 72 65 73 73 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20 ress</b> and/or
211d0 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68 73 3c <b>Egress Paths<
211e0 2f 62 3e 20 61 72 65 20 6e 6f 74 20 72 65 71 75 /b> are not requ
211f0 69 72 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f ired when the co
21200 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 6f 69 6e rresponding Poin
21210 74 20 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73 t exactly inters
21220 65 63 74 73 20 61 20 4c 69 6e 6b 2e 3c 2f 6c 69 ects a Link.</li
21230 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 >..<li><b>Partia
21240 6c 20 4c 69 6e 6b 73 3c 2f 62 3e 20 28 65 69 74 l Links</b> (eit
21250 68 65 72 20 3c 62 3e 28 53 74 61 72 74 29 3c 2f her <b>(Start)</
21260 62 3e 20 6f 72 20 3c 62 3e 28 45 6e 64 28 3c 2f b> or <b>(End(</
21270 62 3e 29 20 61 72 65 20 6e 65 76 65 72 20 72 65 b>) are never re
21280 71 75 69 72 65 64 20 77 68 65 6e 20 74 68 65 20 quired when the
21290 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 6f corresponding Po
212a0 69 6e 74 20 65 78 61 63 74 6c 79 20 6d 61 74 63 int exactly matc
212b0 68 65 73 20 61 20 4e 6f 64 65 2e 3c 2f 6c 69 3e hes a Node.</li>
212c0 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f ..</ul></li>..</
212d0 75 6c 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e ul>..</td>..<td>
212e0 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 ..<img src="http
212f0 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
21300 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f .it/gaia-sins/ro
21310 75 74 69 6e 67 2d 66 69 67 73 2f 70 32 70 2d 73 uting-figs/p2p-s
21320 74 72 75 63 74 2e 70 6e 67 22 20 61 6c 74 3d 22 truct.png" alt="
21330 70 32 70 2d 73 74 72 75 63 74 22 3e 0d 0a 3c 2f p2p-struct">..</
21340 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 td></tr>..<tr><t
21350 64 3e 0d 0a 41 20 6d 6f 72 65 20 63 6f 6d 70 72 d>..A more compr
21360 65 68 65 6e 73 69 76 65 20 61 6e 64 20 64 65 74 ehensive and det
21370 61 69 6c 65 64 20 65 78 70 6c 61 6e 61 74 69 6f ailed explanatio
21380 6e 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 n based on the s
21390 69 64 65 20 66 69 67 75 72 65 3a 0d 0a 3c 75 6c ide figure:..<ul
213a0 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 31 3c 2f 62 3e >..<li><b>L1</b>
213b0 20 69 73 20 61 20 4c 69 6e 6b 20 63 6f 6e 6e 65 is a Link conne
213c0 63 74 69 6e 67 20 4e 6f 64 65 73 20 3c 62 3e 4e cting Nodes <b>N
213d0 31 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 32 3c 1</b> and <b>N2<
213e0 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c /b>.</li>..<li><
213f0 62 3e 50 74 3c 2f 62 3e 20 69 73 20 6f 6e 65 20 b>Pt</b> is one
21400 62 65 74 77 65 65 6e 20 50 6f 69 6e 74 46 72 6f between PointFro
21410 6d 20 6f 72 20 50 6f 69 6e 74 54 6f 2e 3c 2f 6c m or PointTo.</l
21420 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d i>..</ul>..<br>.
21430 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 50 .<ol>..<li>The P
21440 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 69 6e oint-to-Point in
21450 74 65 72 6e 61 6c 20 6c 6f 67 69 63 20 77 69 6c ternal logic wil
21460 6c 20 73 74 61 72 74 20 62 79 20 69 64 65 6e 74 l start by ident
21470 69 66 79 69 6e 67 20 3c 62 3e 69 3c 2f 62 3e 2c ifying <b>i</b>,
21480 0d 0a 74 68 61 74 20 69 73 20 74 68 65 20 50 6f ..that is the Po
21490 69 6e 74 20 69 6e 74 65 72 73 65 63 74 69 6e 67 int intersecting
214a0 20 3c 62 3e 4c 31 3c 2f 62 3e 20 61 6e 64 20 70 <b>L1</b> and p
214b0 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6d 69 resenting the mi
214c0 6e 69 6d 75 6d 20 64 69 73 74 61 6e 63 65 20 62 nimum distance b
214d0 65 74 77 65 65 6e 20 74 68 65 20 4c 69 6e 6b 20 etween the Link
214e0 61 6e 64 20 3c 62 3e 50 74 3c 2f 62 3e 0d 0a 28 and <b>Pt</b>..(
214f0 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f corresponding to
21500 20 74 68 65 20 72 65 73 75 6c 74 20 72 65 74 75 the result retu
21510 72 6e 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 rned by calling
21520 74 68 65 20 3c 62 3e 53 54 5f 4c 69 6e 65 5f 4c the <b>ST_Line_L
21530 6f 63 61 74 65 5f 50 6f 69 6e 74 28 29 3c 2f 62 ocate_Point()</b
21540 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 29 2e > SQL function).
21550 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4e 6f 77 20 74 </li>..<li>Now t
21560 68 65 20 4c 69 6e 6b 20 3c 62 3e 4c 31 3c 2f 62 he Link <b>L1</b
21570 3e 20 77 69 6c 6c 20 62 65 20 73 70 6c 69 74 20 > will be split
21580 69 6e 20 74 77 6f 20 68 61 6c 76 65 73 20 3c 62 in two halves <b
21590 3e 4c 31 2d 61 3c 2f 62 3e 20 61 6e 64 20 3c 62 >L1-a</b> and <b
215a0 3e 4c 31 2d 62 3c 2f 62 3e 20 61 63 63 6f 72 64 >L1-b</b> accord
215b0 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 70 6f 73 ingly to the pos
215c0 69 74 69 6f 6e 20 6f 66 20 3c 62 3e 69 3c 2f 62 ition of <b>i</b
215d0 3e 0d 0a 28 63 6f 72 72 65 73 70 6f 6e 64 69 6e >..(correspondin
215e0 67 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 73 g to the results
215f0 20 72 65 74 75 72 6e 65 64 20 62 79 20 63 61 6c returned by cal
21600 6c 69 6e 67 20 74 68 65 20 3c 62 3e 53 54 5f 4c ling the <b>ST_L
21610 69 6e 65 5f 53 75 62 73 74 72 69 6e 67 28 29 3c ine_Substring()<
21620 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e /b> SQL function
21630 29 2e 3c 62 72 3e 0d 0a 42 6f 74 68 20 68 61 6c ).<br>..Both hal
21640 76 65 73 20 77 69 6c 6c 20 62 65 20 6e 6f 77 20 ves will be now
21650 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 70 6f considered as po
21660 73 73 69 62 6c 65 20 3c 62 3e 50 61 72 74 69 61 ssible <b>Partia
21670 6c 20 4c 69 6e 6b 73 20 28 53 74 61 72 74 29 20 l Links (Start)
21680 63 61 6e 64 69 64 61 74 65 73 3c 2f 62 3e 20 6c candidates</b> l
21690 65 61 64 69 6e 67 20 72 65 73 70 65 63 74 69 76 eading respectiv
216a0 65 6c 79 20 74 6f 20 3c 62 3e 4e 31 3c 2f 62 3e ely to <b>N1</b>
216b0 20 6f 72 20 3c 62 3e 4e 32 3c 2f 62 3e 3b 0d 0a or <b>N2</b>;..
216c0 64 69 72 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20 directions will
216d0 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 be automatically
216e0 20 69 6e 76 65 72 74 65 64 20 61 73 20 72 65 71 inverted as req
216f0 75 69 72 65 64 2c 20 62 75 74 20 6f 6e 6c 79 20 uired, but only
21700 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 if there are no
21710 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 66 <b>one-way</b> f
21720 6f 72 62 69 64 64 69 6e 67 20 72 65 73 74 72 69 orbidding restri
21730 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 28 74 68 ctions.<br>..(th
21740 65 20 64 69 72 65 63 74 69 6f 6e 73 20 77 69 6c e directions wil
21750 6c 20 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69 l be obviously i
21760 6e 76 65 72 74 65 64 20 69 6e 20 74 68 65 20 63 nverted in the c
21770 61 73 65 20 6f 66 20 3c 62 3e 50 61 72 74 69 61 ase of <b>Partia
21780 6c 20 4c 69 6e 6b 73 20 28 45 6e 64 29 3c 2f 62 l Links (End)</b
21790 3e 20 2f 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 > / <b>NodeTo</b
217a0 3e 29 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 6e 64 >)</li>..<li>And
217b0 20 66 69 6e 61 6c 6c 79 20 61 20 73 74 72 61 69 finally a strai
217c0 67 68 74 20 73 65 67 6d 65 6e 74 20 3c 62 3e 70 ght segment <b>p
217d0 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 </b> connecting
217e0 3c 62 3e 50 74 3c 2f 62 3e 20 74 6f 20 3c 62 3e <b>Pt</b> to <b>
217f0 69 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f i</b> will be co
21800 6e 73 74 72 75 63 74 65 64 2e 0d 0a 53 6f 20 3c nstructed...So <
21810 62 3e 70 3c 2f 62 3e 20 65 78 61 63 74 6c 79 20 b>p</b> exactly
21820 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 corresponds to t
21830 68 65 20 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 he <b>Ingress Pa
21840 74 68 3c 2f 62 3e 20 69 66 20 3c 62 3e 50 74 3c th</b> if <b>Pt<
21850 2f 62 3e 20 69 73 20 3c 62 3e 50 6f 69 6e 74 46 /b> is <b>PointF
21860 72 6f 6d 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 28 74 rom</b>.<br>..(t
21870 68 65 20 64 69 72 65 63 74 69 6f 6e 20 73 68 6f he direction sho
21880 75 6c 64 20 62 65 20 6f 62 76 69 6f 75 73 6c 79 uld be obviously
21890 20 69 6e 76 65 72 74 65 64 20 69 6e 20 74 68 65 inverted in the
218a0 20 63 61 73 65 20 6f 66 20 74 68 65 20 3c 62 3e case of the <b>
218b0 45 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 20 Egress Path</b>
218c0 2f 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e / <b>PointTo</b>
218d0 29 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c )</li>..</ol>..<
218e0 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 /td>..<td>..<img
218f0 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 src="https://ww
21900 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 w.gaia-gis.it/ga
21910 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d ia-sins/routing-
21920 66 69 67 73 2f 73 70 6c 69 74 2d 6c 69 6e 6b 2e figs/split-link.
21930 70 6e 67 22 20 61 6c 74 3d 22 70 32 70 2d 73 74 png" alt="p2p-st
21940 72 75 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 ruct">..</td></t
21950 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 r>..</table>..<b
21960 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c r>..<table bgcol
21970 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c or="#ffb060" cel
21980 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 lspacing="10" ce
21990 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 llpadding="6"><t
219a0 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e r><td>..<h3>Warn
219b0 69 6e 67 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61 ing</h3>..Virtua
219c0 6c 52 6f 75 74 69 6e 67 20 77 68 65 6e 20 73 6f lRouting when so
219d0 6c 76 69 6e 67 20 61 20 50 6f 69 6e 74 2d 74 6f lving a Point-to
219e0 2d 50 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 -Problem require
219f0 73 20 74 6f 20 67 65 74 20 61 20 70 72 65 63 69 s to get a preci
21a00 73 65 20 65 73 74 69 6d 61 74 69 6f 6e 20 6f 66 se estimation of
21a10 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 72 65 <b>Costs</b> re
21a20 6c 61 74 65 64 20 74 6f 20 3c 62 3e 49 6e 67 72 lated to <b>Ingr
21a30 65 73 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 ess</b> and <b>E
21a40 67 72 65 73 73 20 50 61 74 68 73 3c 2f 62 3e 20 gress Paths</b>
21a50 61 6e 64 20 74 6f 20 3c 62 3e 50 61 72 74 69 61 and to <b>Partia
21a60 6c 20 4c 69 6e 6b 73 3c 2f 62 3e 2e 3c 62 72 3e l Links</b>.<br>
21a70 0d 0a 42 75 74 20 56 69 72 74 75 61 6c 52 6f 75 ..But VirtualRou
21a80 74 69 6e 67 20 69 73 20 63 6f 6d 70 6c 65 74 65 ting is complete
21a90 6c 79 20 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6d ly unable to com
21aa0 70 75 74 65 20 63 6f 6d 70 6c 65 78 20 28 61 6e pute complex (an
21ab0 64 20 75 6e 73 70 65 63 69 66 69 65 64 29 20 43 d unspecified) C
21ac0 6f 73 74 20 66 6f 72 6d 75 6c 61 65 2c 20 61 6e ost formulae, an
21ad0 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 69 d consequently i
21ae0 74 20 63 61 6e 20 73 69 6d 70 6c 79 20 61 73 73 t can simply ass
21af0 75 6d 65 20 61 20 43 6f 73 74 20 63 6f 72 72 65 ume a Cost corre
21b00 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 sponding to the
21b10 47 65 6f 6d 65 74 72 69 63 20 4c 65 6e 67 74 68 Geometric Length
21b20 20 6f 66 20 73 75 63 68 20 69 74 65 6d 73 2e 3c of such items.<
21b30 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 43 6f 6e 63 br><br>..<b>Conc
21b40 6c 75 73 69 6f 6e 3c 2f 62 3e 3a 20 6f 6e 6c 79 lusion</b>: only
21b50 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 65 64 20 Networks based
21b60 6f 6e 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 on <b>Costs</b>
21b70 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f corresponding to
21b80 20 3c 62 3e 47 65 6f 6d 65 74 72 69 63 20 4c 65 <b>Geometric Le
21b90 6e 67 74 68 73 3c 2f 62 3e 20 63 61 6e 20 65 66 ngths</b> can ef
21ba0 66 65 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 fectively suppor
21bb0 74 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 t Point-to-Point
21bc0 20 71 75 65 72 69 65 73 2e 3c 62 72 3e 0d 0a 41 queries.<br>..A
21bd0 6e 79 20 64 69 66 66 65 72 65 6e 74 20 4e 65 74 ny different Net
21be0 77 6f 72 6b 20 63 6f 6e 66 69 67 75 72 61 74 69 work configurati
21bf0 6f 6e 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 6c on will surely l
21c00 65 61 64 20 74 6f 20 77 72 6f 6e 67 20 61 6e 64 ead to wrong and
21c10 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 20 72 65 inconsistent re
21c20 73 75 6c 74 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e sults...<br><br>
21c30 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 ..</td></tr></ta
21c40 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a ble>..<br><br>..
21c50 4c 65 74 27 73 20 6e 6f 77 20 65 78 61 6d 69 6e Let's now examin
21c60 65 20 61 20 70 72 61 63 74 69 63 61 6c 20 65 78 e a practical ex
21c70 61 6d 70 6c 65 20 6f 66 20 50 6f 69 6e 74 2d 74 ample of Point-t
21c80 6f 2d 50 6f 69 6e 74 20 73 6f 6c 76 69 6e 67 20 o-Point solving
21c90 75 73 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 using VirtualRou
21ca0 74 69 6e 67 2e 0d 0a 3c 76 65 72 62 61 74 69 6d ting...<verbatim
21cb0 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 >..SELECT Algori
21cc0 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 thm, Request, Op
21cd0 74 69 6f 6e 73 2c 20 52 6f 75 74 65 49 64 2c 20 tions, RouteId,
21ce0 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 RouteRow, Role,
21cf0 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 LinkRowid, NodeF
21d00 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 50 6f 69 rom, NodeTo, Poi
21d10 6e 74 46 72 6f 6d 2c 20 50 6f 69 6e 74 54 6f 2c ntFrom, PointTo,
21d20 20 54 6f 6c 65 72 61 6e 63 65 2c 20 43 6f 73 74 Tolerance, Cost
21d30 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 , Geometry, Name
21d40 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 ..FROM byfoot..W
21d50 48 45 52 45 20 50 6f 69 6e 74 46 72 6f 6d 20 3d HERE PointFrom =
21d60 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52 (SELECT geom FR
21d70 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57 OM house_nr_vw W
21d80 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74 HERE municipalit
21d90 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44 y = 'AREZZO' AND
21da0 20 61 64 64 72 65 73 73 20 3d 20 27 56 49 41 20 address = 'VIA
21db0 44 45 27 27 20 43 45 4e 43 49 20 31 33 27 29 0d DE'' CENCI 13').
21dc0 0a 20 20 20 20 41 4e 44 20 50 6f 69 6e 74 54 6f . AND PointTo
21dd0 20 3d 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20 = (SELECT geom
21de0 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77 FROM house_nr_vw
21df0 20 57 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c WHERE municipal
21e00 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41 ity = 'AREZZO' A
21e10 4e 44 20 61 64 64 72 65 73 73 20 3d 20 27 56 49 ND address = 'VI
21e20 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 A ANTONIO GUADAG
21e30 4e 4f 4c 49 20 31 39 2f 42 27 29 3b 0d 0a 3c 2f NOLI 19/B');..</
21e40 76 65 72 62 61 74 69 6d 3e 0d 0a 41 20 3c 62 3e verbatim>..A <b>
21e50 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f Point-to-Point</
21e60 62 3e 20 71 75 65 72 79 20 68 61 73 20 74 68 65 b> query has the
21e70 20 73 61 6d 65 20 66 6f 72 6d 20 6f 66 20 61 20 same form of a
21e80 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e <b>single-destin
21e90 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 ation Shortest P
21ea0 61 74 68 3c 2f 62 3e 20 71 75 65 72 79 2c 20 65 ath</b> query, e
21eb0 78 63 65 70 74 20 74 68 61 74 20 3c 62 3e 4e 6f xcept that <b>No
21ec0 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c deFrom</b> and <
21ed0 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 61 72 65 b>NodeTo</b> are
21ee0 20 6e 6f 77 20 72 65 70 6c 61 63 65 64 20 62 79 now replaced by
21ef0 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 <b>PointFrom</b
21f00 3e 20 61 6e 64 20 3c 62 3e 50 6f 69 6e 74 54 6f > and <b>PointTo
21f10 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f </b>.<br>..<u>No
21f20 74 65 3c 2f 75 3e 20 74 68 65 20 73 61 6d 70 6c te</u> the sampl
21f30 65 20 44 42 2d 66 69 6c 65 20 73 75 70 70 6f 72 e DB-file suppor
21f40 74 73 20 3c 62 3e 48 6f 75 73 65 20 4e 75 6d 62 ts <b>House Numb
21f50 65 72 73 3c 2f 62 3e 2c 20 73 6f 20 79 6f 75 20 ers</b>, so you
21f60 63 61 6e 20 64 69 72 65 63 74 6c 79 20 75 73 65 can directly use
21f70 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20 63 6f House Number co
21f80 6f 72 64 69 6e 61 74 65 73 20 61 73 20 72 65 66 ordinates as ref
21f90 65 72 65 6e 63 65 20 50 6f 69 6e 74 73 2e 0d 0a erence Points...
21fa0 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f <br><br>..The fo
21fb0 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 llowing table sh
21fc0 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 ows the resultse
21fd0 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 t returned by th
21fe0 65 20 61 62 6f 76 65 20 50 6f 69 6e 74 2d 74 6f e above Point-to
21ff0 2d 50 6f 69 6e 74 20 71 75 65 72 79 2e 3c 62 72 -Point query.<br
22000 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f ><br>..<table bo
22010 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 rder="1" bgcolor
22020 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 ="#ffffcf" cells
22030 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 pacing="4" cellp
22040 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 adding="6">..<tr
22050 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
22060 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 0d0a0">Algorithm
22070 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
22080 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 ="#d0d0a0">Reque
22090 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
220a0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 or="#d0d0a0">Opt
220b0 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ions</th><th bgc
220c0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
220d0 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 outeId</th><th b
220e0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
220f0 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 >RouteRow</th><t
22100 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
22110 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 a0">Role</th><th
22120 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
22130 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 0">LinkRowid</th
22140 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
22150 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 0d0a0">NodeFrom<
22160 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
22170 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f "#d0d0a0">NodeTo
22180 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
22190 3d 22 23 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 ="#d0d0a0">Point
221a0 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 From</th><th bgc
221b0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50 olor="#d0d0a0">P
221c0 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 ointTo</th><th b
221d0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
221e0 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c >Tolerance</th><
221f0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
22200 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 0a0">Cost</th><t
22210 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
22220 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 a0">Geometry</th
22230 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
22240 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0d0a0">Name</th>
22250 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
22260 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 >Dijkstra</td><t
22270 64 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 50 61 d>Point2Point Pa
22280 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c th</td><td>Full<
22290 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
222a0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 ight">0</td><td
222b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
222c0 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f /td><td>Point2Po
222d0 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 int Solution</td
222e0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
222f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22300 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 ULL</td><td>BLOB
22310 20 73 7a 3d 36 38 20 47 45 4f 4d 45 54 52 59 3c sz=68 GEOMETRY<
22320 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
22330 36 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 68 GEOMETRY</td>
22340 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22350 22 3e 32 30 2e 30 30 30 30 30 30 3c 2f 74 64 3e ">20.000000</td>
22360 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22370 22 3e 36 35 32 2e 38 31 35 31 33 39 3c 2f 74 64 ">652.815139</td
22380 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 31 35 35 ><td>BLOB sz=155
22390 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 2 GEOMETRY</td><
223a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
223b0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
223c0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
223d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
223e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
223f0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">0</td><td al
22400 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
22410 64 3e 3c 74 64 3e 49 6e 67 72 65 73 73 20 50 61 d><td>Ingress Pa
22420 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c th</td><td>NULL<
22430 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22440 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22450 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22460 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
22470 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22480 72 69 67 68 74 22 3e 32 2e 33 30 31 36 38 37 3c right">2.301687<
22490 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
224a0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
224b0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
224c0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
224d0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
224e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
224f0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 ight">0</td><td
22500 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
22510 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 /td><td>Partial
22520 4c 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f 74 64 Link (Start)</td
22530 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
22540 74 22 3e 32 32 34 32 36 34 3c 2f 74 64 3e 3c 74 t">224264</td><t
22550 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
22560 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
22570 36 33 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 630</td><td>NULL
22580 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22590 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
225a0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
225b0 3e 34 36 2e 30 38 32 37 36 31 3c 2f 74 64 3e 3c >46.082761</td><
225c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
225d0 56 49 41 20 44 45 27 20 43 45 4e 43 49 3c 2f 74 VIA DE' CENCI</t
225e0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
225f0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
22600 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22610 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
22620 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
22630 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22640 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
22650 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22660 72 69 67 68 74 22 3e 32 32 33 37 35 38 3c 2f 74 right">223758</t
22670 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
22680 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c ht">182630</td><
22690 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
226a0 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 3e >182629</td><td>
226b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
226c0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
226d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
226e0 67 68 74 22 3e 32 34 2e 31 39 38 31 31 35 3c 2f ght">24.198115</
226f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
22700 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 <td>CORSO ITALIA
22710 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
22720 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
22730 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22740 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
22750 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
22760 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
22770 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c ght">4</td><td>L
22780 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
22790 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31 32 n="right">225512
227a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
227b0 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 right">182629</t
227c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
227d0 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c ht">182933</td><
227e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
227f0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
22800 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
22810 22 72 69 67 68 74 22 3e 33 34 2e 31 38 34 31 39 "right">34.18419
22820 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
22830 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 td><td>CORSO ITA
22840 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d LIA</td>..</tr>.
22850 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
22860 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22870 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22880 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
22890 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
228a0 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 "right">5</td><t
228b0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
228c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
228d0 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 511</td><td alig
228e0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 n="right">182933
228f0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22900 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
22910 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22920 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
22930 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
22940 67 6e 3d 22 72 69 67 68 74 22 3e 34 39 2e 32 34 gn="right">49.24
22950 31 37 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 1735</td><td>NUL
22960 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 L</td><td>CORSO
22970 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 ITALIA</td>..</t
22980 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
22990 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
229a0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
229b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
229c0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">0</td><td ali
229d0 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 gn="right">6</td
229e0 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
229f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
22a00 32 32 32 36 33 35 3c 2f 74 64 3e 3c 74 64 20 61 222635</td><td a
22a10 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 lign="right">181
22a20 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 999</td><td alig
22a30 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 38 n="right">181998
22a40 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22a50 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22a60 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
22a70 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 align="right">10
22a80 31 2e 36 32 39 37 35 30 3c 2f 74 64 3e 3c 74 64 1.629750</td><td
22a90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f >NULL</td><td>CO
22aa0 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d RSO ITALIA</td>.
22ab0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
22ac0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22ad0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
22ae0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22af0 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
22b00 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 align="right">7
22b10 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
22b20 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
22b30 68 74 22 3e 32 32 34 37 38 30 3c 2f 74 64 3e 3c ht">224780</td><
22b40 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
22b50 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20 >181998</td><td
22b60 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
22b70 33 35 36 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 3560</td><td>NUL
22b80 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
22b90 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
22ba0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22bb0 22 3e 37 33 2e 37 33 33 35 37 32 3c 2f 74 64 3e ">73.733572</td>
22bc0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22bd0 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49 54 45 >VIA DELL'ANFITE
22be0 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e ATRO</td>..</tr>
22bf0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
22c00 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22c10 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22c20 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
22c30 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >0</td><td align
22c40 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c ="right">8</td><
22c50 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
22c60 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
22c70 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 5827</td><td ali
22c80 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 36 gn="right">18356
22c90 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
22ca0 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
22cb0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
22cc0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22cd0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
22ce0 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 32 2e 33 ign="right">42.3
22cf0 30 39 35 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 09564</td><td>NU
22d00 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 LL</td><td>VIA D
22d10 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f ELL'ANFITEATRO</
22d20 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
22d30 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
22d40 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
22d50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
22d60 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
22d70 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
22d80 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">9</td><td>Lin
22d90 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
22da0 22 72 69 67 68 74 22 3e 32 32 34 38 39 37 3c 2f "right">224897</
22db0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
22dc0 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e ght">183286</td>
22dd0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22de0 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 ">183128</td><td
22df0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
22e00 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
22e10 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
22e20 69 67 68 74 22 3e 37 32 2e 34 34 34 36 30 39 3c ight">72.444609<
22e30 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22e40 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 ><td>VIA MARGARI
22e50 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TONE</td>..</tr>
22e60 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
22e70 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22e80 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22e90 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
22ea0 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >0</td><td align
22eb0 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e ="right">10</td>
22ec0 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
22ed0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
22ee0 32 34 32 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 24232</td><td al
22ef0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 ign="right">1831
22f00 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 28</td><td align
22f10 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c ="right">182890<
22f20 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22f30 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22f40 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
22f50 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 lign="right">103
22f60 2e 36 31 32 32 32 31 3c 2f 74 64 3e 3c 74 64 3e .612221</td><td>
22f70 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
22f80 20 4e 49 43 43 4f 4c 4f 27 20 41 52 45 54 49 4e NICCOLO' ARETIN
22f90 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c O</td>..</tr>..<
22fa0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
22fb0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22fc0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
22fd0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
22fe0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
22ff0 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 ight">11</td><td
23000 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45 >Partial Link (E
23010 6e 64 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 nd)</td><td alig
23020 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 39 n="right">224019
23030 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
23040 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c 2f 74 right">182890</t
23050 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
23060 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
23070 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
23080 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61 6c 69 67 L</td>..<td alig
23090 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 37 36 30 n="right">95.760
230a0 32 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 222</td><td>NULL
230b0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 </td><td>VIA ANT
230c0 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c ONIO GUADAGNOLI<
230d0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
230e0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
230f0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
23100 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
23110 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
23120 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
23130 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 45 ht">12</td><td>E
23140 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c gress Path</td><
23150 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
23160 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
23170 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
23180 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
23190 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
231a0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 align="right">7
231b0 2e 33 31 36 37 30 39 3c 2f 74 64 3e 3c 74 64 3e .316709</td><td>
231c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
231d0 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
231e0 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c /table>..<br>..L
231f0 65 74 27 73 20 6e 6f 77 20 71 75 69 63 6b 6c 79 et's now quickly
23200 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73 examine the res
23210 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 ultset returned
23220 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e by the above <b>
23230 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f Point-to-Point</
23240 62 3e 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d b> query:..<ul>.
23250 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65 72 61 6c .<li>the general
23260 20 6c 61 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73 layout is almos
23270 74 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 t exactly the sa
23280 6d 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 me as you've alr
23290 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 eady seen in the
232a0 20 63 61 73 65 20 6f 66 20 53 68 6f 72 74 65 73 case of Shortes
232b0 74 50 61 74 68 20 71 75 65 72 69 65 73 2e 3c 2f tPath queries.</
232c0 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 li>..<li>in the
232d0 73 70 65 63 69 66 69 63 20 63 61 73 65 20 6f 66 specific case of
232e0 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 Point-to-Point
232f0 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 the <b>first row
23300 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 </b> of the resu
23310 6c 74 73 65 74 20 77 69 6c 6c 20 61 6c 77 61 79 ltset will alway
23320 73 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 66 6f s contain the fo
23330 6c 6c 6f 77 69 6e 67 73 20 3c 62 3e 4e 4f 54 20 llowings <b>NOT
23340 4e 55 4c 4c 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 NULL</b> columns
23350 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e :..<ul>..<li><b>
23360 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 NodeFrom</b> and
23370 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 3a 20 <b>NodeTo</b>:
23380 74 68 65 20 74 77 6f 20 47 65 6f 6d 65 74 72 69 the two Geometri
23390 65 73 20 64 65 66 69 6e 69 6e 67 20 74 68 65 20 es defining the
233a0 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e <u><i>origin</i>
233b0 3c 2f 75 3e 20 61 6e 64 20 3c 75 3e 3c 69 3e 64 </u> and <u><i>d
233c0 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c 2f estination</i></
233d0 75 3e 20 50 6f 69 6e 74 73 2e 3c 2f 6c 69 3e 0d u> Points.</li>.
233e0 0a 3c 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61 6e 63 .<li><b>Toleranc
233f0 65 3c 2f 62 3e 3a 20 74 68 65 20 6d 61 78 69 6d e</b>: the maxim
23400 75 6d 20 64 69 73 74 61 6e 63 65 20 61 6c 6c 6f um distance allo
23410 77 65 64 20 62 65 74 77 65 65 6e 20 72 65 66 65 wed between refe
23420 72 65 6e 63 65 20 50 6f 69 6e 74 73 20 61 6e 64 rence Points and
23430 20 43 61 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73 Candidate Links
23440 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c .</li>..</ul></l
23450 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 i>..<li>the <b>R
23460 6f 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 63 ole</b> column c
23470 61 6e 20 61 73 73 75 6d 65 20 6f 6e 65 20 6f 66 an assume one of
23480 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 the following v
23490 61 6c 75 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c alues:..<ul>..<l
234a0 69 3e 3c 62 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 i><b>Point2Point
234b0 20 53 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 3a 20 74 Solution</b>: t
234c0 68 65 20 68 65 61 64 65 72 20 72 6f 77 20 73 75 he header row su
234d0 6d 6d 61 72 69 7a 69 6e 67 20 74 68 65 20 53 6f mmarizing the So
234e0 6c 75 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c lution as a whol
234f0 65 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 e...<ul>..<li><b
23500 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 >PointFrom</b>,
23510 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 <b>PointTo</b> a
23520 6e 64 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c nd <b>Tolerance<
23530 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 77 69 6c 6c /b> columns will
23540 20 68 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c have <b>NOT NUL
23550 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 6c L</b> values onl
23560 79 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 y in the header
23570 72 6f 77 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e row.</li>..</ul>
23580 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e </li>..<li><b>In
23590 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 gress Path</b>:
235a0 61 20 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 a straight segme
235b0 6e 74 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 nt connecting th
235c0 65 20 4f 72 69 67 69 6e 20 50 6f 69 6e 74 20 74 e Origin Point t
235d0 6f 20 74 68 65 20 66 69 72 73 74 20 4c 69 6e 6b o the first Link
235e0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 .</li>..<li><b>E
235f0 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 gress Path</b>:
23600 61 20 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 a straight segme
23610 6e 74 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 nt connecting th
23620 65 20 6c 61 73 74 20 4c 69 6e 6b 20 74 6f 20 74 e last Link to t
23630 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 50 he Destination P
23640 6f 69 6e 74 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 oint...<ul>..<li
23650 3e 62 6f 74 68 20 74 68 65 20 49 6e 67 72 65 73 >both the Ingres
23660 73 20 61 6e 64 20 74 68 65 20 45 67 72 65 73 73 s and the Egress
23670 20 50 61 74 68 20 72 6f 77 73 20 77 69 6c 6c 20 Path rows will
23680 61 6c 77 61 79 73 20 68 61 76 65 20 3c 62 3e 4e always have <b>N
23690 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f ULL</b> values o
236a0 6e 20 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f n <b>LinkRowid</
236b0 62 3e 2c 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c b>, <b>NodeFrom<
236c0 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 /b> and <b>NodeT
236d0 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f o</b> columns.</
236e0 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
236f0 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 .<li><b>Partial
23700 4c 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f 62 3e Link (Start)</b>
23710 3a 20 74 68 65 20 70 61 72 74 69 61 6c 20 73 65 : the partial se
23720 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 ction of the fir
23730 73 74 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e 0d 0a st Link...<ul>..
23740 3c 6c 69 3e 74 68 69 73 20 73 70 65 63 69 66 69 <li>this specifi
23750 63 20 72 6f 77 20 77 69 6c 6c 20 61 6c 77 61 79 c row will alway
23760 73 20 68 61 76 65 20 61 20 3c 62 3e 4e 55 4c 4c s have a <b>NULL
23770 3c 2f 62 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 </b> value on th
23780 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 e <b>NodeFrom</b
23790 3e 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a > column.</li>..
237a0 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </ul></li>..<li>
237b0 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 <b>Partial Link
237c0 28 45 6e 64 29 3c 2f 62 3e 3a 20 74 68 65 20 70 (End)</b>: the p
237d0 61 72 74 69 61 6c 20 73 65 63 74 69 6f 6e 20 6f artial section o
237e0 66 20 74 68 65 20 6c 61 73 74 20 4c 69 6e 6b 2e f the last Link.
237f0 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 69 73 ..<ul>..<li>this
23800 20 73 70 65 63 69 66 69 63 20 72 6f 77 20 77 69 specific row wi
23810 6c 6c 20 61 6c 77 61 79 73 20 68 61 76 65 20 61 ll always have a
23820 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c <b>NULL</b> val
23830 75 65 20 6f 6e 20 74 68 65 20 3c 62 3e 4e 6f 64 ue on the <b>Nod
23840 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 3c eTo</b> column.<
23850 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e /li>..</ul></li>
23860 0d 0a 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 3c 2f 62 ..<li><b>Link</b
23870 3e 3a 20 61 6e 79 20 6f 74 68 65 72 20 4c 69 6e >: any other Lin
23880 6b 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68 k required by th
23890 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 e Point-to-Point
238a0 20 53 6f 6c 75 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e Solution...<ul>
238b0 0d 0a 3c 6c 69 3e 61 6c 6c 20 74 68 65 73 65 20 ..<li>all these
238c0 72 6f 77 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 rows will always
238d0 20 68 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c have <b>NOT NUL
238e0 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20 L</b> values on
238f0 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e <b>LinkRowid</b>
23900 2c 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 , <b>NodeFrom</b
23910 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c > and <b>NodeTo<
23920 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 /b> columns.</li
23930 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c >..</ul></li>..<
23940 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e /ul></li>..</ul>
23950 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a ..<br><br><br>..
23960 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e <b>Point-to-Poin
23970 74 3c 2f 62 3e 20 71 75 65 72 69 65 73 20 63 61 t</b> queries ca
23980 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 2c n be customized,
23990 20 62 75 74 20 74 68 65 20 63 6f 6e 66 69 67 75 but the configu
239a0 72 61 74 69 6f 6e 20 72 75 6c 65 73 20 73 6c 69 ration rules sli
239b0 67 68 74 6c 79 20 64 69 66 66 65 72 20 66 72 6f ghtly differ fro
239c0 6d 20 77 68 61 74 20 79 6f 75 20 68 61 76 65 20 m what you have
239d0 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 already seen in
239e0 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 previous example
239f0 73 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 s...<ul>..<li><b
23a00 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20 >Algorithm</b>:
23a10 6f 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61 only <b>Dijkstra
23a20 3c 2f 62 3e 20 69 73 20 73 75 70 70 6f 72 74 65 </b> is supporte
23a30 64 20 62 79 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f d by <b>Point-to
23a40 2d 50 6f 69 6e 74 3c 2f 62 3e 2c 20 61 6e 64 20 -Point</b>, and
23a50 77 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63 69 74 will be implicit
23a60 6c 79 20 61 73 73 75 6d 65 64 20 65 76 65 6e 20 ly assumed even
23a70 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 when the alterna
23a80 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 tive <b>A*</b> a
23a90 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72 lgorithm is curr
23aa0 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 3c ently selected.<
23ab0 62 72 3e 0d 0a 54 68 69 73 20 69 73 20 62 65 63 br>..This is bec
23ac0 61 75 73 65 20 74 68 65 20 69 6e 74 65 72 6e 61 ause the interna
23ad0 6c 20 6c 6f 67 69 63 20 6f 66 20 50 6f 69 6e 74 l logic of Point
23ae0 2d 74 6f 2d 50 6f 69 6e 74 20 72 65 71 75 69 72 -to-Point requir
23af0 65 73 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 es multi-destina
23b00 74 69 6f 6e 20 71 75 65 72 69 65 73 20 69 6e 20 tion queries in
23b10 6f 72 64 65 72 20 74 6f 20 65 76 61 6c 75 61 74 order to evaluat
23b20 65 20 61 6c 6c 20 43 61 6e 64 69 64 61 74 65 20 e all Candidate
23b30 53 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d Solutions.</li>.
23b40 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e 73 3c .<li><b>Options<
23b50 2f 62 3e 3a 20 74 68 65 20 75 73 75 61 6c 20 3c /b>: the usual <
23b60 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 3e 53 b>FULL</b>, <b>S
23b70 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f IMPLE</b>, <b>NO
23b80 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c LINKS</b> and <
23b90 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c b>NO GEOMETRIES<
23ba0 2f 62 3e 20 61 72 65 20 73 75 70 70 6f 72 74 65 /b> are supporte
23bb0 64 20 61 6e 64 20 77 69 6c 6c 20 68 61 76 65 20 d and will have
23bc0 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74 20 the same effect
23bd0 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 as in single-des
23be0 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 tination queries
23bf0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 .</li>..<li><b>T
23c00 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 olerance</b>: th
23c10 69 73 20 73 65 74 74 69 6e 67 20 69 73 20 73 70 is setting is sp
23c20 65 63 69 66 69 63 20 74 6f 20 50 6f 69 6e 74 2d ecific to Point-
23c30 74 6f 2d 50 6f 69 6e 74 2c 20 61 6e 64 20 64 65 to-Point, and de
23c40 66 69 6e 65 73 20 74 68 65 20 6d 61 78 69 6d 75 fines the maximu
23c50 6d 20 61 6c 6c 6f 77 61 62 6c 65 20 64 69 73 74 m allowable dist
23c60 61 6e 63 65 20 62 65 74 77 65 65 6e 20 61 20 72 ance between a r
23c70 65 66 65 72 65 6e 63 65 20 50 6f 69 6e 74 20 61 eference Point a
23c80 6e 64 20 43 61 6e 64 69 64 61 74 65 20 4c 69 6e nd Candidate Lin
23c90 6b 73 2e 3c 62 72 3e 0d 0a 49 74 20 64 65 66 61 ks.<br>..It defa
23ca0 75 6c 74 73 20 74 6f 20 3c 62 3e 32 30 2e 30 6d ults to <b>20.0m
23cb0 3c 2f 62 3e 20 69 66 20 6e 6f 74 20 65 78 70 6c </b> if not expl
23cc0 69 63 69 74 6c 79 20 73 65 74 2e 3c 2f 6c 69 3e icitly set.</li>
23cd0 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 62 61 74 ..</ul>..<verbat
23ce0 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f im>..UPDATE byfo
23cf0 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d ot SET Options =
23d00 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 'NO GEOMETRIES'
23d10 2c 20 54 6f 6c 65 72 61 6e 63 65 20 3d 20 32 35 , Tolerance = 25
23d20 2e 35 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 52 65 .5;....SELECT Re
23d30 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 quest, Options,
23d40 54 6f 6c 65 72 61 6e 63 65 2c 20 52 6f 75 74 65 Tolerance, Route
23d50 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 Row, Role, LinkR
23d60 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 owid, NodeFrom,
23d70 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 NodeTo, Cost, Ge
23d80 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 ometry, Name..FR
23d90 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 OM byfoot..WHERE
23da0 20 50 6f 69 6e 74 46 72 6f 6d 20 3d 20 28 53 45 PointFrom = (SE
23db0 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 LECT geom FROM h
23dc0 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 ouse_nr_vw WHERE
23dd0 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 municipality =
23de0 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 'AREZZO' AND add
23df0 72 65 73 73 20 3d 20 27 56 49 41 20 44 45 27 27 ress = 'VIA DE''
23e00 20 43 45 4e 43 49 20 31 33 27 29 0d 0a 20 20 20 CENCI 13')..
23e10 20 41 4e 44 20 50 6f 69 6e 74 54 6f 20 3d 20 28 AND PointTo = (
23e20 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f 4d SELECT geom FROM
23e30 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 45 house_nr_vw WHE
23e40 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 20 RE municipality
23e50 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 61 = 'AREZZO' AND a
23e60 64 64 72 65 73 73 20 3d 20 27 56 49 41 20 41 4e ddress = 'VIA AN
23e70 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 TONIO GUADAGNOLI
23e80 20 31 39 2f 43 27 29 3b 0d 0a 3c 2f 76 65 72 62 19/C');..</verb
23e90 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f atim>..The follo
23ea0 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 wing table shows
23eb0 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 the resultset r
23ec0 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 eturned by the a
23ed0 62 6f 76 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f bove Point-to-Po
23ee0 69 6e 74 20 71 75 65 72 79 20 61 66 74 65 72 20 int query after
23ef0 73 65 6c 65 63 74 69 6e 67 20 3c 62 3e 4f 70 74 selecting <b>Opt
23f00 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 45 4f 4d 45 ions = 'NO GEOME
23f10 54 52 49 45 53 27 3c 2f 62 3e 20 61 6e 64 20 3c TRIES'</b> and <
23f20 62 3e 54 6f 6c 65 72 61 6e 63 65 20 3d 20 32 35 b>Tolerance = 25
23f30 2e 35 3c 2f 62 3e 3c 62 72 3e 3c 62 72 3e 0d 0a .5</b><br><br>..
23f40 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 <table border="1
23f50 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 " bgcolor="#ffff
23f60 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d cf" cellspacing=
23f70 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "4" cellpadding=
23f80 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 "6">..<tr><th bg
23f90 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
23fa0 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 Request</th><th
23fb0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
23fc0 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 ">Options</th><t
23fd0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
23fe0 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 74 a0">Tolerance</t
23ff0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
24000 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 d0d0a0">RouteRow
24010 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
24020 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c ="#d0d0a0">Role<
24030 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
24040 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f "#d0d0a0">LinkRo
24050 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f wid</th><th bgco
24060 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f lor="#d0d0a0">No
24070 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 deFrom</th><th b
24080 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
24090 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 >NodeTo</th><th
240a0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
240b0 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 ">Cost</th><th b
240c0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
240d0 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 >Geometry</th><t
240e0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
240f0 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 a0">Name</th></t
24100 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 50 6f r>..<tr>..<td>Po
24110 69 6e 74 32 50 6f 69 6e 74 20 50 61 74 68 3c 2f int2Point Path</
24120 74 64 3e 3c 74 64 3e 4e 6f 20 47 65 6f 6d 65 74 td><td>No Geomet
24130 72 69 65 73 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 ries</td><td ali
24140 67 6e 3d 22 72 69 67 68 74 22 3e 32 35 2e 35 30 gn="right">25.50
24150 30 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 0000</td><td ali
24160 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
24170 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 ><td>Point2Point
24180 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 Solution</td><t
24190 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
241a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
241b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
241c0 72 69 67 68 74 22 3e 36 35 31 2e 30 36 37 30 38 right">651.06708
241d0 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 2</td><td>NULL</
241e0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
241f0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
24200 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
24210 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
24220 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
24230 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 "right">1</td><t
24240 64 3e 49 6e 67 72 65 73 73 20 50 61 74 68 3c 2f d>Ingress Path</
24250 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
24260 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
24270 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
24280 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33 30 ign="right">2.30
24290 31 36 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 1687</td><td>NUL
242a0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
242b0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
242c0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
242d0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
242e0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
242f0 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 gn="right">2</td
24300 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c 69 6e ><td>Partial Lin
24310 6b 20 28 53 74 61 72 74 29 3c 2f 74 64 3e 3c 74 k (Start)</td><t
24320 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
24330 32 32 34 32 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 224264</td><td>N
24340 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
24350 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 33 30 n="right">182630
24360 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
24370 72 69 67 68 74 22 3e 34 36 2e 30 38 32 37 36 31 right">46.082761
24380 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
24390 64 3e 3c 74 64 3e 56 49 41 20 44 45 27 20 43 45 d><td>VIA DE' CE
243a0 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d NCI</td>..</tr>.
243b0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
243c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
243d0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
243e0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
243f0 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 3</td><td>Link</
24400 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
24410 67 68 74 22 3e 32 32 33 37 35 38 3c 2f 74 64 3e ght">223758</td>
24420 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24430 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74 64 ">182630</td><td
24440 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
24450 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 82629</td><td al
24460 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 34 2e 31 ign="right">24.1
24470 39 38 31 31 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 98115</td><td>NU
24480 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f LL</td><td>CORSO
24490 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f ITALIA</td>..</
244a0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
244b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
244c0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
244d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
244e0 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">4</td><td>Li
244f0 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
24500 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c ="right">225512<
24510 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24520 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 ight">182629</td
24530 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
24540 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 t">182933</td><t
24550 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
24560 33 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74 34.184194</td><t
24570 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 d>NULL</td><td>C
24580 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e ORSO ITALIA</td>
24590 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
245a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
245b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
245c0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
245d0 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 "right">5</td><t
245e0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
245f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
24600 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 511</td><td alig
24610 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 n="right">182933
24620 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
24630 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
24640 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
24650 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74 ht">49.241735</t
24660 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
24670 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c td>CORSO ITALIA<
24680 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
24690 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
246a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
246b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
246c0 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 ign="right">6</t
246d0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
246e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
246f0 3e 32 32 35 38 30 30 3c 2f 74 64 3e 3c 74 64 20 >225800</td><td
24700 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
24710 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1999</td><td ali
24720 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
24730 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
24740 22 72 69 67 68 74 22 3e 39 35 2e 35 39 32 32 30 "right">95.59220
24750 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
24760 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 td><td>VIA FRANC
24770 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e ESCO CRISPI</td>
24780 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
24790 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
247a0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
247b0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
247c0 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 "right">7</td><t
247d0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
247e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 lign="right">219
247f0 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 171</td><td alig
24800 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 n="right">178880
24810 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
24820 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 right">178732</t
24830 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
24840 68 74 22 3e 39 33 2e 32 38 35 35 33 38 3c 2f 74 ht">93.285538</t
24850 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
24860 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f td>VIA FRANCESCO
24870 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f CRISPI</td>..</
24880 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
24890 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
248a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
248b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
248c0 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">8</td><td>Li
248d0 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
248e0 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c ="right">219058<
248f0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24900 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 ight">178732</td
24910 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
24920 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 t">178754</td><t
24930 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
24940 31 34 38 2e 36 35 36 30 38 39 3c 2f 74 64 3e 3c 148.656089</td><
24950 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
24960 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 VIA FRANCESCO CR
24970 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e ISPI</td>..</tr>
24980 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
24990 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
249a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
249b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
249c0 3e 39 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 >9</td><td>Parti
249d0 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 74 al Link (End)</t
249e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
249f0 68 74 22 3e 32 32 34 30 31 39 3c 2f 74 64 3e 3c ht">224019</td><
24a00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
24a10 3e 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e >182890</td><td>
24a20 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
24a30 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 30 2e 32 gn="right">150.2
24a40 36 30 36 34 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 60641</td><td>NU
24a50 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 LL</td><td>VIA A
24a60 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c NTONIO GUADAGNOL
24a70 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
24a80 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
24a90 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
24aa0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
24ab0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 align="right">10
24ac0 3c 2f 74 64 3e 3c 74 64 3e 45 67 72 65 73 73 20 </td><td>Egress
24ad0 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c Path</td><td>NUL
24ae0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
24af0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
24b00 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24b10 22 3e 37 2e 32 36 34 31 31 38 3c 2f 74 64 3e 3c ">7.264118</td><
24b20 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
24b30 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
24b40 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e ..</table>..<br>
24b50 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65 <br>..The map be
24b60 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20 low graphically
24b70 73 68 6f 77 73 20 74 68 65 20 74 77 6f 20 50 6f shows the two Po
24b80 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c int-to-Point Sol
24b90 75 74 69 6f 6e 73 20 72 65 74 75 72 6e 65 64 20 utions returned
24ba0 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 by the previous
24bb0 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 queries...<br><b
24bc0 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 r>..<img src="ht
24bd0 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 tps://www.gaia-g
24be0 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f is.it/gaia-sins/
24bf0 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 70 6f 69 routing-figs/poi
24c00 6e 74 2d 74 6f 2d 70 6f 69 6e 74 2e 6a 70 67 22 nt-to-point.jpg"
24c10 20 61 6c 74 3d 22 70 6f 69 6e 74 2d 74 6f 2d 70 alt="point-to-p
24c20 6f 69 6e 74 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c oint">..<ul>..<l
24c30 69 3e 74 68 65 20 67 72 65 65 6e 20 6c 69 6e 65 i>the green line
24c40 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 corresponds to
24c50 74 68 65 20 66 69 72 73 74 20 73 6f 6c 75 74 69 the first soluti
24c60 6f 6e 20 28 3c 69 3e 50 6f 69 6e 74 54 6f 20 3d on (<i>PointTo =
24c70 20 56 49 41 20 47 55 41 44 41 47 4e 4f 4c 49 20 VIA GUADAGNOLI
24c80 31 39 2f 42 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 19/B</i>).</li>.
24c90 0a 3c 6c 69 3e 74 68 65 20 79 65 6c 6c 6f 77 20 .<li>the yellow
24ca0 6c 69 6e 65 20 63 6f 72 72 65 73 70 6f 6e 64 73 line corresponds
24cb0 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 20 73 to the second s
24cc0 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 50 6f 69 6e olution (<i>Poin
24cd0 74 54 6f 20 3d 20 56 49 41 20 47 55 41 44 41 47 tTo = VIA GUADAG
24ce0 4e 4f 4c 49 20 31 39 2f 43 3c 2f 69 3e 29 2e 3c NOLI 19/C</i>).<
24cf0 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 /li>..</ul>..<br
24d00 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
24d10 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 Point-to-Point q
24d20 75 65 72 69 65 73 20 61 72 65 20 76 65 72 79 20 ueries are very
24d30 73 65 6e 73 69 74 69 76 65 2c 20 61 6e 64 20 61 sensitive, and a
24d40 20 76 65 72 79 20 62 6c 61 6e 64 20 73 68 69 66 very bland shif
24d50 74 20 61 66 66 65 63 74 69 6e 67 20 74 68 65 20 t affecting the
24d60 70 6f 73 69 74 69 6f 6e 20 6f 66 20 61 20 72 65 position of a re
24d70 66 65 72 65 6e 63 65 20 50 6f 69 6e 74 20 63 6f ference Point co
24d80 75 6c 64 20 65 61 73 69 6c 79 20 63 61 75 73 65 uld easily cause
24d90 20 64 72 61 6d 61 74 69 63 20 63 68 61 6e 67 65 dramatic change
24da0 73 20 69 6e 20 74 68 65 20 53 6f 6c 75 74 69 6f s in the Solutio
24db0 6e 27 73 20 50 61 74 68 20 28 61 73 20 69 73 20 n's Path (as is
24dc0 69 6e 20 74 68 69 73 20 63 61 73 65 29 2e 0d 0a in this case)...
24dd0 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 <br><br>..<hr><b
24de0 72 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 r>..<a href="htt
24df0 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 ps://www.gaia-gi
24e00 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 s.it/fossil/libs
24e10 70 61 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e patialite/wiki?n
24e20 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 22 3e 62 ame=4.3.0-doc">b
24e30 61 63 6b 3c 2f 61 3e 0a 5a 20 30 66 64 34 63 38 ack</a>.Z 0fd4c8
24e40 37 63 36 65 62 30 32 33 38 64 39 34 63 36 36 34 7c6eb0238d94c664
24e50 30 62 62 35 35 31 35 64 36 61 0a 0bb5515d6a.