Wiki page
[VirtualRouting] by
sandro
2018-04-25 15:52:16.
0000: 44 20 32 30 31 38 2d 30 34 2d 32 35 54 31 35 3a D 2018-04-25T15:
0010: 35 32 3a 31 36 2e 39 39 39 0a 4c 20 56 69 72 74 52:16.999.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 36 38 61 ualRouting.P 68a
0030: 39 35 30 34 61 31 39 64 36 37 39 61 31 39 63 37 9504a19d679a19c7
0040: 63 65 63 62 33 66 63 34 35 64 65 36 64 31 32 63 cecb3fc45de6d12c
0050: 38 30 38 32 38 0a 55 20 73 61 6e 64 72 6f 0a 57 80828.U sandro.W
0060: 20 31 35 31 33 39 34 0a 3c 61 20 68 72 65 66 3d 151394.<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 6c 69 3e 3c 75 3e 53 70 </li>..<li><u>Sp
18e0: 65 63 69 61 6c 20 63 61 73 65 3c 2f 75 3e 3a 20 ecial case</u>:
18f0: 61 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 20 4c a <b>forbidden L
1900: 69 6e 6b 3c 2f 62 3e 20 69 73 20 61 6e 79 20 70 ink</b> is any p
1910: 65 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 4c erfectly valid L
1920: 69 6e 6b 20 74 68 61 74 20 66 6f 72 20 61 6e 79 ink that for any
1930: 20 67 6f 6f 64 20 72 65 61 73 6f 6e 20 63 61 6e good reason can
1940: 20 6e 65 76 65 72 20 62 65 20 74 72 61 76 65 72 never be traver
1950: 73 65 64 20 69 6e 20 62 6f 74 68 20 64 69 72 65 sed in both dire
1960: 63 74 69 6f 6e 73 2e 20 50 72 61 63 74 69 63 61 ctions. Practica
1970: 6c 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 75 6c l examples:..<ul
1980: 3e 0d 0a 3c 6c 69 3e 52 6f 61 64 20 4e 65 74 77 >..<li>Road Netw
1990: 6f 72 6b 73 3a 20 69 74 20 63 6f 75 6c 64 20 62 orks: it could b
19a0: 65 20 75 73 65 66 75 6c 20 72 65 70 72 65 73 65 e useful represe
19b0: 6e 74 69 6e 67 20 3c 62 3e 70 65 64 65 73 74 72 nting <b>pedestr
19c0: 69 61 6e 20 73 74 72 65 65 74 73 3c 2f 62 3e 20 ian streets</b>
19d0: 61 6e 64 20 3c 62 3e 62 69 63 79 63 6c 65 20 6c and <b>bicycle l
19e0: 61 6e 65 73 3c 2f 62 3e 2c 20 62 75 74 20 74 68 anes</b>, but th
19f0: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 e corresponding
1a00: 4c 69 6e 6b 73 20 77 69 6c 6c 20 62 65 20 61 6c Links will be al
1a10: 77 61 79 73 20 66 6f 72 62 69 64 64 65 6e 20 74 ways forbidden t
1a20: 6f 20 63 61 72 20 63 69 72 63 75 6c 61 74 69 6f o car circulatio
1a30: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c n.</li>..<li>Tel
1a40: 63 6f 6d 20 2f 20 45 6c 65 63 74 72 69 63 61 6c com / Electrical
1a50: 20 4e 65 74 77 6f 72 6b 73 3a 20 73 65 76 65 72 Networks: sever
1a60: 61 6c 20 4c 69 6e 6b 73 20 28 3c 62 3e 77 69 72 al Links (<b>wir
1a70: 65 73 3c 2f 62 3e 29 20 63 6f 75 6c 64 20 62 65 es</b>) could be
1a80: 20 70 68 79 73 69 63 61 6c 6c 79 20 69 6e 73 74 physically inst
1a90: 61 6c 6c 65 64 20 62 75 74 20 74 65 6d 70 6f 72 alled but tempor
1aa0: 61 72 69 6c 79 20 3c 62 3e 6f 75 74 2d 6f 66 2d arily <b>out-of-
1ab0: 73 65 72 76 69 63 65 3c 2f 62 3e 20 66 6f 72 20 service</b> for
1ac0: 74 65 63 68 6e 69 63 61 6c 20 72 65 61 73 6f 6e technical reason
1ad0: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f s.</li>..</ul></
1ae0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e li>..</ul>..<h4>
1af0: 4c 6f 67 69 63 61 6c 20 63 6f 6e 63 6c 75 73 69 Logical conclusi
1b00: 6f 6e 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f ons</h4>..Any to
1b10: 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 pologically vali
1b20: 64 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e d <b>Network</b>
1b30: 20 28 69 72 72 65 73 70 65 63 74 69 76 65 20 6f (irrespective o
1b40: 66 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20 f whether it is
1b50: 61 20 3c 62 3e 53 70 61 74 69 61 6c 3c 2f 62 3e a <b>Spatial</b>
1b60: 20 6f 72 20 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f or <b>Logical</
1b70: 62 3e 20 74 79 70 65 29 20 69 73 20 61 20 76 61 b> type) is a va
1b80: 6c 69 64 20 3c 62 3e 47 72 61 70 68 3c 2f 62 3e lid <b>Graph</b>
1b90: 2e 3c 62 72 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b .<br>..A Network
1ba0: 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 75 allowing the su
1bb0: 70 70 6f 72 74 20 28 64 69 72 65 63 74 20 6f 72 pport (direct or
1bc0: 20 69 6e 64 69 72 65 63 74 29 20 6f 66 20 73 6f indirect) of so
1bd0: 6d 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c me appropriate <
1be0: 62 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e b>cost value</b>
1bf0: 20 69 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 57 is a valid <b>W
1c00: 65 69 67 68 74 65 64 20 47 72 61 70 68 3c 2f 62 eighted Graph</b
1c10: 3e 2c 20 61 6e 64 20 63 61 6e 20 63 6f 6e 73 65 >, and can conse
1c20: 71 75 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 quently support
1c30: 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 <b>Routing algor
1c40: 69 74 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a ithms</b>.<br>..
1c50: 41 6c 6c 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f All Routing algo
1c60: 72 69 74 68 6d 73 20 61 72 65 20 69 6e 74 65 6e rithms are inten
1c70: 64 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 ded to identify
1c80: 74 68 65 20 3c 62 3e 53 68 6f 72 74 65 73 74 20 the <b>Shortest
1c90: 50 61 74 68 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f Path</b> solutio
1ca0: 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 77 6f n connecting two
1cb0: 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e <b>Nodes</b> in
1cc0: 20 61 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67 a <b>weighted g
1cd0: 72 61 70 68 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 raph</b> (<i>aka
1ce0: 3c 2f 69 3e 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c </i> <b>Network<
1cf0: 2f 62 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c /b>).<br><br>..<
1d00: 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 b><u>Note</u></b
1d10: 3e 3a 20 74 68 65 20 74 65 72 6d 20 3c 62 3e 3c >: the term <b><
1d20: 69 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c i>Shortest Path<
1d30: 2f 69 3e 3c 2f 62 3e 20 63 61 6e 20 62 65 20 65 /i></b> can be e
1d40: 61 73 69 6c 79 20 6d 69 73 75 6e 64 65 72 73 74 asily misunderst
1d50: 6f 6f 64 2e 3c 62 72 3e 0d 0a 44 75 65 20 74 6f ood.<br>..Due to
1d60: 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 historical reas
1d70: 6f 6e 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d ons the most com
1d80: 6d 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 mon application
1d90: 66 69 65 6c 64 20 66 6f 72 20 52 6f 75 74 69 6e field for Routin
1da0: 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 69 73 20 g algorithms is
1db0: 72 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e 52 6f related to <b>Ro
1dc0: 61 64 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c ad Networks</b>,
1dd0: 20 62 75 74 20 61 6c 73 6f 20 6d 61 6e 79 20 6f but also many o
1de0: 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 4e 65 ther kinds of Ne
1df0: 74 77 6f 72 6b 73 20 65 78 69 73 74 3a 0d 0a 3c tworks exist:..<
1e00: 75 6c 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f 67 72 ul>..<li>Hydrogr
1e10: 61 70 68 69 63 20 4e 65 74 77 6f 72 6b 73 2e 3c aphic Networks.<
1e20: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20 /li>..<li>Gas /
1e30: 57 61 74 65 72 20 2f 20 4f 69 6c 20 4e 65 74 77 Water / Oil Netw
1e40: 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e orks.</li>..<li>
1e50: 45 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f Electrical Netwo
1e60: 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 rks.</li>..<li>T
1e70: 65 6c 65 63 6f 6d 75 6e 69 63 61 74 69 6f 6e 20 elecomunication
1e80: 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a Networks.</li>..
1e90: 3c 6c 69 3e 53 6f 63 69 61 6c 20 6f 72 20 45 63 <li>Social or Ec
1ea0: 6f 6e 6f 6d 69 63 61 6c 20 4e 65 74 77 6f 72 6b onomical Network
1eb0: 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 72 s representing r
1ec0: 65 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74 elationships bet
1ed0: 77 65 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73 ween individuals
1ee0: 20 6f 72 20 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f or companies.</
1ef0: 6c 69 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65 6d 69 li>..<li>Epidemi
1f00: 6f 6c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b ological Network
1f10: 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 s representing t
1f20: 68 65 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f he propagation o
1f30: 66 20 69 6e 66 65 63 74 69 76 65 20 64 69 73 65 f infective dise
1f40: 61 73 65 73 20 62 65 74 77 65 65 6e 20 69 6e 64 ases between ind
1f50: 69 76 69 64 75 61 6c 73 20 6f 72 20 67 72 6f 75 ividuals or grou
1f60: 70 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c ps.</li>..</ul><
1f70: 2f 6c 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 /li> ..<br>..In
1f80: 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 63 61 all the above ca
1f90: 73 65 73 20 77 65 20 63 65 72 74 61 69 6e 6c 79 ses we certainly
1fa0: 20 68 61 76 65 20 76 61 6c 69 64 20 4e 65 74 77 have valid Netw
1fb0: 6f 72 6b 73 20 73 75 70 70 6f 72 74 69 6e 67 20 orks supporting
1fc0: 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 Routing algorith
1fd0: 6e 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20 ns, but not all
1fe0: 6f 66 20 74 68 65 6d 20 63 61 6e 20 69 6d 70 6c of them can impl
1ff0: 79 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 y something like
2000: 20 61 20 3c 69 3e 73 70 61 74 69 61 6c 20 64 69 a <i>spatial di
2010: 73 74 61 6e 63 65 3c 2f 69 3e 20 28 3c 69 3e 67 stance</i> (<i>g
2020: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c eometric length<
2030: 2f 69 3e 29 20 6f 72 20 61 20 3c 69 3e 74 72 61 /i>) or a <i>tra
2040: 76 65 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72 vel time</i>.<br
2050: 3e 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 67 >..In the most g
2060: 65 6e 65 72 61 6c 20 61 63 63 65 70 74 69 6f 6e eneral acception
2070: 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 63 61 <b>costs</b> ca
2080: 6e 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 n be represented
2090: 20 62 79 20 61 6e 79 20 72 65 61 73 6f 6e 61 62 by any reasonab
20a0: 6c 65 20 70 68 79 73 69 63 61 6c 20 71 75 61 6e le physical quan
20b0: 74 69 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20 tity.<br>..So a
20c0: 6d 6f 72 65 20 67 65 6e 65 72 61 6c 69 7a 65 64 more generalized
20d0: 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 61 definition is a
20e0: 73 73 75 6d 69 6e 67 20 74 68 61 74 20 52 6f 75 ssuming that Rou
20f0: 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 ting algorithms
2100: 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 are intended to
2110: 69 64 65 6e 74 69 66 79 20 3c 62 3e 6c 65 73 73 identify <b>less
2120: 65 72 20 63 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75 er cost</b> solu
2130: 74 69 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e 77 65 tions on a <b>we
2140: 69 67 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e ighted graph</b>
2150: 2e 3c 62 72 3e 0d 0a 54 68 65 20 65 78 61 63 74 .<br>..The exact
2160: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 interpretation
2170: 6f 66 20 74 68 65 20 69 6e 76 6f 6c 76 65 64 20 of the involved
2180: 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 28 3c 69 <b>costs</b> (<i
2190: 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65 69 67 >aka</i> <b>weig
21a0: 68 74 73 3c 2f 62 3e 29 20 73 74 72 69 63 74 6c hts</b>) strictl
21b0: 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 y depends on the
21c0: 20 76 65 72 79 20 73 70 65 63 69 66 69 63 20 6e very specific n
21d0: 61 74 75 72 65 20 6f 66 20 65 61 63 68 20 4e 65 ature of each Ne
21e0: 74 77 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20 twork...<h3>The
21f0: 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 Dijkstra's algor
2200: 69 74 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69 73 20 ithm</h3>..This
2210: 77 65 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20 68 72 well known <a hr
2220: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 ef="https://en.w
2230: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b ikipedia.org/wik
2240: 69 2f 44 69 6a 6b 73 74 72 61 25 32 37 73 5f 61 i/Dijkstra%27s_a
2250: 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 67 6f 72 69 lgorithm">algori
2260: 74 68 6d 3c 2f 61 3e 20 69 73 6e 27 74 20 6e 65 thm</a> isn't ne
2270: 63 65 73 73 61 72 69 6c 79 20 74 68 65 20 66 61 cessarily the fa
2280: 73 74 65 73 74 20 6f 6e 65 2c 20 62 75 74 20 69 stest one, but i
2290: 74 20 61 6c 77 61 79 73 20 65 6e 73 75 72 65 73 t always ensures
22a0: 20 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74 <b>full correct
22b0: 6e 65 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d ness</b>:..<ul>.
22c0: 0a 3c 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f .<li>Any Node-to
22d0: 2d 4e 6f 64 65 20 63 6f 6e 6e 65 63 74 69 6f 6e -Node connection
22e0: 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 44 identified by D
22f0: 69 6a 6b 73 74 72 61 27 73 20 69 73 20 63 65 72 ijkstra's is cer
2300: 74 61 69 6e 6c 79 20 65 6e 73 75 72 65 64 20 74 tainly ensured t
2310: 6f 20 62 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c o be <b>optimal<
2320: 2f 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 /b>.<br>..In oth
2330: 65 72 20 77 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e er words, no con
2340: 6e 65 74 63 74 69 6f 6e 20 70 72 65 73 65 6e 74 netction present
2350: 69 6e 67 20 61 20 6c 6f 77 65 72 20 63 6f 73 74 ing a lower cost
2360: 20 63 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 6c can conceptuall
2370: 79 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c y exist.</li>..<
2380: 6c 69 3e 57 68 65 6e 20 44 69 6a 73 6a 74 72 61 li>When Dijsjtra
2390: 27 73 20 66 61 69 6c 73 20 74 6f 20 69 64 65 6e 's fails to iden
23a0: 74 69 66 79 20 61 20 73 6f 6c 75 74 69 6f 6e 20 tify a solution
23b0: 74 68 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e this surely mean
23c0: 73 20 74 68 61 74 20 6e 6f 20 73 6f 6c 75 74 69 s that no soluti
23d0: 6f 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 3c on is possible.<
23e0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 /li>..</ul>..<h3
23f0: 3e 54 68 65 20 41 2a 20 61 6c 67 6f 72 69 74 68 >The A* algorith
2400: 6d 3c 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74 m</h3>..Many alt
2410: 65 72 6e 61 74 69 76 65 20 52 6f 75 74 69 6e 67 ernative Routing
2420: 20 61 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65 algorithms have
2430: 20 62 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64 been invented d
2440: 75 72 69 6e 67 20 74 68 65 20 79 65 61 72 73 2e uring the years.
2450: 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d 20 61 <br>..All them a
2460: 72 65 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 re based on heur
2470: 69 73 74 69 63 20 61 73 73 75 6d 70 74 69 6f 6e istic assumption
2480: 73 20 61 6e 64 20 61 72 65 20 69 6e 74 65 6e 64 s and are intend
2490: 65 64 20 74 6f 20 62 65 20 66 61 73 74 65 72 20 ed to be faster
24a0: 74 68 61 6e 20 44 69 6a 6b 73 74 72 61 27 73 2c than Dijkstra's,
24b0: 20 62 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 but none of the
24c0: 6d 20 63 61 6e 20 65 6e 73 75 72 65 20 3c 62 3e m can ensure <b>
24d0: 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73 full correctness
24e0: 3c 2f 62 3e 20 61 73 20 44 69 6a 6b 73 74 72 61 </b> as Dijkstra
24f0: 27 73 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68 's does.<br>..Th
2500: 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 e <a href="https
2510: 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e ://en.wikipedia.
2520: 6f 72 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 61 72 org/wiki/A*_sear
2530: 63 68 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 41 2a ch_algorithm">A*
2540: 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 61 algorithm</a> a
2550: 70 70 6c 69 65 73 20 61 20 6d 69 6c 64 20 68 65 pplies a mild he
2560: 75 72 69 73 74 69 63 20 6f 70 74 69 6d 69 7a 61 uristic optimiza
2570: 74 69 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 62 65 tion, and can be
2580: 20 61 20 72 65 61 6c 69 73 74 69 63 20 61 6c 74 a realistic alt
2590: 65 72 6e 61 74 69 76 65 20 74 6f 20 44 69 6a 6b ernative to Dijk
25a0: 73 74 72 61 27 73 20 69 6e 20 6d 61 6e 79 20 63 stra's in many c
25b0: 61 73 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c ases.<br><br>..<
25c0: 68 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 hr>..<h1><a name
25d0: 3d 22 73 61 6d 70 6c 65 22 3e 32 20 2d 20 54 68 ="sample">2 - Th
25e0: 65 20 73 61 6d 70 6c 65 2f 74 65 73 74 20 44 42 e sample/test DB
25f0: 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61 </a></h1>..You a
2600: 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 66 re expected to f
2610: 6f 6c 6c 6f 77 20 74 68 65 20 63 75 72 72 65 6e ollow the curren
2620: 74 20 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 74 t tutorial about
2630: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 <b>VirtualRouti
2640: 6e 67 3c 2f 62 3e 20 62 79 20 64 69 72 65 63 74 ng</b> by direct
2650: 6c 79 20 74 65 73 74 69 6e 67 20 61 6c 6c 20 53 ly testing all S
2660: 51 4c 20 71 75 65 72 69 65 73 20 64 69 73 63 75 QL queries discu
2670: 73 73 65 64 20 20 62 65 6c 6f 77 20 77 69 74 68 ssed below with
2680: 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 the <a href="ht
2690: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 tps://www.gaia-g
26a0: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f is.it/gaia-sins/
26b0: 72 6f 75 74 69 6e 67 2d 73 61 6d 70 6c 65 2d 35 routing-sample-5
26c0: 2e 30 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c 65 2f .0.0.7z">sample/
26d0: 74 65 73 74 20 44 42 20 74 68 61 74 20 79 6f 75 test DB that you
26e0: 20 63 61 6e 20 64 6f 77 6e 6c 6f 61 64 20 66 72 can download fr
26f0: 6f 6d 20 68 65 72 65 3c 2f 61 3e 3c 62 72 3e 3c om here</a><br><
2700: 62 72 3e 0d 0a 54 68 65 20 73 61 6d 70 6c 65 20 br>..The sample
2710: 44 42 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 DB contains the
2720: 66 75 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e 65 74 full <b>road net
2730: 77 6f 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62 3e 54 work</b> of <b>T
2740: 75 73 63 61 6e 79 20 52 65 67 69 6f 6e 20 28 49 uscany Region (I
2750: 74 61 6c 79 29 3c 2f 62 3e 20 28 3c 61 20 68 72 taly)</b> (<a hr
2760: 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 ef="http://www50
2770: 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 2.regione.toscan
2780: 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 a.it/geoscopio/d
2790: 6f 77 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f 73 74 ownload/grafo_st
27a0: 72 61 64 61 6c 65 2f 69 74 65 72 6e 65 74 2e 7a radale/iternet.z
27b0: 69 70 22 3e 49 74 65 72 2e 4e 65 74 20 64 61 74 ip">Iter.Net dat
27c0: 61 73 65 74 3c 2f 61 3e 29 20 6b 69 6e 64 6c 79 aset</a>) kindly
27d0: 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 released under
27e0: 74 68 65 20 3c 62 3e 43 43 2d 42 59 2d 53 41 20 the <b>CC-BY-SA
27f0: 34 2e 30 3c 2f 62 3e 20 6c 69 63 65 6e 63 65 20 4.0</b> licence
2800: 74 65 72 6d 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 74 terms.<br>..Allt
2810: 68 6f 75 67 68 20 74 68 65 20 63 6f 6e 74 65 6e hough the conten
2820: 74 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 ts stored in the
2830: 20 73 61 6d 70 6c 65 20 64 61 74 61 62 61 73 65 sample database
2840: 20 68 61 76 65 20 62 65 65 6e 20 72 65 61 72 72 have been rearr
2850: 61 6e 67 65 64 2c 20 69 74 20 69 73 20 73 74 69 anged, it is sti
2860: 6c 6c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 ll subject to th
2870: 65 20 69 6e 69 74 69 61 6c 20 3c 62 3e 43 43 2d e initial <b>CC-
2880: 42 59 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 63 6c BY-SA 4.0</b> cl
2890: 61 75 73 65 73 20 28 3c 69 3e 64 65 72 69 76 65 auses (<i>derive
28a0: 64 20 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a 3c 62 d work</i>)...<b
28b0: 72 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c r><br>..<ul>..<l
28c0: 69 3e 61 6c 6c 20 72 6f 61 64 20 6e 61 6d 65 73 i>all road names
28d0: 20 61 72 65 20 73 74 6f 72 65 64 20 77 69 74 68 are stored with
28e0: 69 6e 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 in the <b>topony
28f0: 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c 62 72 ms</b> Table.<br
2900: 3e 0d 0a 73 69 6e 63 65 20 74 68 65 20 73 61 6d >..since the sam
2910: 65 20 72 6f 61 64 20 6e 61 6d 65 73 20 63 6f 75 e road names cou
2920: 6c 64 20 62 65 20 75 73 65 64 20 69 6e 20 64 69 ld be used in di
2930: 66 66 65 72 65 6e 74 20 4d 75 6e 69 63 69 70 61 fferent Municipa
2940: 6c 69 74 69 65 73 2c 20 74 68 65 20 3c 62 3e 74 lities, the <b>t
2950: 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c oponyms</b> Tabl
2960: 65 20 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72 e relationally r
2970: 65 66 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62 eferences the <b
2980: 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c >municipalities<
2990: 2f 62 3e 20 54 61 62 6c 65 20 28 76 69 61 20 3c /b> Table (via <
29a0: 62 3e 50 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20 b>PRIMARY</b> /
29b0: 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f <b>FOREIGN KEY</
29c0: 62 3e 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 b> relationships
29d0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 ).</li>..<li>the
29e0: 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70 <b>roads</b> Sp
29f0: 61 74 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74 atial Table cont
2a00: 61 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e 33 38 ains about <b>38
2a10: 30 2c 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c 0,000</b> Links,
2a20: 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c and has the fol
2a30: 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d lowing columns:.
2a40: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 .<ul>..<li><b>id
2a50: 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 </b>: unique ide
2a60: 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 ntifier of each
2a70: 4c 69 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59 Link (<b>PRIMARY
2a80: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d KEY</b>).</li>.
2a90: 0a 3c 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f .<li><b>node_fro
2aa0: 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64 m</b> and <b>nod
2ab0: 65 5f 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69 e_to</b>: Node i
2ac0: 64 65 6e 74 69 66 69 65 72 73 2e 0d 0a 54 68 65 dentifiers...The
2ad0: 20 6f 72 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e original Iter.N
2ae0: 65 74 20 64 61 74 61 73 65 74 20 61 64 6f 70 74 et dataset adopt
2af0: 73 20 76 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63 s very long an c
2b00: 6f 6d 70 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65 omplex alphanume
2b10: 72 69 63 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20 ric Node codes;
2b20: 74 68 65 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 the integer Node
2b30: 20 49 44 73 20 77 65 72 65 20 6f 62 74 61 69 6e IDs were obtain
2b40: 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 ed by calling th
2b50: 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 e <b>CreateRouti
2b60: 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 ngNodes()</b> SQ
2b70: 4c 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 75 L function discu
2b80: 73 73 65 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77 ssed in a follow
2b90: 69 6e 67 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69 ing section.</li
2ba0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70 >..<li><b>id_top
2bb0: 6f 6e 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69 onym</b>: relati
2bc0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74 onal reference t
2bd0: 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 o the correspond
2be0: 69 6e 67 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f ing road name co
2bf0: 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 ntained into the
2c00: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e <b>toponyms</b>
2c10: 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49 Table (<b>FOREI
2c20: 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 GN KEY</b>).</li
2c30: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f >..<li><b>speed_
2c40: 6b 6d 68 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74 kmh</b>: the est
2c50: 69 6d 61 74 65 64 20 61 76 65 72 61 67 65 20 73 imated average s
2c60: 70 65 65 64 20 73 75 70 70 6f 72 74 65 64 20 62 peed supported b
2c70: 79 20 74 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72 y the Link, expr
2c80: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68 essed in <b>km/h
2c90: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f </b>.<br>..<u>No
2ca0: 74 65 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74 te</u>: <b>negat
2cb0: 69 76 65 3c 2f 62 3e 20 73 70 65 65 64 73 20 69 ive</b> speeds i
2cc0: 6e 74 65 6e 64 20 61 20 66 6f 72 62 69 64 64 65 ntend a forbidde
2cd0: 6e 20 4c 69 6e 6b 20 28 61 73 20 69 74 20 63 6f n Link (as it co
2ce0: 75 6c 64 20 62 65 20 74 68 65 20 63 61 73 65 20 uld be the case
2cf0: 6f 66 20 70 65 64 65 73 74 72 69 61 6e 20 73 74 of pedestrian st
2d00: 72 65 65 74 73 20 6f 72 20 62 69 63 79 63 6c 65 reets or bicycle
2d10: 20 6c 61 6e 65 73 20 65 78 6c 75 64 69 6e 67 20 lanes exluding
2d20: 6d 6f 74 6f 72 20 76 65 68 69 63 6c 65 73 29 2e motor vehicles).
2d30: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6f 6e </li>..<li><b>on
2d40: 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 3e 20 eway_fromto</b>
2d50: 61 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f and <b>oneway_to
2d60: 66 72 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c 65 61 from</b>: boolea
2d70: 6e 20 66 6c 61 67 73 20 64 65 74 65 72 6d 69 6e n flags determin
2d80: 65 20 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e 20 e if a Link can
2d90: 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20 be traversed in
2da0: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20 both directions
2db0: 6f 72 20 6a 75 73 74 20 69 6e 20 61 20 73 69 6e or just in a sin
2dc0: 67 6c 65 20 64 69 72 65 63 74 69 6f 6e 20 28 3c gle direction (<
2dd0: 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c b>one-way</b>).<
2de0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e br>..<u>Note</u>
2df0: 3a 20 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63 6c : all Links decl
2e00: 61 72 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79 5f aring <b>oneway_
2e10: 66 72 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64 fromto=0</b> and
2e20: 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f <b>oneway_tofro
2e30: 6d 3d 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74 65 m=0</b> are inte
2e40: 6e 64 65 64 20 74 6f 20 62 65 20 61 6c 77 61 79 nded to be alway
2e50: 73 20 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c 69 s forbidden.</li
2e60: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f >..<li><b>cost</
2e70: 62 3e 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c b>: the <b>time<
2e80: 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e /b> expressed in
2e90: 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20 <b>seconds</b>
2ea0: 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 76 required to trav
2eb0: 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c erse each Link.<
2ec0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c br>..<u>Note #1<
2ed0: 2f 75 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77 65 /u> all costs we
2ee0: 72 65 20 63 61 6c 63 75 6c 61 74 65 64 20 61 63 re calculated ac
2ef0: 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 cordingly to the
2f00: 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 75 following formu
2f10: 6c 61 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28 28 la: <b>cost = ((
2f20: 53 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 ST_Length(geom)
2f30: 2f 20 31 30 30 30 2e 30 29 20 2f 20 73 70 65 65 / 1000.0) / spee
2f40: 64 5f 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30 3c d_kmh) * 3600.0<
2f50: 2f 62 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 /b><br>..<u>Note
2f60: 20 23 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38 #2</u> all <b>8
2f70: 36 2c 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73 74 6,400.0</b> cost
2f80: 20 76 61 6c 75 65 73 20 28 65 71 75 69 76 61 6c values (equival
2f90: 65 6e 74 20 74 6f 20 31 20 64 61 79 29 20 69 6d ent to 1 day) im
2fa0: 70 6c 79 20 61 6e 20 3c 62 3e 69 6e 66 69 6e 69 ply an <b>infini
2fb0: 74 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 74 68 tive cost</b> th
2fc0: 75 73 20 69 6e 74 65 6e 64 69 6e 67 20 61 20 3c us intending a <
2fd0: 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 b>forbidden</b>
2fe0: 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e Link.</li>..<li>
2ff0: 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c <b>geom</b>: a <
3000: 62 3e 33 44 20 4c 69 6e 65 73 74 72 69 6e 67 3c b>3D Linestring<
3010: 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 /b> representing
3020: 20 74 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66 the Geometry of
3030: 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d each Link.<br>.
3040: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 .<u>Note</u>: th
3050: 65 20 6f 72 69 67 69 6e 61 6c 20 3c 62 3e 49 74 e original <b>It
3060: 65 72 2e 4e 65 74 3c 2f 62 3e 20 64 61 74 61 73 er.Net</b> datas
3070: 65 74 20 69 73 20 6a 75 73 74 20 3c 62 3e 32 44 et is just <b>2D
3080: 3c 2f 62 3e 3b 20 65 6c 65 76 61 74 69 6f 6e 73 </b>; elevations
3090: 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64 (<b>Z</b> coord
30a0: 69 6e 61 74 65 73 29 20 77 65 72 65 20 69 6e 74 inates) were int
30b0: 65 72 70 6f 6c 61 74 65 64 20 62 79 20 64 72 61 erpolated by dra
30c0: 70 69 6e 67 20 74 68 65 20 64 61 74 61 73 65 74 ping the dataset
30d0: 20 6f 76 65 72 20 61 6e 20 3c 61 20 68 72 65 66 over an <a href
30e0: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e ="http://www502.
30f0: 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e regione.toscana.
3100: 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77 it/geoscopio/dow
3110: 6e 6c 6f 61 64 2f 61 6c 74 69 6d 65 74 72 69 61 nload/altimetria
3120: 2f 64 61 5f 63 74 72 31 30 6b 2f 67 62 2f 44 54 /da_ctr10k/gb/DT
3130: 4d 5f 4f 72 6f 67 72 61 66 69 63 6f 2e 37 7a 22 M_Orografico.7z"
3140: 3e 6f 72 6f 67 72 61 70 68 69 63 20 44 45 4d 20 >orographic DEM
3150: 28 31 30 6d 20 58 20 31 30 6d 20 63 65 6c 6c 73 (10m X 10m cells
3160: 29 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c )</a></li>..</ul
3170: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 ></li>..<li>the
3180: 3c 62 3e 72 6f 61 64 73 5f 76 77 3c 2f 62 3e 20 <b>roads_vw</b>
3190: 53 70 61 74 69 61 6c 20 56 69 65 77 20 72 65 73 Spatial View res
31a0: 6f 6c 76 65 73 20 61 6c 6c 20 72 65 6c 61 74 69 olves all relati
31b0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20 onal references
31c0: 62 65 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73 between <b>roads
31d0: 3c 2f 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d </b>, <b>toponym
31e0: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e s</b> and <b>mun
31f0: 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c icipalities</b>,
3200: 20 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 thus allowing f
3210: 6f 72 20 65 61 73 69 65 72 20 53 51 4c 20 71 75 or easier SQL qu
3220: 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 eries.</li>..<li
3230: 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 >the <b>house_nr
3240: 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62 </b> Spatial Tab
3250: 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75 le contains abou
3260: 74 20 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f t <b>1,480,000</
3270: 62 3e 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 b> House Numbers
3280: 2c 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f , and has the fo
3290: 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a llowing columns:
32a0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 ..<ul>..<li><b>i
32b0: 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 d</b>: unique id
32c0: 65 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 entifier of each
32d0: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c House Number (<
32e0: 62 3e 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62 b>PRIMARY KEY</b
32f0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 >).</li>..<li><b
3300: 3e 69 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65 >id_road</b>: re
3310: 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e lational referen
3320: 63 65 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 ce to the corres
3330: 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e ponding Link con
3340: 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 tained into the
3350: 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62 <b>roads</b> Tab
3360: 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b le (<b>FOREIGN K
3370: 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c EY</b>).</li>..<
3380: 6c 69 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a li><b>label</b>:
3390: 20 74 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62 the textual lab
33a0: 65 6c 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79 el fully qualify
33b0: 69 6e 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e ing each House N
33c0: 75 6d 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 umber.</li>..<li
33d0: 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 ><b>geom</b>: a
33e0: 3c 62 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 <b>3D Point</b>
33f0: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 representing the
3400: 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63 Geometry of eac
3410: 68 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c h House Number.<
3420: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c br>..<u>Note #1<
3430: 2f 75 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69 /u>: also in thi
3440: 73 20 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61 s case all eleva
3450: 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 tions (<b>Z</b>
3460: 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72 coordinates) wer
3470: 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 e interpolated b
3480: 79 20 64 72 61 70 69 6e 67 20 74 68 65 20 64 61 y draping the da
3490: 74 61 73 65 74 20 6f 76 65 72 20 74 68 65 20 73 taset over the s
34a0: 61 6d 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65 ame DEM as above
34b0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 .<br>..<u>Note #
34c0: 32 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 2</u>: strictly
34d0: 73 70 65 61 63 6b 69 6e 67 20 74 68 65 20 48 6f speacking the Ho
34e0: 75 73 65 20 4e 75 6d 62 65 72 73 20 61 72 65 20 use Numbers are
34f0: 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 not part of the
3500: 52 6f 61 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68 Road Network; th
3510: 65 79 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 ey are included
3520: 69 6e 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65 in the sample/te
3530: 73 74 20 64 61 74 61 62 61 73 65 20 61 73 20 75 st database as u
3540: 73 65 66 75 6c 20 65 78 61 6d 70 6c 65 73 20 65 seful examples e
3550: 78 70 6c 61 69 6e 65 64 20 6c 61 74 65 72 20 69 xplained later i
3560: 6e 20 74 68 69 73 20 74 65 78 74 2e 3c 2f 6c 69 n this text.</li
3570: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c >..</ul></li>..<
3580: 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f li>the <b>house_
3590: 6e 72 5f 76 77 3c 2f 62 3e 20 53 70 61 74 69 61 nr_vw</b> Spatia
35a0: 6c 20 56 69 65 77 20 72 65 73 6f 6c 76 65 73 20 l View resolves
35b0: 61 6c 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 all relational r
35c0: 65 66 65 72 65 6e 63 65 73 20 62 65 74 77 65 65 eferences betwee
35d0: 6e 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62 n <b>house_nr</b
35e0: 3e 2c 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c >, <b>roads</b>,
35f0: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e <b>toponyms</b>
3600: 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61 and <b>municipa
3610: 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73 lities</b>, thus
3620: 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61 allowing for ea
3630: 73 69 65 72 20 53 51 4c 20 71 75 65 72 69 65 73 sier SQL queries
3640: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c .</li>..</ul>..<
3650: 62 72 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e br>.. <hr>..<h1>
3660: 3c 61 20 6e 61 6d 65 3d 22 63 72 65 61 74 65 22 <a name="create"
3670: 3e 33 20 2d 20 43 72 65 61 74 69 6e 67 20 56 69 >3 - Creating Vi
3680: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 rtualRouting Tab
3690: 6c 65 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c les</a></h1>..Al
36a0: 6c 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 l VirtualRouting
36b0: 20 71 75 65 72 69 65 73 20 61 72 65 20 62 61 73 queries are bas
36c0: 65 64 20 6f 6e 20 61 20 73 70 65 63 69 66 69 63 ed on a specific
36d0: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 <b>VirtualRouti
36e0: 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 2c 20 61 6e ng Table</b>, an
36f0: 64 20 69 6e 20 74 75 72 6e 2c 20 74 68 65 20 56 d in turn, the V
3700: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 irtualRouting Ta
3710: 62 6c 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20 ble is based on
3720: 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 a corresponding
3730: 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54 <b>Binary Data T
3740: 61 62 6c 65 3c 2f 62 3e 20 77 68 69 63 68 2c 20 able</b> which,
3750: 74 61 6b 65 6e 20 74 6f 67 65 61 74 68 65 72 2c taken togeather,
3760: 20 69 73 20 61 6e 20 65 66 66 69 63 69 65 6e 74 is an efficient
3770: 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 representation
3780: 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e of the underlyin
3790: 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a g Network.<br>..
37a0: 53 6f 20 77 65 27 6c 6c 20 73 74 61 72 74 20 66 So we'll start f
37b0: 69 72 73 74 20 62 79 20 63 72 65 61 74 69 6e 67 irst by creating
37c0: 20 74 68 65 73 65 20 74 61 62 6c 65 73 2e 3c 62 these tables.<b
37d0: 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6f 6c 64 2c r><br>..The old,
37e0: 20 61 6e 64 20 6e 6f 77 20 73 75 70 65 72 73 65 and now superse
37f0: 64 65 64 2c 20 3c 62 3e 56 69 72 74 75 61 6c 4e ded, <b>VirtualN
3800: 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 71 75 69 etwork</b> requi
3810: 72 65 64 20 74 68 65 20 75 73 65 20 6f 66 20 61 red the use of a
3820: 20 73 65 70 61 72 61 74 65 20 43 4c 49 20 74 6f separate CLI to
3830: 6f 6c 20 28 3c 62 3e 73 70 61 74 69 61 6c 69 74 ol (<b>spatialit
3840: 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69 e_network</b>) i
3850: 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65 n order to prope
3860: 72 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 rly initialize a
3870: 20 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 VirtualNetwork
3880: 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20 63 6f Table and its co
3890: 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 mpanion Binary D
38a0: 61 74 61 20 54 61 62 6c 65 3b 0d 0a 61 6c 74 65 ata Table;..alte
38b0: 72 6e 61 74 69 76 65 6c 79 20 3c 62 3e 73 70 61 rnatively <b>spa
38c0: 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 tialite_gui</b>
38d0: 73 75 70 70 6f 72 74 65 64 20 61 20 3c 62 3e 47 supported a <b>G
38e0: 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20 66 6f UI wizard</b> fo
38f0: 72 20 74 68 65 20 73 61 6d 65 20 74 61 73 6b 2e r the same task.
3900: 20 53 69 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c Since version <
3910: 62 3e 35 2e 30 2e 30 3c 2f 62 3e 2c 20 53 70 61 b>5.0.0</b>, Spa
3920: 74 69 61 4c 69 74 65 20 20 73 75 70 70 6f 72 74 tiaLite support
3930: 73 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 61 s this functiona
3940: 6c 69 74 79 20 64 69 72 65 63 74 6c 79 2c 20 77 lity directly, w
3950: 69 74 68 20 74 68 65 20 3c 62 3e 43 72 65 61 74 ith the <b>Creat
3960: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 eRouting()</b> S
3970: 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 QL function...<v
3980: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 erbatim>..SELECT
3990: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27 CreateRouting('
39a0: 62 79 66 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62 byfoot_data', 'b
39b0: 79 66 6f 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76 yfoot', 'roads_v
39c0: 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c w', 'node_from',
39d0: 20 27 6e 6f 64 65 74 6f 27 2c 20 27 67 65 6f 6d 'nodeto', 'geom
39e0: 27 2c 20 4e 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c ', NULL);....SEL
39f0: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e ECT CreateRoutin
3a00: 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 g_GetLastError()
3a10: 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ;..-------------
3a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3a30: 2d 2d 2d 2d 2d 2d 2d 0d 0a 54 6f 4e 6f 64 65 20 -------..ToNode
3a40: 43 6f 6c 75 6d 6e 20 22 6e 6f 64 65 74 6f 22 20 Column "nodeto"
3a50: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69 is not defined i
3a60: 6e 20 74 68 65 20 49 6e 70 75 74 20 54 61 62 6c n the Input Tabl
3a70: 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a e..</verbatim>..
3a80: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 <u>Note</u>: thi
3a90: 73 20 66 69 72 73 74 20 71 75 65 72 79 20 28 62 s first query (b
3aa0: 61 73 65 64 20 6f 6e 20 74 68 65 20 3c 69 3e 6d ased on the <i>m
3ab0: 69 6e 69 6d 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 inimal form</i>
3ac0: 6f 66 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 of <b>CreateRout
3ad0: 69 6e 67 3c 2f 62 3e 29 20 3c 62 3e 3c 69 3e 3c ing</b>) <b><i><
3ae0: 75 3e 64 65 6c 69 62 65 72 61 74 65 6c 79 3c 2f u>deliberately</
3af0: 75 3e 3c 2f 69 3e 3c 2f 62 3e 20 63 6f 6e 74 61 u></i></b> conta
3b00: 69 6e 73 20 61 6e 20 69 6e 74 65 6e 64 65 64 20 ins an intended
3b10: 65 72 72 6f 72 20 63 61 75 73 69 6e 67 20 61 20 error causing a
3b20: 66 61 69 6c 75 72 65 20 74 6f 20 20 72 61 69 73 failure to rais
3b30: 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 3c e an exception.<
3b40: 62 72 3e 0d 0a 43 72 65 61 74 65 52 6f 75 74 69 br>..CreateRouti
3b50: 6e 67 28 29 20 63 61 6e 20 66 61 69 6c 20 66 6f ng() can fail fo
3b60: 72 20 6d 75 6c 74 69 70 6c 65 20 72 65 61 73 6f r multiple reaso
3b70: 6e 73 2c 20 61 6e 64 20 62 79 20 63 61 6c 6c 69 ns, and by calli
3b80: 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 ng <b>CreateRout
3b90: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 ing_GetLastError
3ba0: 28 29 3c 2f 62 3e 20 79 6f 75 20 63 61 6e 20 65 ()</b> you can e
3bb0: 61 73 69 6c 79 20 69 64 65 6e 74 69 66 79 20 74 asily identify t
3bc0: 68 65 20 65 78 61 63 74 20 72 65 61 73 6f 6e 20 he exact reason
3bd0: 77 68 79 20 74 68 65 20 6d 6f 73 74 20 72 65 63 why the most rec
3be0: 65 6e 74 20 63 61 6c 6c 20 74 6f 20 43 72 65 61 ent call to Crea
3bf0: 74 65 52 6f 75 74 69 6e 67 28 29 20 66 61 69 6c teRouting() fail
3c00: 65 64 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 ed.<br>..<verbat
3c10: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 im>..SELECT Crea
3c20: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 6f 6f teRouting('byfoo
3c30: 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f 6f 74 t_data', 'byfoot
3c40: 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 ', 'roads_vw', '
3c50: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 node_from', 'nod
3c60: 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e e_to', 'geom', N
3c70: 55 4c 4c 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20 ULL, 'toponym',
3c80: 31 2c 20 31 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 1, 1);..--------
3c90: 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d 0a 53 45 4c 45 -----..1....SELE
3ca0: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 CT CreateRouting
3cb0: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3b _GetLastError();
3cc0: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
3cd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3ce0: 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c 4c 0d 0a 3c 2f ------..NULL..</
3cf0: 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69 73 20 verbatim>..This
3d00: 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 20 77 second attempt w
3d10: 69 6c 6c 20 73 75 63 63 65 65 64 2c 20 77 69 74 ill succeed, wit
3d20: 68 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 h CreateRouting(
3d30: 29 20 72 65 74 75 72 6e 69 6e 67 20 3c 62 3e 31 ) returning <b>1
3d40: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e </b> (<i>aka</i>
3d50: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 2c 20 61 <b>TRUE</b>), a
3d60: 6e 64 20 61 73 20 79 6f 75 20 63 61 6e 20 65 61 nd as you can ea
3d70: 73 69 6c 79 20 63 68 65 63 6b 20 6e 6f 77 20 74 sily check now t
3d80: 68 65 20 44 61 74 61 62 61 73 65 20 63 6f 6e 74 he Database cont
3d90: 61 69 6e 73 20 74 77 6f 20 6e 65 77 20 54 61 62 ains two new Tab
3da0: 6c 65 73 3a 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f les: <b>byfoot</
3db0: 62 3e 20 61 6e 64 20 3c 62 3e 62 79 66 6f 6f 74 b> and <b>byfoot
3dc0: 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a _data</b>.<br>..
3dd0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 66 74 <u>Note</u>: aft
3de0: 65 72 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 er a successful
3df0: 63 61 6c 6c 20 74 6f 20 43 72 65 61 74 65 52 6f call to CreateRo
3e00: 75 74 69 6e 67 28 29 20 3c 62 3e 43 72 65 61 74 uting() <b>Creat
3e10: 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 eRouting_GetLast
3e20: 45 72 72 6f 72 28 29 3c 2f 62 3e 20 77 69 6c 6c Error()</b> will
3e30: 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 3c always return <
3e40: 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 62 72 3e 3c b>NULL</b>.<br><
3e50: 62 72 3e 0d 0a 4c 65 74 27 73 20 6c 6f 6f 6b 2c br>..Let's look,
3e60: 20 69 6e 20 6d 6f 72 65 20 64 65 74 61 69 6c 2c in more detail,
3e70: 20 6f 66 20 74 68 65 20 3c 69 3e 6d 69 6e 69 6d of the <i>minim
3e80: 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43 al form</i> of C
3e90: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3b 20 reateRouting();
3ea0: 61 6e 64 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 and the meaning
3eb0: 6f 66 20 65 61 63 68 20 61 72 67 75 6d 65 6e 74 of each argument
3ec0: 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e :..<ol>..<li><i>
3ed0: 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f 69 3e 3a byfoot_data</i>:
3ee0: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 the name of the
3ef0: 20 4e 65 74 77 6f 72 6b 20 42 69 6e 61 72 79 20 Network Binary
3f00: 44 61 74 61 20 54 61 62 6c 65 20 74 6f 20 62 65 Data Table to be
3f10: 20 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a created.</li>..
3f20: 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 3c 2f 69 <li><i>byfoot</i
3f30: 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 >: the name of t
3f40: 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e he VirtualRoutin
3f50: 67 20 54 61 62 6c 65 20 74 6f 20 62 65 20 63 72 g Table to be cr
3f60: 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 eated.</li>..<li
3f70: 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 3c 2f 69 3e ><i>roads_vw</i>
3f80: 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 : the name of th
3f90: 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 54 61 62 e <b>Spatial Tab
3fa0: 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 53 70 61 le</b> or <b>Spa
3fb0: 74 69 61 6c 20 56 69 65 77 3c 2f 62 3e 20 72 65 tial View</b> re
3fc0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 75 presenting the u
3fd0: 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72 nderlying Networ
3fe0: 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c k.<br>..<u>Note<
3ff0: 2f 75 3e 3a 20 69 6e 20 74 68 69 73 20 63 61 73 /u>: in this cas
4000: 65 20 77 65 20 61 63 74 75 61 6c 6c 79 20 75 73 e we actually us
4010: 65 64 20 61 20 53 70 61 74 69 61 6c 20 56 69 65 ed a Spatial Vie
4020: 77 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e w.</li>..<li><i>
4030: 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e node_from</i>: n
4040: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d ame of the colum
4050: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 n (in the above
4060: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 Table or View) e
4070: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 xpected to conta
4080: 69 6e 20 3c 62 3e 6e 6f 64 65 2d 66 72 6f 6d 3c in <b>node-from<
4090: 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e /b> values.</li>
40a0: 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f ..<li><i>node_to
40b0: 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 </i>: name of th
40c0: 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 e column (in the
40d0: 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 above Table or
40e0: 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 View) expected t
40f0: 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f 64 o contain <b>nod
4100: 65 2d 74 6f 3c 2f 62 3e 20 76 61 6c 75 65 73 2e e-to</b> values.
4110: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 </li>..<li><i>ge
4120: 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 om</i>: name of
4130: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 the column (in t
4140: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f he above Table o
4150: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 r View) expected
4160: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 4c to contain <b>L
4170: 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c inestrings</b>.<
4180: 62 72 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73 65 br>..In the case
4190: 20 6f 66 20 61 20 3c 62 3e 4c 6f 67 69 63 61 6c of a <b>Logical
41a0: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 3a 20 61 20 Network</b>: a
41b0: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 73 68 6f <b>NULL</b> sho
41c0: 75 6c 64 20 62 65 20 70 61 73 73 65 64 2e 2e 3c uld be passed..<
41d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c /li>..<li><i>NUL
41e0: 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 L</i>: name of t
41f0: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 he column (in th
4200: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 e above Table or
4210: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 View) expected
4220: 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 63 6f to contain <b>co
4230: 73 74 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 st</b> values.<b
4240: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65 r>..In this case
4250: 20 77 65 20 68 61 76 65 20 70 61 73 73 65 64 20 we have passed
4260: 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 a <b>NULL</b> va
4270: 6c 75 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 lue, and consequ
4280: 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 63 6f 73 ently the <b>cos
4290: 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 t</b> of each Li
42a0: 6e 6b 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d nk will be assum
42b0: 65 64 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 ed to be represe
42c0: 6e 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 67 nted by the <b>g
42d0: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c eometric length<
42e0: 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65 /b> of the corre
42f0: 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 65 73 74 72 sponding Linestr
4300: 69 6e 67 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 ing.<br>..<u>Not
4310: 65 20 23 31 3c 2f 75 3e 3a 20 69 6e 20 74 68 65 e #1</u>: in the
4320: 20 63 61 73 65 20 6f 66 20 4e 65 74 77 6f 72 6b case of Network
4330: 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 6c 6f s based on <b>lo
4340: 6e 67 69 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64 ngitudes</b> and
4350: 20 3c 62 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62 <b>latitudes</b
4360: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 > (<i>aka</i> <b
4370: 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e 20 >geographic</b>
4380: 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d Reference System
4390: 73 29 20 74 68 65 20 67 65 6f 6d 65 74 72 79 20 s) the geometry
43a0: 6c 65 6e 67 74 68 20 6f 66 20 61 6c 6c 20 4c 69 length of all Li
43b0: 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 nestrings will b
43c0: 65 20 70 72 65 63 69 73 65 6c 79 20 3c 62 3e 6d e precisely <b>m
43d0: 65 61 73 75 72 65 64 20 6f 6e 20 74 68 65 20 65 easured on the e
43e0: 6c 6c 69 70 73 6f 69 64 3c 2f 62 3e 20 62 79 20 llipsoid</b> by
43f0: 61 70 70 6c 79 69 6e 67 20 74 68 65 20 6d 6f 73 applying the mos
4400: 74 20 61 63 63 75 72 61 74 65 20 3c 62 3e 67 65 t accurate <b>ge
4410: 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c 61 73 3c odesic formulas<
4420: 2f 62 3e 20 61 6e 64 20 77 69 6c 6c 20 63 6f 6e /b> and will con
4430: 73 65 71 75 65 6e 74 6c 79 20 62 65 20 65 78 70 sequently be exp
4440: 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 ressed in <b>met
4450: 65 72 73 3c 2f 62 3e 2e 20 49 6e 20 61 6e 79 20 ers</b>. In any
4460: 6f 74 68 65 72 20 63 61 73 65 20 28 3c 62 3e 70 other case (<b>p
4470: 72 6f 6a 65 63 74 65 64 3c 2f 62 3e 20 52 65 66 rojected</b> Ref
4480: 65 72 65 6e 63 65 20 53 79 73 74 65 6d 73 29 20 erence Systems)
4490: 6c 65 6e 67 74 68 73 20 77 69 6c 6c 20 62 65 20 lengths will be
44a0: 65 78 70 72 65 73 73 65 64 20 69 6e 20 74 68 65 expressed in the
44b0: 20 3c 62 3e 6d 65 61 73 75 72 65 20 75 6e 69 74 <b>measure unit
44c0: 3c 2f 62 3e 20 64 65 66 69 6e 65 64 20 62 79 20 </b> defined by
44d0: 74 68 65 20 52 65 66 65 72 65 6e 63 65 20 53 79 the Reference Sy
44e0: 73 74 65 6d 20 28 65 2e 67 2e 20 3c 62 3e 6d 65 stem (e.g. <b>me
44f0: 74 65 72 73 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e ters</b> for <b>
4500: 55 54 4d 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 UTM</b> projecti
4510: 6f 6e 73 20 61 6e 64 20 3c 62 3e 66 65 65 74 3c ons and <b>feet<
4520: 2f 62 3e 20 66 6f 72 20 3c 62 3e 4e 41 44 2d 66 /b> for <b>NAD-f
4530: 74 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 6f 6e t</b> projection
4540: 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 s).<br>..<u>Note
4550: 20 23 32 3c 2f 75 3e 3a 20 74 68 65 20 3c 62 3e #2</u>: the <b>
4560: 67 65 6f 6d 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 geom-column</b>
4570: 61 6e 64 20 3c 62 3e 63 6f 73 74 2d 63 6f 6c 75 and <b>cost-colu
4580: 6d 6e 3c 2f 62 3e 20 61 72 67 75 6d 65 6e 74 73 mn</b> arguments
4590: 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 are never allow
45a0: 65 64 20 74 6f 20 62 65 20 3c 62 3e 4e 55 4c 4c ed to be <b>NULL
45b0: 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65 </b> at the same
45c0: 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 time.</li>..<li
45d0: 3e 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a ><i>toponym</i>:
45e0: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c name of the col
45f0: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 umn (in the abov
4600: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 e Table or View)
4610: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e expected to con
4620: 74 61 69 6e 20 3c 62 3e 72 6f 61 64 2d 6e 61 6d tain <b>road-nam
4630: 65 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 72 e</b> values.<br
4640: 3e 0d 0a 49 74 20 63 6f 75 6c 64 20 62 65 20 6c >..It could be l
4650: 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20 egitimately set
4660: 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 to <b>NULL</b> i
4670: 66 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20 f all Links are
4680: 61 6e 6f 6e 79 6d 6f 75 73 2e 3c 2f 6c 69 3e 0d anonymous.</li>.
4690: 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 61 .<li><i>1</i>: a
46a0: 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e boolean flag in
46b0: 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69 66 tended to specif
46c0: 79 20 69 66 20 74 68 65 20 4e 65 74 77 6f 72 6b y if the Network
46d0: 20 6d 75 73 74 20 73 75 70 70 6f 72 74 20 74 68 must support th
46e0: 65 20 3c 62 3e 41 2a 20 61 6c 67 6f 72 69 74 68 e <b>A* algorith
46f0: 6d 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 73 65 m</b> or not (se
4700: 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e t to <b>TRUE</b>
4710: 20 62 79 20 64 65 66 61 75 6c 74 29 2e 3c 2f 6c by default).</l
4720: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e i>..<li><i>1</i>
4730: 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 : a boolean flag
4740: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 intended to spe
4750: 63 69 66 79 20 69 66 20 61 6c 6c 20 4e 65 74 77 cify if all Netw
4760: 6f 72 6b 27 73 20 4c 69 6e 6b 73 20 61 72 65 20 ork's Links are
4770: 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 3c 62 assumed to be <b
4780: 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f >bidirectional</
4790: 62 3e 20 6f 72 20 6e 6f 74 20 28 61 73 73 75 6d b> or not (assum
47a0: 65 64 20 74 6f 20 62 65 20 3c 62 3e 54 52 55 45 ed to be <b>TRUE
47b0: 3c 2f 62 3e 20 62 79 20 64 65 66 61 75 6c 74 29 </b> by default)
47c0: 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 6f 6c 3e 0d 0a .</li> ..</ol>..
47d0: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 <table bgcolor="
47e0: 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 #c0ffc0" cellspa
47f0: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 cing="10" cellpa
4800: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 dding="6"><tr><t
4810: 64 3e 0d 0a 3c 68 33 3e 54 65 63 68 6e 69 63 61 d>..<h3>Technica
4820: 6c 20 6e 6f 74 65 3c 2f 68 33 3e 0d 0a 54 68 65 l note</h3>..The
4830: 20 69 6e 74 65 72 6e 61 6c 20 65 6e 63 6f 64 69 internal encodi
4840: 6e 67 20 61 64 6f 70 74 65 64 20 62 79 20 74 68 ng adopted by th
4850: 65 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 e <b>Binary Data
4860: 20 54 61 62 6c 65 3c 2f 62 3e 20 69 73 20 75 6e Table</b> is un
4870: 63 68 61 6e 67 65 64 20 61 6e 64 20 69 73 20 74 changed and is t
4880: 68 65 20 73 61 6d 65 20 66 6f 72 20 62 6f 74 68 he same for both
4890: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f <b>VirtualNetwo
48a0: 6b 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 56 69 72 k</b> and <b>Vir
48b0: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 2e tualRouting</b>.
48c0: 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 73 61 <br>..You can sa
48d0: 66 65 6c 79 20 62 61 73 65 20 61 20 3c 62 3e 56 fely base a <b>V
48e0: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 irtualRouting Ta
48f0: 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 65 ble</b> on any e
4900: 78 69 73 74 69 6e 67 20 42 69 6e 61 72 79 20 44 xisting Binary D
4910: 61 74 61 0d 0a 54 61 62 6c 65 20 63 72 65 61 74 ata..Table creat
4920: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 73 70 61 ed by the <b>spa
4930: 74 69 61 6c 69 74 65 2d 6e 65 74 77 6f 72 6b 3c tialite-network<
4940: 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 2c 20 65 78 /b> CLI tool, ex
4950: 61 63 74 6c 79 20 61 73 20 79 6f 75 20 63 61 6e actly as you can
4960: 20 62 61 73 65 20 61 20 3c 62 3e 56 69 72 74 75 base a <b>Virtu
4970: 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 3c alNetwork Table<
4980: 2f 62 3e 20 6f 6e 20 61 6e 79 20 42 69 6e 61 72 /b> on any Binar
4990: 79 20 44 61 74 61 20 54 61 62 6c 65 20 63 72 65 y Data Table cre
49a0: 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 43 ated by the <b>C
49b0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f reateRouting()</
49c0: 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e b> SQL function.
49d0: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 43 52 ..<verbatim>..CR
49e0: 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 EATE VIRTUAL TAB
49f0: 4c 45 20 74 65 73 74 5f 6e 65 74 77 6f 72 6b 20 LE test_network
4a00: 55 53 49 4e 47 20 56 69 72 74 75 61 6c 4e 65 74 USING VirtualNet
4a10: 77 6f 72 6b 28 27 73 6f 6d 65 5f 64 61 74 61 5f work('some_data_
4a20: 74 61 62 6c 65 27 29 3b 0d 0a 0d 0a 43 52 45 41 table');....CREA
4a30: 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 TE VIRTUAL TABLE
4a40: 20 74 65 73 74 5f 72 6f 75 74 69 6e 67 20 55 53 test_routing US
4a50: 49 4e 47 20 56 69 72 74 75 61 6c 52 6f 75 74 69 ING VirtualRouti
4a60: 6e 67 28 27 73 6f 6d 65 5f 64 61 74 61 5f 74 61 ng('some_data_ta
4a70: 62 6c 65 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 ble');..</verbat
4a80: 69 6d 3e 0d 0a 49 6e 20 6f 72 64 65 72 20 74 6f im>..In order to
4a90: 20 6d 61 6e 75 61 6c 6c 79 20 63 72 65 61 74 65 manually create
4aa0: 20 79 6f 75 72 20 56 69 72 74 75 61 6c 20 54 61 your Virtual Ta
4ab0: 62 6c 65 73 20 79 6f 75 20 6a 75 73 74 20 68 61 bles you just ha
4ac0: 76 65 20 74 6f 20 65 78 65 63 75 74 65 20 61 6e ve to execute an
4ad0: 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e appropriate <b>
4ae0: 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 CREATE VIRTUAL T
4af0: 41 42 4c 45 20 2e 2e 2e 20 55 53 49 4e 47 20 56 ABLE ... USING V
4b00: 69 72 74 75 61 6c 2e 2e 2e 20 28 2e 2e 2e 29 3c irtual... (...)<
4b10: 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0d 0a /b> statement...
4b20: 3c 68 34 3e 57 61 72 6e 69 6e 67 3c 2f 68 34 3e <h4>Warning</h4>
4b30: 0d 0a 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 ..In the case of
4b40: 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 <b>Spatial Netw
4b50: 6f 72 6b 73 3c 2f 62 3e 20 62 61 73 65 64 20 6f orks</b> based o
4b60: 6e 20 61 6e 79 20 3c 62 3e 67 65 6f 67 72 61 70 n any <b>geograp
4b70: 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 hic</b> Referenc
4b80: 65 20 53 79 73 74 65 6d 20 28 75 73 69 6e 67 20 e System (using
4b90: 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73 3c 2f 62 <b>longitudes</b
4ba0: 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69 74 75 64 > and <b>latitud
4bb0: 65 73 3c 2f 62 3e 29 20 74 68 65 72 65 20 69 73 es</b>) there is
4bc0: 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 64 69 an important di
4bd0: 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e fference between
4be0: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62 Binary Data Tab
4bf0: 6c 65 73 20 63 72 65 61 74 65 64 20 62 79 20 74 les created by t
4c00: 68 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 he <b>spatialite
4c10: 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 47 55 49 _network</b> GUI
4c20: 20 74 6f 6f 6c 20 61 6e 64 20 20 42 69 6e 61 72 tool and Binar
4c30: 79 20 44 61 74 61 20 54 61 62 6c 65 73 20 63 72 y Data Tables cr
4c40: 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e eated by the <b>
4c50: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c CreateRouting()<
4c60: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e /b> SQL function
4c70: 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74 73 3c 2f when <b>costs</
4c80: 62 3e 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c b> are implicitl
4c90: 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 67 y based on the g
4ca0: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 20 eometric length
4cb0: 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73 20 4c 69 of the Link's Li
4cc0: 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c 3e 0d nestring:..<ul>.
4cd0: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 70 61 74 .<li>the <b>spat
4ce0: 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f ialite_network</
4cf0: 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28 61 6e 64 b> CLI tool (and
4d00: 20 74 68 65 20 3c 62 3e 47 55 49 20 77 69 7a 61 the <b>GUI wiza
4d10: 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65 6e 74 rd</b> implement
4d20: 65 64 20 62 79 20 70 72 65 76 69 6f 75 73 20 76 ed by previous v
4d30: 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e 73 70 ersions of <b>sp
4d40: 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e atialite_gui</b>
4d50: 29 20 63 6f 6d 70 75 74 65 20 74 68 65 20 4c 69 ) compute the Li
4d60: 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 nestring's lengt
4d70: 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e 67 75 6c h as an <b>angul
4d80: 61 72 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20 ar distance</b>
4d90: 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e expressed in <b>
4da0: 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 degrees</b>.</li
4db0: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 43 72 >..<li>the <b>Cr
4dc0: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 eateRouting()</b
4dd0: 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 63 > SQL function c
4de0: 6f 6d 70 75 74 65 73 20 74 68 65 20 4c 69 6e 65 omputes the Line
4df0: 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 68 20 string's length
4e00: 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61 72 20 64 as a <b>linear d
4e10: 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78 70 72 istance</b> expr
4e20: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 72 essed in <b>metr
4e30: 65 73 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 es</b> by applyi
4e40: 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 ng the most accu
4e50: 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 rate <b>geodesic
4e60: 20 66 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20 6f 6e formulas</b> on
4e70: 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64 2e 3c the ellipsoid.<
4e80: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 /li>..</ul>..</t
4e90: 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 3c d></tr></table><
4ea0: 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 br><br>..<verbat
4eb0: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 im>..SELECT Crea
4ec0: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 63 61 72 teRouting('bycar
4ed0: 5f 64 61 74 61 27 2c 20 27 62 79 63 61 72 27 2c _data', 'bycar',
4ee0: 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e 6f 'roads_vw', 'no
4ef0: 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f de_from', 'node_
4f00: 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 27 63 6f to', 'geom', 'co
4f10: 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20 st', 'toponym',
4f20: 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79 5f 66 72 1, 1, 'oneway_fr
4f30: 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61 79 5f 74 omto', 'oneway_t
4f40: 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d 2d 2d ofrom', 0);..---
4f50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4f60: 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d -..1..</verbatim
4f70: 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c 69 6e 67 >..After calling
4f80: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e <b>CreateRoutin
4f90: 67 28 29 3c 2f 62 3e 20 63 6f 72 72 65 63 74 6c g()</b> correctl
4fa0: 79 2c 20 20 74 68 65 20 44 61 74 61 62 61 73 65 y, the Database
4fb0: 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 66 75 contains two fu
4fc0: 72 74 68 65 72 20 54 61 62 6c 65 73 3a 20 3c 62 rther Tables: <b
4fd0: 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e 64 20 3c >bycar</b> and <
4fe0: 62 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f 62 3e b>bycar_data</b>
4ff0: 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69 6d 65 .<br>..This time
5000: 20 79 6f 75 27 76 65 20 75 73 65 64 20 74 68 65 you've used the
5010: 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20 66 6f 72 <i>complete for
5020: 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 52 m</i> of CreateR
5030: 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27 73 20 outing(); let's
5040: 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65 70 74 see in more dept
5050: 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 h all the argume
5060: 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65 nts and their me
5070: 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c aning:..<ol>..<l
5080: 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61 74 61 3c i><i>bycar_data<
5090: 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f /i>: same as abo
50a0: 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 ve.</li>..<li><i
50b0: 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73 61 6d 65 >bycar</i>: same
50c0: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d as above.</li>.
50d0: 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 .<li><i>roads_vw
50e0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 </i>: same as ab
50f0: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ove.</li>..<li><
5100: 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a i>node_from</i>:
5110: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c same as above.<
5120: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 /li>..<li><i>nod
5130: 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 e_to</i>: same a
5140: 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c s above.</li>..<
5150: 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20 li><i>geom</i>:
5160: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f same as above.</
5170: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63 6f 73 74 li>..<li><i>cost
5180: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 </i>: same as ab
5190: 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73 20 63 61 ove...In this ca
51a0: 73 65 20 77 65 20 68 61 76 65 20 72 65 66 65 72 se we have refer
51b0: 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d 6e 20 70 enced a column p
51c0: 72 65 6c 6f 61 64 65 64 20 77 69 74 68 20 76 61 reloaded with va
51d0: 6c 75 65 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 lues correspondi
51e0: 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e 74 69 6d ng to the <b>tim
51f0: 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65 64 20 69 e</b> measured i
5200: 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e n <b>seconds</b>
5210: 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 required to tra
5220: 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e verse each Link.
5230: 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 69 3e 74 </li> ..<li><i>t
5240: 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73 61 6d 65 oponym</i>: same
5250: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d as above.</li>.
5260: 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 73 .<li><i>1</i>: s
5270: 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 3c 69 ame as above (<i
5280: 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f 69 3e 29 >A* enabled</i>)
5290: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 .</li>..<li><i>1
52a0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 </i>: same as ab
52b0: 6f 76 65 20 28 3c 69 3e 62 69 64 69 72 65 63 74 ove (<i>bidirect
52c0: 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f 69 3e 29 ional Links</i>)
52d0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6f .</li>..<li><i>o
52e0: 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 69 3e neway_fromto</i>
52f0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f : name of the co
5300: 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f lumn (in the abo
5310: 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 ve Table or View
5320: 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f ) expected to co
5330: 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20 66 6c ntain boolean fl
5340: 61 67 73 20 73 70 65 63 69 66 79 69 6e 67 20 69 ags specifying i
5350: 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 61 6e 20 f each Link can
5360: 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20 be traversed in
5370: 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f the <b>from-to</
5380: 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f 72 20 b> direction or
5390: 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c not.</li>..<li><
53a0: 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 3c i>oneway_tofrom<
53b0: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 /i>: name of the
53c0: 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 column (in the
53d0: 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 above Table or V
53e0: 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f iew) expected to
53f0: 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e contain boolean
5400: 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e flags specifyin
5410: 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 g if each Link c
5420: 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20 an be traversed
5430: 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d 66 72 6f in the <b>to-fro
5440: 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 m</b> direction
5450: 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a 3c 75 3e or not.<br>..<u>
5460: 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 62 6f 74 Note #1</u>: bot
5470: 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e h <b>from-to</b>
5480: 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c and <b>to-from<
5490: 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73 /b> column names
54a0: 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 6d 61 can be legitima
54b0: 74 65 6c 79 20 73 65 74 20 61 73 20 3c 62 3e 4e tely set as <b>N
54c0: 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f 20 3c 62 ULL</b> if no <b
54d0: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65 73 >one-way</b> res
54e0: 74 72 69 63 74 69 6f 6e 73 20 61 70 70 6c 79 20 trictions apply
54f0: 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 4e to the current N
5500: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e etwork.<br>..<u>
5510: 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 4e 65 74 Note #2</u>: Net
5520: 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 3c 62 3e works of the <b>
5530: 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f unidirectional</
5540: 62 3e 20 74 79 70 65 20 61 72 65 20 6e 65 76 65 b> type are neve
5550: 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 72 65 66 r enabled to ref
5560: 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 2d 77 61 erence <b>one-wa
5570: 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 28 74 y</b> columns (t
5580: 68 65 79 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 hey should alway
5590: 73 20 62 65 20 73 65 74 20 74 6f 20 3c 62 3e 4e s be set to <b>N
55a0: 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a ULL</b>).</li>..
55b0: 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a 20 61 20 <li><i>0</i>: a
55c0: 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e 74 boolean flag int
55d0: 65 6e 64 69 6e 67 20 61 6e 20 3c 62 3e 6f 76 65 ending an <b>ove
55e0: 72 77 72 69 74 65 20 61 75 74 68 6f 72 69 7a 61 rwrite authoriza
55f0: 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d tion</b>...<ul>.
5600: 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 6f 20 3c .<li>If set to <
5610: 62 3e 46 41 4c 53 45 3c 2f 62 3e 20 61 6e 20 65 b>FALSE</b> an e
5620: 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65 xception will be
5630: 20 72 61 69 73 65 64 20 69 66 20 74 68 65 20 3c raised if the <
5640: 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 b>Binary Data Ta
5650: 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20 74 ble</b> and/or t
5660: 68 65 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 he <b>VirtualRou
5670: 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 20 61 ting Table</b> a
5680: 6c 72 65 61 64 79 20 65 78 69 73 74 2e 3c 2f 6c lready exist.</l
5690: 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 i>..<li>If set t
56a0: 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 65 76 o <b>TRUE</b> ev
56b0: 65 6e 74 75 61 6c 6c 79 20 65 78 69 73 74 69 6e entually existin
56c0: 67 20 54 61 62 6c 65 73 20 77 69 6c 6c 20 62 65 g Tables will be
56d0: 2c 20 74 6f 20 61 76 6f 69 64 20 65 72 72 6f 72 , to avoid error
56e0: 73 2c 20 64 72 6f 70 70 65 64 20 62 65 66 6f 72 s, dropped befor
56f0: 65 20 73 74 61 72 74 69 6e 67 20 74 68 65 20 65 e starting the e
5700: 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c 62 3e 43 xecution of <b>C
5710: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f reateRouting()</
5720: 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c b>.</li>..</ul><
5730: 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 72 /li>..</ol>..<br
5740: 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f >..<table bgcolo
5750: 72 3d 22 23 66 66 66 66 63 30 22 20 63 65 6c 6c r="#ffffc0" cell
5760: 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c spacing="10" cel
5770: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 lpadding="6"><tr
5780: 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 69 67 68 6c ><td>..<h3>Highl
5790: 69 67 68 74 3a 20 77 68 65 72 65 20 79 6f 75 20 ight: where you
57a0: 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f 75 27 76 65 are</h3>..You've
57b0: 20 6a 75 73 74 20 63 72 65 61 74 65 64 20 74 77 just created tw
57c0: 6f 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 o VirtualRouting
57d0: 20 54 61 62 6c 65 73 20 62 61 73 65 64 20 6f 6e Tables based on
57e0: 20 64 69 66 66 65 72 65 6e 74 20 73 65 74 74 69 different setti
57f0: 6e 67 73 3b 20 62 6f 74 68 20 74 68 65 6d 20 61 ngs; both them a
5800: 72 65 20 70 65 72 66 65 63 74 6c 79 20 76 61 6c re perfectly val
5810: 69 64 20 61 6e 64 20 72 65 61 73 6f 6e 61 62 6c id and reasonabl
5820: 65 2c 20 62 75 74 20 74 68 65 79 20 61 72 65 20 e, but they are
5830: 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 64 69 66 intended for dif
5840: 66 65 72 65 6e 74 20 70 75 72 70 6f 73 65 73 3a ferent purposes:
5850: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 ..<ul>..<li><b>b
5860: 79 66 6f 6f 74 3c 2f 62 3e 20 69 73 20 73 70 65 yfoot</b> is spe
5870: 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e 64 cifically intend
5880: 65 64 20 66 6f 72 20 3c 62 3e 70 65 64 65 73 74 ed for <b>pedest
5890: 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e rians</b>:..<ul>
58a0: 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69 6e 6b 73 20 ..<li>all Links
58b0: 61 72 65 20 61 6c 77 61 79 73 20 61 73 73 75 6d are always assum
58c0: 65 64 20 74 6f 20 62 65 20 61 63 63 65 73 73 69 ed to be accessi
58d0: 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64 ble in <b>both d
58e0: 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 3b 20 74 irections</b>; t
58f0: 68 65 72 65 20 61 72 65 20 6e 6f 20 3c 62 3e 6f here are no <b>o
5900: 6e 65 2d 77 61 79 73 3c 2f 62 3e 20 61 6e 64 20 ne-ways</b> and
5910: 6e 6f 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c no <b>forbidden<
5920: 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d /b> Links.</li>.
5930: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 63 6f 73 74 .<li>the <b>cost
5940: 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e </b> of each Lin
5950: 6b 20 69 73 20 64 69 72 65 63 74 6c 79 20 72 65 k is directly re
5960: 70 72 65 73 65 6e 74 65 64 20 62 79 20 69 74 73 presented by its
5970: 20 67 65 6f 6d 65 74 72 69 63 20 3c 62 3e 6c 65 geometric <b>le
5980: 6e 67 74 68 3c 2f 62 3e 2c 20 77 68 69 63 68 20 ngth</b>, which
5990: 69 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 is consistent wi
59a0: 74 68 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f th the assumptio
59b0: 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f 73 74 20 63 n of an almost c
59c0: 6f 6e 73 74 61 6e 74 20 73 70 65 65 64 20 73 75 onstant speed su
59d0: 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6d 6d 75 bstantially immu
59e0: 6e 65 20 66 72 6f 6d 20 61 64 76 65 72 73 65 20 ne from adverse
59f0: 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 road conditions
5a00: 61 6e 64 20 74 72 61 66 66 69 63 20 63 6f 6e 67 and traffic cong
5a10: 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f estion.</li>..</
5a20: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 ul></li>..<li><b
5a30: 3e 62 79 63 61 72 3c 2f 62 3e 20 69 73 20 73 70 >bycar</b> is sp
5a40: 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e ecifically inten
5a50: 64 65 64 20 66 6f 72 20 3c 62 3e 6d 6f 74 6f 72 ded for <b>motor
5a60: 20 76 65 68 69 63 6c 65 73 3c 2f 62 3e 3a 0d 0a vehicles</b>:..
5a70: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61 6e 79 20 4c <ul>..<li>many L
5a80: 69 6e 6b 73 20 61 72 65 20 65 78 70 65 63 74 65 inks are expecte
5a90: 64 20 74 6f 20 62 65 20 61 63 63 65 73 73 69 62 d to be accessib
5aa0: 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64 69 le in <b>both di
5ab0: 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 20 62 75 74 rections</b> but
5ac0: 20 6f 74 68 65 72 73 20 63 6f 75 6c 64 20 65 61 others could ea
5ad0: 73 69 6c 79 20 62 65 20 73 75 62 6a 65 63 74 20 sily be subject
5ae0: 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 to <b>one-way</b
5af0: 3e 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f > restrictions o
5b00: 72 20 65 76 65 6e 20 62 65 20 63 6f 6d 70 6c 65 r even be comple
5b10: 74 65 6c 79 20 3c 62 3e 66 6f 72 62 69 64 64 65 tely <b>forbidde
5b20: 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 n</b>.</li>..<li
5b30: 3e 74 68 65 20 63 6f 73 74 20 6f 66 20 65 61 63 >the cost of eac
5b40: 68 20 4c 69 6e 6b 20 69 73 20 65 78 70 72 65 73 h Link is expres
5b50: 73 65 64 20 61 73 20 61 6e 20 65 73 74 69 6d 61 sed as an estima
5b60: 74 65 64 20 3c 62 3e 74 72 61 76 65 6c 20 74 69 ted <b>travel ti
5b70: 6d 65 3c 2f 62 3e 2c 20 62 65 63 61 75 73 65 20 me</b>, because
5b80: 74 68 65 20 65 78 70 65 63 74 65 64 20 73 70 65 the expected spe
5b90: 65 64 73 20 63 61 6e 20 67 72 65 61 74 6c 79 20 eds can greatly
5ba0: 76 61 72 79 20 61 63 63 6f 72 64 69 6e 67 6c 79 vary accordingly
5bb0: 20 74 6f 20 73 70 65 63 69 66 69 63 20 72 6f 61 to specific roa
5bc0: 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 74 72 d conditions, tr
5bd0: 61 66 66 69 63 20 63 6f 6e 67 65 73 74 69 6f 6e affic congestion
5be0: 20 61 6e 64 20 6c 65 67 61 6c 20 72 65 67 75 6c and legal regul
5bf0: 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f ations.</li>..</
5c00: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d ul></li>..</ul>.
5c10: 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f 6e 63 6c 75 .<br>..<u>Conclu
5c20: 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20 73 69 6e 67 sion</u>: a sing
5c30: 6c 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e le VirtualRoutin
5c40: 67 20 54 61 62 6c 65 20 63 61 6e 6e 6f 74 20 61 g Table cannot a
5c50: 64 65 71 75 61 74 65 6c 79 20 73 75 70 70 6f 72 dequately suppor
5c60: 74 20 61 6c 6c 20 72 65 71 75 69 72 65 6d 65 6e t all requiremen
5c70: 74 73 20 61 6e 64 20 65 78 70 65 63 74 61 74 69 ts and expectati
5c80: 6f 6e 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 ons of different
5c90: 20 75 73 65 72 73 2e 3c 62 72 3e 0d 0a 44 65 66 users.<br>..Def
5ca0: 69 6e 69 6e 67 20 6d 6f 72 65 20 52 6f 75 74 69 ining more Routi
5cb0: 6e 67 20 54 61 62 6c 65 73 20 77 69 74 68 20 64 ng Tables with d
5cc0: 69 66 66 65 72 65 6e 74 20 73 65 74 74 69 6e 67 ifferent setting
5cd0: 73 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 4e s for the same N
5ce0: 65 74 77 6f 72 6b 20 75 73 75 61 6c 6c 79 20 69 etwork usually i
5cf0: 73 20 61 20 67 6f 6f 64 20 64 65 73 69 67 6e 20 s a good design
5d00: 63 68 6f 69 63 65 20 6c 65 61 64 69 6e 67 20 74 choice leading t
5d10: 6f 20 6d 6f 72 65 20 72 65 61 6c 69 73 74 69 63 o more realistic
5d20: 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e 0d 0a 3c results.<br>..<
5d30: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 /td></tr>..</tab
5d40: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c le>..<br><br>..<
5d50: 68 33 3e 55 74 69 6c 69 74 79 20 66 75 6e 63 74 h3>Utility funct
5d60: 69 6f 6e 20 66 6f 72 20 61 75 74 6f 6d 61 74 69 ion for automati
5d70: 63 61 6c 6c 79 20 73 65 74 74 69 6e 67 20 4e 6f cally setting No
5d80: 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f 64 65 54 deFrom and NodeT
5d90: 6f 20 49 44 73 3c 2f 68 33 3e 0d 0a 49 74 20 63 o IDs</h3>..It c
5da0: 6f 75 6c 64 20 68 61 70 70 65 6e 20 74 68 61 74 ould happen that
5db0: 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 a <b>Spatial Ne
5dc0: 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 70 72 65 73 twork</b> repres
5dd0: 65 6e 74 61 74 69 6f 6e 20 69 73 20 74 6f 70 6f entation is topo
5de0: 6c 6f 67 69 63 61 6c 6c 79 20 63 6f 6e 73 69 73 logically consis
5df0: 74 65 6e 74 2c 20 62 75 74 20 63 6f 6d 70 6c 65 tent, but comple
5e00: 74 65 6c 79 20 6c 61 63 6b 69 6e 67 20 6f 66 20 tely lacking of
5e10: 61 6e 79 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c any <b>NodeFrom<
5e20: 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 /b> and <b>NodeT
5e30: 6f 3c 2f 62 3e 20 64 65 66 69 6e 69 74 69 6f 6e o</b> definition
5e40: 73 2e 3c 62 72 3e 0d 0a 49 6e 20 73 75 63 68 20 s.<br>..In such
5e50: 61 20 63 61 73 65 20 79 6f 75 20 63 61 6e 20 73 a case you can s
5e60: 75 63 63 65 73 73 66 75 6c 6c 79 20 72 65 62 75 uccessfully rebu
5e70: 69 6c 64 20 74 68 65 20 6d 69 73 73 69 6e 67 20 ild the missing
5e80: 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f NodeFrom and No
5e90: 64 65 54 6f 20 64 65 66 69 6e 69 74 69 6f 6e 73 deTo definitions
5ea0: 20 66 72 6f 6d 20 61 20 76 61 6c 69 64 20 4e 65 from a valid Ne
5eb0: 74 77 6f 72 6b 20 62 79 20 63 61 6c 6c 69 6e 67 twork by calling
5ec0: 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f the <b>CreateRo
5ed0: 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e utingNodes()</b>
5ee0: 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a SQL function...
5ef0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 <verbatim>..SELE
5f00: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 CT CreateRouting
5f10: 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20 27 74 61 62 Nodes(NULL, 'tab
5f20: 6c 65 5f 6e 61 6d 65 27 2c 20 27 67 65 6f 6d 27 le_name', 'geom'
5f30: 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 , 'node_from', '
5f40: 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a 5f 5f 5f 5f node_to');..____
5f50: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f ________________
5f60: 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c 2f 76 65 72 62 _____..1..</verb
5f70: 61 74 69 6d 3e 0d 0a 4c 65 74 27 73 20 65 78 61 atim>..Let's exa
5f80: 6d 69 6e 65 20 61 6c 6c 20 61 72 67 75 6d 65 6e mine all argumen
5f90: 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65 61 ts and their mea
5fa0: 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 ning:..<ol>..<li
5fb0: 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e 61 ><i>NULL</i>: na
5fc0: 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e 41 74 74 me of the <b>Att
5fd0: 61 63 68 65 64 2d 44 42 3c 2f 62 3e 20 63 6f 6e ached-DB</b> con
5fe0: 74 61 69 6e 69 6e 67 20 74 68 65 20 53 70 61 74 taining the Spat
5ff0: 69 61 6c 20 54 61 62 6c 65 2e 3c 62 72 3e 0d 0a ial Table.<br>..
6000: 49 74 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 It can be legiti
6010: 6d 61 74 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 mately set to <b
6020: 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61 6e 64 20 69 >NULL</b>, and i
6030: 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 n this case the
6040: 3c 62 3e 4d 41 49 4e 3c 2f 62 3e 20 44 42 20 69 <b>MAIN</b> DB i
6050: 73 20 61 73 73 75 6d 65 64 2e 3c 2f 6c 69 3e 0d s assumed.</li>.
6060: 0a 3c 6c 69 3e 3c 69 3e 74 61 62 6c 65 5f 6e 61 .<li><i>table_na
6070: 6d 65 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 me</i>: name of
6080: 74 68 65 20 53 70 61 74 69 61 6c 20 54 61 62 6c the Spatial Tabl
6090: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e e.</li>..<li><i>
60a0: 67 65 6f 6d 3c 2f 6c 69 3e 3a 20 6e 61 6d 65 20 geom</li>: name
60b0: 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 28 of the column ((
60c0: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 in the above Tab
60d0: 6c 65 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20 3c le) containing <
60e0: 62 3e 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 b>Linestrings</b
60f0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e >.</li>..<li><i>
6100: 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e node_from</i>: n
6110: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d ame of the colum
6120: 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f n to be added to
6130: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 the above Table
6140: 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77 and populated w
6150: 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65 20 ith appropriate
6160: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 <b>NodeFrom</b>
6170: 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c IDs.</li>..<li><
6180: 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e i>node_to</i>: n
6190: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d ame of the colum
61a0: 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f n to be added to
61b0: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 the above Table
61c0: 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77 and populated w
61d0: 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65 20 ith appropriate
61e0: 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 49 44 <b>NodeTo</b> ID
61f0: 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c s.<br>..<u>Note<
6200: 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e 4e 6f 64 /u>: both <b>Nod
6210: 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 eFrom</b> and <b
6220: 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 >NodeTo</b> colu
6230: 6d 6e 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 mns should not b
6240: 65 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e 65 e already define
6250: 64 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 d in the above T
6260: 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c able.</li>..</ol
6270: 3e 0d 0a 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 >..<b>CreateRout
6280: 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 77 ingNodes()</b> w
6290: 69 6c 6c 20 72 65 74 75 72 6e 20 3c 62 3e 31 3c ill return <b>1<
62a0: 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 /b> (<i>aka</i>
62b0: 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 20 6f 6e 20 <b>TRUE</b>) on
62c0: 73 75 63 63 65 73 73 3b 20 61 6e 20 65 78 63 65 success; an exce
62d0: 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61 ption will be ra
62e0: 69 73 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 2e ised on failure.
62f0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 <br>..<u>Note</u
6300: 3e 3a 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 >: you can call
6310: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 <b>CreateRouting
6320: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3c _GetLastError()<
6330: 2f 62 3e 20 73 6f 20 74 6f 20 70 72 65 63 69 73 /b> so to precis
6340: 65 6c 79 20 69 64 65 6e 74 69 66 79 20 74 68 65 ely identify the
6350: 20 63 61 75 73 65 20 61 63 63 6f 75 6e 74 69 6e cause accountin
6360: 67 20 66 6f 72 20 66 61 69 6c 75 72 65 2e 3c 62 g for failure.<b
6370: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 r><br><br>..<tab
6380: 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 le bgcolor="#c0f
6390: 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 fc0" cellspacing
63a0: 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e ="10" cellpaddin
63b0: 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a g="6"><tr><td>..
63c0: 3c 68 33 3e 48 61 6e 64 6c 69 6e 67 20 64 79 6e <h3>Handling dyn
63d0: 61 6d 69 63 20 4e 65 74 77 6f 72 6b 73 3c 2f 68 amic Networks</h
63e0: 33 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20 63 6f 3>..A Network co
63f0: 75 6c 64 20 62 65 20 73 75 62 6a 65 63 74 20 74 uld be subject t
6400: 6f 20 72 61 74 68 65 72 20 66 72 65 71 75 65 6e o rather frequen
6410: 74 20 63 68 61 6e 67 65 73 2c 20 73 75 63 68 20 t changes, such
6420: 61 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6e as:..<ul>..<li>n
6430: 65 77 20 4c 69 6e 6b 73 20 6e 65 65 64 20 74 6f ew Links need to
6440: 20 62 65 20 61 64 64 65 64 2e 3c 2f 6c 69 3e 0d be added.</li>.
6450: 0a 3c 6c 69 3e 6f 62 73 6f 6c 65 74 65 20 4c 69 .<li>obsolete Li
6460: 6e 6b 73 20 61 72 65 20 72 65 71 75 69 72 65 64 nks are required
6470: 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 2e 3c to be removed.<
6480: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 74 68 65 72 20 /li>..<li>other
6490: 4c 69 6e 6b 73 20 6d 61 79 20 72 65 63 65 69 76 Links may receiv
64a0: 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 43 6f e a different Co
64b0: 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 6e st.</li>..<li>on
64c0: 65 2d 77 61 79 73 20 63 6f 75 6c 64 20 62 65 20 e-ways could be
64d0: 72 65 76 65 72 73 65 64 2c 20 74 68 65 20 64 69 reversed, the di
64e0: 73 63 69 70 6c 69 6e 65 20 6f 66 20 70 65 64 65 scipline of pede
64f0: 73 74 72 69 61 6e 20 61 72 65 61 73 20 63 6f 75 strian areas cou
6500: 6c 64 20 62 65 20 6d 6f 64 69 66 69 65 64 20 61 ld be modified a
6510: 6e 64 20 73 6f 20 6f 6e 2e 3c 2f 6c 69 3e 0d 0a nd so on.</li>..
6520: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 3c 62 72 3e 0d 0a </ul></li><br>..
6530: 41 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 A VirtualRouting
6540: 20 54 61 62 6c 65 20 69 73 20 61 6c 77 61 79 73 Table is always
6550: 20 62 61 73 65 64 20 6f 6e 20 61 20 63 6f 6d 70 based on a comp
6560: 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 anion Binary Dat
6570: 61 20 54 61 62 6c 65 2c 20 74 68 61 74 20 69 73 a Table, that is
6580: 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79 20 3c intrinsically <
6590: 62 3e 73 74 61 74 69 63 3c 2f 62 3e 2c 20 61 6e b>static</b>, an
65a0: 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 79 d consequently y
65b0: 6f 75 20 61 72 65 20 72 65 71 75 69 72 65 64 20 ou are required
65c0: 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62 6f 74 to re-create bot
65d0: 68 20 6f 66 20 74 68 65 6d 20 66 72 6f 6d 20 74 h of them from t
65e0: 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 6e 20 6f ime to time in o
65f0: 72 64 65 72 20 74 6f 20 73 75 70 70 6f 72 74 20 rder to support
6600: 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 61 6e 67 all recent chang
6610: 65 73 20 61 66 66 65 63 74 69 6e 67 20 74 68 65 es affecting the
6620: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 underlaying Net
6630: 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20 6f work.<br>..The o
6640: 70 74 69 6d 61 6c 20 66 72 65 71 75 65 6e 63 79 ptimal frequency
6650: 20 66 6f 72 20 74 68 65 20 72 65 66 72 65 73 68 for the refresh
6660: 69 6e 67 20 6f 66 20 74 68 65 20 74 68 65 20 52 ing of the the R
6670: 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 64 65 outing Tables de
6680: 70 65 6e 64 73 20 20 73 74 72 69 63 74 6c 79 20 pends strictly
6690: 6f 6e 20 74 68 65 20 73 70 65 63 69 66 69 63 20 on the specific
66a0: 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 62 75 requirements, bu
66b0: 74 20 74 68 65 73 65 20 74 77 6f 20 6f 76 65 72 t these two over
66c0: 61 6c 6c 20 61 70 70 72 6f 61 63 68 65 73 20 61 all approaches a
66d0: 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61 64 6f 70 re commonly adop
66e0: 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e ted:..<ol>..<li>
66f0: 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65 6e 63 79 <b>low frequency
6700: 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65 refresh</b>: be
6710: 73 74 20 66 69 74 20 66 6f 72 20 73 6c 6f 77 6c st fit for slowl
6720: 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f y evolving Netwo
6730: 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69 rks.<br>..In thi
6740: 73 20 63 61 73 65 20 72 65 2d 63 72 65 61 74 69 s case re-creati
6750: 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 54 ng the Network T
6760: 61 62 6c 65 73 20 6f 6e 63 65 20 61 20 6d 6f 6e ables once a mon
6770: 74 68 20 2f 20 77 65 65 6b 20 2f 20 64 61 79 20 th / week / day
6780: 63 6f 75 6c 64 20 62 65 20 72 65 61 73 6f 6e 61 could be reasona
6790: 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a 52 65 63 bly enough...Rec
67a0: 72 65 61 74 69 6e 67 20 74 68 65 20 54 61 62 6c reating the Tabl
67b0: 65 73 20 66 72 6f 6d 20 73 63 72 61 74 63 68 20 es from scratch
67c0: 75 73 75 61 6c 6c 79 20 72 65 71 75 69 72 65 73 usually requires
67d0: 20 73 65 76 65 72 61 6c 20 73 65 63 6f 6e 64 73 several seconds
67e0: 20 28 6f 72 20 65 76 65 6e 20 6c 65 73 73 2c 20 (or even less,
67f0: 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 depending on the
6800: 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69 6e 6b 73 number of Links
6810: 29 2e 3c 62 72 3e 0d 0a 41 6e 20 6f 70 74 69 6f ).<br>..An optio
6820: 6e 61 6c 20 72 65 66 72 65 73 68 20 61 63 74 69 nal refresh acti
6830: 76 69 74 79 20 63 6f 75 6c 64 20 62 65 20 70 6c vity could be pl
6840: 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74 72 61 anned at low tra
6850: 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e 67 2e ffic hours (e.g.
6860: 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69 67 68 during the nigh
6870: 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65 61 74 t), and <b>Creat
6880: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 63 eRouting()</b> c
6890: 6f 75 6c 64 20 62 65 20 6f 70 74 69 6f 6e 61 6c ould be optional
68a0: 6c 79 20 63 61 6c 6c 65 64 20 62 79 20 65 6e 61 ly called by ena
68b0: 62 6c 69 6e 67 20 74 68 65 20 6f 76 65 72 77 72 bling the overwr
68c0: 69 74 65 20 6f 70 74 69 6f 6e 2e 3c 2f 6c 69 3e ite option.</li>
68d0: 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75 6d 2d ..<li><b>medium-
68e0: 68 69 67 68 20 66 72 65 71 75 65 6e 63 79 20 72 high frequency r
68f0: 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65 73 74 efresh</b>: best
6900: 20 66 69 74 20 66 6f 72 20 73 77 69 66 74 6c 79 fit for swiftly
6910: 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f 72 evolving Networ
6920: 6b 73 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72 65 61 ks.<br>..Re-crea
6930: 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b ting the Network
6940: 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 70 65 72 Tables once per
6950: 20 68 6f 75 72 20 28 6f 72 20 65 76 65 6e 20 6d hour (or even m
6960: 6f 72 65 20 66 72 65 71 75 65 6e 74 6c 79 29 20 ore frequently)
6970: 63 6f 75 6c 64 20 62 65 20 73 74 72 69 63 74 6c could be strictl
6980: 79 20 72 65 71 75 69 72 65 64 2c 20 61 6e 64 20 y required, and
6990: 66 72 65 71 75 65 6e 74 20 3c 62 3e 6f 75 74 20 frequent <b>out
69a0: 6f 66 20 73 65 72 76 69 63 65 3c 2f 62 3e 20 70 of service</b> p
69b0: 65 72 69 6f 64 73 20 77 68 69 6c 65 20 77 61 69 eriods while wai
69c0: 74 69 6e 67 20 66 6f 72 20 74 68 65 20 72 65 66 ting for the ref
69d0: 72 65 73 68 20 70 72 6f 63 65 73 73 20 74 6f 20 resh process to
69e0: 63 6f 6d 70 6c 65 74 65 20 63 6f 75 6c 64 20 65 complete could e
69f0: 61 73 69 6c 79 20 62 65 63 6f 6d 65 20 75 6e 61 asily become una
6a00: 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 3e 0d 0a cceptable.<br>..
6a10: 49 6e 20 73 75 63 68 20 63 61 73 65 73 20 79 6f In such cases yo
6a20: 75 20 63 6f 75 6c 64 20 61 64 6f 70 74 20 61 20 u could adopt a
6a30: 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 <b>multi-threade
6a40: 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e 3a 0d d strategy</b>:.
6a50: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 .<ul>..<li><b>th
6a60: 72 65 61 64 20 23 31 3c 2f 62 3e 20 28 3c 69 3e read #1</b> (<i>
6a70: 74 68 65 20 72 65 61 64 65 72 3c 2f 69 3e 29 3a the reader</i>):
6a80: 20 74 68 69 73 20 66 69 72 73 74 20 74 68 72 65 this first thre
6a90: 61 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 ad is intended t
6aa0: 6f 20 73 65 72 76 69 63 65 20 61 6e 79 20 69 6e o service any in
6ab0: 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e 67 20 72 coming Routing r
6ac0: 65 71 75 65 73 74 2e 20 49 74 20 77 69 6c 6c 20 equest. It will
6ad0: 62 65 20 61 6c 77 61 79 73 20 61 63 74 69 76 65 be always active
6ae0: 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61 72 67 65 , and will targe
6af0: 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 56 t a well known V
6b00: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 irtualRouting Ta
6b10: 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e 6d 79 5f ble (e.g. <b>my_
6b20: 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 61 73 65 routing</b> base
6b30: 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f 75 74 69 d on <b>my_routi
6b40: 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e 3c 2f 6c ng_data</b>).</l
6b50: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72 65 61 i>..<li><b>threa
6b60: 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e 74 68 65 d #2</b> (<i>the
6b70: 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a 20 74 68 writer</i>): th
6b80: 69 73 20 73 65 63 6f 6e 64 20 74 68 72 65 61 64 is second thread
6b90: 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e 64 65 is just intende
6ba0: 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62 d to re-create b
6bb0: 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c oth Network Tabl
6bc0: 65 73 20 61 74 20 70 72 65 64 65 66 69 6e 65 64 es at predefined
6bd0: 20 69 6e 74 65 72 76 61 6c 73 2c 20 61 6e 64 20 intervals, and
6be0: 69 74 20 77 69 6c 6c 20 73 6c 65 65 70 20 74 68 it will sleep th
6bf0: 65 20 6e 65 78 74 20 69 6e 74 65 72 76 61 6c 2e e next interval.
6c00: 3c 62 72 3e 0d 0a 41 74 20 65 61 63 68 20 69 6e <br>..At each in
6c10: 74 65 72 76 61 6c 20 61 20 63 6f 70 79 20 6f 66 terval a copy of
6c20: 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 both Network Ta
6c30: 62 6c 65 73 2c 20 77 69 6c 6c 20 62 65 20 6d 61 bles, will be ma
6c40: 64 65 20 61 6e 64 2c 20 77 68 65 6e 20 63 6f 6d de and, when com
6c50: 70 6c 65 61 74 65 64 2c 20 77 69 6c 6c 20 6f 76 pleated, will ov
6c60: 65 72 77 72 69 74 65 20 74 68 65 20 6f 72 69 67 erwrite the orig
6c70: 69 6e 61 6c 20 54 61 62 6c 65 73 20 28 61 63 74 inal Tables (act
6c80: 69 76 61 74 69 6e 67 20 61 20 73 65 6d 61 70 68 ivating a semaph
6c90: 6f 72 65 20 64 75 72 69 6e 67 20 74 68 69 73 20 ore during this
6ca0: 73 68 6f 72 74 2d 74 69 6d 65 64 20 6c 61 73 74 short-timed last
6cb0: 20 73 74 65 70 20 69 73 20 68 69 67 68 6c 79 20 step is highly
6cc0: 72 65 63 6f 6d 6d 65 6e 64 65 64 29 2e 3c 62 72 recommended).<br
6cd0: 3e 0d 0a 53 6f 6d 65 74 68 69 6e 67 20 6c 69 6b >..Something lik
6ce0: 65 20 74 68 69 73 20 70 73 65 75 64 6f 2d 63 6f e this pseudo-co
6cf0: 64 65 20 65 78 65 6d 70 6c 69 66 69 65 73 3a 0d de exemplifies:.
6d00: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
6d10: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e ECT CreateRoutin
6d20: 67 28 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e g('new_my_routin
6d30: 67 5f 64 61 74 61 27 2c 20 27 6e 65 77 5f 6d 79 g_data', 'new_my
6d40: 5f 72 6f 75 74 69 6e 67 27 2c 20 2e 2e 2e 29 3b _routing', ...);
6d50: 0d 0a 0d 0a 2d 2d 3e 20 73 74 61 72 74 20 74 68 ....--> start th
6d60: 65 20 73 65 6d 61 70 68 6f 72 65 20 73 6f 20 74 e semaphore so t
6d70: 6f 20 6c 6f 63 6b 20 74 68 65 20 6f 74 68 65 72 o lock the other
6d80: 20 74 68 72 65 61 64 0d 0a 0d 0a 42 45 47 49 4e thread....BEGIN
6d90: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d 79 ;..DROP TABLE my
6da0: 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 _routing;..DROP
6db0: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67 TABLE my_routing
6dc0: 5f 64 61 74 61 3b 0d 0a 53 45 4c 45 43 54 20 43 _data;..SELECT C
6dd0: 6c 6f 6e 65 54 61 62 6c 65 28 27 4d 41 49 4e 27 loneTable('MAIN'
6de0: 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e , 'new_my_routin
6df0: 67 5f 64 61 74 61 27 2c 20 27 6d 79 5f 72 6f 75 g_data', 'my_rou
6e00: 74 69 6e 67 5f 64 61 74 61 27 2c 20 30 29 3b 0d ting_data', 0);.
6e10: 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 .CREATE VIRTUAL
6e20: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67 TABLE my_routing
6e30: 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 52 6f USING VirtualRo
6e40: 75 74 69 6e 67 28 27 6d 79 5f 72 6f 75 74 69 6e uting('my_routin
6e50: 67 5f 64 61 74 61 27 29 3b 0d 0a 44 52 4f 50 20 g_data');..DROP
6e60: 54 41 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 TABLE new_my_rou
6e70: 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41 42 4c ting;..DROP TABL
6e80: 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 E new_my_routing
6e90: 5f 64 61 74 61 3b 0d 0a 43 4f 4d 4d 49 54 3b 0d _data;..COMMIT;.
6ea0: 0a 0d 0a 2d 2d 3e 20 72 65 6d 6f 76 65 20 74 68 ...--> remove th
6eb0: 65 20 73 65 6d 61 70 68 6f 72 65 0d 0a 3c 2f 76 e semaphore..</v
6ec0: 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 erbatim>..<u>Not
6ed0: 65 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 e</u>: strictly
6ee0: 72 65 73 70 65 63 74 69 6e 67 20 74 68 65 20 61 respecting the a
6ef0: 62 6f 76 65 20 73 65 71 75 65 6e 63 65 20 6f 66 bove sequence of
6f00: 20 53 51 4c 20 6f 70 65 72 61 74 69 6f 6e 73 20 SQL operations
6f10: 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 72 65 is absolutely re
6f20: 71 75 69 72 65 64 2e 3c 2f 6c 69 3e 20 0d 0a 3c quired.</li> ..<
6f30: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e /ul></li>..</ol>
6f40: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f ..</td></tr>..</
6f50: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 table>..<br>..<t
6f60: 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 able bgcolor="#f
6f70: 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 fb060" cellspaci
6f80: 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 ng="10" cellpadd
6f90: 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e ing="6"><tr><td>
6fa0: 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 ..<h3>Warning: h
6fb0: 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 ow to correctly
6fc0: 64 72 6f 70 20 4e 65 74 77 6f 72 6b 20 54 61 62 drop Network Tab
6fd0: 6c 65 73 3c 2f 68 33 3e 0d 0a 57 68 65 6e 20 64 les</h3>..When d
6fe0: 72 6f 70 70 69 6e 67 20 61 20 56 69 72 74 75 61 ropping a Virtua
6ff0: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 61 lRouting Table a
7000: 6e 64 20 69 74 73 20 63 6f 6d 70 61 6e 69 6f 6e nd its companion
7010: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62 Binary Data Tab
7020: 6c 65 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 le strictly resp
7030: 65 63 74 69 6e 67 20 74 68 65 20 63 6f 72 72 65 ecting the corre
7040: 63 74 20 73 65 71 75 65 6e 63 65 20 6f 66 20 53 ct sequence of S
7050: 51 4c 20 63 6f 6d 6d 61 6e 64 73 20 69 73 20 65 QL commands is e
7060: 73 73 65 6e 74 69 61 6c 2e 3c 62 72 3e 0d 0a 46 ssential.<br>..F
7070: 61 69 6c 69 6e 67 20 74 6f 20 73 74 72 69 63 74 ailing to strict
7080: 6c 79 20 72 65 73 70 65 63 74 20 74 68 65 20 65 ly respect the e
7090: 78 70 65 63 74 65 64 20 73 65 71 75 65 6e 63 65 xpected sequence
70a0: 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 63 61 75 will surely cau
70b0: 73 65 20 79 6f 75 20 73 65 76 65 72 61 6c 20 74 se you several t
70c0: 72 6f 75 62 6c 65 73 20 61 6e 64 20 73 65 76 65 roubles and seve
70d0: 72 65 20 68 65 61 64 61 63 68 65 73 2c 20 61 6e re headaches, an
70e0: 64 20 77 69 6c 6c 20 70 6f 73 73 69 62 6c 79 20 d will possibly
70f0: 6c 65 61 64 20 74 6f 20 61 20 63 6f 6d 70 6c 65 lead to a comple
7100: 74 65 6c 79 20 63 6f 72 72 75 70 74 65 64 20 64 tely corrupted d
7110: 61 74 61 62 61 73 65 2e 2e 0d 0a 3c 6f 6c 3e 0d atabase....<ol>.
7120: 0a 3c 6c 69 3e 66 69 72 73 74 20 44 52 4f 50 20 .<li>first DROP
7130: 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 the VirtualRouti
7140: 6e 67 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a ng Table.</li>..
7150: 3c 6c 69 3e 74 68 65 20 63 6f 6d 70 61 6e 69 6f <li>the companio
7160: 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 n Binary Data Ta
7170: 62 6c 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 ble can only be
7180: 73 61 66 65 6c 79 20 44 52 4f 50 65 64 20 61 66 safely DROPed af
7190: 74 65 72 20 74 68 65 20 56 69 72 74 75 61 6c 52 ter the VirtualR
71a0: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 68 61 73 outing Table has
71b0: 20 62 65 65 6e 20 72 65 6d 6f 76 65 64 2e 3c 2f been removed.</
71c0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 42 65 20 77 li>..<li><u>Be w
71d0: 61 72 6e 65 64 3c 2f 75 3e 3a 20 69 66 20 79 6f arned</u>: if yo
71e0: 75 20 44 52 4f 50 20 74 68 65 20 42 69 6e 61 72 u DROP the Binar
71f0: 79 20 44 61 74 61 20 54 61 62 6c 65 20 66 69 72 y Data Table fir
7200: 73 74 2c 20 74 68 65 20 56 69 72 74 75 61 6c 52 st, the VirtualR
7210: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 77 69 6c outing Table wil
7220: 6c 20 62 65 20 3c 62 3e 6f 72 70 68 61 6e 65 64 l be <b>orphaned
7230: 3c 2f 62 3e 20 61 6e 64 20 63 61 6e 20 6e 6f 20 </b> and can no
7240: 6c 6f 6e 67 65 72 20 62 65 20 44 52 4f 50 65 64 longer be DROPed
7250: 20 21 3c 62 72 3e 0d 0a 3c 62 3e 42 65 20 77 61 !<br>..<b>Be wa
7260: 72 6e 65 64 20 21 21 3c 2f 62 3e 3c 2f 6c 69 3e rned !!</b></li>
7270: 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f ..</ol>..</td></
7280: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
7290: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 br><br>..<hr><br
72a0: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 >..<h1><a name="
72b0: 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53 6f 6c from_to">4 - Sol
72c0: 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53 68 6f ving classic Sho
72d0: 72 74 65 73 74 20 50 61 74 68 20 70 72 6f 62 6c rtest Path probl
72e0: 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 54 68 ems</a></h1>..Th
72f0: 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63 20 53 e most classic S
7300: 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f hortest Path pro
7310: 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 74 6f blem requires to
7320: 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 6f 70 identify the op
7330: 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e timal connection
7340: 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62 3e 4f between an <b>O
7350: 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 rigin Node</b> a
7360: 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e 61 74 nd a <b>Destinat
7370: 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 62 72 ion Node</b>.<br
7380: 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69 6c 79 >..We can easily
7390: 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63 68 20 translate such
73a0: 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f 20 61 a problem into a
73b0: 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75 65 72 simple SQL quer
73c0: 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f 6d 65 y targeting some
73d0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 VirtualRouting
73e0: 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61 74 69 Table...<verbati
73f0: 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d 0a 46 m>..SELECT * ..F
7400: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 ROM byfoot..WHER
7410: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 E NodeFrom = 178
7420: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 731 AND NodeTo =
7430: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 183286;..</verb
7440: 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f atim>..<table bo
7450: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 rder="1" bgcolor
7460: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 ="#ffffcf" cells
7470: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 pacing="4" cellp
7480: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 adding="6">..<tr
7490: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
74a0: 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 0d0a0">Algorithm
74b0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
74c0: 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 ="#d0d0a0">Reque
74d0: 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
74e0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 or="#d0d0a0">Opt
74f0: 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ions</th><th bgc
7500: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44 olor="#d0d0a0">D
7510: 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 elimiter</th><th
7520: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
7530: 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 0">RouteId</th><
7540: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
7550: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 0a0">RouteRow</t
7560: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
7570: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 d0d0a0">Role</th
7580: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
7590: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 0d0a0">LinkRowid
75a0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
75b0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 ="#d0d0a0">NodeF
75c0: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f rom</th><th bgco
75d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f lor="#d0d0a0">No
75e0: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 deTo</th><th bgc
75f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50 olor="#d0d0a0">P
7600: 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 ointFrom</th><th
7610: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
7620: 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c 0">PointTo</th><
7630: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
7640: 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 0a0">Tolerance</
7650: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
7660: 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 #d0d0a0">Cost</t
7670: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
7680: 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 d0d0a0">Geometry
7690: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
76a0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c ="#d0d0a0">Name<
76b0: 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d /th></tr>..<tr>.
76c0: 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 .<td>Dijkstra</t
76d0: 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 50 d><td>Shortest P
76e0: 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c ath</td><td>Full
76f0: 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b </td><td>, [
7700: 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 dec=44, hex=2c&#
7710: 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 93;</td><td alig
7720: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
7730: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
7740: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
7750: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
7760: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7770: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
7780: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
7790: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
77a0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
77b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
77c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
77d0: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 ight">300.912208
77e0: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
77f0: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =272 GEOMETRY</t
7800: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
7810: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
7820: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
7830: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
7840: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
7850: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
7860: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">0</td><td al
7870: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
7880: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
7890: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
78a0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 >224014</td><td
78b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
78c0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
78d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 gn="right">18288
78e0: 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 5</td><td>NULL</
78f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
7900: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
7910: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 align="right">9
7920: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 4.812424</td><td
7930: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
7940: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f A PIETRO ARETINO
7950: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
7960: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
7970: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7980: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
7990: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
79a0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
79b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
79c0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">2</td><td>Link
79d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
79e0: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 right">224446</t
79f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
7a00: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c ht">182885</td><
7a10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
7a20: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 3e >178880</td><td>
7a30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
7a40: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
7a50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7a60: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f ght">69.727726</
7a70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
7a80: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 <td>VIA MARGARIT
7a90: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ONE</td>..</tr>.
7aa0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
7ab0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
7ac0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7ad0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
7ae0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
7af0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7b00: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c ght">3</td><td>L
7b10: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
7b20: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 n="right">224414
7b30: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
7b40: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 right">178880</t
7b50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
7b60: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c ht">183286</td><
7b70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
7b80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
7b90: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
7ba0: 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30 "right">136.3720
7bb0: 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 57</td><td>NULL<
7bc0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
7bd0: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
7be0: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
7bf0: 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b br>..Let's quick
7c00: 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 ly examine the r
7c10: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 esultset returne
7c20: 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 52 d by the above R
7c30: 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d 0a 3c outing query:..<
7c40: 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e ul>..<li>the <b>
7c50: 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 28 3c first row</b> (<
7c60: 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64 65 72 i>aka</i> header
7c70: 20 72 6f 77 29 20 68 61 73 20 61 20 73 70 65 63 row) has a spec
7c80: 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61 74 69 ial interpretati
7c90: 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e on, and is inten
7ca0: 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69 7a 65 ded to summarize
7cb0: 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 the travel solu
7cc0: 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e tion as a whole.
7cd0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 74 </li>..<li>all t
7ce0: 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e 67 20 he <b>following
7cf0: 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65 73 65 rows</b> represe
7d00: 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69 6e 6b nt a single Link
7d10: 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 75 69 required to bui
7d20: 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e 20 ld the solution
7d30: 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b 20 4c (optima path); L
7d40: 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72 65 64 inks are ordered
7d50: 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 accordingly to
7d60: 74 68 65 20 74 72 61 76 65 6c 20 64 69 72 65 63 the travel direc
7d70: 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 tion connecting
7d80: 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 20 74 the Origin and t
7d90: 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 2e 3c he Destination.<
7da0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e /li>..<li>column
7db0: 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f s <b>Algorithm</
7dc0: 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f b>, <b>Request</
7dd0: 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f b>, <b>Options</
7de0: 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 b>, <b>Delimiter
7df0: 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 72 </b>, <b>PointFr
7e00: 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 om</b>, <b>Point
7e10: 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c 65 72 To</b>, <b>Toler
7e20: 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e ance</b> and <b>
7e30: 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61 72 65 Geometry</b> are
7e40: 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c always set to <
7e50: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 65 78 63 65 70 b>NULL</b> excep
7e60: 74 20 74 68 61 74 20 69 6e 20 74 68 65 20 66 69 t that in the fi
7e70: 72 73 74 20 72 6f 77 20 6f 66 20 74 68 65 20 72 rst row of the r
7e80: 65 73 75 6c 74 73 65 74 3a 0d 0a 3c 75 6c 3e 0d esultset:..<ul>.
7e90: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 41 .<li>column <b>A
7ea0: 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 61 63 63 lgorithm</b> acc
7eb0: 6f 75 6e 74 73 20 66 6f 72 20 74 68 65 20 52 6f ounts for the Ro
7ec0: 75 74 69 6e 67 20 41 6c 67 6f 72 69 74 68 6d 20 uting Algorithm
7ed0: 75 73 65 64 20 62 79 20 74 68 65 20 63 75 72 72 used by the curr
7ee0: 65 6e 74 20 71 75 65 72 79 20 28 3c 69 3e 44 69 ent query (<i>Di
7ef0: 6a 6b 73 74 72 61 27 73 3c 2f 69 3e 20 6f 72 20 jkstra's</i> or
7f00: 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e <i>A*</i>).</li>
7f10: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e ..<li>column <b>
7f20: 52 65 71 75 65 73 74 3c 2f 62 3e 20 73 70 65 63 Request</b> spec
7f30: 69 66 69 65 73 20 74 68 65 20 65 78 61 63 74 20 ifies the exact
7f40: 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20 63 75 nature of the cu
7f50: 72 72 65 6e 74 20 71 75 65 72 79 20 28 69 6e 20 rrent query (in
7f60: 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63 61 this specific ca
7f70: 73 65 20 3c 69 3e 53 68 6f 72 74 65 73 74 20 50 se <i>Shortest P
7f80: 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a ath</i>).</li>..
7f90: 3c 6c 69 3e 66 6f 72 20 6e 6f 77 20 77 65 27 6c <li>for now we'l
7fa0: 6c 20 69 67 6e 6f 72 65 20 74 68 65 20 63 6f 6c l ignore the col
7fb0: 75 6d 6e 73 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c umns <b>Options<
7fc0: 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65 /b>, <b>Delimite
7fd0: 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 r</b>, <b>PointF
7fe0: 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e rom</b>, <b>Poin
7ff0: 74 54 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 tTo</b> and <b>T
8000: 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 olerance</b>: th
8010: 65 69 72 20 72 65 73 70 65 63 74 69 76 65 20 6d eir respective m
8020: 65 61 6e 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 eanings will be
8030: 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 66 6f 6c explained in fol
8040: 6c 6f 77 69 6e 67 20 70 61 72 61 67 72 61 70 68 lowing paragraph
8050: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c s.</li>..<li>col
8060: 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c umn <b>Geometry<
8070: 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 3c /b> contains a <
8080: 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c 2f 62 3e b>LINESTRING</b>
8090: 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 representation
80a0: 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 74 72 61 of the whole tra
80b0: 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 62 72 vel solution.<br
80c0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
80d0: 6f 6e 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 on <b>Logical Ne
80e0: 74 77 6f 72 6b 73 3c 2f 62 3e 20 28 6e 6f 74 20 tworks</b> (not
80f0: 73 75 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65 supporting Geome
8100: 74 72 69 65 73 29 20 3c 62 3e 47 65 6f 6d 65 74 tries) <b>Geomet
8110: 72 79 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61 ry</b> will alwa
8120: 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 ys be <b>NULL</b
8130: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f >.</li>..</ul></
8140: 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 li>..<li>we'll i
8150: 67 6e 6f 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f gnore for now co
8160: 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 49 64 3c lumn <b>RouteId<
8170: 2f 62 3e 3b 20 69 74 73 20 6d 65 61 6e 69 6e 67 /b>; its meaning
8180: 20 77 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e will be explain
8190: 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 ed in following
81a0: 70 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e paragraphs.</li>
81b0: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e ..<li>column <b>
81c0: 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 73 69 6d RouteRow</b> sim
81d0: 70 6c 79 20 69 73 20 74 68 65 20 70 72 6f 67 72 ply is the progr
81e0: 65 73 73 69 76 65 20 6e 75 6d 62 65 72 20 6f 66 essive number of
81f0: 20 74 68 65 20 72 6f 77 20 69 6e 20 74 68 65 20 the row in the
8200: 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 travel solution
8210: 28 61 6c 77 61 79 73 20 3c 62 3e 30 3c 2f 62 3e (always <b>0</b>
8220: 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 in the header r
8230: 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 ow).</li>..<li>c
8240: 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 6c 65 3c 2f 62 olumn <b>Role</b
8250: 3e 20 63 61 6e 20 62 65 20 3c 69 3e 52 6f 75 74 > can be <i>Rout
8260: 65 3c 2f 69 3e 20 28 68 65 61 64 65 72 20 72 6f e</i> (header ro
8270: 77 29 20 6f 72 20 3c 69 3e 4c 69 6e 6b 3c 2f 69 w) or <i>Link</i
8280: 3e 20 28 61 6c 6c 20 66 6f 6c 6c 6f 77 69 6e 67 > (all following
8290: 20 72 6f 77 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c rows).</li>..<l
82a0: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4c 69 6e 6b i>column <b>Link
82b0: 52 6f 77 69 64 3c 2f 62 3e 20 72 65 66 65 72 65 Rowid</b> refere
82c0: 6e 63 65 73 20 74 68 65 20 3c 62 3e 52 4f 57 49 nces the <b>ROWI
82d0: 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 D</b> of the cor
82e0: 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 responding Link
82f0: 28 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c (always set to <
8300: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68 b>NULL</b> in th
8310: 65 20 68 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f e header row).</
8320: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 li>..<li>column
8330: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 <b>NodeFrom</b>
8340: 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 and <b>NodeTo</b
8350: 3e 20 68 61 76 65 20 74 68 65 20 66 6f 6c 6c 6f > have the follo
8360: 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74 61 74 wing interpretat
8370: 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e ion:..<ul>..<li>
8380: 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f in the header ro
8390: 77 20 74 68 65 79 20 63 6f 72 72 65 73 70 6f 6e w they correspon
83a0: 64 20 74 6f 20 68 65 20 3c 62 3e 4f 72 69 67 69 d to he <b>Origi
83b0: 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 73 n</b> and <b>Des
83c0: 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 4e 6f 64 tination</b> Nod
83d0: 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e es.</li>..<li>in
83e0: 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c all of the foll
83f0: 6f 77 69 6e 67 20 72 6f 77 73 20 74 68 65 79 20 owing rows they
8400: 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 are intended to
8410: 73 70 65 63 69 66 79 20 74 68 65 20 64 69 72 65 specify the dire
8420: 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 75 72 ction of the cur
8430: 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d rent Link.</li>.
8440: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 .</ul></li>..<li
8450: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c >column <b>Cost<
8460: 2f 62 3e 20 68 61 73 20 74 68 65 20 66 6f 6c 6c /b> has the foll
8470: 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74 61 owing interpreta
8480: 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 tion:..<ul>..<li
8490: 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 >in the header r
84a0: 6f 77 20 69 74 20 63 6f 72 72 65 73 70 6f 6e 64 ow it correspond
84b0: 73 20 74 6f 20 74 68 65 20 3c 62 3e 74 6f 74 61 s to the <b>tota
84c0: 6c 20 63 6f 73 74 3c 2f 62 3e 20 6f 66 20 74 68 l cost</b> of th
84d0: 65 20 72 6f 75 74 65 2e 3c 2f 6c 69 3e 0d 0a 3c e route.</li>..<
84e0: 6c 69 3e 69 6e 20 61 6c 6c 20 6f 66 20 74 68 65 li>in all of the
84f0: 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20 following rows
8500: 69 74 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 it represents th
8510: 65 20 73 70 65 63 69 66 69 63 20 63 6f 73 74 20 e specific cost
8520: 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c of the current L
8530: 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e ink.</li>..</ul>
8540: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d </li>..<li>colum
8550: 6e 20 3c 62 3e 4e 61 6d 65 3c 2f 62 3e 20 63 6f n <b>Name</b> co
8560: 6e 74 61 69 6e 73 20 74 68 65 20 64 65 73 63 72 ntains the descr
8570: 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 75 iption of the cu
8580: 72 72 65 6e 74 20 4c 69 6e 6b 20 28 75 73 75 61 rrent Link (usua
8590: 6c 6c 79 20 61 20 72 6f 61 64 20 6e 61 6d 65 29 lly a road name)
85a0: 2c 20 61 6e 64 20 69 73 20 61 6c 77 61 79 73 20 , and is always
85b0: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74 <b>NULL</b> in t
85c0: 68 65 20 68 65 61 64 65 72 20 72 6f 77 2e 3c 62 he header row.<b
85d0: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 20 r>..<u>Note</u>
85e0: 69 74 20 63 6f 75 6c 64 20 62 65 20 61 6c 77 61 it could be alwa
85f0: 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 ys be <b>NULL</b
8600: 3e 20 69 66 20 74 68 65 20 56 69 72 74 75 61 6c > if the Virtual
8610: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 64 6f Routing Table do
8620: 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 73 20 es not supports
8630: 6e 61 6d 65 73 20 28 69 2e 65 2e 20 74 68 65 20 names (i.e. the
8640: 3c 62 3e 72 6f 61 64 5f 6e 61 6d 65 5f 63 6f 6c <b>road_name_col
8650: 75 6d 6e 3c 2f 62 3e 20 70 61 72 6d 20 6f 66 20 umn</b> parm of
8660: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 20 77 61 CreateRouting wa
8670: 73 20 6e 6f 74 20 75 73 65 64 29 2e 3c 2f 6c 69 s not used).</li
8680: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c >..</ul></li>..<
8690: 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a /ul>..<br><br>..
86a0: 54 65 73 74 69 6e 67 20 74 68 65 20 72 65 74 75 Testing the retu
86b0: 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a 75 rn connection ju
86c0: 73 74 20 72 65 71 75 69 72 65 73 20 73 77 61 70 st requires swap
86d0: 70 69 6e 67 20 74 68 65 20 4f 72 69 67 69 6e 20 ping the Origin
86e0: 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e 61 74 and the Destinat
86f0: 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20 65 78 61 ion; in this exa
8700: 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a 75 73 74 mple you'll just
8710: 20 71 75 65 72 79 20 74 68 65 20 6e 65 65 64 65 query the neede
8720: 64 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 76 65 72 d columns:..<ver
8730: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 batim>..SELECT R
8740: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c outeRow, Role, L
8750: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 inkRowid, NodeFr
8760: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 om, NodeTo, Cost
8770: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 , Geometry, Name
8780: 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 ..FROM byfoot..W
8790: 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20 31 37 HERE NodeTo = 17
87a0: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46 72 6f 8731 AND NodeFro
87b0: 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 m = 183286;..</v
87c0: 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 erbatim>..<table
87d0: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f border="1" bgco
87e0: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 lor="#ffffcf" ce
87f0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 llspacing="4" ce
8800: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a llpadding="6">..
8810: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d <tr><th bgcolor=
8820: 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 "#d0d0a0">RouteR
8830: 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ow</th><th bgcol
8840: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c or="#d0d0a0">Rol
8850: 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f e</th><th bgcolo
8860: 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b r="#d0d0a0">Link
8870: 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 Rowid</th><th bg
8880: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
8890: 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 NodeFrom</th><th
88a0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
88b0: 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 0">NodeTo</th><t
88c0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
88d0: 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 a0">Cost</th><th
88e0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
88f0: 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 0">Geometry</th>
8900: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
8910: 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c d0a0">Name</th><
8920: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
8930: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
8940: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 /td><td>Route</t
8950: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
8960: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8970: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
8980: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
8990: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
89a0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 gn="right">300.9
89b0: 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 12208</td><td>BL
89c0: 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 OB sz=272 GEOMET
89d0: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c RY</td><td>NULL<
89e0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
89f0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
8a00: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c ght">1</td><td>L
8a10: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
8a20: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 n="right">224414
8a30: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
8a40: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 right">183286</t
8a50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8a60: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c ht">178880</td><
8a70: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8a80: 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e >136.372057</td>
8a90: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
8aa0: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 >VIA MARGARITONE
8ab0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
8ac0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8ad0: 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 2</td><td>Link</
8ae0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8af0: 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e ght">224446</td>
8b00: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8b10: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 ">178880</td><td
8b20: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
8b30: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 82885</td><td al
8b40: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 ign="right">69.7
8b50: 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 27726</td><td>NU
8b60: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d LL</td><td>VIA M
8b70: 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d ARGARITONE</td>.
8b80: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
8b90: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8ba0: 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 3</td><td>Link</
8bb0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8bc0: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e ght">224014</td>
8bd0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8be0: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 ">182885</td><td
8bf0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
8c00: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
8c10: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 ign="right">94.8
8c20: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 12424</td><td>NU
8c30: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 LL</td><td>VIA P
8c40: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 IETRO ARETINO</t
8c50: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 d>..</tr>..</tab
8c60: 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f le>..<br>..As yo
8c70: 75 27 6c 6c 20 72 65 6d 65 6d 62 65 72 2c 20 74 u'll remember, t
8c80: 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e he <b>byfoot</b>
8c90: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 VirtualRouting
8ca0: 54 61 62 6c 65 20 68 61 73 20 6e 6f 20 3c 62 3e Table has no <b>
8cb0: 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 2c 20 61 6e one-ways</b>, an
8cc0: 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 d consequently t
8cd0: 68 65 20 72 65 74 75 72 6e 20 70 61 74 68 20 63 he return path c
8ce0: 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 orresponds to th
8cf0: 65 20 66 69 72 73 74 20 6f 6e 65 2c 20 65 78 63 e first one, exc
8d00: 65 70 74 20 69 6e 20 74 68 61 74 20 61 6c 6c 20 ept in that all
8d10: 64 69 72 65 63 74 69 6f 6e 73 20 61 72 65 20 6e directions are n
8d20: 6f 77 20 72 65 76 65 72 73 65 64 2e 0d 0a 3c 62 ow reversed...<b
8d30: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f 77 20 r><br><br>..Now
8d40: 79 6f 75 27 6c 6c 20 74 65 73 74 20 74 68 65 20 you'll test the
8d50: 73 61 6d 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 same connections
8d60: 2c 20 62 75 74 20 74 68 69 73 20 74 69 6d 65 20 , but this time
8d70: 79 6f 75 27 6c 6c 20 74 61 72 67 65 74 20 74 68 you'll target th
8d80: 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 56 e <b>bycar</b> V
8d90: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 irtualRouting Ta
8da0: 62 6c 65 20 74 68 61 74 20 66 75 6c 6c 79 20 73 ble that fully s
8db0: 75 70 70 6f 72 74 73 20 3c 62 3e 6f 6e 65 2d 77 upports <b>one-w
8dc0: 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76 65 72 62 61 ays</b>:..<verba
8dd0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 6f 75 tim>..SELECT Rou
8de0: 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e teRow, Role, Lin
8df0: 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d kRowid, NodeFrom
8e00: 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 , NodeTo, Cost,
8e10: 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a Geometry, Name..
8e20: 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48 45 52 FROM bycar..WHER
8e30: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 E NodeFrom = 178
8e40: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 731 AND NodeTo =
8e50: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 183286;..</verb
8e60: 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f atim>..<table bo
8e70: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 rder="1" bgcolor
8e80: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 ="#ffffcf" cells
8e90: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 pacing="4" cellp
8ea0: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 adding="6">..<tr
8eb0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
8ec0: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 0d0a0">RouteRow<
8ed0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
8ee0: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f "#d0d0a0">Role</
8ef0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
8f00: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 #d0d0a0">LinkRow
8f10: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c id</th><th bgcol
8f20: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
8f30: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 eFrom</th><th bg
8f40: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
8f50: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 NodeTo</th><th b
8f60: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
8f70: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 >Cost</th><th bg
8f80: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
8f90: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 Geometry</th><th
8fa0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
8fb0: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 0">Name</th></tr
8fc0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
8fd0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
8fe0: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c ><td>Route</td><
8ff0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
9000: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
9010: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
9020: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 gn="right">18328
9030: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
9040: 22 72 69 67 68 74 22 3e 31 30 31 2e 38 31 35 35 "right">101.8155
9050: 35 32 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 52</td><td>BLOB
9060: 73 7a 3d 32 30 33 32 20 47 45 4f 4d 45 54 52 59 sz=2032 GEOMETRY
9070: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
9080: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
9090: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
90a0: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">1</td><td>Lin
90b0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
90c0: 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f "right">224014</
90d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
90e0: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
90f0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9100: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 ">182885</td><td
9110: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9120: 33 2e 31 32 37 38 37 34 3c 2f 74 64 3e 3c 74 64 3.127874</td><td
9130: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
9140: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f A PIETRO ARETINO
9150: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
9160: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
9170: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e ight">2</td><td>
9180: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
9190: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 gn="right">22444
91a0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
91b0: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f "right">182885</
91c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
91d0: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e ght">178880</td>
91e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
91f0: 22 3e 39 2e 36 35 34 36 30 38 3c 2f 74 64 3e 3c ">9.654608</td><
9200: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
9210: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c VIA MARGARITONE<
9220: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
9230: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
9240: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c ght">3</td><td>L
9250: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
9260: 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 37 31 n="right">219171
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 31 37 38 38 38 30 3c 2f 74 right">178880</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 33 32 3c 2f 74 64 3e 3c ht">178732</td><
92b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
92c0: 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e 3c 74 >7.809952</td><t
92d0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
92e0: 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 IA FRANCESCO CRI
92f0: 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d SPI</td>..</tr>.
9300: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
9310: 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c ="right">4</td><
9320: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
9330: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 align="right">21
9340: 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 9058</td><td ali
9350: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
9360: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
9370: 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f "right">178754</
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 32 2e 34 34 35 36 32 36 3c 2f ght">12.445626</
93a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
93b0: 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 <td>VIA FRANCESC
93c0: 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c O CRISPI</td>..<
93d0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
93e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c align="right">5<
93f0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
9400: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9410: 74 22 3e 32 32 35 38 38 38 3c 2f 74 64 3e 3c 74 t">225888</td><t
9420: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9430: 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 178754</td><td a
9440: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
9450: 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 461</td><td alig
9460: 6e 3d 22 72 69 67 68 74 22 3e 31 2e 35 39 39 38 n="right">1.5998
9470: 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 65</td><td>NULL<
9480: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e /td><td>VIA FRAN
9490: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 CESCO CRISPI</td
94a0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
94b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
94c0: 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">6</td><td>Link
94d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
94e0: 72 69 67 68 74 22 3e 32 32 35 38 38 37 3c 2f 74 right">225887</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 31 38 33 34 36 31 3c 2f 74 64 3e 3c ht">183461</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 38 30 30 3c 2f 74 64 3e 3c 74 64 20 >182800</td><td
9530: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e align="right">3.
9540: 33 30 30 35 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 300590</td><td>N
9550: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
9560: 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 FRANCESCO CRISPI
9570: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
9580: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
9590: 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e ight">7</td><td>
95a0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
95b0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33 39 33 gn="right">22393
95c0: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 5</td><td align=
95d0: 22 72 69 67 68 74 22 3e 31 38 32 38 30 30 3c 2f "right">182800</
95e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
95f0: 67 68 74 22 3e 31 38 32 37 39 39 3c 2f 74 64 3e ght">182799</td>
9600: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9610: 22 3e 36 2e 36 38 38 37 38 36 3c 2f 74 64 3e 3c ">6.688786</td><
9620: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
9630: 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f VIALE LUCA SIGNO
9640: 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RELLI</td>..</tr
9650: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
9660: 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 gn="right">8</td
9670: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
9680: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9690: 32 32 36 30 33 38 3c 2f 74 64 3e 3c 74 64 20 61 226038</td><td a
96a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
96b0: 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 799</td><td alig
96c0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 35 36 n="right">183456
96d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
96e0: 72 69 67 68 74 22 3e 31 2e 32 39 34 30 31 37 3c right">1.294017<
96f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
9700: 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 ><td>VIALE LUCA
9710: 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d SIGNORELLI</td>.
9720: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
9730: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9740: 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 9</td><td>Link</
9750: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9760: 67 68 74 22 3e 32 32 35 38 33 32 3c 2f 74 64 3e ght">225832</td>
9770: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9780: 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c 74 64 ">183456</td><td
9790: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
97a0: 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 83444</td><td al
97b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33 38 ign="right">2.38
97c0: 35 34 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 5486</td><td>NUL
97d0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 L</td><td>VIALE
97e0: 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c LUCA SIGNORELLI<
97f0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
9800: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
9810: 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e ght">10</td><td>
9820: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
9830: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 33 gn="right">22583
9840: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
9850: 22 72 69 67 68 74 22 3e 31 38 33 34 34 34 3c 2f "right">183444</
9860: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9870: 67 68 74 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e ght">183554</td>
9880: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9890: 22 3e 33 2e 31 36 30 36 36 32 3c 2f 74 64 3e 3c ">3.160662</td><
98a0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
98b0: 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f VIALE LUCA SIGNO
98c0: 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RELLI</td>..</tr
98d0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
98e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 gn="right">11</t
98f0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
9900: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9910: 3e 32 32 35 37 36 35 3c 2f 74 64 3e 3c 74 64 20 >225765</td><td
9920: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9930: 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3554</td><td ali
9940: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 35 gn="right">18395
9950: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
9960: 22 72 69 67 68 74 22 3e 37 2e 34 36 39 39 31 37 "right">7.469917
9970: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
9980: 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 d><td>VIALE LUCA
9990: 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e SIGNORELLI</td>
99a0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
99b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
99c0: 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b >12</td><td>Link
99d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
99e0: 72 69 67 68 74 22 3e 32 32 35 37 36 36 3c 2f 74 right">225766</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 31 38 33 39 35 34 3c 2f 74 64 3e 3c ht">183954</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 39 30 35 3c 2f 74 64 3e 3c 74 64 20 >183905</td><td
9a30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e align="right">3.
9a40: 32 33 36 33 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 236389</td><td>N
9a50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c ULL</td><td>VIAL
9a60: 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c E LUCA SIGNORELL
9a70: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
9a80: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
9a90: 72 69 67 68 74 22 3e 31 33 3c 2f 74 64 3e 3c 74 right">13</td><t
9aa0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
9ab0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
9ac0: 39 37 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 979</td><td alig
9ad0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 30 35 n="right">183905
9ae0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9af0: 72 69 67 68 74 22 3e 31 38 33 36 32 36 3c 2f 74 right">183626</t
9b00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9b10: 68 74 22 3e 31 33 2e 39 38 33 36 32 39 3c 2f 74 ht">13.983629</t
9b20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
9b30: 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a 41 20 td>STRADA SENZA
9b40: 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NOME</td>..</tr>
9b50: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 ..<tr>..<td alig
9b60: 6e 3d 22 72 69 67 68 74 22 3e 31 34 3c 2f 74 64 n="right">14</td
9b70: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
9b80: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9b90: 32 32 34 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 224905</td><td a
9ba0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
9bb0: 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 626</td><td alig
9bc0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 32 38 n="right">183128
9bd0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9be0: 72 69 67 68 74 22 3e 35 2e 36 32 37 33 35 38 3c right">5.627358<
9bf0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
9c00: 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a ><td>STRADA SENZ
9c10: 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 A NOME</td>..</t
9c20: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
9c30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 3c 2f ign="right">15</
9c40: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
9c50: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9c60: 22 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64 ">224897</td><td
9c70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9c80: 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 83128</td><td al
9c90: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 ign="right">1832
9ca0: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 86</td><td align
9cb0: 3d 22 72 69 67 68 74 22 3e 31 30 2e 30 33 30 37 ="right">10.0307
9cc0: 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 92</td><td>NULL<
9cd0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
9ce0: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
9cf0: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
9d00: 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 verbatim>..SELEC
9d10: 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 T RouteRow, Role
9d20: 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 , LinkRowid, Nod
9d30: 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 eFrom, NodeTo, C
9d40: 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e ost, Geometry, N
9d50: 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d ame..FROM bycar.
9d60: 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20 .WHERE NodeTo =
9d70: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46 178731 AND NodeF
9d80: 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c rom = 183286;..<
9d90: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 /verbatim>..<tab
9da0: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 le border="1" bg
9db0: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 color="#ffffcf"
9dc0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 cellspacing="4"
9dd0: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
9de0: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f ..<tr><th bgcolo
9df0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 r="#d0d0a0">Rout
9e00: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 eRow</th><th bgc
9e10: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
9e20: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ole</th><th bgco
9e30: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 lor="#d0d0a0">Li
9e40: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 nkRowid</th><th
9e50: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
9e60: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c ">NodeFrom</th><
9e70: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
9e80: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 0a0">NodeTo</th>
9e90: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
9ea0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c d0a0">Cost</th><
9eb0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
9ec0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 0a0">Geometry</t
9ed0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
9ee0: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 d0d0a0">Name</th
9ef0: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 ></tr>..<tr>..<t
9f00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9f10: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 0</td><td>Route<
9f20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
9f30: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9f40: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 t">183286</td><t
9f50: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9f60: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
9f70: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 lign="right">103
9f80: 2e 33 30 35 32 35 39 3c 2f 74 64 3e 3c 74 64 3e .305259</td><td>
9f90: 42 4c 4f 42 20 73 7a 3d 39 34 34 20 47 45 4f 4d BLOB sz=944 GEOM
9fa0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c ETRY</td><td>NUL
9fb0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
9fc0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
9fd0: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 right">1</td><td
9fe0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
9ff0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
a000: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
a010: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c ="right">183286<
a020: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a030: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 ight">178880</td
a040: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a050: 74 22 3e 31 38 2e 38 38 32 32 38 35 3c 2f 74 64 t">18.882285</td
a060: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
a070: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e d>VIA MARGARITON
a080: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
a090: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
a0a0: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
a0b0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
a0c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 ign="right">2191
a0d0: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 71</td><td align
a0e0: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
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 33 32 3c 2f 74 64 ight">178732</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 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e t">7.809952</td>
a130: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
a140: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 >VIA FRANCESCO C
a150: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RISPI</td>..</tr
a160: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
a170: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
a180: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
a190: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a1a0: 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 219058</td><td a
a1b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
a1c0: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 732</td><td alig
a1d0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 n="right">178754
a1e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a1f0: 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36 right">12.445626
a200: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
a210: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 d><td>VIA FRANCE
a220: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d SCO CRISPI</td>.
a230: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
a240: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a250: 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 4</td><td>Link</
a260: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a270: 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e ght">224538</td>
a280: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a290: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 ">178754</td><td
a2a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a2b0: 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 81972</td><td al
a2c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 30 34 ign="right">7.04
a2d0: 37 37 38 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 7784</td><td>NUL
a2e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e L</td><td>VIA AN
a2f0: 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 TONIO GUADAGNOLI
a300: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
a310: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
a320: 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e ight">5</td><td>
a330: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
a340: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 35 37 gn="right">22257
a350: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 5</td><td align=
a360: 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f "right">181972</
a370: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a380: 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74 64 3e ght">181971</td>
a390: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a3a0: 22 3e 31 2e 38 35 32 32 38 33 3c 2f 74 64 3e 3c ">1.852283</td><
a3b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
a3c0: 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 VIA ANTONIO GUAD
a3d0: 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 AGNOLI</td>..</t
a3e0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
a3f0: 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e ight">6</td><td>
a400: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
a410: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 39 36 gn="right">22496
a420: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 7</td><td align=
a430: 22 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f "right">181971</
a440: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a450: 67 68 74 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e ght">182891</td>
a460: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a470: 22 3e 31 34 2e 32 37 33 31 38 35 3c 2f 74 64 3e ">14.273185</td>
a480: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
a490: 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 >VIA ANTONIO GUA
a4a0: 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f DAGNOLI</td>..</
a4b0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
a4c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f lign="right">7</
a4d0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
a4e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a4f0: 22 3e 32 32 34 31 36 38 3c 2f 74 64 3e 3c 74 64 ">224168</td><td
a500: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a510: 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 82891</td><td al
a520: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 ign="right">1830
a530: 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 57</td><td align
a540: 3d 22 72 69 67 68 74 22 3e 36 2e 36 34 33 33 30 ="right">6.64330
a550: 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 9</td><td>NULL</
a560: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c td><td>VIA MACAL
a570: 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d LE'</td>..</tr>.
a580: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
a590: 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c ="right">8</td><
a5a0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
a5b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
a5c0: 34 31 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4167</td><td ali
a5d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 gn="right">18305
a5e0: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 7</td><td align=
a5f0: 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c 2f "right">183056</
a600: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a610: 67 68 74 22 3e 33 2e 31 35 31 32 37 32 3c 2f 74 ght">3.151272</t
a620: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
a630: 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45 27 3c td>VIA MACALLE'<
a640: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
a650: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
a660: 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c ght">9</td><td>L
a670: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
a680: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31 37 34 n="right">224174
a690: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a6a0: 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c 2f 74 right">183056</t
a6b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a6c0: 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c ht">182941</td><
a6d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a6e0: 3e 37 2e 39 36 36 38 37 30 3c 2f 74 64 3e 3c 74 >7.966870</td><t
a6f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
a700: 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f IA RODI</td>..</
a710: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
a720: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c lign="right">10<
a730: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
a740: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a750: 74 22 3e 32 32 34 30 35 39 3c 2f 74 64 3e 3c 74 t">224059</td><t
a760: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a770: 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64 20 61 182941</td><td a
a780: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
a790: 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 001</td><td alig
a7a0: 6e 3d 22 72 69 67 68 74 22 3e 36 2e 33 39 33 37 n="right">6.3937
a7b0: 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 47</td><td>NULL<
a7c0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f 44 49 /td><td>VIA RODI
a7d0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
a7e0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
a7f0: 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 ight">11</td><td
a800: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
a810: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 ign="right">2226
a820: 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 37</td><td align
a830: 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 31 3c ="right">182001<
a840: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a850: 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 ight">182000</td
a860: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a870: 74 22 3e 32 2e 34 37 35 35 33 38 3c 2f 74 64 3e t">2.475538</td>
a880: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
a890: 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 >VIA PIETRO ARET
a8a0: 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d INO</td>..</tr>.
a8b0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
a8c0: 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 64 3e ="right">12</td>
a8d0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
a8e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
a8f0: 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 22636</td><td al
a900: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 ign="right">1820
a910: 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 00</td><td align
a920: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
a930: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a940: 69 67 68 74 22 3e 31 34 2e 33 36 33 34 30 38 3c ight">14.363408<
a950: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
a960: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 ><td>VIA PIETRO
a970: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f ARETINO</td>..</
a980: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
a990: 62 72 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20 br>..As you can
a9a0: 73 65 65 2c 20 74 68 65 20 6f 70 74 69 6d 61 6c see, the optimal
a9b0: 20 70 61 74 68 73 20 72 65 74 75 72 6e 65 64 20 paths returned
a9c0: 62 79 20 74 68 65 20 3c 62 3e 62 79 63 61 72 3c by the <b>bycar<
a9d0: 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 /b> VirtualRouti
a9e0: 6e 67 20 54 61 62 6c 65 20 69 6e 20 74 68 65 20 ng Table in the
a9f0: 6f 70 70 6f 73 69 74 65 20 64 69 72 65 63 74 69 opposite directi
aa00: 6f 6e 73 20 73 74 72 6f 6e 67 6c 79 20 64 69 66 ons strongly dif
aa10: 66 65 72 2c 20 61 6e 64 20 62 6f 74 68 20 61 72 fer, and both ar
aa20: 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69 66 e completely dif
aa30: 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 ferent from the
aa40: 70 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 79 path returned by
aa50: 20 71 75 65 72 79 69 6e 67 20 3c 62 3e 62 79 66 querying <b>byf
aa60: 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 20 oot</b>.<br>..A
aa70: 71 75 69 63 6b 20 67 6c 61 6e 63 65 20 61 74 20 quick glance at
aa80: 74 68 65 20 62 65 6c 6f 77 20 6d 61 70 20 77 69 the below map wi
aa90: 6c 6c 20 68 65 6c 70 20 74 6f 20 75 6e 64 65 72 ll help to under
aaa0: 73 74 61 6e 64 20 62 65 74 74 65 72 20 77 68 61 stand better wha
aab0: 74 27 73 20 72 65 61 6c 6c 79 20 68 61 70 70 65 t's really happe
aac0: 6e 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 ning.<br>..This
aad0: 69 73 20 61 20 63 65 6e 74 72 61 6c 20 61 72 65 is a central are
aae0: 61 20 6f 66 20 74 68 65 20 74 6f 77 6e 20 6f 66 a of the town of
aaf0: 20 41 72 65 7a 7a 6f 20 61 72 6f 75 6e 64 20 74 Arezzo around t
ab00: 68 65 20 61 72 63 68 61 65 6f 6c 6f 67 69 63 61 he archaeologica
ab10: 6c 20 72 75 69 6e 73 20 6f 66 20 74 68 65 20 52 l ruins of the R
ab20: 6f 6d 61 6e 20 41 6d 70 68 69 74 68 65 61 74 65 oman Amphitheate
ab30: 72 3b 20 74 72 61 76 65 6c 69 6e 67 20 62 79 20 r; traveling by
ab40: 63 61 72 20 73 68 6f 75 6c 64 20 62 65 20 61 76 car should be av
ab50: 6f 69 64 65 64 2c 20 64 75 65 20 74 6f 20 74 68 oided, due to th
ab60: 65 20 6d 61 6e 79 20 6f 6e 65 2d 77 61 79 20 72 e many one-way r
ab70: 65 73 74 72 69 63 74 69 6f 6e 73 2e 20 4e 6f 74 estrictions. Not
ab80: 20 73 75 72 70 72 69 73 69 6e 67 6c 79 2c 20 67 surprisingly, g
ab90: 6f 69 6e 67 20 62 79 20 66 6f 6f 74 20 69 73 20 oing by foot is
aba0: 74 68 65 20 66 61 73 74 65 72 20 6f 70 74 69 6f the faster optio
abb0: 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 n...<br><br>..<i
abc0: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f mg src="https://
abd0: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
abe0: 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e gaia-sins/routin
abf0: 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e 67 31 2e g-figs/routing1.
ac00: 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 31 22 3e jpg" alt="fig1">
ac10: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79 65 6c 6c ..<ul>..<li>yell
ac20: 6f 77 20 70 61 74 68 3a 20 70 65 64 65 73 74 72 ow path: pedestr
ac30: 69 61 6e 73 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 67 ians</li>..<li>g
ac40: 72 65 65 6e 20 70 61 74 68 3a 20 63 61 72 2c 20 reen path: car,
ac50: 66 6f 72 77 61 72 64 20 64 69 72 65 63 74 69 6f forward directio
ac60: 6e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 72 65 64 20 n</li>..<li>red
ac70: 70 61 74 68 3a 20 63 61 72 2c 20 72 65 74 75 72 path: car, retur
ac80: 6e 20 64 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e n direction</li>
ac90: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c ..</ul>..<br>..<
aca0: 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 table bgcolor="#
acb0: 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 c0ffc0" cellspac
acc0: 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 ing="10" cellpad
acd0: 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 ding="6"><tr><td
ace0: 3e 0d 0a 3c 68 33 3e 4c 69 6e 65 73 74 72 69 6e >..<h3>Linestrin
acf0: 67 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 56 gs returned by V
ad00: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 68 irtualRouting</h
ad10: 33 3e 0d 0a 41 6c 6c 20 4c 49 4e 45 53 54 52 49 3>..All LINESTRI
ad20: 4e 47 20 47 65 6f 6d 65 74 72 69 65 73 20 63 72 NG Geometries cr
ad30: 65 61 74 65 64 20 62 79 20 61 6e 79 20 56 69 72 eated by any Vir
ad40: 74 75 61 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c tualRouting will
ad50: 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 20 always contain
ad60: 3c 62 3e 4d 20 76 61 6c 75 65 73 3c 2f 62 3e 3a <b>M values</b>:
ad70: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20 74 ..<ul>..<li>if t
ad80: 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e he underlaying N
ad90: 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 etwork's Geometr
ada0: 69 65 73 20 61 72 65 20 3c 62 3e 58 59 3c 2f 62 ies are <b>XY</b
adb0: 3e 20 74 68 65 6e 20 3c 62 3e 58 59 4d 3c 2f 62 > then <b>XYM</b
adc0: 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 77 69 > Linestrings wi
add0: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c ll be returned.<
ade0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 /li>..<li>if the
adf0: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 underlaying Net
ae00: 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 work's Geometrie
ae10: 73 20 61 72 65 20 3c 62 3e 58 59 5a 3c 2f 62 3e s are <b>XYZ</b>
ae20: 20 74 68 65 6e 20 3c 62 3e 58 59 5a 4d 3c 2f 62 then <b>XYZM</b
ae30: 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 77 69 > Linestrings wi
ae40: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c ll be returned.<
ae50: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 /li>..<li>if the
ae60: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 underlaying Net
ae70: 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 work's Geometrie
ae80: 73 20 61 72 65 20 3c 62 3e 58 59 4d 3c 2f 62 3e s are <b>XYM</b>
ae90: 20 6f 72 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20 or <b>XYZM</b>
aea0: 74 68 65 6e 20 20 4c 69 6e 65 73 74 72 69 6e 67 then Linestring
aeb0: 73 20 72 65 74 75 72 6e 65 64 20 69 6e 74 6f 20 s returned into
aec0: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 the resultset wi
aed0: 6c 6c 20 6d 61 69 6e 74 61 69 6e 20 74 68 65 20 ll maintain the
aee0: 73 61 6d 65 20 64 69 6d 65 6e 73 69 6f 6e 73 20 same dimensions
aef0: 61 73 20 69 6e 20 74 68 65 20 75 6e 64 65 72 6c as in the underl
af00: 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f aying Network.</
af10: 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 79 20 li>..<li>in any
af20: 63 61 73 65 20 74 68 65 20 3c 62 3e 4d 3c 2f 62 case the <b>M</b
af30: 3e 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 62 65 > values will be
af40: 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 73 appropriately s
af50: 65 74 20 73 6f 20 74 6f 20 72 65 70 72 65 73 65 et so to represe
af60: 6e 74 20 74 68 65 20 3c 75 3e 70 61 72 74 69 61 nt the <u>partia
af70: 6c 20 63 6f 73 74 3c 2f 75 3e 20 63 6f 72 72 65 l cost</u> corre
af80: 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65 61 63 68 sponding to each
af90: 20 76 65 72 74 65 78 2e 0d 0a 28 69 66 20 74 68 vertex...(if th
afa0: 65 20 69 6e 70 75 74 20 4c 69 6e 65 73 74 72 69 e input Linestri
afb0: 6e 67 73 20 61 6c 72 65 61 64 79 20 63 6f 6e 74 ngs already cont
afc0: 61 69 6e 73 20 4d 2d 76 61 6c 75 65 73 20 74 68 ains M-values th
afd0: 65 79 27 6c 6c 20 62 65 20 6f 76 65 72 77 72 69 ey'll be overwri
afe0: 74 74 65 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 tten).</li>..</u
aff0: 6c 3e 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 l>..<br>..In oth
b000: 65 72 20 77 6f 72 64 73 2c 20 61 6c 6c 20 4c 69 er words, all Li
b010: 6e 65 73 74 72 69 6e 67 73 20 72 65 74 75 72 6e nestrings return
b020: 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75 ed by VirtualRou
b030: 74 69 6e 67 20 63 61 6e 20 65 66 66 65 63 74 69 ting can effecti
b040: 76 65 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e vely support <b>
b050: 4c 52 3c 2f 62 3e 20 28 3c 69 3e 4c 69 6e 65 61 LR</b> (<i>Linea
b060: 72 20 52 65 66 65 72 65 6e 63 69 6e 67 3c 2f 69 r Referencing</i
b070: 3e 29 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73 >) SQL functions
b080: 2c 20 61 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c , as in the foll
b090: 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 73 3a 0d owing examples:.
b0a0: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
b0b0: 45 43 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42 65 ECT ST_Locate_Be
b0c0: 74 77 65 65 6e 5f 4d 65 61 73 75 72 65 73 28 3c tween_Measures(<
b0d0: 67 65 6f 6d 65 74 72 79 3e 2c 20 33 30 2e 30 2c geometry>, 30.0,
b0e0: 20 34 35 2e 30 29 3b 0d 0a 0d 0a 53 45 4c 45 43 45.0);....SELEC
b0f0: 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77 T ST_Locate_Betw
b100: 65 65 6e 5f 4d 65 61 73 75 72 65 73 28 3c 67 65 een_Measures(<ge
b110: 6f 6d 65 74 72 79 3e 2c 20 38 30 2e 30 2c 20 39 ometry>, 80.0, 9
b120: 35 2e 30 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 5.0);..</verbati
b130: 6d 3e 0d 0a 54 68 65 20 73 69 64 65 20 6d 61 70 m>..The side map
b140: 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f graphically sho
b150: 77 73 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 ws the estimated
b160: 20 70 6f 73 69 74 69 6f 6e 73 20 72 65 73 70 65 positions respe
b170: 63 74 69 76 65 6c 79 20 3c 62 3e 33 30 3c 2f 62 ctively <b>30</b
b180: 3e 2d 3c 62 3e 34 35 3c 2f 62 3e 20 73 65 63 6f >-<b>45</b> seco
b190: 6e 64 73 20 61 66 74 65 72 20 73 74 61 72 74 69 nds after starti
b1a0: 6e 67 20 28 79 65 6c 6c 6f 77 20 64 6f 74 74 65 ng (yellow dotte
b1b0: 64 20 6c 69 6e 65 29 20 61 6e 64 20 3c 62 3e 38 d line) and <b>8
b1c0: 30 3c 2f 62 3e 2d 3c 62 3e 39 35 3c 2f 62 3e 20 0</b>-<b>95</b>
b1d0: 73 65 63 6f 6e 64 73 20 61 66 74 65 72 20 73 74 seconds after st
b1e0: 61 72 74 69 6e 67 20 28 67 72 65 65 6e 20 64 6f arting (green do
b1f0: 74 74 65 64 20 6c 69 6e 65 29 2e 3c 62 72 3e 0d tted line).<br>.
b200: 0a 28 61 73 73 75 6d 69 6e 67 20 74 68 65 20 73 .(assuming the s
b210: 61 6d 65 20 70 61 74 68 20 72 65 74 75 72 6e 65 ame path returne
b220: 64 20 62 79 20 74 68 65 20 6c 61 74 65 73 74 20 d by the latest
b230: 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 71 75 65 <b>bycar</b> que
b240: 72 79 29 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 ry)...</td>..<td
b250: 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 ><img src="https
b260: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
b270: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 it/gaia-sins/rou
b280: 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e ting-figs/routin
b290: 67 32 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 g2.jpg" alt="fig
b2a0: 32 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 2"></td>..</tr>.
b2b0: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d .</table>..<br>.
b2c0: 0a 3c 68 32 3e 50 6c 61 79 69 6e 67 20 77 69 74 .<h2>Playing wit
b2d0: 68 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 h VirtualRouting
b2e0: 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 20 6f 70 configurable op
b2f0: 74 69 6f 6e 73 3c 2f 68 32 3e 0d 0a 53 65 76 65 tions</h2>..Seve
b300: 72 61 6c 20 61 73 70 65 63 74 73 20 6f 66 20 56 ral aspects of V
b310: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 61 irtualRouting ca
b320: 6e 20 62 65 20 66 72 65 65 6c 79 20 63 75 73 74 n be freely cust
b330: 6f 6d 69 7a 65 64 2e 0d 0a 3c 76 65 72 62 61 74 omized...<verbat
b340: 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f im>..UPDATE byfo
b350: 6f 74 20 53 45 54 20 41 6c 67 6f 72 69 74 68 6d ot SET Algorithm
b360: 20 3d 20 27 41 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 = 'A*';....SELE
b370: 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 CT Algorithm, Op
b380: 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c tions, RouteRow,
b390: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 Role, LinkRowid
b3a0: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 , NodeFrom, Node
b3b0: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 To, Cost, Geomet
b3c0: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 ry, Name..FROM b
b3d0: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 yfoot..WHERE Nod
b3e0: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 eFrom = 178731 A
b3f0: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 ND NodeTo = 1832
b400: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 86;..</verbatim>
b410: 0d 0a 41 73 20 79 6f 75 27 6c 6c 20 72 65 6d 65 ..As you'll reme
b420: 6d 62 65 72 20 69 6e 20 61 6c 6c 20 74 68 65 20 mber in all the
b430: 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 previous example
b440: 73 20 74 68 65 20 3c 62 3e 44 69 6a 6b 73 74 72 s the <b>Dijkstr
b450: 61 27 73 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68 a's</b> algorith
b460: 6d 20 77 61 73 20 75 73 65 64 3b 20 6e 6f 77 20 m was used; now
b470: 28 61 66 74 65 72 20 65 78 65 63 75 74 69 6e 67 (after executing
b480: 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e 55 50 the above <b>UP
b490: 44 41 54 45 3c 2f 62 3e 29 20 61 6c 6c 20 53 68 DATE</b>) all Sh
b4a0: 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 ortest Path quer
b4b0: 69 65 73 20 77 69 6c 6c 20 62 65 20 62 61 73 65 ies will be base
b4c0: 64 20 6f 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 d on the alterna
b4d0: 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 tive <b>A*</b> a
b4e0: 6c 67 6f 72 69 74 68 6d 2e 3c 62 72 3e 0d 0a 49 lgorithm.<br>..I
b4f0: 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 73 77 f you wish to sw
b500: 69 74 63 68 20 62 61 63 6b 20 74 6f 20 74 68 65 itch back to the
b510: 20 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f Dijkstra's algo
b520: 72 69 74 68 6d 20 79 6f 75 20 6a 75 73 74 20 68 rithm you just h
b530: 61 76 65 20 74 6f 20 65 78 65 63 75 74 65 3c 62 ave to execute<b
b540: 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 62 79 66 r> <b>UPDATE byf
b550: 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72 69 74 68 oot SET Algorith
b560: 6d 20 3d 20 27 44 49 4a 4b 53 54 52 41 27 3b 3c m = 'DIJKSTRA';<
b570: 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 /b>.<br><br>..Th
b580: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c e following tabl
b590: 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 e shows the resu
b5a0: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 ltset returned b
b5b0: 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 53 y the previous S
b5c0: 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65 hortest Path que
b5d0: 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69 63 ry; please notic
b5e0: 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 74 e the value in t
b5f0: 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c he <b>Algorithm<
b600: 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 /b> column...<br
b610: 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f ><br>..<table bo
b620: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 rder="1" bgcolor
b630: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 ="#ffffcf" cells
b640: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 pacing="4" cellp
b650: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 adding="6">..<tr
b660: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
b670: 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 0d0a0">Algorithm
b680: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
b690: 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f ="#d0d0a0">Optio
b6a0: 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ns</th><th bgcol
b6b0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 or="#d0d0a0">Rou
b6c0: 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 teRow</th><th bg
b6d0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
b6e0: 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 Role</th><th bgc
b6f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c olor="#d0d0a0">L
b700: 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 inkRowid</th><th
b710: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
b720: 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 0">NodeFrom</th>
b730: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
b740: 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 d0a0">NodeTo</th
b750: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
b760: 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 0d0a0">Cost</th>
b770: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
b780: 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f d0a0">Geometry</
b790: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
b7a0: 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 #d0d0a0">Name</t
b7b0: 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 h></tr>..<tr><td
b7c0: 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c >A*</td><td>Full
b7d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
b7e0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
b7f0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
b800: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
b810: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
b820: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
b830: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 right">183286</t
b840: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
b850: 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f ht">300.912208</
b860: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 td><td>BLOB sz=2
b870: 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 72 GEOMETRY</td>
b880: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
b890: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
b8a0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
b8b0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
b8c0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 "right">1</td><t
b8d0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
b8e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
b8f0: 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 014</td><td alig
b900: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
b910: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
b920: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 right">182885</t
b930: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
b940: 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 ht">94.812424</t
b950: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
b960: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 td>VIA PIETRO AR
b970: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ETINO</td>..</tr
b980: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
b990: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
b9a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
b9b0: 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c ght">2</td><td>L
b9c0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
b9d0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 n="right">224446
b9e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
b9f0: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 right">182885</t
ba00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
ba10: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c ht">178880</td><
ba20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
ba30: 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c >69.727726</td><
ba40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
ba50: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c VIA MARGARITONE<
ba60: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
ba70: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
ba80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
ba90: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 align="right">3
baa0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
bab0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
bac0: 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c ht">224414</td><
bad0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
bae0: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 >178880</td><td
baf0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
bb00: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3286</td><td ali
bb10: 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 gn="right">136.3
bb20: 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 72057</td><td>NU
bb30: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d LL</td><td>VIA M
bb40: 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d ARGARITONE</td>.
bb50: 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e .</tr>..</table>
bb60: 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a ..<br><br><br>..
bb70: 6f 75 20 63 61 6e 20 61 6c 73 6f 20 63 6f 6e 66 ou can also conf
bb80: 69 67 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 igure the result
bb90: 73 65 74 20 72 65 74 75 72 6e 65 64 20 74 68 65 set returned the
bba0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 VirtualRouting
bbb0: 71 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 62 61 queries...<verba
bbc0: 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 tim>..UPDATE byf
bbd0: 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 oot SET Options
bbe0: 3d 20 27 4e 4f 20 4c 49 4e 4b 53 27 3b 0d 0a 0d = 'NO LINKS';...
bbf0: 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 .SELECT Algorith
bc00: 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 m, Options, Rout
bc10: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b eRow, Role, Link
bc20: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c Rowid, NodeFrom,
bc30: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 NodeTo, Cost, G
bc40: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 eometry, Name..F
bc50: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 ROM byfoot..WHER
bc60: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 E NodeFrom = 178
bc70: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 731 AND NodeTo =
bc80: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 183286;..</verb
bc90: 61 74 69 6d 3e 0d 0a 41 66 74 65 72 20 73 65 74 atim>..After set
bca0: 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d ting <b>Options=
bcb0: 27 4e 4f 20 4c 49 4e 4b 53 27 3c 2f 62 3e 20 74 'NO LINKS'</b> t
bcc0: 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c he resultset wil
bcd0: 6c 20 73 69 6d 70 6c 79 20 63 6f 6e 74 61 69 6e l simply contain
bce0: 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 2c the header row,
bcf0: 20 61 6e 64 20 61 6c 6c 20 6f 66 20 74 68 65 20 and all of the
bd00: 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20 77 following rows w
bd10: 69 6c 6c 20 62 65 20 73 75 70 70 72 65 73 73 65 ill be suppresse
bd20: 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c d.<br>..<u>Note<
bd30: 2f 75 3e 3a 20 70 72 6f 64 75 63 69 6e 67 20 61 /u>: producing a
bd40: 20 72 65 64 75 63 65 64 20 72 65 73 75 6c 74 73 reduced results
bd50: 65 74 20 69 73 20 65 78 70 65 63 74 65 64 20 74 et is expected t
bd60: 6f 20 62 65 20 73 6f 6d 65 77 61 79 20 66 61 73 o be someway fas
bd70: 74 65 72 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f ter.<br>..The fo
bd80: 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 llowing table sh
bd90: 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 ows the resultse
bda0: 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 t returned by th
bdb0: 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74 e previous Short
bdc0: 65 73 74 20 50 61 74 68 20 71 75 65 72 79 2e 3c est Path query.<
bdd0: 62 72 3e 0d 0a 4e 6f 74 69 63 65 20 74 68 61 74 br>..Notice that
bde0: 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 value in the <b
bdf0: 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c >Options</b> col
be00: 75 6d 6e 20 73 68 6f 77 73 20 79 6f 75 20 77 68 umn shows you wh
be10: 69 63 68 20 74 79 70 65 20 6f 66 20 72 65 73 75 ich type of resu
be20: 6c 74 73 65 74 20 79 6f 75 20 61 72 65 20 75 73 ltset you are us
be30: 69 6e 67 20 28 6a 75 73 74 20 61 73 20 74 68 65 ing (just as the
be40: 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 <b>Algorithm</b
be50: 3e 20 63 6f 6c 75 6d 6e 20 73 68 6f 77 73 20 77 > column shows w
be60: 68 69 63 68 20 61 6c 67 6f 72 69 74 68 6d 20 69 hich algorithm i
be70: 73 20 61 63 74 69 76 65 29 2e 0d 0a 3c 62 72 3e s active)...<br>
be80: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 <br>..<table bor
be90: 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d der="1" bgcolor=
bea0: 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 "#ffffcf" cellsp
beb0: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 acing="4" cellpa
bec0: 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e dding="6">..<tr>
bed0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
bee0: 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c d0a0">Algorithm<
bef0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
bf00: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e "#d0d0a0">Option
bf10: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f s</th><th bgcolo
bf20: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 r="#d0d0a0">Rout
bf30: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 eRow</th><th bgc
bf40: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
bf50: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ole</th><th bgco
bf60: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 lor="#d0d0a0">Li
bf70: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 nkRowid</th><th
bf80: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
bf90: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c ">NodeFrom</th><
bfa0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
bfb0: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 0a0">NodeTo</th>
bfc0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
bfd0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c d0a0">Cost</th><
bfe0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
bff0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 0a0">Geometry</t
c000: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
c010: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 d0d0a0">Name</th
c020: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 ></tr>..<tr>..<t
c030: 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 d>A*</td><td>No
c040: 4c 69 6e 6b 73 3c 2f 74 64 3e 3c 74 64 20 61 6c Links</td><td al
c050: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
c060: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e d><td>Route</td>
c070: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
c080: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
c090: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
c0a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 ign="right">1832
c0b0: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 86</td><td align
c0c0: 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 ="right">300.912
c0d0: 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 208</td><td>BLOB
c0e0: 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 sz=272 GEOMETRY
c0f0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
c100: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 d>..</tr>..</tab
c110: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 le>..<br><br><br
c120: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 >..<verbatim>..U
c130: 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 PDATE byfoot SET
c140: 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 Options = 'NO G
c150: 45 4f 4d 45 54 52 49 45 53 27 3b 0d 0a 0d 0a 53 EOMETRIES';....S
c160: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c ELECT Algorithm,
c170: 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 Options, RouteR
c180: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f ow, Role, LinkRo
c190: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e wid, NodeFrom, N
c1a0: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f odeTo, Cost, Geo
c1b0: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f metry, Name..FRO
c1c0: 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 M byfoot..WHERE
c1d0: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 NodeFrom = 17873
c1e0: 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 1 AND NodeTo = 1
c1f0: 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 83286;..</verbat
c200: 69 6d 3e 41 66 74 65 72 20 73 65 74 74 69 6e 67 im>After setting
c210: 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f 20 <b>Options='NO
c220: 47 45 4f 4d 45 54 52 49 45 53 27 3c 2f 62 3e 20 GEOMETRIES'</b>
c230: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 the resultset wi
c240: 6c 6c 20 63 6f 6e 74 61 69 6e 20 61 6c 6c 20 72 ll contain all r
c250: 6f 77 73 2c 20 62 75 74 20 61 6c 6c 20 47 65 6f ows, but all Geo
c260: 6d 65 74 72 69 65 73 20 77 69 6c 6c 20 62 65 20 metries will be
c270: 73 75 70 70 72 65 73 73 65 64 2e 3c 62 72 3e 0d suppressed.<br>.
c280: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 .<u>Note</u>: th
c290: 69 73 20 74 6f 6f 20 69 73 20 65 78 70 65 63 74 is too is expect
c2a0: 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77 68 61 ed to be somewha
c2b0: 74 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54 t faster.<br>..T
c2c0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 he following tab
c2d0: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 le shows the res
c2e0: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 ultset returned
c2f0: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 by the previous
c300: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 Shortest Path qu
c310: 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69 ery; please noti
c320: 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 ce the value in
c330: 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f the <b>Options</
c340: 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e b> column...<br>
c350: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 <br>..<table bor
c360: 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d der="1" bgcolor=
c370: 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 "#ffffcf" cellsp
c380: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 acing="4" cellpa
c390: 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e dding="6">..<tr>
c3a0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
c3b0: 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c d0a0">Algorithm<
c3c0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
c3d0: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e "#d0d0a0">Option
c3e0: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f s</th><th bgcolo
c3f0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 r="#d0d0a0">Rout
c400: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 eRow</th><th bgc
c410: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
c420: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ole</th><th bgco
c430: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 lor="#d0d0a0">Li
c440: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 nkRowid</th><th
c450: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
c460: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c ">NodeFrom</th><
c470: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
c480: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 0a0">NodeTo</th>
c490: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
c4a0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c d0a0">Cost</th><
c4b0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
c4c0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 0a0">Geometry</t
c4d0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
c4e0: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 d0d0a0">Name</th
c4f0: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e ></tr>..<tr><td>
c500: 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 47 65 A*</td><td>No Ge
c510: 6f 6d 65 74 72 69 65 73 3c 2f 74 64 3e 3c 74 64 ometries</td><td
c520: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
c530: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
c540: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
c550: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
c560: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
c570: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
c580: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83286</td><td al
c590: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e ign="right">300.
c5a0: 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 912208</td><td>N
c5b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
c5c0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
c5d0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
c5e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
c5f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c600: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
c610: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
c620: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e ght">224014</td>
c630: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
c640: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
c650: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
c660: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 82885</td><td al
c670: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 ign="right">94.8
c680: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 12424</td><td>NU
c690: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 LL</td><td>VIA P
c6a0: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 IETRO ARETINO</t
c6b0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
c6c0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
c6d0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
c6e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f lign="right">2</
c6f0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
c700: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
c710: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 ">224446</td><td
c720: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
c730: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 82885</td><td al
c740: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
c750: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
c760: 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 ="right">69.7277
c770: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 26</td><td>NULL<
c780: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
c790: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
c7a0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
c7b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
c7c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c7d0: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
c7e0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
c7f0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
c800: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
c810: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
c820: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
c830: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 ight">183286</td
c840: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
c850: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 t">136.372057</t
c860: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
c870: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f td>VIA MARGARITO
c880: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NE</td>..</tr>..
c890: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 </table>..<br><b
c8a0: 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 r><br>..<verbati
c8b0: 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f m>..UPDATE byfoo
c8c0: 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 t SET Options =
c8d0: 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 'SIMPLE';....SEL
c8e0: 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f ECT Algorithm, O
c8f0: 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 ptions, RouteRow
c900: 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 , Role, LinkRowi
c910: 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 d, NodeFrom, Nod
c920: 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 eTo, Cost, Geome
c930: 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 try, Name..FROM
c940: 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f byfoot..WHERE No
c950: 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 deFrom = 178731
c960: 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 AND NodeTo = 183
c970: 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 286;..</verbatim
c980: 3e 53 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 >Setting <b>Opti
c990: 6f 6e 73 3d 27 53 49 4d 50 4c 45 27 3c 2f 62 3e ons='SIMPLE'</b>
c9a0: 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 65 66 has the same ef
c9b0: 66 65 63 74 20 74 68 61 6e 20 73 65 74 74 69 6e fect than settin
c9c0: 67 20 62 6f 74 68 20 3c 62 3e 4e 4f 20 4c 49 4e g both <b>NO LIN
c9d0: 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f KS</b> and <b>NO
c9e0: 20 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 GEOMETRIES</b>
c9f0: 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 at the same time
ca00: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f .<br>..<u>Note</
ca10: 75 3e 3a 20 74 68 69 73 20 69 73 20 65 78 70 65 u>: this is expe
ca20: 63 74 65 64 20 74 6f 20 62 65 20 74 68 65 20 66 cted to be the f
ca30: 61 73 74 65 73 74 20 73 65 74 74 69 6e 67 2e 3c astest setting.<
ca40: 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 br>..The followi
ca50: 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 ng table shows t
ca60: 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 he resultset ret
ca70: 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 urned by the pre
ca80: 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 vious Shortest P
ca90: 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 ath query; pleas
caa0: 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c e notice the val
cab0: 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 ue in the <b>Opt
cac0: 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e ions</b> column.
cad0: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 ..<br><br>..<tab
cae0: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 le border="1" bg
caf0: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 color="#ffffcf"
cb00: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 cellspacing="4"
cb10: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
cb20: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f ..<tr><th bgcolo
cb30: 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f r="#d0d0a0">Algo
cb40: 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 rithm</th><th bg
cb50: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
cb60: 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 Options</th><th
cb70: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
cb80: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c ">RouteRow</th><
cb90: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
cba0: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 0a0">Role</th><t
cbb0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
cbc0: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 a0">LinkRowid</t
cbd0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
cbe0: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d d0d0a0">NodeFrom
cbf0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
cc00: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 ="#d0d0a0">NodeT
cc10: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f o</th><th bgcolo
cc20: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 r="#d0d0a0">Cost
cc30: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
cc40: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 ="#d0d0a0">Geome
cc50: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f try</th><th bgco
cc60: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 lor="#d0d0a0">Na
cc70: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 me</th></tr>..<t
cc80: 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c r>..<td>A*</td><
cc90: 74 64 3e 53 69 6d 70 6c 65 3c 2f 74 64 3e 3c 74 td>Simple</td><t
cca0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
ccb0: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 0</td><td>Route<
ccc0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
ccd0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
cce0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 t">178731</td><t
ccf0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
cd00: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 183286</td><td a
cd10: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 lign="right">300
cd20: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e .912208</td><td>
cd30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
cd40: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
cd50: 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 46 /table>..<br>..F
cd60: 69 6e 61 6c 6c 79 2c 20 69 66 20 79 6f 75 20 77 inally, if you w
cd70: 69 73 68 20 74 6f 20 72 65 76 65 72 74 20 62 61 ish to revert ba
cd80: 63 6b 20 74 6f 20 74 68 65 20 69 6e 69 74 69 61 ck to the initia
cd90: 6c 20 73 65 74 74 69 6e 67 2c 20 79 6f 75 20 64 l setting, you d
cda0: 6f 20 74 68 69 73 20 77 69 74 68 20 74 68 65 20 o this with the
cdb0: 66 6f 6c 6c 6f 77 69 6e 67 20 71 75 65 72 79 3c following query<
cdc0: 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 62 79 br> <b>UPDATE by
cdd0: 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 foot SET Options
cde0: 20 3d 20 27 46 55 4c 4c 27 3b 3c 2f 62 3e 2e 3c = 'FULL';</b>.<
cdf0: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 br><br>..<hr><br
ce00: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 >..<h1><a name="
ce10: 6d 75 6c 74 69 22 3e 35 20 2d 20 53 6f 6c 76 69 multi">5 - Solvi
ce20: 6e 67 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 ng multi-destina
ce30: 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 tion Shortest Pa
ce40: 74 68 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c th problems</a><
ce50: 2f 68 31 3e 0d 0a 41 6e 20 69 6e 74 65 72 65 73 /h1>..An interes
ce60: 74 69 6e 67 20 66 65 61 74 75 72 65 20 73 75 70 ting feature sup
ce70: 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 44 69 ported by the Di
ce80: 6a 6b 73 74 72 61 27 73 20 41 6c 67 6f 72 69 74 jkstra's Algorit
ce90: 68 6d 20 69 73 3a 20 77 68 65 6e 20 61 20 64 65 hm is: when a de
cea0: 73 74 69 6e 61 74 69 6f 6e 20 69 73 20 62 65 65 stination is bee
ceb0: 6e 20 72 65 61 63 68 65 64 2c 20 61 6c 6c 20 6f n reached, all o
cec0: 66 20 74 68 65 20 3c 62 3e 6c 65 73 73 65 72 20 f the <b>lesser
ced0: 63 6f 73 74 3c 2f 62 3e 20 64 65 73 74 69 6e 61 cost</b> destina
cee0: 74 69 6f 6e 73 20 68 61 76 65 20 73 75 72 65 6c tions have surel
cef0: 79 20 62 65 65 6e 20 72 65 61 63 68 65 64 2e 3c y been reached.<
cf00: 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f 77 73 br>..This allows
cf10: 20 74 68 65 20 73 75 70 70 6f 72 74 20 6f 66 20 the support of
cf20: 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 multiple destina
cf30: 74 69 6f 6e 73 20 53 68 6f 72 74 65 73 74 20 50 tions Shortest P
cf40: 61 74 68 20 71 75 65 72 69 65 73 2e 3c 62 72 3e ath queries.<br>
cf50: 0d 0a 41 6c 6c 20 79 6f 75 20 68 61 76 65 20 74 ..All you have t
cf60: 6f 20 64 6f 20 69 73 20 73 70 65 63 69 66 79 20 o do is specify
cf70: 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69 67 a <b>single orig
cf80: 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 77 69 74 68 in Node</b> with
cf90: 20 61 6e 20 3c 62 3e 61 72 62 69 74 72 61 72 79 an <b>arbitrary
cfa0: 20 6c 69 73 74 20 6f 66 20 64 65 73 74 69 6e 61 list of destina
cfb0: 74 69 6f 6e 20 4e 6f 64 65 73 3c 2f 62 3e 20 69 tion Nodes</b> i
cfc0: 6e 20 6f 6e 65 20 44 69 6a 6b 73 74 72 61 27 73 n one Dijkstra's
cfd0: 20 71 75 65 72 79 2e 3c 62 72 3e 3c 62 72 3e 0d query.<br><br>.
cfe0: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65 78 .<u>Note</u>: ex
cff0: 65 63 75 74 69 6e 67 20 61 20 6d 75 6c 74 69 2d ecuting a multi-
d000: 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 destination Shor
d010: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 20 test Path query
d020: 72 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70 72 requires a <b>pr
d030: 6f 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f 62 ocessing time</b
d040: 3e 20 74 68 61 74 20 69 73 6e 27 74 20 74 68 65 > that isn't the
d050: 20 3c 75 3e 73 75 6d 20 6f 66 20 61 6c 6c 20 69 <u>sum of all i
d060: 6e 64 69 76 69 64 75 61 6c 20 74 69 6d 69 6e 67 ndividual timing
d070: 73 20 74 6f 20 65 61 63 68 20 64 65 73 74 69 6e s to each destin
d080: 61 74 69 6f 6e 3c 2f 75 3e 2c 20 62 75 74 20 73 ation</u>, but s
d090: 69 6d 70 6c 79 20 74 68 65 20 74 69 6d 65 20 72 imply the time r
d0a0: 65 71 75 69 72 65 64 20 74 6f 20 72 65 61 63 68 equired to reach
d0b0: 20 74 68 65 20 3c 75 3e 6d 6f 73 74 20 63 6f 73 the <u>most cos
d0c0: 74 6c 79 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 tly destination
d0d0: 6f 66 20 74 68 65 20 6c 69 73 74 3c 2f 75 3e 2e of the list</u>.
d0e0: 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 6e 27 74 <br>..This isn't
d0f0: 20 73 74 72 69 63 74 6c 79 20 74 72 75 65 20 69 strictly true i
d100: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 74 68 n the case of th
d110: 69 73 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e is VirtualRoutin
d120: 67 20 73 70 65 63 69 66 69 63 20 69 6d 70 6c 65 g specific imple
d130: 6d 65 6e 74 61 74 69 6f 6e 2c 20 73 69 6e 63 65 mentation, since
d140: 20 74 68 65 20 61 72 72 61 6e 67 6d 65 6e 74 20 the arrangment
d150: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 74 6f the resultset to
d160: 20 62 65 20 72 65 74 75 72 6e 65 64 20 61 6e 64 be returned and
d170: 20 63 72 65 61 74 69 6f 6e 20 61 6c 6c 20 74 68 creation all th
d180: 65 20 69 6e 64 69 76 69 64 75 61 6c 20 4c 69 6e e individual Lin
d190: 65 73 74 72 69 6e 67 73 20 66 6f 72 20 65 61 63 estrings for eac
d1a0: 68 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 77 69 h destination wi
d1b0: 6c 6c 20 73 75 72 65 6c 79 20 69 6d 70 6f 73 65 ll surely impose
d1c0: 20 73 6f 6d 65 20 66 75 72 74 68 65 72 20 6f 76 some further ov
d1d0: 65 72 68 65 61 64 2e 3c 62 72 3e 0d 0a 4e 65 76 erhead.<br>..Nev
d1e0: 65 72 74 68 65 6c 65 73 73 20 74 68 65 20 74 69 ertheless the ti
d1f0: 6d 65 20 6e 65 65 64 65 64 20 66 6f 72 20 61 20 me needed for a
d200: 73 69 6e 67 6c 65 20 6d 75 6c 74 69 2d 64 65 73 single multi-des
d210: 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 79 20 77 tination query w
d220: 69 6c 6c 20 62 65 20 6c 65 73 73 20 74 68 61 6e ill be less than
d230: 20 74 68 65 20 74 69 6d 65 20 6e 65 65 64 65 64 the time needed
d240: 20 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20 73 69 for multiple si
d250: 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e ngle-destination
d260: 20 71 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 62 queries...<verb
d270: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c atim>..SELECT Al
d280: 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 gorithm, Request
d290: 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d , Options, Delim
d2a0: 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 iter, RouteId, R
d2b0: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c outeRow, Role, L
d2c0: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 inkRowid, NodeFr
d2d0: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 om, NodeTo, Cost
d2e0: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 , Geometry, Name
d2f0: 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 ..FROM byfoot..W
d300: 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 HERE NodeFrom =
d310: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 178731 AND NodeT
d320: 6f 20 3d 20 27 31 38 33 32 38 36 2c 32 39 30 34 o = '183286,2904
d330: 35 38 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 58,181999,184030
d340: 2c 31 32 34 36 32 32 2c 31 38 33 38 38 32 2c 31 ,124622,183882,1
d350: 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 78754';..</verba
d360: 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e tim>..As you can
d370: 20 73 65 65 2c 20 61 20 3c 62 3e 6d 75 6c 74 69 see, a <b>multi
d380: 70 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 ple-destinations
d390: 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20 74 </b> query has t
d3a0: 68 65 20 73 61 6d 65 20 69 64 65 6e 74 69 63 61 he same identica
d3b0: 6c 20 66 6f 72 6d 20 6f 66 20 61 6e 79 20 6e 6f l form of any no
d3c0: 72 6d 61 6c 20 53 68 6f 72 74 65 73 74 20 50 61 rmal Shortest Pa
d3d0: 74 68 20 71 75 65 72 79 2c 20 74 68 65 20 6f 6e th query, the on
d3e0: 6c 79 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 ly difference be
d3f0: 69 6e 67 20 61 20 63 6f 6d 6d 61 2d 73 65 70 61 ing a comma-sepa
d400: 72 61 74 65 64 20 6c 69 73 74 20 28 69 6e 73 74 rated list (inst
d410: 65 61 64 20 6f 66 20 61 20 73 69 6e 67 6c 65 2d ead of a single-
d420: 65 6e 74 72 79 29 20 66 6f 72 20 3c 62 3e 4e 6f entry) for <b>No
d430: 64 65 54 6f 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 deTo</b>.<br>..T
d440: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 he following tab
d450: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 le shows the res
d460: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 ultset returned
d470: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 by the previous
d480: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f multi-destinatio
d490: 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 n Shortest Path
d4a0: 71 75 65 72 79 3a 0d 0a 3c 62 72 3e 3c 62 72 3e query:..<br><br>
d4b0: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d ..<table border=
d4c0: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 "1" bgcolor="#ff
d4d0: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e ffcf" cellspacin
d4e0: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e g="4" cellpaddin
d4f0: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 g="6">..<tr><th
d500: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
d510: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e ">Algorithm</th>
d520: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
d530: 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 d0a0">Request</t
d540: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
d550: 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c d0d0a0">Options<
d560: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
d570: 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 "#d0d0a0">Delimi
d580: 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ter</th><th bgco
d590: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
d5a0: 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 uteId</th><th bg
d5b0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
d5c0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 RouteRow</th><th
d5d0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
d5e0: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
d5f0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
d600: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e ">LinkRowid</th>
d610: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
d620: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f d0a0">NodeFrom</
d630: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
d640: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c #d0d0a0">NodeTo<
d650: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
d660: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f "#d0d0a0">Cost</
d670: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
d680: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 #d0d0a0">Geometr
d690: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f y</th><th bgcolo
d6a0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 r="#d0d0a0">Name
d6b0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
d6c0: 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f ..<td>Dijkstra</
d6d0: 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 td><td>Shortest
d6e0: 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c Path</td><td>Ful
d6f0: 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 l</td><td>, [
d700: 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 ;dec=44, hex=2c&
d710: 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 #93;</td><td ali
d720: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
d730: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
d740: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
d750: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
d760: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
d770: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
d780: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
d790: 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 t">183882</td><t
d7a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
d7b0: 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 154.750839</td><
d7c0: 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 td>BLOB sz=240 G
d7d0: 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e EOMETRY</td><td>
d7e0: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
d7f0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
d800: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
d810: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
d820: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
d830: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
d840: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
d850: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e ight">1</td><td>
d860: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
d870: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 gn="right">22263
d880: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
d890: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
d8a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
d8b0: 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e ght">182000</td>
d8c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
d8d0: 22 3e 31 30 33 2e 37 33 35 37 32 32 3c 2f 74 64 ">103.735722</td
d8e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
d8f0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 d>VIA PIETRO ARE
d900: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TINO</td>..</tr>
d910: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
d920: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
d930: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
d940: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
d950: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
d960: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
d970: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e ight">2</td><td>
d980: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
d990: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 32 gn="right">22552
d9a0: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 7</td><td align=
d9b0: 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f "right">182000</
d9c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
d9d0: 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e ght">183882</td>
d9e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
d9f0: 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e ">51.015117</td>
da00: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
da10: 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 >VIA LICIO NENCE
da20: 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d TTI</td>..</tr>.
da30: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
da40: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
da50: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
da60: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
da70: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
da80: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
da90: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
daa0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
dab0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
dac0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
dad0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
dae0: 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e ght">184030</td>
daf0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
db00: 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 ">176.364755</td
db10: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 ><td>BLOB sz=304
db20: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
db30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
db40: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
db50: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
db60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
db70: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
db80: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
db90: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
dba0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 "right">1</td><t
dbb0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
dbc0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
dbd0: 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 014</td><td alig
dbe0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
dbf0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
dc00: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 right">182885</t
dc10: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
dc20: 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 ht">94.812424</t
dc30: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
dc40: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 td>VIA PIETRO AR
dc50: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ETINO</td>..</tr
dc60: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
dc70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
dc80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
dc90: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
dca0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
dcb0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
dcc0: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
dcd0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
dce0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38 ign="right">2248
dcf0: 36 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 62</td><td align
dd00: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c ="right">182885<
dd10: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
dd20: 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 ight">182043</td
dd30: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
dd40: 74 22 3e 33 37 2e 30 39 35 32 38 37 3c 2f 74 64 t">37.095287</td
dd50: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
dd60: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e d>VIA MARGARITON
dd70: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
dd80: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
dd90: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
dda0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
ddb0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
ddc0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 gn="right">1</td
ddd0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
dde0: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">3</td><td>Lin
ddf0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
de00: 22 72 69 67 68 74 22 3e 32 32 36 30 37 30 3c 2f "right">226070</
de10: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
de20: 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e ght">182043</td>
de30: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
de40: 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 ">184030</td><td
de50: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
de60: 34 2e 34 35 37 30 34 34 3c 2f 74 64 3e 3c 74 64 4.457044</td><td
de70: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 50 49 >NULL</td><td>PI
de80: 41 5a 5a 41 20 53 41 4e 54 27 41 47 4f 53 54 49 AZZA SANT'AGOSTI
de90: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NO</td>..</tr>..
dea0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
deb0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
dec0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
ded0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
dee0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
def0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
df00: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
df10: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
df20: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
df30: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
df40: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
df50: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c ht">178754</td><
df60: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
df70: 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f 74 64 3e >224.677095</td>
df80: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 <td>BLOB sz=240
df90: 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 GEOMETRY</td><td
dfa0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
dfb0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
dfc0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
dfd0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
dfe0: 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 <td>NULL<td alig
dff0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e n="right">2</td>
e000: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e010: 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">1</td><td>Link
e020: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e030: 72 69 67 68 74 22 3e 32 31 39 30 34 35 3c 2f 74 right">219045</t
e040: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e050: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
e060: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e070: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 >178732</td><td
e080: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 36 align="right">76
e090: 2e 30 32 31 30 30 37 3c 2f 74 64 3e 3c 74 64 3e .021007</td><td>
e0a0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
e0b0: 20 41 53 53 41 42 3c 2f 74 64 3e 0d 0a 3c 2f 74 ASSAB</td>..</t
e0c0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
e0d0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e0e0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e0f0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e100: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e110: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
e120: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
e130: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
e140: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 lign="right">219
e150: 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 058</td><td alig
e160: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 n="right">178732
e170: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e180: 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 right">178754</t
e190: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e1a0: 68 74 22 3e 31 34 38 2e 36 35 36 30 38 39 3c 2f ht">148.656089</
e1b0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e1c0: 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 <td>VIA FRANCESC
e1d0: 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c O CRISPI</td>..<
e1e0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
e1f0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
e200: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e210: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e220: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e230: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">3</td><td alig
e240: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
e250: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
e260: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
e270: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
e280: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
e290: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 n="right">181999
e2a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e2b0: 72 69 67 68 74 22 3e 32 36 30 2e 31 33 32 33 35 right">260.13235
e2c0: 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 4</td><td>BLOB s
e2d0: 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f z=240 GEOMETRY</
e2e0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e2f0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
e300: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
e310: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
e320: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e330: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e340: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 ght">3</td><td a
e350: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
e360: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
e370: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e380: 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 ">224014</td><td
e390: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
e3a0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
e3b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 ign="right">1828
e3c0: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 85</td><td align
e3d0: 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 ="right">94.8124
e3e0: 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 24</td><td>NULL<
e3f0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 /td><td>VIA PIET
e400: 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d RO ARETINO</td>.
e410: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
e420: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
e430: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e440: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e450: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e460: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">3</td><td al
e470: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
e480: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
e490: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e4a0: 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 >224446</td><td
e4b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
e4c0: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2885</td><td ali
e4d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
e4e0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
e4f0: 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 "right">69.72772
e500: 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 6</td><td>NULL</
e510: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 td><td>VIA MARGA
e520: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 RITONE</td>..</t
e530: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
e540: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e550: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e560: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e570: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e580: 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 3</td><td align=
e590: 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 "right">3</td><t
e5a0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
e5b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
e5c0: 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 800</td><td alig
e5d0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 n="right">178880
e5e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e5f0: 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
e600: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e610: 68 74 22 3e 39 35 2e 35 39 32 32 30 34 3c 2f 74 ht">95.592204</t
e620: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e630: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f td>VIA FRANCESCO
e640: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f CRISPI</td>..</
e650: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
e660: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e670: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e680: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e690: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e6a0: 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >4</td><td align
e6b0: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
e6c0: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 td>Route</td><td
e6d0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
e6e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
e6f0: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
e700: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c ="right">183286<
e710: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e720: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 ight">300.912208
e730: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
e740: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =272 GEOMETRY</t
e750: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
e760: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
e770: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
e780: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e790: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e7a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e7b0: 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">4</td><td al
e7c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
e7d0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
e7e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e7f0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 >224014</td><td
e800: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
e810: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
e820: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 gn="right">18288
e830: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 5</td><td align=
e840: 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 "right">94.81242
e850: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
e860: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 td><td>VIA PIETR
e870: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a O ARETINO</td>..
e880: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
e890: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
e8a0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e8b0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e8c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e8d0: 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">4</td><td ali
e8e0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 gn="right">2</td
e8f0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
e900: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e910: 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 224446</td><td a
e920: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
e930: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 885</td><td alig
e940: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 n="right">178880
e950: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e960: 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 right">69.727726
e970: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e980: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 d><td>VIA MARGAR
e990: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ITONE</td>..</tr
e9a0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
e9b0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e9c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e9d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e9e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
e9f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
ea00: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
ea10: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
ea20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
ea30: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
ea40: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
ea50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
ea60: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 ight">183286</td
ea70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
ea80: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 t">136.372057</t
ea90: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
eaa0: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f td>VIA MARGARITO
eab0: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NE</td>..</tr>..
eac0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
ead0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
eae0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
eaf0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
eb00: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
eb10: 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 /td><td>Unreacha
eb20: 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c ble NodeTo</td><
eb30: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
eb40: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
eb50: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
eb60: 67 6e 3d 22 72 69 67 68 74 22 3e 32 39 30 34 35 gn="right">29045
eb70: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
eb80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
eb90: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
eba0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
ebb0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
ebc0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
ebd0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
ebe0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
ebf0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e >NULL</td><td>Un
ec00: 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f reachable NodeTo
ec10: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
ec20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
ec30: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
ec40: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
ec50: 3e 31 32 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e >124622</td><td>
ec60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
ec70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
ec80: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 td>..</tr>..</ta
ec90: 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 ble>..<br>..Let'
eca0: 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e s quickly examin
ecb0: 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 e the resultset
ecc0: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 returned by the
ecd0: 61 62 6f 76 65 20 3c 62 3e 6d 75 6c 74 69 2d 64 above <b>multi-d
ece0: 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 estinations</b>
ecf0: 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c query...<ul>..<l
ed00: 69 3e 74 68 65 20 6f 76 65 72 61 6c 6c 20 6c 61 i>the overall la
ed10: 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73 74 20 65 yout is almost e
ed20: 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 xactly the same
ed30: 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 61 64 as you've alread
ed40: 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63 61 y seen in the ca
ed50: 73 65 20 6f 66 20 3c 62 3e 73 69 6e 67 6c 65 2d se of <b>single-
ed60: 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 destination</b>
ed70: 71 75 65 72 69 65 73 2c 20 62 75 74 20 69 6e 20 queries, but in
ed80: 74 68 69 73 20 63 61 73 65 20 6d 6f 72 65 20 69 this case more i
ed90: 6e 64 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c ndividual travel
eda0: 20 73 6f 6c 75 74 69 6f 6e 73 20 61 72 65 20 67 solutions are g
edb0: 72 6f 75 70 65 64 20 61 6c 74 6f 67 65 74 68 65 rouped altogethe
edc0: 72 2e 20 28 45 61 63 68 20 61 6c 74 65 72 6e 61 r. (Each alterna
edd0: 74 69 76 65 20 72 6f 75 74 65 20 68 61 76 69 6e tive route havin
ede0: 67 20 61 20 64 69 66 66 65 72 65 6e 74 20 3c 62 g a different <b
edf0: 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 61 6e 64 >RouteId</b> and
ee00: 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 3c starting with <
ee10: 62 3e 27 52 6f 75 74 65 27 3c 2f 62 3e 20 69 6e b>'Route'</b> in
ee20: 20 74 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e the <b>Role</b>
ee30: 20 63 6f 6c 75 6d 6e 29 2e 3c 2f 6c 69 3e 0d 0a column).</li>..
ee40: 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 <li>the <b>first
ee50: 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 row</b> of the
ee60: 72 65 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d resultset is som
ee70: 65 77 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c eway exceptional
ee80: 2c 20 61 6e 64 20 69 73 20 74 68 65 20 6f 6e 6c , and is the onl
ee90: 79 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73 y row of the res
eea0: 75 6c 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e ultset presentin
eeb0: 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 g <b>NOT NULL</b
eec0: 3e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 > values in the
eed0: 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e <b>Algorithm</b>
eee0: 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e , <b>Request</b>
eef0: 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e , <b>Options</b>
ef00: 20 61 6e 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 and <b>Delimite
ef10: 72 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f r</b> columns.</
ef20: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e li>..<li>the <b>
ef30: 52 6f 75 74 65 49 64 3c 2f 62 3e 20 63 6f 6c 75 RouteId</b> colu
ef40: 6d 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 mn is intended t
ef50: 6f 20 67 72 6f 75 70 20 74 6f 67 65 74 68 65 72 o group together
ef60: 20 61 6c 6c 20 72 6f 77 73 20 62 65 6c 6f 6e 67 all rows belong
ef70: 69 6e 67 20 74 6f 20 73 61 6d 65 20 74 72 61 76 ing to same trav
ef80: 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e el solution (<i>
ef90: 61 6b 61 3c 2f 69 3e 20 3c 62 3e 52 6f 75 74 65 aka</i> <b>Route
efa0: 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 52 6f 75 74 </b>).<br>..Rout
efb0: 65 73 20 61 72 65 20 70 72 6f 67 72 65 73 73 69 es are progressi
efc0: 76 65 6c 79 20 6e 75 6d 62 65 72 65 64 20 61 6e vely numbered an
efd0: 64 20 61 72 65 20 6f 72 64 65 72 65 64 20 61 63 d are ordered ac
efe0: 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 cordingly to the
eff0: 69 72 20 3c 62 3e 74 6f 74 61 6c 20 63 6f 73 74 ir <b>total cost
f000: 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </b>.</li>..<li>
f010: 74 68 65 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c the <b>RouteRow<
f020: 2f 62 3e 20 63 6f 6c 75 6d 6e 20 68 61 73 20 74 /b> column has t
f030: 68 65 20 73 61 6d 65 20 69 6e 74 65 72 70 72 65 he same interpre
f040: 74 61 74 69 6f 6e 20 61 73 20 69 6e 20 73 69 6e tation as in sin
f050: 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 gle-destination
f060: 72 65 73 75 6c 74 73 65 74 73 2c 20 61 6e 64 20 resultsets, and
f070: 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 70 is intended to p
f080: 72 6f 67 72 65 73 73 69 76 65 6c 79 20 6f 72 64 rogressively ord
f090: 65 72 20 69 6e 20 74 68 65 20 63 6f 72 72 65 63 er in the correc
f0a0: 74 20 73 65 71 75 65 6e 63 65 20 61 6c 6c 20 4c t sequence all L
f0b0: 69 6e 6b 73 20 63 6f 6e 6e 65 63 74 69 6e 67 20 inks connecting
f0c0: 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 20 74 the Origin and t
f0d0: 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 6f he Destination o
f0e0: 66 20 65 61 63 68 20 52 6f 75 74 65 2e 3c 62 72 f each Route.<br
f0f0: 3e 0d 0a 3c 62 3e 52 6f 75 74 65 52 6f 77 3d 30 >..<b>RouteRow=0
f100: 3c 2f 62 3e 20 61 6c 77 61 79 73 20 69 64 65 6e </b> always iden
f110: 74 69 66 69 65 73 20 74 68 65 20 68 65 61 64 65 tifies the heade
f120: 72 20 72 6f 77 20 6f 66 20 65 61 63 68 20 74 72 r row of each tr
f130: 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f avel solution.</
f140: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e li>..</ul>..<br>
f150: 0d 0a 3c 75 3e 4e 6f 74 69 63 65 3c 2f 75 3e 3a ..<u>Notice</u>:
f160: 20 74 68 65 20 6c 61 73 74 20 74 77 6f 20 72 6f the last two ro
f170: 77 73 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 ws in the result
f180: 73 65 74 20 72 65 70 6f 72 74 73 20 3c 62 3e 55 set reports <b>U
f190: 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 nreachable NodeT
f1a0: 6f 09 3c 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 o.</b> in the <b
f1b0: 3e 52 6f 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e >Role</b> column
f1c0: 2c 20 74 68 75 73 20 69 6d 70 6c 79 69 6e 67 20 , thus implying
f1d0: 61 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 20 63 a <b>forbidden c
f1e0: 6f 6e 6e 65 63 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 onnection</b>.<b
f1f0: 72 3e 0d 0a 54 68 69 73 20 77 61 73 20 70 75 72 r>..This was pur
f200: 70 6f 73 65 6c 79 20 69 6e 74 65 6e 64 65 64 3a posely intended:
f210: 20 4e 6f 64 65 73 20 3c 62 3e 32 39 30 34 35 38 Nodes <b>290458
f220: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 31 32 34 36 </b> and <b>1246
f230: 32 32 3c 2f 62 3e 20 61 72 65 20 6c 6f 63 61 74 22</b> are locat
f240: 65 64 20 6f 6e 20 45 6c 62 61 20 61 6e 64 20 47 ed on Elba and G
f250: 69 67 6c 69 6f 20 69 73 6c 61 6e 64 73 2e 20 54 iglio islands. T
f260: 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e he underlaying N
f270: 65 74 77 6f 72 6b 20 69 73 20 62 61 73 65 64 20 etwork is based
f280: 6f 6e 20 3c 62 3e 49 74 65 72 2e 4e 65 74 3c 2f on <b>Iter.Net</
f290: 62 3e 20 74 68 61 74 20 64 6f 6e 27 74 20 73 75 b> that don't su
f2a0: 70 70 6f 72 74 73 20 66 65 72 72 79 20 63 6f 6e pports ferry con
f2b0: 6e 65 63 74 69 6f 6e 73 2c 20 73 6f 20 61 6e 79 nections, so any
f2c0: 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e travel solution
f2d0: 20 62 65 74 77 65 65 6e 20 74 68 65 20 69 73 6c between the isl
f2e0: 61 6e 64 73 20 61 6e 64 20 74 68 65 20 6d 61 69 ands and the mai
f2f0: 6e 6c 61 6e 64 20 77 69 6c 6c 20 61 6c 77 61 79 nland will alway
f300: 73 20 66 61 69 6c 2e 0d 0a 3c 62 72 3e 3c 62 72 s fail...<br><br
f310: 3e 3c 62 72 3e 0d 0a 41 6c 73 6f 20 3c 62 3e 6d ><br>..Also <b>m
f320: 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e ulti-destination
f330: 73 3c 2f 62 3e 20 71 75 65 72 69 65 73 20 63 61 s</b> queries ca
f340: 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 2c n be customized,
f350: 20 62 75 74 20 74 68 65 20 63 6f 6e 66 69 67 75 but the configu
f360: 72 61 74 69 6f 6e 20 72 75 6c 65 73 20 73 6c 69 ration rules sli
f370: 67 68 74 6c 79 20 64 69 66 66 65 72 20 66 72 6f ghtly differ fro
f380: 6d 20 77 68 61 74 20 79 6f 75 20 68 61 76 65 20 m what you have
f390: 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 already seen in
f3a0: 74 68 65 20 63 61 73 65 20 6f 66 20 73 69 6e 67 the case of sing
f3b0: 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 2e 0d le-destination..
f3c0: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 41 6c .<ul>..<li><b>Al
f3d0: 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20 6f 6e 6c gorithm</b>: onl
f3e0: 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61 3c 2f 62 y <b>Dijkstra</b
f3f0: 3e 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 62 > is supported b
f400: 79 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 y multi-destinat
f410: 69 6f 6e 2c 20 61 6e 64 20 77 69 6c 6c 20 62 65 ion, and will be
f420: 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 73 73 75 implicitly assu
f430: 6d 65 64 20 65 76 65 6e 20 77 68 65 6e 20 74 68 med even when th
f440: 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 3c 62 e alternative <b
f450: 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68 >A*</b> algorith
f460: 6d 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 73 m is currently s
f470: 65 6c 65 63 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c elected.</li>..<
f480: 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 li><b>Options</b
f490: 3e 3a 20 74 68 65 20 75 73 75 61 6c 20 3c 62 3e >: the usual <b>
f4a0: 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 3e 53 49 4d FULL</b>, <b>SIM
f4b0: 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f 20 4c PLE</b>, <b>NO L
f4c0: 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e INKS</b> and <b>
f4d0: 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 NO GEOMETRIES</b
f4e0: 3e 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 20 > are supported
f4f0: 61 6e 64 20 77 69 6c 6c 20 68 61 76 65 20 74 68 and will have th
f500: 65 20 73 61 6d 65 20 65 66 66 65 63 74 20 61 73 e same effect as
f510: 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 in single-desti
f520: 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 2e 3c nation queries.<
f530: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 76 65 /li>..</ul>..<ve
f540: 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 rbatim>..UPDATE
f550: 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f byfoot SET Optio
f560: 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b 0d 0a ns = 'SIMPLE';..
f570: 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 ..SELECT Algorit
f580: 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 hm, Request, Opt
f590: 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c ions, Delimiter,
f5a0: 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 RouteId, RouteR
f5b0: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f ow, Role, LinkRo
f5c0: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e wid, NodeFrom, N
f5d0: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f odeTo, Cost, Geo
f5e0: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f metry, Name..FRO
f5f0: 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 M byfoot..WHERE
f600: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 NodeFrom = 17873
f610: 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 1 AND NodeTo = '
f620: 31 38 33 32 38 36 2c 32 39 30 34 35 38 2c 31 38 183286,290458,18
f630: 31 39 39 39 2c 31 38 34 30 33 30 2c 31 32 34 36 1999,184030,1246
f640: 32 32 2c 31 38 33 38 38 32 2c 31 37 38 37 35 34 22,183882,178754
f650: 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d ';..</verbatim>.
f660: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 .The following t
f670: 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 able shows the r
f680: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 esultset returne
f690: 64 20 62 79 20 74 68 65 20 73 61 6d 65 20 6d 75 d by the same mu
f6a0: 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 lti-destination
f6b0: 71 75 65 72 79 20 75 73 65 64 20 69 6e 20 74 68 query used in th
f6c0: 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 e previous examp
f6d0: 6c 65 20 61 66 74 65 72 20 65 6e 61 62 6c 69 6e le after enablin
f6e0: 67 20 74 68 65 20 3c 62 3e 53 49 4d 50 4c 45 3c g the <b>SIMPLE<
f6f0: 2f 62 3e 20 6f 70 74 69 6f 6e 2e 0d 0a 3c 62 72 /b> option...<br
f700: 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f ><br>..<table bo
f710: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 rder="1" bgcolor
f720: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 ="#ffffcf" cells
f730: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 pacing="4" cellp
f740: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 adding="6">..<tr
f750: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
f760: 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 0d0a0">Algorithm
f770: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
f780: 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 ="#d0d0a0">Reque
f790: 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
f7a0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 or="#d0d0a0">Opt
f7b0: 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ions</th><th bgc
f7c0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44 olor="#d0d0a0">D
f7d0: 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 elimiter</th><th
f7e0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
f7f0: 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 0">RouteId</th><
f800: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
f810: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 0a0">RouteRow</t
f820: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
f830: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 d0d0a0">Role</th
f840: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
f850: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 0d0a0">LinkRowid
f860: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
f870: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 ="#d0d0a0">NodeF
f880: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f rom</th><th bgco
f890: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f lor="#d0d0a0">No
f8a0: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 deTo</th><th bgc
f8b0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 olor="#d0d0a0">C
f8c0: 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ost</th><th bgco
f8d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 lor="#d0d0a0">Ge
f8e0: 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 ometry</th><th b
f8f0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
f900: 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d >Name</th></tr>.
f910: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 .<tr>..<td>Dijks
f920: 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 tra</td><td>Shor
f930: 74 65 73 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 test Path</td><t
f940: 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c d>Full</td><td>,
f950: 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 [dec=44, he
f960: 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 x=2c]</td><t
f970: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
f980: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
f990: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
f9a0: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
f9b0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
f9c0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
f9d0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
f9e0: 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f "right">183882</
f9f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
fa00: 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33 39 3c ght">154.750839<
fa10: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
fa20: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
fa30: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
fa40: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
fa50: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
fa60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
fa70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
fa80: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">1</td><td ali
fa90: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
faa0: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c ><td>Route</td><
fab0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
fac0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
fad0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
fae0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 gn="right">18403
faf0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
fb00: 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36 34 37 "right">176.3647
fb10: 35 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 55</td><td>NULL<
fb20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
fb30: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
fb40: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fb50: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
fb60: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
fb70: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
fb80: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 ight">2</td><td
fb90: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
fba0: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 /td><td>Route</t
fbb0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
fbc0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
fbd0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
fbe0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
fbf0: 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8754</td><td ali
fc00: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 2e 36 gn="right">224.6
fc10: 37 37 30 39 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 77095</td><td>NU
fc20: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
fc30: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
fc40: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
fc50: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fc60: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
fc70: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
fc80: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
fc90: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
fca0: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
fcb0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
fcc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
fcd0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
fce0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
fcf0: 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 >181999</td><td
fd00: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 36 align="right">26
fd10: 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e 3c 74 64 0.132354</td><td
fd20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
fd30: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
fd40: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
fd50: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fd60: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fd70: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
fd80: 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 ign="right">4</t
fd90: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
fda0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
fdb0: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
fdc0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
fdd0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
fde0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
fdf0: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c ht">183286</td><
fe00: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
fe10: 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e >300.912208</td>
fe20: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fe30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
fe40: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
fe50: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fe60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fe70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fe80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
fe90: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 LL</td><td>Unrea
fea0: 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 chable NodeTo</t
feb0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
fec0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
fed0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
fee0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 39 align="right">29
fef0: 30 34 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 0458</td><td>NUL
ff00: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
ff10: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
ff20: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
ff30: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
ff40: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
ff50: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
ff60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
ff70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
ff80: 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 >Unreachable Nod
ff90: 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c eTo</td><td>NULL
ffa0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
ffb0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
ffc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
ffd0: 68 74 22 3e 31 32 34 36 32 32 3c 2f 74 64 3e 3c ht">124622</td><
ffe0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
fff0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
10000 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
10010 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 54 /table>..<br>..T
10020 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 he map below gra
10030 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 phically shows t
10040 68 65 20 70 72 65 76 69 6f 75 73 20 3c 62 3e 6d he previous <b>m
10050 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e ulti-destination
10060 73 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a s</b> queries...
10070 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 <br><br>..<img s
10080 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
10090 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
100a0 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 -sins/routing-fi
100b0 67 73 2f 72 6f 75 74 69 6e 67 33 2e 6a 70 67 22 gs/routing3.jpg"
100c0 20 61 6c 74 3d 22 66 69 67 33 22 3e 0d 0a 3c 75 alt="fig3">..<u
100d0 6c 3e 0d 0a 3c 6c 69 3e 52 65 64 20 73 74 61 72 l>..<li>Red star
100e0 3a 20 74 68 65 20 4f 72 69 67 69 6e 20 4e 6f 64 : the Origin Nod
100f0 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65 e.</li>..<li>Gre
10100 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 44 65 73 en dots: the Des
10110 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 2e 3c tination Nodes.<
10120 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 /li>..<li>Yellow
10130 20 6c 69 6e 65 73 3a 20 61 6c 6c 20 69 6e 64 69 lines: all indi
10140 76 69 64 75 61 6c 20 74 72 61 76 65 6c 20 73 6f vidual travel so
10150 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c lutions.</li>..<
10160 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 /ul>..<br>..<tab
10170 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 le bgcolor="#ffb
10180 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 060" cellspacing
10190 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e ="10" cellpaddin
101a0 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a g="6"><tr><td>..
101b0 3c 68 33 3e 44 61 6e 67 65 72 6f 75 73 20 70 69 <h3>Dangerous pi
101c0 74 66 61 6c 6c 73 20 72 65 6c 61 74 65 64 20 74 tfalls related t
101d0 6f 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 o multiple desti
101e0 6e 61 74 69 6f 6e 20 6c 69 73 74 73 3c 2f 68 33 nation lists</h3
101f0 3e 0d 0a 53 51 4c 20 73 79 6e 74 61 78 20 64 69 >..SQL syntax di
10200 72 65 63 74 6c 79 20 61 6c 6c 6f 77 73 20 74 6f rectly allows to
10210 20 73 70 65 63 69 66 79 20 6c 69 73 74 73 20 6f specify lists o
10220 66 20 20 6d 75 6c 74 69 70 6c 65 20 76 61 6c 75 f multiple valu
10230 65 73 2c 20 73 6f 20 6d 61 79 20 62 65 20 79 6f es, so may be yo
10240 75 20 61 72 65 20 6e 6f 77 20 77 6f 6e 64 65 72 u are now wonder
10250 69 6e 67 20 61 62 6f 75 74 20 77 72 69 74 69 6e ing about writin
10260 67 20 74 68 65 20 3c 62 3e 6d 75 6c 74 69 70 6c g the <b>multipl
10270 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f e destinations</
10280 62 3e 20 71 75 65 72 79 20 74 65 73 74 65 64 20 b> query tested
10290 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 in the previous
102a0 65 78 61 6d 70 6c 65 73 20 74 68 69 73 20 77 61 examples this wa
102b0 79 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a y:..<verbatim>..
102c0 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d SELECT Algorithm
102d0 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f , Request, Optio
102e0 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 ns, Delimiter, R
102f0 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 outeId, RouteRow
10300 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 , Role, LinkRowi
10310 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 d, NodeFrom, Nod
10320 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 eTo, Cost, Geome
10330 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 try, Name..FROM
10340 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f byfoot..WHERE No
10350 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 deFrom = 178731
10360 41 4e 44 20 4e 6f 64 65 54 6f 20 49 4e 20 28 31 AND NodeTo IN (1
10370 38 33 32 38 36 2c 20 32 39 30 34 35 38 2c 20 31 83286, 290458, 1
10380 38 31 39 39 39 2c 20 31 38 34 30 33 30 2c 20 31 81999, 184030, 1
10390 32 34 36 32 32 2c 20 31 38 33 38 38 32 2c 20 31 24622, 183882, 1
103a0 37 38 37 35 34 29 3b 0d 0a 3c 2f 76 65 72 62 61 78754);..</verba
103b0 74 69 6d 3e 0d 0a 54 68 65 72 65 20 69 73 20 61 tim>..There is a
103c0 20 76 65 72 79 20 67 6f 6f 64 20 72 65 61 73 6f very good reaso
103d0 6e 20 74 6f 20 64 69 73 63 6f 75 72 61 67 65 20 n to discourage
103e0 79 6f 75 20 66 72 6f 6d 20 64 6f 69 6e 67 20 73 you from doing s
103f0 75 63 68 20 61 20 74 68 69 6e 67 2c 20 6c 65 74 uch a thing, let
10400 27 73 20 73 65 65 20 77 68 79 3a 3c 62 72 3e 3c 's see why:<br><
10410 62 72 3e 0d 0a 46 6f 72 20 53 51 4c 69 74 65 3a br>..For SQLite:
10420 20 3c 62 3e 4e 6f 64 65 54 6f 20 49 4e 20 28 31 <b>NodeTo IN (1
10430 38 33 32 38 36 2c 20 32 39 30 34 35 38 2c 20 31 83286, 290458, 1
10440 38 31 39 39 39 2c 20 31 38 34 30 33 30 2c 20 31 81999, 184030, 1
10450 32 34 36 32 32 2c 20 31 38 33 38 38 32 2c 20 31 24622, 183882, 1
10460 37 38 37 35 34 29 3c 2f 62 3e 20 69 73 20 63 6f 78754)</b> is co
10470 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 37 nsidered to be 7
10480 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 parameters for
10490 77 68 69 63 68 20 56 69 72 74 75 61 6c 52 6f 75 which VirtualRou
104a0 74 69 6e 67 20 77 69 6c 6c 20 62 65 20 63 61 6c ting will be cal
104b0 6c 65 64 20 66 6f 72 20 65 61 63 68 2e 3c 62 72 led for each.<br
104c0 3e 0d 0a 57 68 65 72 65 61 73 3a 20 3c 62 3e 4e >..Whereas: <b>N
104d0 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c odeTo = '183286,
104e0 32 39 30 34 35 38 2c 31 38 31 39 39 39 2c 31 38 290458,181999,18
104f0 34 30 33 30 2c 31 32 34 36 32 32 2c 31 38 33 38 4030,124622,1838
10500 38 32 2c 31 37 38 37 35 34 27 3c 2f 62 3e 20 69 82,178754'</b> i
10510 73 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 s considered to
10520 62 65 20 31 20 70 61 72 61 6d 65 74 65 72 20 66 be 1 parameter f
10530 6f 72 20 77 68 69 63 68 20 56 69 72 74 75 61 6c or which Virtual
10540 52 6f 75 74 69 6e 67 20 77 69 6c 6c 20 62 65 20 Routing will be
10550 63 61 6c 6c 65 64 20 3c 62 3e 6f 6e 63 65 3c 2f called <b>once</
10560 62 3e 20 61 6e 64 20 73 65 61 72 63 68 20 66 6f b> and search fo
10570 72 20 74 68 65 20 37 20 69 74 65 6d 73 2e 0d 0a r the 7 items...
10580 3c 68 33 3e 42 65 77 61 72 65 3c 2f 68 33 3e 0d <h3>Beware</h3>.
10590 0a 3c 62 3e 4e 65 76 65 72 20 65 76 65 72 3c 2f .<b>Never ever</
105a0 62 3e 20 61 74 74 65 6d 70 74 20 74 6f 20 64 65 b> attempt to de
105b0 66 69 6e 65 20 61 20 6c 69 73 74 20 6f 66 20 6d fine a list of m
105c0 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74 ultiple destinat
105d0 69 6f 6e 73 20 75 73 69 6e 67 20 74 68 65 20 73 ions using the s
105e0 74 61 6e 64 61 72 64 20 53 51 4c 20 73 79 6e 74 tandard SQL synt
105f0 61 78 20 3c 62 3e 3c 69 3e 57 48 45 52 45 20 4e ax <b><i>WHERE N
10600 6f 64 65 54 6f 20 49 4e 20 28 2e 2e 2e 2e 2e 2e odeTo IN (......
10610 29 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65 63 61 75 )</i></b>, becau
10620 73 65 20 74 68 69 73 20 77 69 6c 6c 20 63 65 72 se this will cer
10630 74 61 69 6e 6c 79 20 63 61 75 73 65 20 6d 61 6e tainly cause man
10640 79 20 75 6e 65 78 70 65 63 74 65 64 20 20 27 3c y unexpected '<
10650 69 3e 72 65 73 75 6c 74 73 3c 2f 69 3e 27 2e 3c i>results</i>'.<
10660 62 72 3e 0d 0a 42 61 64 6c 79 20 66 6f 72 6d 61 br>..Badly forma
10670 74 74 65 64 20 72 65 73 75 6c 74 73 65 74 73 20 tted resultsets
10680 77 69 6c 6c 20 62 65 20 74 68 65 6e 20 72 65 74 will be then ret
10690 75 72 6e 65 64 2c 20 6d 61 6e 79 20 6f 66 20 77 urned, many of w
106a0 68 69 63 68 20 6d 61 79 20 62 65 20 77 72 6f 6e hich may be wron
106b0 67 2e 20 3c 62 3e 59 6f 75 20 61 72 65 20 77 61 g. <b>You are wa
106c0 72 6e 65 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 rned</b>.<br><br
106d0 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 >..</td></tr></t
106e0 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 able>..<br>..<ta
106f0 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 ble bgcolor="#c0
10700 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e ffc0" cellspacin
10710 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 g="10" cellpaddi
10720 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d ng="6"><tr><td>.
10730 0a 3c 68 33 3e 48 6f 77 20 74 6f 20 63 6f 72 72 .<h3>How to corr
10740 65 63 74 6c 79 20 66 6f 72 6d 61 74 20 6d 75 6c ectly format mul
10750 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f tiple destinatio
10760 6e 73 20 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a 56 ns lists</h3>..V
10770 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 61 6c irtualRouting al
10780 77 61 79 73 20 65 78 70 65 63 74 73 20 74 6f 20 ways expects to
10790 72 65 63 65 69 76 65 20 61 20 3c 62 3e 6d 75 6c receive a <b>mul
107a0 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c ti-destinations<
107b0 2f 62 3e 20 6c 69 73 74 20 61 73 20 61 20 3c 62 /b> list as a <b
107c0 3e 54 45 58 54 3c 2f 62 3e 20 73 74 72 69 6e 67 >TEXT</b> string
107d0 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 69 67 68 containing tigh
107e0 74 6c 79 20 70 61 63 6b 65 64 20 76 61 6c 75 65 tly packed value
107f0 73 20 73 65 70 61 72 61 74 65 64 20 62 79 20 61 s separated by a
10800 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 20 3c 62 conventional <b
10810 3e 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 28 >delimiter</b> (
10820 75 73 75 61 6c 6c 79 20 72 65 70 72 65 73 65 6e usually represen
10830 74 65 64 20 62 79 20 61 20 3c 62 3e 63 6f 6d 6d ted by a <b>comm
10840 61 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 45 78 61 a</b>).<br>..Exa
10850 6d 70 6c 65 73 20 6f 66 20 3c 62 3e 77 65 6c 6c mples of <b>well
10860 20 66 6f 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d formatted</b> m
10870 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e ulti-destination
10880 73 20 6c 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61 s lists:..<verba
10890 74 69 6d 3e 0d 0a 27 31 2c 32 2c 33 2c 34 2c 35 tim>..'1,2,3,4,5
108a0 2c 31 30 2c 31 30 30 2c 31 30 30 30 2c 31 30 30 ,10,100,1000,100
108b0 30 30 30 27 20 20 20 2d 2d 20 69 6e 74 65 67 65 000' -- intege
108c0 72 20 4e 6f 64 65 20 49 44 73 0d 0a 0d 0a 27 41 r Node IDs....'A
108d0 31 30 30 42 2c 41 31 30 30 46 2c 42 32 35 30 5a 100B,A100F,B250Z
108e0 2c 43 30 31 30 4d 2c 5a 39 39 39 41 27 20 20 2d ,C010M,Z999A' -
108f0 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 4e - alphanumeric N
10900 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76 65 72 ode Codes..</ver
10910 62 61 74 69 6d 3e 0d 0a 45 78 61 6d 70 6c 65 73 batim>..Examples
10920 20 6f 66 20 3c 62 3e 62 61 64 6c 79 20 66 6f 72 of <b>badly for
10930 6d 61 74 74 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 matted</b> multi
10940 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 -destinations li
10950 73 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e sts:..<verbatim>
10960 0d 0a 27 20 20 31 2c 20 32 2c 20 33 2c 20 34 20 ..' 1, 2, 3, 4
10970 2c 20 35 20 2c 20 31 30 2c 20 31 30 30 2c 20 31 , 5 , 10, 100, 1
10980 30 30 30 2c 20 31 30 30 30 30 30 20 20 27 20 20 000, 100000 '
10990 20 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 -- integer Node
109a0 20 49 44 73 0d 0a 0d 0a 27 20 20 41 31 30 30 42 IDs....' A100B
109b0 2c 20 41 31 30 30 46 20 2c 20 42 32 35 30 5a 20 , A100F , B250Z
109c0 2c 20 43 30 31 30 4d 2c 20 5a 39 39 39 41 20 20 , C010M, Z999A
109d0 27 20 20 20 20 20 20 2d 2d 20 61 6c 70 68 61 6e ' -- alphan
109e0 75 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f 64 65 umeric Node Code
109f0 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a s..</verbatim>..
10a00 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6c 6c <u>Note</u>: all
10a10 20 77 68 69 74 65 73 70 61 63 65 73 20 69 6d 6d whitespaces imm
10a20 65 64 69 61 74 65 6c 79 20 70 72 65 63 65 64 69 ediately precedi
10a30 6e 67 20 6f 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 ng or following
10a40 74 68 65 20 3c 62 3e 64 65 6c 69 6d 69 74 65 72 the <b>delimiter
10a50 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e </b> will be con
10a60 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 69 6e sidered to be in
10a70 74 65 67 72 61 6c 20 70 61 72 74 20 6f 66 20 74 tegral part of t
10a80 68 65 20 76 61 6c 75 65 20 69 74 73 65 6c 66 2e he value itself.
10a90 3c 62 72 3e 0d 0a 54 68 69 73 20 77 69 6c 6c 20 <br>..This will
10aa0 68 61 76 65 20 6e 6f 20 61 64 76 65 72 73 65 20 have no adverse
10ab0 63 6f 6e 73 65 71 75 65 6e 63 65 73 20 69 6e 20 consequences in
10ac0 74 68 65 20 63 61 73 65 20 6f 66 20 69 6e 74 65 the case of inte
10ad0 67 65 72 20 76 61 6c 75 65 73 2c 20 62 75 74 20 ger values, but
10ae0 63 61 6e 20 65 61 73 69 6c 79 20 68 61 76 65 20 can easily have
10af0 63 61 74 61 73 74 72 6f 70 68 69 63 20 65 66 66 catastrophic eff
10b00 65 63 74 73 20 6f 6e 20 61 6c 70 68 61 6e 75 6d ects on alphanum
10b10 65 72 69 63 20 76 61 6c 75 65 73 2e 0d 0a 3c 68 eric values...<h
10b20 33 3e 44 65 66 69 6e 69 6e 67 20 61 20 63 75 73 3>Defining a cus
10b30 74 6f 6d 20 64 65 6c 69 6d 69 74 65 72 3c 2f 68 tom delimiter</h
10b40 33 3e 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 3>..Sometimes it
10b50 20 63 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c could be useful
10b60 20 73 65 74 74 69 6e 67 20 75 70 20 61 20 64 65 setting up a de
10b70 6c 69 6d 69 74 65 72 20 6f 74 68 65 72 20 74 68 limiter other th
10b80 61 6e 20 61 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 an a <b>comma</b
10b90 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a >...<verbatim>..
10ba0 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 UPDATE byfoot SE
10bb0 54 20 44 65 6c 69 6d 69 74 65 72 20 3d 20 27 2a T Delimiter = '*
10bc0 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 44 65 6c ';....SELECT Del
10bd0 69 6d 69 74 65 72 20 46 52 4f 4d 20 62 79 66 6f imiter FROM byfo
10be0 6f 74 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ot;..-----------
10bf0 2d 2d 2d 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65 63 3d -------..* [dec=
10c00 34 32 2c 20 68 65 78 3d 32 61 5d 0d 0a 3c 2f 76 42, hex=2a]..</v
10c10 65 72 62 61 74 69 6d 3e 20 0d 0a 59 6f 75 20 73 erbatim> ..You s
10c20 69 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 65 78 imply have to ex
10c30 65 63 75 74 65 20 61 6e 20 3c 62 3e 55 50 44 41 ecute an <b>UPDA
10c40 54 45 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 TE</b> statement
10c50 20 62 79 20 73 70 65 63 69 66 79 69 6e 67 20 74 by specifying t
10c60 68 65 20 6e 65 77 20 64 65 6c 69 6d 69 74 65 72 he new delimiter
10c70 20 76 61 6c 75 65 2e 3c 62 72 3e 3c 62 72 3e 0d value.<br><br>.
10c80 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 .</td></tr></tab
10c90 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c le>..<br><br>..<
10ca0 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 hr><br>..<h1><a
10cb0 6e 61 6d 65 3d 22 69 73 6f 63 68 72 6f 6e 65 22 name="isochrone"
10cc0 3e 36 20 2d 20 53 6f 6c 76 69 6e 67 20 49 73 6f >6 - Solving Iso
10cd0 63 68 72 6f 6e 65 20 70 72 6f 62 6c 65 6d 73 3c chrone problems<
10ce0 2f 61 3e 3c 2f 68 31 3e 0d 0a 3c 61 20 68 72 65 /a></h1>..<a hre
10cf0 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 f="https://en.wi
10d00 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 kipedia.org/wiki
10d10 2f 49 73 6f 63 68 72 6f 6e 65 5f 6d 61 70 22 3e /Isochrone_map">
10d20 49 73 6f 63 68 72 6f 6e 65 73 3c 2f 61 3e 20 61 Isochrones</a> a
10d30 72 65 20 61 72 65 61 73 20 28 6f 72 20 63 75 72 re areas (or cur
10d40 76 65 73 29 20 63 6f 6e 6e 65 63 74 69 6e 67 20 ves) connecting
10d50 70 6f 69 6e 74 73 20 61 74 20 77 68 69 63 68 20 points at which
10d60 73 6f 6d 65 74 68 69 6e 67 20 6f 63 63 75 72 73 something occurs
10d70 20 6f 72 20 61 72 72 69 76 65 73 20 61 74 20 74 or arrives at t
10d80 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 62 72 he same time.<br
10d90 3e 0d 0a 49 73 6f 63 68 72 6f 6e 65 73 20 61 72 >..Isochrones ar
10da0 65 20 75 73 75 61 6c 6c 79 20 72 65 6c 61 74 65 e usually relate
10db0 64 20 74 6f 20 4e 65 74 77 6f 72 6b 20 41 6e 61 d to Network Ana
10dc0 6c 79 73 69 73 20 61 6e 64 20 52 6f 75 74 69 6e lysis and Routin
10dd0 67 20 62 65 63 61 75 73 65 20 74 68 65 79 20 61 g because they a
10de0 6c 6c 6f 77 20 74 6f 20 65 61 73 69 6c 79 20 69 llow to easily i
10df0 64 65 6e 74 69 66 79 20 77 68 69 63 68 20 73 70 dentify which sp
10e00 65 63 69 66 69 63 20 70 6f 72 74 69 6f 6e 20 6f ecific portion o
10e10 66 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 63 61 f the Network ca
10e20 6e 20 62 65 20 72 65 61 63 68 65 64 20 73 74 61 n be reached sta
10e30 72 74 69 6e 67 20 62 79 20 73 6f 6d 65 20 3c 62 rting by some <b
10e40 3e 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e >origin Node</b>
10e50 20 73 70 65 6e 64 69 6e 67 20 6e 6f 20 6d 6f 72 spending no mor
10e60 65 20 74 68 61 6e 20 61 20 67 69 76 65 6e 20 3c e than a given <
10e70 62 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 62 72 3e 3c b>Cost</b>.<br><
10e80 62 72 3e 0d 0a 41 73 20 79 6f 75 20 68 61 76 65 br>..As you have
10e90 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 77 69 already seen wi
10ea0 74 68 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 th<b>multi-desti
10eb0 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 nation</b> queri
10ec0 65 73 2c 20 74 68 65 20 44 69 6a 6b 73 74 72 61 es, the Dijkstra
10ed0 27 73 20 41 6c 67 6f 72 69 74 68 6d 20 72 6f 62 's Algorithm rob
10ee0 75 73 74 6c 79 20 65 6e 73 75 72 65 73 20 74 68 ustly ensures th
10ef0 61 74 20 77 68 65 6e 20 61 20 64 65 73 74 69 6e at when a destin
10f00 61 74 69 6f 6e 20 69 73 20 72 65 61 63 68 65 64 ation is reached
10f10 20 61 6c 6c 20 74 68 65 20 64 65 73 74 69 6e 61 all the destina
10f20 74 69 6f 6e 73 20 70 72 65 73 65 6e 74 69 6e 67 tions presenting
10f30 20 61 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f 73 a <b>lesser cos
10f40 74 3c 2f 62 3e 20 68 61 76 65 20 61 6c 73 6f 20 t</b> have also
10f50 62 65 65 6e 20 63 6f 6c 6c 65 63 74 65 64 2e 3c been collected.<
10f60 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f 77 73 br>..This allows
10f70 20 74 6f 20 65 66 66 69 63 69 65 6e 74 6c 79 20 to efficiently
10f80 73 75 70 70 6f 72 74 20 3c 62 3e 49 73 6f 63 68 support <b>Isoch
10f90 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 69 65 73 rone</b> queries
10fa0 2e 0d 0a 59 6f 75 20 73 69 6d 70 6c 79 20 68 61 ...You simply ha
10fb0 76 65 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 ve to specify a
10fc0 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69 67 69 6e <b>single origin
10fd0 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 20 61 20 Node</b> and a
10fe0 3c 62 3e 43 6f 73 74 20 74 68 72 65 73 68 6f 6c <b>Cost threshol
10ff0 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a d</b>.<br><br>..
11000 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65 78 65 <u>Note</u>: exe
11010 63 75 74 69 6e 67 20 61 6e 20 49 73 6f 63 68 72 cuting an Isochr
11020 6f 6e 65 20 71 75 65 72 79 20 72 65 71 75 69 72 one query requir
11030 65 73 20 61 20 3c 62 3e 70 72 6f 63 65 73 73 69 es a <b>processi
11040 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 74 68 61 74 ng time</b> that
11050 20 69 73 6e 27 74 20 74 68 65 20 3c 75 3e 73 75 isn't the <u>su
11060 6d 20 6f 66 20 61 6c 6c 20 69 6e 64 69 76 69 64 m of all individ
11070 75 61 6c 20 74 69 6d 69 6e 67 73 20 66 6f 72 20 ual timings for
11080 65 61 63 68 20 64 65 73 74 69 6e 61 74 69 6f 6e each destination
11090 3c 2f 75 3e 2c 20 62 75 74 20 73 69 6d 70 6c 79 </u>, but simply
110a0 20 69 73 20 74 68 65 20 3c 75 3e 74 69 6d 65 20 is the <u>time
110b0 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 61 63 required to reac
110c0 68 20 74 68 65 20 6d 6f 73 74 20 63 6f 73 74 6c h the most costl
110d0 79 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 y destination</u
110e0 3e 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 >.<br>..<verbati
110f0 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 m>..SELECT Algor
11100 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 52 ithm, Request, R
11110 6f 6c 65 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e ole, NodeFrom, N
11120 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f odeTo, Cost, Geo
11130 6d 65 74 72 79 0d 0a 46 52 4f 4d 20 62 79 66 6f metry..FROM byfo
11140 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 ot..WHERE NodeFr
11150 6f 6d 20 3d 20 31 38 31 39 39 39 20 41 4e 44 20 om = 181999 AND
11160 43 6f 73 74 20 3c 3d 20 31 30 30 30 2e 30 3b 0d Cost <= 1000.0;.
11170 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 59 6f .</verbatim>..Yo
11180 75 20 63 61 6e 20 63 61 6c 6c 20 61 6e 20 3c 62 u can call an <b
11190 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 >Isochrone</b> q
111a0 75 65 72 79 20 61 73 20 73 75 70 70 6f 72 74 65 uery as supporte
111b0 64 20 62 79 20 3c 62 3e 56 69 72 74 75 61 6c 52 d by <b>VirtualR
111c0 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 79 20 73 70 outing</b> by sp
111d0 65 63 69 66 79 69 6e 67 3a 0d 0a 3c 75 6c 3e 0d ecifying:..<ul>.
111e0 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64 65 46 72 6f 6d .<li><b>NodeFrom
111f0 3c 2f 62 3e 3a 20 74 68 65 20 3c 62 3e 3c 69 3e </b>: the <b><i>
11200 49 44 3c 2f 69 3e 3c 2f 62 3e 20 6f 72 20 3c 62 ID</i></b> or <b
11210 3e 3c 69 3e 43 6f 64 65 3c 2f 69 3e 3c 2f 62 3e ><i>Code</i></b>
11220 20 75 6e 69 71 75 65 6c 79 20 69 64 65 6e 74 69 uniquely identi
11230 66 79 69 6e 67 20 74 68 65 20 3c 62 3e 6f 72 69 fying the <b>ori
11240 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 2f 6c gin Node</b>.</l
11250 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 43 6f 73 74 3c i>..<li><b>Cost<
11260 2f 62 3e 3a 20 74 68 65 20 6d 61 78 69 6d 75 6d /b>: the maximum
11270 20 3c 62 3e 43 6f 73 74 20 74 68 72 65 73 68 6f <b>Cost thresho
11280 6c 64 3c 2f 62 3e 20 6e 6f 74 20 74 6f 20 62 65 ld</b> not to be
11290 20 65 78 63 65 65 64 65 64 2e 3c 62 72 3e 0d 0a exceeded.<br>..
112a0 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6e 79 <u>Note</u>: any
112b0 20 76 61 6c 69 64 20 49 73 6f 63 68 72 6f 6e 65 valid Isochrone
112c0 20 71 75 65 72 79 20 3c 62 3e 6d 75 73 74 3c 2f query <b>must</
112d0 62 3e 20 6e 65 63 65 73 73 61 72 69 6c 79 20 73 b> necessarily s
112e0 70 65 63 69 66 79 20 61 20 3c 62 3e 3c 3d 3c 2f pecify a <b><=</
112f0 62 3e 20 28 3c 75 3e 3c 69 3e 6c 65 73 73 65 72 b> (<u><i>lesser
11300 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 than or equal t
11310 6f 3c 2f 69 3e 3c 2f 75 3e 29 20 63 6f 6d 70 61 o</i></u>) compa
11320 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f 72 2e 3c rison operator.<
11330 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 /li>..</ul>..<br
11340 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 >..The following
11350 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 table shows the
11360 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 resultset retur
11370 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 ned by the above
11380 20 49 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 Isochrone query
11390 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 ...<br><br>..<ta
113a0 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 ble border="1" b
113b0 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 gcolor="#ffffcf"
113c0 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 cellspacing="4"
113d0 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
113e0 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c >..<tr><th bgcol
113f0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 or="#d0d0a0">Alg
11400 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 orithm</th><th b
11410 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
11420 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 >Request</th><th
11430 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
11440 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
11450 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
11460 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c ">NodeFrom</th><
11470 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
11480 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 0a0">NodeTo</th>
11490 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
114a0 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c d0a0">Cost</th><
114b0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
114c0 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 0a0">Geometry</t
114d0 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c h></tr>..<tr>..<
114e0 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 tr>..<td>Dijkstr
114f0 61 3c 2f 74 64 3e 3c 74 64 3e 49 73 6f 63 68 72 a</td><td>Isochr
11500 6f 6e 65 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 one</td><td>Solu
11510 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 tion</td><td ali
11520 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 gn="right">18199
11530 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 9</td><td align=
11540 22 72 69 67 68 74 22 3e 31 37 38 37 31 37 3c 2f "right">178717</
11550 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
11560 67 68 74 22 3e 35 37 32 2e 34 35 35 31 34 33 3c ght">572.455143<
11570 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
11580 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 60 GEOMETRY</td>
11590 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
115a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
115b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c NULL</td><td>Sol
115c0 75 74 69 6f 6e 3c 74 64 20 61 6c 69 67 6e 3d 22 ution<td align="
115d0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
115e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
115f0 68 74 22 3e 31 37 38 37 31 38 3c 2f 74 64 3e 3c ht">178718</td><
11600 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
11610 3e 35 38 37 2e 33 30 33 37 37 39 3c 2f 74 64 3e >587.303779</td>
11620 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47 <td>BLOB sz=60 G
11630 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f EOMETRY</td>..</
11640 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
11650 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 20 63 6f lign="center" co
11660 6c 73 70 61 6e 3d 22 37 22 3e 2e 2e 2e 2e 2e 2e lspan="7">......
11670 2e 2e 2e 2e 2e 2e 2e 3c 2f 74 64 3e 0d 0a 3c 2f .......</td>..</
11680 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
11690 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
116a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
116b0 72 69 67 68 74 22 3e 53 6f 6c 75 74 69 6f 6e 3c right">Solution<
116c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
116d0 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 ight">181999</td
116e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
116f0 74 22 3e 31 38 34 30 33 35 3c 2f 74 64 3e 3c 74 t">184035</td><t
11700 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
11710 35 37 39 2e 37 38 36 37 32 34 3c 2f 74 64 3e 3c 579.786724</td><
11720 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47 45 td>BLOB sz=60 GE
11730 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 OMETRY</td>..</t
11740 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
11750 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
11760 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e /td><td>Solution
11770 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
11780 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
11790 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
117a0 68 74 22 3e 31 38 34 30 33 36 3c 2f 74 64 3e 3c ht">184036</td><
117b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
117c0 3e 36 34 32 2e 36 39 31 35 39 37 3c 2f 74 64 3e >642.691597</td>
117d0 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47 <td>BLOB sz=60 G
117e0 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f EOMETRY</td>..</
117f0 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
11800 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b br>..Let's quick
11810 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 ly examine the r
11820 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 esultset returne
11830 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c d by the above <
11840 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 b>isochrone</b>
11850 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c query...<ul>..<l
11860 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72 i>the <b>first r
11870 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 ow</b> of the re
11880 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d 65 77 sultset is somew
11890 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 ay exceptional,
118a0 61 6e 64 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 and is the only
118b0 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c row of the resul
118c0 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67 20 tset presenting
118d0 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 <b>NOT NULL</b>
118e0 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 62 values in the <b
118f0 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 >Algorithm</b>,
11900 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 <b>Request</b>,
11910 3c 2f 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 </b>Options</b>
11920 28 61 6e 64 20 3c 2f 62 3e 44 65 6c 69 6d 69 74 (and </b>Delimit
11930 65 72 3c 2f 62 3e 29 20 63 6f 6c 75 6d 6e 73 2e er</b>) columns.
11940 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 72 </li>..<li>all r
11950 6f 77 73 20 28 69 6e 63 6c 75 64 69 6e 67 20 74 ows (including t
11960 68 65 20 66 69 72 73 74 20 6f 6e 65 29 20 68 61 he first one) ha
11970 76 65 20 3c 62 3e 52 6f 6c 65 20 3d 20 53 6f 6c ve <b>Role = Sol
11980 75 74 69 6f 6e 3c 2f 62 3e 2c 20 61 6e 64 20 72 ution</b>, and r
11990 65 70 72 65 73 65 6e 74 73 20 61 20 73 69 6e 67 epresents a sing
119a0 6c 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 62 65 le connection be
119b0 74 77 65 65 6e 20 3c 62 3e 4e 6f 64 65 46 72 6f tween <b>NodeFro
119c0 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 m</b> and <b>Nod
119d0 65 54 6f 3c 2f 62 3e 2c 20 77 69 74 68 20 74 68 eTo</b>, with th
119e0 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 e corresponding
119f0 3c 62 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c 69 <b>Cost</b>.</li
11a00 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 47 65 >..<li>the <b>Ge
11a10 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f 6c 75 6d ometry</b> colum
11a20 6e 20 61 6c 77 61 79 73 20 63 6f 72 72 65 73 70 n always corresp
11a30 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c 62 3e 32 onds to the <b>2
11a40 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 77 68 65 72 D Point</b> wher
11a50 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 e <b>NodeTo</b>
11a60 69 73 20 6c 6f 63 61 74 65 64 2e 3c 2f 6c 69 3e is located.</li>
11a70 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c ..</ul>..<br>..<
11a80 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 3c 62 3e 69 u>Note</u>: <b>i
11a90 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 sochrone</b> que
11aa0 72 69 65 73 20 61 72 65 20 6e 6f 74 20 61 66 66 ries are not aff
11ab0 65 63 74 65 64 20 62 79 20 63 6f 6e 66 69 67 75 ected by configu
11ac0 72 61 62 6c 65 20 6f 70 74 69 6f 6e 73 2e 0d 0a rable options...
11ad0 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e <b>Algorithm</b>
11ae0 20 77 69 6c 6c 20 62 65 20 61 6c 77 61 79 73 20 will be always
11af0 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 3c 62 assumed to be <b
11b00 3e 44 69 6a 73 6b 74 72 61 3c 2f 62 3e 2c 20 61 >Dijsktra</b>, a
11b10 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 3c nd the current <
11b20 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 73 65 b>Options</b> se
11b30 74 74 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 73 ttings will be s
11b40 69 6d 70 6c 79 20 69 67 6e 6f 72 65 64 2e 0d 0a imply ignored...
11b50 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 <verbatim>..SELE
11b60 43 54 20 53 54 5f 43 6f 6e 63 61 76 65 48 75 6c CT ST_ConcaveHul
11b70 6c 28 53 54 5f 43 6f 6c 6c 65 63 74 28 47 65 6f l(ST_Collect(Geo
11b80 6d 65 74 72 79 29 29 0d 0a 46 52 4f 4d 20 62 79 metry))..FROM by
11b90 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 foot..WHERE Node
11ba0 46 72 6f 6d 20 3d 20 31 38 31 39 39 39 20 41 4e From = 181999 AN
11bb0 44 20 43 6f 73 74 20 3c 3d 20 31 30 30 30 2e 30 D Cost <= 1000.0
11bc0 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a ;..</verbatim>..
11bd0 41 6e 79 20 69 73 6f 63 68 72 6f 6e 65 20 71 75 Any isochrone qu
11be0 65 72 79 20 77 69 6c 6c 20 6a 75 73 74 20 72 65 ery will just re
11bf0 74 75 72 6e 20 61 20 50 6f 69 6e 74 2d 73 65 74 turn a Point-set
11c00 3b 20 69 66 20 79 6f 75 20 61 6c 73 6f 20 77 69 ; if you also wi
11c10 73 68 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 sh to obtain the
11c20 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 61 corresponding a
11c30 72 65 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 real representat
11c40 69 6f 6e 20 79 6f 75 20 6a 75 73 74 20 68 61 76 ion you just hav
11c50 65 20 74 6f 20 63 61 6c 6c 20 3c 62 3e 53 54 5f e to call <b>ST_
11c60 43 6f 6c 6c 65 63 74 28 29 3c 2f 62 3e 20 69 6e Collect()</b> in
11c70 20 6f 72 64 65 72 20 74 6f 20 67 65 74 20 61 20 order to get a
11c80 6d 6f 6e 6f 6c 69 74 68 69 63 20 4d 75 6c 74 69 monolithic Multi
11c90 50 6f 69 6e 74 2c 20 74 68 65 6e 20 63 61 6c 6c Point, then call
11ca0 69 6e 67 20 3c 62 3e 53 54 5f 43 6f 6e 63 61 76 ing <b>ST_Concav
11cb0 65 48 75 6c 6c 28 29 3c 2f 62 3e 20 69 6e 20 6f eHull()</b> in o
11cc0 72 64 65 72 20 74 6f 20 67 65 74 20 61 20 50 6f rder to get a Po
11cd0 6c 79 67 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e lygon...<br><br>
11ce0 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65 <br>..The map be
11cf0 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20 low graphically
11d00 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 shows the result
11d10 73 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 s of the previou
11d20 73 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f s <b>isochrone</
11d30 62 3e 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c b> query...<br><
11d40 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 br>..<img src="h
11d50 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d ttps://www.gaia-
11d60 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 gis.it/gaia-sins
11d70 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 69 73 /routing-figs/is
11d80 6f 63 68 72 6f 6e 65 2e 6a 70 67 22 20 61 6c 74 ochrone.jpg" alt
11d90 3d 22 69 73 6f 63 68 72 6f 6e 65 22 3e 0d 0a 3c ="isochrone">..<
11da0 75 6c 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 ul>..<li>Yellow
11db0 73 74 61 72 3a 20 74 68 65 20 4f 72 69 67 69 6e star: the Origin
11dc0 20 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 Node.</li>..<li
11dd0 3e 42 6c 75 65 20 64 6f 74 73 3a 20 61 6c 6c 20 >Blue dots: all
11de0 44 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 Destination Node
11df0 73 20 77 69 74 68 69 6e 20 74 68 65 20 67 69 76 s within the giv
11e00 65 6e 20 43 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c en Cost.</li>..<
11e10 6c 69 3e 57 68 69 74 65 20 6c 69 6e 65 3a 20 74 li>White line: t
11e20 68 65 20 62 6f 75 6e 64 61 72 79 20 6f 66 20 74 he boundary of t
11e30 68 65 20 49 73 6f 63 68 72 6f 6e 65 2e 20 0d 0a he Isochrone. ..
11e40 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 <br><br>..<table
11e50 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 bgcolor="#c0ffc
11e60 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 0" cellspacing="
11e70 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 10" cellpadding=
11e80 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 "6"><tr><td>..<b
11e90 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 3c 62 3e 4e 6f r><br>..<u><b>No
11ea0 74 65 3c 2f 62 3e 3c 2f 75 3e 3a 20 69 6e 20 74 te</b></u>: in t
11eb0 68 69 73 20 65 78 61 6d 70 6c 65 20 79 6f 75 27 his example you'
11ec0 76 65 20 75 73 65 64 20 74 68 65 20 3c 62 3e 62 ve used the <b>b
11ed0 79 66 6f 6f 74 3c 2f 62 3e 20 4e 65 74 77 6f 72 yfoot</b> Networ
11ee0 6b 2c 20 74 68 61 74 20 69 73 20 62 61 73 65 64 k, that is based
11ef0 20 6f 6e 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e on <b>Costs</b>
11f00 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 expressed in <b
11f10 3e 6d 65 74 65 72 73 3c 2f 62 3e 20 28 67 65 6f >meters</b> (geo
11f20 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 20 6f 66 metric length of
11f30 20 65 61 63 68 20 4c 69 6e 6b 29 2e 3c 62 72 3e each Link).<br>
11f40 0d 0a 54 68 69 73 20 4e 65 74 77 6f 72 6b 20 69 ..This Network i
11f50 73 20 6d 61 69 6e 6c 79 20 69 6e 74 65 6e 64 65 s mainly intende
11f60 64 20 66 6f 72 20 3c 62 3e 70 65 64 65 73 74 72 d for <b>pedestr
11f70 69 61 6e 73 3c 2f 62 3e 2c 20 73 6f 20 77 65 20 ians</b>, so we
11f80 63 61 6e 20 73 61 66 65 6c 79 20 61 73 73 75 6d can safely assum
11f90 65 20 61 20 3c 75 3e 3c 69 3e 63 6f 6e 73 74 61 e a <u><i>consta
11fa0 6e 74 20 73 70 65 65 64 3c 2f 69 3e 3c 2f 75 3e nt speed</i></u>
11fb0 20 6f 66 20 61 62 6f 75 74 20 3c 62 3e 34 3c 2f of about <b>4</
11fc0 62 3e 20 74 6f 20 3c 62 3e 36 20 6b 6d 2f 68 3c b> to <b>6 km/h<
11fd0 2f 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 /b>, and consequ
11fe0 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 49 73 6f ently the <b>Iso
11ff0 63 68 72 6f 6e 65 3c 2f 62 3e 20 65 66 66 65 63 chrone</b> effec
12000 74 69 76 65 6c 79 20 72 65 73 70 65 63 74 73 20 tively respects
12010 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 74 the <u><i>same t
12020 69 6d 65 3c 2f 69 3e 3c 2f 75 3e 20 72 65 71 75 ime</i></u> requ
12030 69 73 69 74 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a isite.<br><br>..
12040 53 70 65 61 6b 69 6e 67 20 69 6e 20 6d 6f 72 65 Speaking in more
12050 20 67 65 6e 65 72 61 6c 20 74 65 72 6d 73 2c 20 general terms,
12060 61 6e 20 49 73 6f 63 68 72 6f 6e 65 20 63 61 6e an Isochrone can
12070 20 62 65 20 69 6e 74 65 6e 64 65 64 20 61 73 20 be intended as
12080 61 20 67 65 6e 65 72 69 63 20 73 79 6e 6f 6e 79 a generic synony
12090 6d 20 66 6f 72 20 3c 75 3e 3c 69 3e 73 61 6d 65 m for <u><i>same
120a0 20 43 6f 73 74 3c 2f 69 3e 3c 2f 75 3e 2c 20 65 Cost</i></u>, e
120b0 76 65 6e 20 77 68 65 6e 20 74 68 65 72 65 20 69 ven when there i
120c0 73 20 6e 6f 20 6f 62 76 69 6f 75 73 20 63 6f 6e s no obvious con
120d0 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 3c 62 3e nection with <b>
120e0 54 69 6d 65 2e 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 Time.</b>.<br><b
120f0 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f r>..</td></tr></
12100 74 61 62 6c 65 3e 0d 0a 3c 68 72 3e 3c 62 72 3e table>..<hr><br>
12110 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 74 ..<h1><a name="t
12120 73 70 22 3e 37 20 2d 20 53 6f 6c 76 69 6e 67 20 sp">7 - Solving
12130 54 53 50 20 28 74 72 61 76 65 6c 69 6e 67 20 73 TSP (traveling s
12140 61 6c 65 73 6d 61 6e 29 20 70 72 6f 62 6c 65 6d alesman) problem
12150 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 3c 62 3e 54 s</a></h1>..<b>T
12160 53 50 3c 2f 62 3e 20 28 3c 61 20 68 72 65 66 3d SP</b> (<a href=
12170 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 "https://en.wiki
12180 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 pedia.org/wiki/T
12190 72 61 76 65 6c 6c 69 6e 67 5f 73 61 6c 65 73 6d ravelling_salesm
121a0 61 6e 5f 70 72 6f 62 6c 65 6d 22 3e 54 72 61 76 an_problem">Trav
121b0 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50 eling Salesman P
121c0 72 6f 62 6c 65 6d 3c 2f 61 3e 29 20 69 73 20 61 roblem</a>) is a
121d0 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 4f 70 65 72 well known Oper
121e0 61 74 69 6f 6e 73 20 52 65 73 65 61 72 63 68 20 ations Research
121f0 70 72 6f 62 6c 65 6d 2e 0d 0a 3c 62 72 3e 3c 62 problem...<br><b
12200 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c r>..<table bgcol
12210 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c or="#c0ffc0" cel
12220 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 lspacing="10" ce
12230 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 llpadding="6"><t
12240 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 54 68 65 20 r><td>..<h3>The
12250 54 72 61 76 65 6c 69 6e 67 20 53 61 6c 65 73 6d Traveling Salesm
12260 61 6e 20 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d an Problem</h3>.
12270 0a 3c 62 3e 3c 69 3e 47 69 76 65 6e 20 61 20 6c .<b><i>Given a l
12280 69 73 74 20 6f 66 20 63 69 74 69 65 73 20 61 6e ist of cities an
12290 64 20 74 68 65 20 64 69 73 74 61 6e 63 65 73 20 d the distances
122a0 62 65 74 77 65 65 6e 20 65 61 63 68 20 70 61 69 between each pai
122b0 72 20 6f 66 20 63 69 74 69 65 73 2c 20 77 68 61 r of cities, wha
122c0 74 20 69 73 20 74 68 65 20 73 68 6f 72 74 65 73 t is the shortes
122d0 74 20 70 6f 73 73 69 62 6c 65 20 72 6f 75 74 65 t possible route
122e0 20 74 68 61 74 20 76 69 73 69 74 73 20 65 61 63 that visits eac
122f0 68 20 63 69 74 79 20 61 6e 64 20 72 65 74 75 72 h city and retur
12300 6e 73 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e ns to the origin
12310 20 63 69 74 79 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d city ?</i></b>.
12320 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e .<br><br>..</td>
12330 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c </tr></table>..<
12340 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3a 3c 2f 75 br>..<u>Note:</u
12350 3e 20 74 68 65 20 74 65 72 6d 73 20 3c 69 3e 3c > the terms <i><
12360 75 3e 73 61 6c 65 73 6d 61 6e 3c 2f 75 3e 3c 2f u>salesman</u></
12370 69 3e 20 61 6e 64 20 3c 69 3e 3c 75 3e 63 69 74 i> and <i><u>cit
12380 79 3c 2f 75 3e 3c 2f 69 3e 20 61 72 65 20 75 6e y</u></i> are un
12390 69 76 65 72 73 61 6c 6c 79 20 75 73 65 64 20 66 iversally used f
123a0 6f 72 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65 or historical re
123b0 61 73 6f 6e 73 2c 20 62 75 74 20 79 6f 75 20 73 asons, but you s
123c0 68 6f 75 6c 64 20 61 76 6f 69 64 20 74 6f 20 6c hould avoid to l
123d0 69 74 65 72 61 6c 6c 79 20 69 6e 74 65 6e 64 20 iterally intend
123e0 62 6f 74 68 20 74 68 65 6d 2e 3c 62 72 3e 0d 0a both them.<br>..
123f0 54 68 65 20 74 65 72 6d 20 3c 75 3e 3c 69 3e 73 The term <u><i>s
12400 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 alesman</i></u>
12410 69 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 in this specific
12420 20 63 6f 6e 74 65 78 74 20 69 6e 74 65 6e 64 73 context intends
12430 20 61 6e 79 20 70 6f 73 73 69 62 6c 65 20 6b 69 any possible ki
12440 6e 64 20 6f 66 20 3c 75 3e 3c 69 3e 6d 6f 76 69 nd of <u><i>movi
12450 6e 67 20 61 67 65 6e 74 3c 2f 69 3e 3c 2f 75 3e ng agent</i></u>
12460 20 28 70 65 64 65 73 74 72 69 61 6e 2c 20 76 65 (pedestrian, ve
12470 68 69 63 6c 65 2c 20 70 61 73 73 65 6e 67 65 72 hicle, passenger
12480 20 6f 72 20 77 68 61 74 65 76 65 72 20 65 6c 73 or whatever els
12490 65 29 2c 20 65 78 61 63 74 6c 79 20 61 73 20 3c e), exactly as <
124a0 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 i><u>city</u></i
124b0 3e 20 73 69 6d 70 6c 79 20 73 74 61 6e 64 73 20 > simply stands
124c0 66 6f 72 20 61 6e 79 20 3c 69 3e 3c 75 3e 67 65 for any <i><u>ge
124d0 6e 65 72 69 63 20 64 65 73 74 69 6e 61 74 69 6f neric destinatio
124e0 6e 3c 2f 75 3e 3c 2f 69 3e 20 6f 6e 20 61 20 67 n</u></i> on a g
124f0 69 76 65 6e 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c iven Network...<
12500 62 72 3e 3c 62 72 3e 0d 0a 57 65 20 63 61 6e 20 br><br>..We can
12510 63 6f 6e 63 65 70 74 75 61 6c 79 20 73 70 6c 69 conceptualy spli
12520 74 20 54 50 53 20 69 6e 20 74 77 6f 20 68 61 6c t TPS in two hal
12530 76 65 73 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e ves:..<ol>..<li>
12540 63 6f 6d 70 75 74 69 6e 67 20 61 6c 6c 20 64 69 computing all di
12550 73 74 61 6e 63 65 73 20 62 65 74 77 65 65 6e 20 stances between
12560 70 61 69 72 73 20 6f 66 20 3c 69 3e 63 69 74 69 pairs of <i>citi
12570 65 73 3c 2f 69 3e 2e 20 54 68 69 73 20 69 73 20 es</i>. This is
12580 61 20 74 79 70 69 63 61 6c 20 3c 62 3e 53 68 6f a typical <b>Sho
12590 72 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 70 72 rtestPath</b> pr
125a0 6f 62 6c 65 6d 2c 20 61 6e 64 20 77 65 20 63 61 oblem, and we ca
125b0 6e 20 64 75 6c 79 20 75 73 65 20 74 68 65 20 44 n duly use the D
125c0 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 69 ijkstra's algori
125d0 74 68 6d 20 66 6f 72 20 74 68 69 73 2e 3c 2f 6c thm for this.</l
125e0 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 77 65 20 i>..<li>then we
125f0 68 61 76 65 20 74 6f 20 63 68 65 63 6b 20 61 6c have to check al
12600 6c 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 70 65 l possible <b>pe
12610 72 6d 75 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 2f rmutations</b> /
12620 20 3c 62 3e 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 <b>combinations
12630 3c 2f 62 3e 20 73 6f 20 74 6f 20 69 64 65 6e 74 </b> so to ident
12640 69 66 79 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 ify the optimal
12650 54 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c TSP solution.</l
12660 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 55 6e 68 61 70 i>..</ol>..Unhap
12670 70 69 6c 79 20 74 68 65 72 65 20 69 73 20 61 20 pily there is a
12680 70 72 61 63 74 69 63 61 6c 20 64 69 66 66 69 63 practical diffic
12690 75 6c 74 79 20 69 6e 20 73 75 63 68 20 61 20 73 ulty in such a s
126a0 74 72 61 69 67 68 74 20 61 70 70 72 6f 61 63 68 traight approach
126b0 3b 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 ; the number of
126c0 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 77 69 6c combinations wil
126d0 6c 20 67 72 6f 77 20 65 78 74 72 65 6d 65 6c 79 l grow extremely
126e0 20 66 61 73 74 20 61 73 20 74 68 65 20 6e 75 6d fast as the num
126f0 62 65 72 20 6f 66 20 3c 62 3e 3c 69 3e 63 69 74 ber of <b><i>cit
12700 69 65 73 3c 2f 69 3e 3c 2f 62 3e 20 69 6e 63 72 ies</i></b> incr
12710 65 61 73 65 73 2e 3c 62 72 3e 0d 0a 53 69 6d 70 eases.<br>..Simp
12720 6c 79 20 63 6f 6d 70 75 74 69 6e 67 20 74 68 65 ly computing the
12730 20 63 6f 6d 70 6c 65 74 65 20 54 53 50 20 73 6f complete TSP so
12740 6c 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 lution for about
12750 20 74 65 6e 20 63 69 74 69 65 73 20 77 69 6c 6c ten cities will
12760 20 72 65 71 75 69 72 65 20 61 20 3c 62 3e 76 65 require a <b>ve
12770 72 79 20 6c 6f 6e 67 20 74 69 6d 65 3c 2f 62 3e ry long time</b>
12780 20 65 76 65 6e 20 75 73 69 6e 67 20 61 20 73 75 even using a su
12790 70 65 72 63 6f 6d 70 75 74 65 72 2e 3c 62 72 3e percomputer.<br>
127a0 0d 0a 41 6e 64 20 61 74 74 65 6d 70 74 69 6e 67 ..And attempting
127b0 20 74 6f 20 63 6f 6d 70 75 74 65 20 61 20 54 53 to compute a TS
127c0 50 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 61 P solution for a
127d0 62 6f 75 74 20 68 75 6e 64 72 65 64 20 63 69 74 bout hundred cit
127e0 69 65 73 20 77 69 6c 6c 20 72 65 71 75 69 72 65 ies will require
127f0 20 61 20 3c 62 3e 70 72 61 63 74 69 63 61 6c 6c a <b>practicall
12800 79 20 69 6e 66 69 6e 69 74 65 3c 2f 62 3e 20 74 y infinite</b> t
12810 69 6d 65 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a ime...<br><br>..
12820 48 6f 77 65 76 65 72 20 73 6f 6c 76 69 6e 67 20 However solving
12830 54 53 50 20 69 73 20 68 69 67 68 6c 79 20 64 65 TSP is highly de
12840 73 69 72 61 62 6c 65 20 69 6e 20 6d 61 6e 79 20 sirable in many
12850 61 70 70 6c 69 63 61 74 69 6f 6e 20 66 69 65 6c application fiel
12860 64 73 3a 20 3c 62 3e 6c 6f 67 69 73 74 69 63 73 ds: <b>logistics
12870 3c 2f 62 3e 20 28 6a 75 73 74 20 74 68 69 6e 6b </b> (just think
12880 20 61 62 6f 75 74 20 63 6f 75 72 69 65 72 20 63 about courier c
12890 6f 6d 70 61 6e 69 65 73 20 61 73 20 44 48 4c 2c ompanies as DHL,
128a0 20 46 65 64 45 58 2c 20 55 50 53 20 6f 72 20 54 FedEX, UPS or T
128b0 4e 54 29 2c 20 3c 62 3e 66 69 65 6c 64 20 6d 61 NT), <b>field ma
128c0 69 6e 74 65 6e 61 6e 63 65 3c 2f 62 3e 20 2f 20 intenance</b> /
128d0 3c 62 3e 61 73 73 69 73 74 61 6e 63 65 3c 2f 62 <b>assistance</b
128e0 3e 2c 20 3c 62 3e 77 61 73 74 65 20 63 6f 6c 6c >, <b>waste coll
128f0 65 63 74 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e 73 ection</b>, <b>s
12900 63 68 6f 6f 6c 62 75 73 3c 2f 62 3e 20 2f 20 3c choolbus</b> / <
12910 62 3e 73 68 61 72 65 64 20 74 61 78 69 20 73 65 b>shared taxi se
12920 72 76 69 63 65 73 3c 2f 62 3e 20 65 74 63 2e 3c rvices</b> etc.<
12930 62 72 3e 0d 0a 4d 61 6e 79 20 61 6c 67 6f 72 69 br>..Many algori
12940 74 68 6d 73 20 68 61 76 65 20 62 65 65 6e 20 69 thms have been i
12950 6e 76 65 6e 74 65 64 20 64 75 72 69 6e 67 20 6c nvented during l
12960 61 73 74 20 64 65 63 61 64 65 73 20 69 6e 74 65 ast decades inte
12970 6e 64 65 64 20 74 6f 20 70 72 6f 64 75 63 65 20 nded to produce
12980 70 72 61 63 74 69 63 61 6c 20 61 6c 74 68 6f 75 practical althou
12990 67 68 20 61 70 70 72 6f 78 69 6d 61 74 65 20 2f gh approximate /
129a0 20 69 6d 70 65 72 66 65 63 74 20 54 53 50 20 73 imperfect TSP s
129b0 6f 6c 75 74 69 6f 6e 73 20 69 6e 20 61 20 72 65 olutions in a re
129c0 61 73 6f 6e 61 62 6c 79 20 73 68 6f 72 74 20 74 asonably short t
129d0 69 6d 65 2e 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 ime...Many of th
129e0 65 6d 20 73 74 72 6f 6e 67 6c 79 20 64 65 70 65 em strongly depe
129f0 6e 64 20 6f 6e 20 3c 61 20 68 72 65 66 3d 22 68 nd on <a href="h
12a00 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 ttps://en.wikipe
12a10 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 48 65 75 dia.org/wiki/Heu
12a20 72 69 73 74 69 63 22 3e 68 65 75 72 69 73 74 69 ristic">heuristi
12a30 63 3c 2f 61 3e 20 61 6e 64 20 2f 20 6f 72 20 3c c</a> and / or <
12a40 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f a href="https://
12a50 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 en.wikipedia.org
12a60 2f 77 69 6b 69 2f 52 61 6e 64 6f 6d 6e 65 73 73 /wiki/Randomness
12a70 22 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f 61 3e ">randomness</a>
12a80 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e ...<br><br>..<b>
12a90 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f VirtualRouting</
12aa0 62 3e 20 73 75 70 70 6f 72 74 73 20 74 77 6f 20 b> supports two
12ab0 64 69 66 66 65 72 65 6e 74 20 54 53 50 20 61 6c different TSP al
12ac0 67 6f 72 69 74 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d gorithms:..<ul>.
12ad0 0a 3c 6c 69 3e 3c 62 3e 54 53 50 20 4e 4e 3c 2f .<li><b>TSP NN</
12ae0 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c b> (<i>aka</i> <
12af0 62 3e 3c 69 3e 4e 65 61 72 65 73 74 20 4e 65 69 b><i>Nearest Nei
12b00 67 68 62 6f 75 72 3c 2f 69 3e 3c 2f 62 3e 29 3c ghbour</i></b>)<
12b10 62 72 3e 0d 0a 54 68 69 73 20 3c 61 20 68 72 65 br>..This <a hre
12b20 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 f="https://en.wi
12b30 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 kipedia.org/wiki
12b40 2f 4e 65 61 72 65 73 74 5f 6e 65 69 67 68 62 6f /Nearest_neighbo
12b50 75 72 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 66 69 ur_algorithm">fi
12b60 72 73 74 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 rst algorithm</a
12b70 3e 20 69 73 20 73 74 72 61 69 67 68 74 66 6f 72 > is straightfor
12b80 77 61 72 64 20 73 69 6d 70 6c 65 20 61 6e 64 20 ward simple and
12b90 76 65 72 79 20 66 61 73 74 3b 20 69 74 20 63 61 very fast; it ca
12ba0 6e 20 65 66 66 65 63 74 69 76 65 6c 79 20 73 6f n effectively so
12bb0 6c 76 65 20 68 75 67 65 20 54 53 50 20 73 6f 6c lve huge TSP sol
12bc0 75 74 69 6f 6e 73 20 28 74 68 6f 75 73 61 6e 64 utions (thousand
12bd0 20 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 20 6f <i>cities</i> o
12be0 72 20 65 76 65 6e 20 6d 6f 72 65 29 20 69 6e 20 r even more) in
12bf0 61 20 76 65 72 79 20 73 68 6f 72 74 20 74 69 6d a very short tim
12c00 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74 e.<br>..<u>Short
12c10 20 64 65 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e description</u>
12c20 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 73 74 61 :..<ul>..<li>sta
12c30 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 3c rting from the <
12c40 75 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f u><i>base city</
12c50 69 3e 3c 2f 75 3e 20 74 68 65 20 3c 75 3e 3c 69 i></u> the <u><i
12c60 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 >salesman</i></u
12c70 3e 20 67 6f 65 73 20 74 6f 20 74 68 65 20 3c 75 > goes to the <u
12c80 3e 3c 69 3e 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e ><i>city</i></u>
12c90 20 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 presenting the
12ca0 3c 69 3e 3c 75 3e 6c 65 73 73 65 72 20 63 6f 6e <i><u>lesser con
12cb0 6e 65 63 74 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e nection cost</u>
12cc0 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </i>.</li>..<li>
12cd0 74 68 65 20 61 6c 72 65 61 64 79 20 76 69 73 69 the already visi
12ce0 74 65 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f ted <i><u>city</
12cf0 75 3e 3c 2f 69 3e 20 69 73 20 63 61 6e 63 65 6c u></i> is cancel
12d00 6c 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 led from the lis
12d10 74 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 t, and then the
12d20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f <u><i>salesman</
12d30 69 3e 3c 2f 75 3e 20 67 6f 65 73 20 74 6f 20 74 i></u> goes to t
12d40 68 65 20 6e 65 78 74 20 3c 75 3e 3c 69 3e 63 69 he next <u><i>ci
12d50 74 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65 ty</i></u> prese
12d60 6e 74 69 6e 67 20 74 68 65 20 3c 69 3e 3c 75 3e nting the <i><u>
12d70 6c 65 73 73 65 72 20 63 6f 6e 6e 65 63 74 69 6f lesser connectio
12d80 6e 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c n cost</u></i>.<
12d90 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 63 79 /li>..<li>the cy
12da0 63 6c 65 20 63 6f 6e 74 69 6e 75 65 73 20 75 6e cle continues un
12db0 74 69 6c 20 61 6c 6c 20 20 3c 69 3e 3c 75 3e 63 til all <i><u>c
12dc0 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 69 6e ities</u></i> in
12dd0 20 74 68 65 20 6c 69 73 74 20 68 61 76 65 20 62 the list have b
12de0 65 65 6e 20 76 69 73 69 74 65 64 2e 3c 2f 6c 69 een visited.</li
12df0 3e 0d 0a 3c 6c 69 3e 66 69 6e 61 6c 6c 79 2c 20 >..<li>finally,
12e00 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d the <u><i>salesm
12e10 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 72 65 74 75 72 an</i></u> retur
12e20 6e 73 20 74 6f 20 68 69 73 2f 68 65 72 20 69 6e ns to his/her in
12e30 69 74 69 61 6c 20 3c 75 3e 3c 69 3e 62 61 73 65 itial <u><i>base
12e40 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c city</i></u></l
12e50 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f i>..</ul>..<u>No
12e60 74 65 3c 2f 75 3e 20 69 74 27 73 20 76 65 72 79 te</u> it's very
12e70 20 75 6e 6c 69 6b 65 20 74 68 61 74 20 54 53 50 unlike that TSP
12e80 20 4e 4e 20 63 6f 75 6c 64 20 66 69 6e 64 20 74 NN could find t
12e90 68 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 he <b>optimal</b
12ea0 3e 20 73 6f 6c 75 74 69 6f 6e 2c 20 62 75 74 20 > solution, but
12eb0 69 74 20 63 61 6e 20 71 75 69 63 6b 6c 79 20 66 it can quickly f
12ec0 69 6e 64 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 ind some reasona
12ed0 62 6c 65 20 3c 62 3e 61 70 70 72 6f 78 69 6d 61 ble <b>approxima
12ee0 74 65 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 te</b> solution
12ef0 28 3c 69 3e 66 65 77 20 69 73 20 73 75 72 65 6c (<i>few is surel
12f00 79 20 62 65 74 74 65 72 20 74 68 61 6e 20 6e 6f y better than no
12f10 74 68 69 6e 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d thing</i>).<br>.
12f20 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 75 6e 6c .In the most unl
12f30 75 63 6b 79 20 63 61 73 65 20 54 53 50 20 4e 4e ucky case TSP NN
12f40 20 63 6f 75 6c 64 20 70 6f 73 73 69 62 6c 79 20 could possibly
12f50 72 65 74 75 72 6e 20 74 68 65 20 3c 62 3e 77 6f return the <b>wo
12f60 72 73 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e rst solution</b>
12f70 2c 20 62 75 74 20 74 68 65 20 73 70 65 63 69 66 , but the specif
12f80 69 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ic implementatio
12f90 6e 20 61 64 6f 70 74 65 64 20 62 79 20 56 69 72 n adopted by Vir
12fa0 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 68 65 63 tualRouting chec
12fb0 6b 73 20 61 67 61 69 6e 73 74 20 74 68 69 73 20 ks against this
12fc0 70 6f 73 73 69 62 69 6c 69 74 79 3a 0d 0a 3c 75 possibility:..<u
12fd0 6c 3e 0d 0a 3c 6c 69 3e 65 61 63 68 20 54 53 50 l>..<li>each TSP
12fe0 20 4e 4e 20 69 73 20 61 6c 77 61 79 73 20 63 6f NN is always co
12ff0 6d 70 75 74 65 64 20 74 77 69 63 65 20 62 79 20 mputed twice by
13000 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e randomly choosin
13010 67 20 61 20 64 69 66 66 65 72 65 6e 74 20 3c 75 g a different <u
13020 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 ><i>base city</i
13030 3e 3c 2f 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e ></u> and then n
13040 6f 72 6d 61 6c 69 7a 69 6e 67 20 74 68 65 20 73 ormalizing the s
13050 6f 6c 75 74 69 6f 6e 3b 20 74 68 65 20 62 65 73 olution; the bes
13060 74 20 6f 66 20 74 68 65 20 74 77 6f 20 73 6f 6c t of the two sol
13070 75 74 69 6f 6e 73 20 69 73 20 74 68 65 6e 20 72 utions is then r
13080 65 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c eturned.</li>..<
13090 6c 69 3e 74 68 69 73 20 73 69 6d 70 6c 65 20 62 li>this simple b
130a0 75 74 20 65 66 66 65 63 74 69 76 65 20 70 72 65 ut effective pre
130b0 63 61 75 74 69 6f 6e 20 72 6f 62 75 73 74 6c 79 caution robustly
130c0 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 74 68 ensures that th
130d0 65 20 3c 62 3e 77 6f 72 73 74 20 73 6f 6c 75 74 e <b>worst solut
130e0 69 6f 6e 3c 2f 62 3e 20 77 69 6c 6c 20 6e 65 76 ion</b> will nev
130f0 65 72 20 62 65 20 72 65 74 75 72 6e 65 64 2c 20 er be returned,
13100 61 6e 64 20 6a 75 73 74 20 69 6d 70 6c 69 65 73 and just implies
13110 20 61 20 6d 6f 64 65 72 61 74 65 6c 79 20 69 6e a moderately in
13120 63 72 65 61 73 65 64 20 65 78 65 63 75 74 69 6f creased executio
13130 6e 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f n time.</li>..</
13140 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 ul></li>..<li><b
13150 3e 54 53 50 20 47 41 3c 2f 62 3e 20 28 3c 69 3e >TSP GA</b> (<i>
13160 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c 69 3e 47 65 aka</i> <b><i>Ge
13170 6e 65 74 69 63 20 41 6c 67 6f 72 69 74 68 6d 3c netic Algorithm<
13180 2f 69 3e 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 54 /i></b>).<br>..T
13190 68 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 his <a href="htt
131a0 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 ps://en.wikipedi
131b0 61 2e 6f 72 67 2f 77 69 6b 69 2f 47 65 6e 65 74 a.org/wiki/Genet
131c0 69 63 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 61 6c ic_algorithm">al
131d0 74 65 72 6e 61 74 69 76 65 20 61 6c 67 6f 72 69 ternative algori
131e0 74 68 6d 3c 2f 61 3e 20 69 73 20 6d 75 63 68 20 thm</a> is much
131f0 6d 6f 72 65 20 63 6f 6d 70 6c 65 78 20 61 6e 64 more complex and
13200 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 2c 20 sophisticated,
13210 61 6e 64 20 69 73 20 64 69 72 65 63 74 6c 79 20 and is directly
13220 69 6e 73 70 69 72 65 64 20 62 79 20 62 69 6f 6c inspired by biol
13230 6f 67 69 63 61 6c 20 63 6f 6e 63 65 70 74 73 20 ogical concepts
13240 73 75 63 68 20 61 73 20 3c 62 3e 73 65 78 75 61 such as <b>sexua
13250 6c 20 72 65 70 72 6f 64 75 63 74 69 6f 6e 3c 2f l reproduction</
13260 62 3e 2c 20 3c 62 3e 67 65 6e 65 74 69 63 20 6d b>, <b>genetic m
13270 75 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 utations</b> and
13280 20 3c 62 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65 <b>natural sele
13290 63 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a ction</b>.<br>..
132a0 3c 75 3e 53 68 6f 72 74 20 64 65 73 63 72 69 70 <u>Short descrip
132b0 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d tion</u>:..<ul>.
132c0 0a 3c 6c 69 3e 61 20 66 69 72 73 74 20 69 6e 69 .<li>a first ini
132d0 74 69 61 6c 20 73 65 74 20 6f 66 20 73 6f 6c 75 tial set of solu
132e0 74 69 6f 6e 73 20 28 3c 69 3e 3c 75 3e 74 68 65 tions (<i><u>the
132f0 20 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f 75 3e 3c population</u><
13300 2f 69 3e 29 20 69 73 20 63 72 65 61 74 65 64 20 /i>) is created
13310 62 79 20 75 73 69 6e 67 20 54 53 50 20 4e 4e 20 by using TSP NN
13320 61 66 74 65 72 20 72 61 6e 64 6f 6d 6c 79 20 63 after randomly c
13330 68 6f 6f 73 69 6e 67 20 74 68 65 20 3c 75 3e 3c hoosing the <u><
13340 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c i>base city</i><
13350 2f 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 /u> and then nor
13360 6d 61 6c 69 7a 69 6e 67 20 65 61 63 68 20 73 6f malizing each so
13370 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c lution.</li>..<l
13380 69 3e 74 68 65 6e 20 64 75 72 69 6e 67 20 65 61 i>then during ea
13390 63 68 20 73 74 65 70 20 6f 66 20 74 68 65 20 65 ch step of the e
133a0 78 65 63 75 74 69 6f 6e 20 6c 6f 6f 70 20 28 3c xecution loop (<
133b0 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e 3c i><u>generation<
133c0 2f 75 3e 3c 2f 69 3e 29 20 70 61 69 72 73 20 6f /u></i>) pairs o
133d0 66 20 73 6f 6c 75 74 69 6f 6e 73 20 3c 69 3e 3c f solutions <i><
133e0 75 3e 73 65 78 75 61 6c 6c 79 20 72 65 70 72 6f u>sexually repro
133f0 64 75 63 65 73 3c 2f 69 3e 3c 2f 75 3e 20 67 69 duces</i></u> gi
13400 76 69 6e 67 20 62 69 72 74 68 20 74 6f 20 3c 75 ving birth to <u
13410 3e 3c 69 3e 63 68 69 6c 64 72 65 6e 20 73 6f 6c ><i>children sol
13420 75 74 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 utions</i></u>;
13430 72 65 70 72 6f 64 75 63 74 69 6f 6e 20 69 73 20 reproduction is
13440 73 75 62 6a 65 63 74 20 74 6f 20 3c 75 3e 3c 69 subject to <u><i
13450 3e 63 68 72 6f 6d 6f 73 6f 6d 65 20 63 72 6f 73 >chromosome cros
13460 73 6f 76 65 72 73 3c 2f 69 3e 3c 2f 75 3e 20 61 sovers</i></u> a
13470 6e 64 20 3c 69 3e 3c 75 3e 72 61 6e 64 6f 6d 20 nd <i><u>random
13480 6d 75 74 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e mutation</u></i>
13490 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 .</li>..<li>for
134a0 65 61 63 68 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 each <i><u>gener
134b0 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 74 68 ation</u></i> th
134c0 65 20 3c 69 3e 3c 75 3e 6e 61 74 75 72 61 6c 20 e <i><u>natural
134d0 73 65 6c 65 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 selection</u></i
134e0 3e 20 65 6c 69 6d 69 6e 61 74 65 73 20 61 6c 6c > eliminates all
134f0 20 70 6f 6f 72 6c 79 20 66 69 74 20 69 6e 64 69 poorly fit indi
13500 76 69 64 75 61 6c 73 20 66 72 6f 6d 20 74 68 65 viduals from the
13510 20 3c 75 3e 3c 69 3e 70 6f 70 75 6c 61 74 69 6f <u><i>populatio
13520 6e 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 63 6f n</i></u> and co
13530 6e 73 65 71 75 65 6e 74 6c 79 20 6f 6e 6c 79 20 nsequently only
13540 74 68 65 20 62 65 73 74 20 66 69 74 20 69 6e 64 the best fit ind
13550 69 76 69 64 75 61 6c 73 20 63 61 6e 20 66 75 72 ividuals can fur
13560 74 68 65 72 20 70 72 6f 70 61 67 61 74 65 20 74 ther propagate t
13570 68 65 69 72 20 3c 75 3e 3c 69 3e 67 65 6e 6f 6d heir <u><i>genom
13580 65 3c 2f 69 3e 3c 2f 75 3e 20 74 6f 20 74 68 65 e</i></u> to the
13590 20 6e 65 78 74 20 3c 75 3e 3c 69 3e 67 65 6e 65 next <u><i>gene
135a0 72 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c ration</i></u>.<
135b0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 66 74 65 72 20 /li>..<li>after
135c0 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 a certain number
135d0 20 6f 66 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 of <i><u>genera
135e0 74 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 20 28 6c tions</i></u> (l
135f0 65 74 27 73 20 73 61 79 20 61 62 6f 75 74 20 73 et's say about s
13600 6f 6d 65 20 68 75 6e 64 72 65 64 74 68 20 69 74 ome hundredth it
13610 65 72 61 74 69 6f 6e 73 29 20 74 68 65 20 3c 62 erations) the <b
13620 3e 6f 70 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f >optimal solutio
13630 6e 3c 2f 62 3e 20 28 6f 72 20 61 74 20 6c 65 61 n</b> (or at lea
13640 73 74 20 61 20 3c 62 3e 66 61 69 72 6c 79 20 67 st a <b>fairly g
13650 6f 6f 64 20 73 75 62 2d 6f 70 74 69 6d 61 6c 20 ood sub-optimal
13660 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 29 20 73 68 solution</b>) sh
13670 6f 75 6c 64 20 66 69 6e 61 6c 6c 79 20 65 6d 65 ould finally eme
13680 72 67 65 2c 20 61 6e 64 20 73 6f 20 74 68 65 20 rge, and so the
13690 6c 6f 6f 70 20 63 61 6e 20 65 78 69 74 2e 3c 2f loop can exit.</
136a0 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
136b0 0a 3c 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e .<li><u>Note</u>
136c0 3a 20 54 53 50 20 47 41 20 69 73 20 75 73 75 61 : TSP GA is usua
136d0 6c 6c 79 20 65 78 70 65 63 74 65 64 20 74 6f 20 lly expected to
136e0 69 64 65 6e 74 69 66 79 20 62 65 74 74 65 72 20 identify better
136f0 73 6f 6c 75 74 69 6f 6e 73 20 74 68 61 6e 20 54 solutions than T
13700 53 50 20 4e 4e 20 63 61 6e 20 64 6f 2c 20 62 75 SP NN can do, bu
13710 74 20 69 74 20 77 69 6c 6c 20 73 75 72 65 6c 79 t it will surely
13720 20 72 65 71 75 69 72 65 20 6d 75 63 68 20 6d 6f require much mo
13730 72 65 20 74 69 6d 65 20 74 6f 20 63 6f 6d 70 6c re time to compl
13740 65 74 65 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c ete.</li> ..</ul
13750 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74 >..<br><br>..Let
13760 27 73 20 6e 6f 77 20 65 78 61 6d 69 6e 65 20 61 's now examine a
13770 20 70 72 61 63 74 69 63 61 6c 20 65 78 61 6d 70 practical examp
13780 6c 65 20 6f 66 20 54 53 50 20 73 6f 6c 76 69 6e le of TSP solvin
13790 67 20 75 73 69 6e 67 20 56 69 72 74 75 61 6c 52 g using VirtualR
137a0 6f 75 74 69 6e 67 2e 20 0d 0a 3c 76 65 72 62 61 outing. ..<verba
137b0 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 tim>..UPDATE byf
137c0 6f 6f 74 20 53 45 54 20 52 65 71 75 65 73 74 20 oot SET Request
137d0 3d 20 27 54 53 50 27 3b 0d 0a 0d 0a 53 45 4c 45 = 'TSP';....SELE
137e0 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 CT Algorithm, Re
137f0 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 quest, Options,
13800 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 Delimiter, Route
13810 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f Id, RouteRow, Ro
13820 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e le, LinkRowid, N
13830 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c odeFrom, NodeTo,
13840 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c Cost, Geometry,
13850 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f Name..FROM byfo
13860 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 ot..WHERE NodeFr
13870 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 om = 178731 AND
13880 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 NodeTo = '183286
13890 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 ,181999,184030,1
138a0 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 83882,178754';..
138b0 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 20 56 </verbatim>..A V
138c0 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 3c 62 irtualRouting <b
138d0 3e 54 53 50 3c 2f 62 3e 20 71 75 65 72 79 20 68 >TSP</b> query h
138e0 61 73 20 74 68 65 20 73 61 6d 65 20 69 64 65 6e as the same iden
138f0 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66 20 61 20 tical form of a
13900 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 <b>multi-destina
13910 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 79 3b 20 tion</b> query;
13920 74 68 65 20 3c 69 3e 3c 75 3e 62 61 73 65 20 63 the <i><u>base c
13930 69 74 79 3c 75 3e 3c 2f 69 3e 20 69 73 20 61 6c ity<u></i> is al
13940 77 61 79 73 20 65 78 70 65 63 74 65 64 20 74 6f ways expected to
13950 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 3c correspond to <
13960 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 b>NodeFrom</b> a
13970 6e 64 20 61 6c 6c 20 6f 74 68 65 72 20 3c 69 3e nd all other <i>
13980 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 <u>cities</u></i
13990 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 20 > to be visited
139a0 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 are expected to
139b0 62 65 20 65 6e 75 6d 65 72 61 74 65 64 20 69 6e be enumerated in
139c0 74 6f 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 to a <b>multi-de
139d0 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 6c 69 stination</b> li
139e0 73 74 20 61 73 73 69 67 6e 65 64 20 74 6f 20 3c st assigned to <
139f0 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c b>NodeTo</b>...<
13a00 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75 20 u>Note</u>: you
13a10 6d 75 73 74 20 65 78 70 6c 69 63 69 74 6c 79 20 must explicitly
13a20 73 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 set the current
13a30 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 <b>Request</b> a
13a40 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 2c 20 3c 62 s <b>TSP</b>, <b
13a50 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 6f 72 20 3c >TSP NN</b> or <
13a60 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 28 54 53 b>TSP GA</b> (TS
13a70 50 20 61 6e 64 20 54 53 50 20 4e 4e 20 61 72 65 P and TSP NN are
13a80 20 73 79 6e 6f 6e 79 6d 73 29 2e 0d 0a 3c 62 72 synonyms)...<br
13a90 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f ><br>..<table bo
13aa0 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 rder="1" bgcolor
13ab0 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 ="#ffffcf" cells
13ac0 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 pacing="4" cellp
13ad0 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 adding="6">..<tr
13ae0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
13af0 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 0d0a0">Algorithm
13b00 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
13b10 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 ="#d0d0a0">Reque
13b20 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
13b30 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 or="#d0d0a0">Opt
13b40 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ions</th><th bgc
13b50 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44 olor="#d0d0a0">D
13b60 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 elimiter</th><th
13b70 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
13b80 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 0">RouteId</th><
13b90 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
13ba0 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 0a0">RouteRow</t
13bb0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
13bc0 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 d0d0a0">Role</th
13bd0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
13be0 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 0d0a0">LinkRowid
13bf0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
13c00 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 ="#d0d0a0">NodeF
13c10 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f rom</th><th bgco
13c20 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f lor="#d0d0a0">No
13c30 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 deTo</th><th bgc
13c40 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 olor="#d0d0a0">C
13c50 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ost</th><th bgco
13c60 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 lor="#d0d0a0">Ge
13c70 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 ometry</th><th b
13c80 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
13c90 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d >Name</th></tr>.
13ca0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 .<tr>..<td>Dijks
13cb0 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 tra</td><td>TSP
13cc0 4e 4e 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c NN</td><td>Full<
13cd0 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 /td><td>, [d
13ce0 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 ec=44, hex=2c	
13cf0 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3;</td><td align
13d00 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
13d10 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
13d20 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 >0</td><td>TSP S
13d30 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e olution</td><td>
13d40 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
13d50 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
13d60 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
13d70 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
13d80 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
13d90 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33 33 ght">1254.433933
13da0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
13db0 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f =2000 GEOMETRY</
13dc0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
13dd0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
13de0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
13df0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
13e00 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 L</td><td>NULL<t
13e10 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
13e20 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
13e30 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
13e40 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
13e50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
13e60 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
13e70 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
13e80 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f "right">184030</
13e90 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
13ea0 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c ght">176.364755<
13eb0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
13ec0 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 304 GEOMETRY</td
13ed0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
13ee0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
13ef0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
13f00 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
13f10 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
13f20 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
13f30 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">2</td><td ali
13f40 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 gn="right">1</td
13f50 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
13f60 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
13f70 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 224014</td><td a
13f80 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
13f90 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
13fa0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 n="right">182885
13fb0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
13fc0 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 right">94.812424
13fd0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
13fe0 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f d><td>VIA PIETRO
13ff0 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c ARETINO</td>..<
14000 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e /tr>..<tr>..<tr>
14010 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
14020 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14030 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14040 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
14050 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
14060 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14070 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 2</td><td>Link</
14080 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14090 67 68 74 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e ght">224862</td>
140a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
140b0 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 ">182885</td><td
140c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
140d0 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 82043</td><td al
140e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 ign="right">37.0
140f0 39 35 32 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 95287</td><td>NU
14100 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d LL</td><td>VIA M
14110 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d ARGARITONE</td>.
14120 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
14130 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14140 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
14150 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14160 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14170 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">2</td><td al
14180 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 ign="right">3</t
14190 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
141a0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
141b0 3e 32 32 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 >226070</td><td
141c0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
141d0 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2043</td><td ali
141e0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 gn="right">18403
141f0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
14200 22 72 69 67 68 74 22 3e 34 34 2e 34 35 37 30 34 "right">44.45704
14210 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
14220 74 64 3e 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41 td><td>PIAZZA SA
14230 4e 54 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e NT'AGOSTINO</td>
14240 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
14250 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14260 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14270 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14280 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14290 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 ght">2</td><td a
142a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
142b0 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
142c0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
142d0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
142e0 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 184030</td><td a
142f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 lign="right">181
14300 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 999</td><td alig
14310 6e 3d 22 72 69 67 68 74 22 3e 31 33 39 2e 31 31 n="right">139.11
14320 34 39 33 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 4938</td><td>BLO
14330 42 20 73 7a 3d 34 39 36 20 47 45 4f 4d 45 54 52 B sz=496 GEOMETR
14340 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f Y</td><td>NULL</
14350 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
14360 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
14370 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14380 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14390 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
143a0 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 "right">3</td><t
143b0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
143c0 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
143d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
143e0 67 68 74 22 3e 32 32 36 30 37 31 3c 2f 74 64 3e ght">226071</td>
143f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14400 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 ">184030</td><td
14410 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14420 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 82629</td><td al
14430 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 35 2e 36 ign="right">55.6
14440 38 39 30 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 89009</td><td>NU
14450 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 47 LL</td><td>VIA G
14460 49 55 53 45 50 50 45 20 47 41 52 49 42 41 4c 44 IUSEPPE GARIBALD
14470 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
14480 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
14490 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
144a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
144b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
144c0 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
144d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
144e0 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">2</td><td>Lin
144f0 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
14500 22 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c 2f "right">225512</
14510 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14520 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e ght">182629</td>
14530 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14540 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 ">182933</td><td
14550 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 align="right">3
14560 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 4.184194</td><td
14570 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f >NULL</td><td>CO
14580 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d RSO ITALIA</td>.
14590 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
145a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
145b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
145c0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
145d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
145e0 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">3</td><td al
145f0 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 ign="right">3</t
14600 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
14610 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14620 3e 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20 >225511</td><td
14630 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
14640 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2933</td><td ali
14650 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 gn="right">18199
14660 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 9</td><td align=
14670 22 72 69 67 68 74 22 3e 34 39 2e 32 34 31 37 33 "right">49.24173
14680 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 5</td><td>NULL</
14690 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 td><td>CORSO ITA
146a0 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d LIA</td>..</tr>.
146b0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
146c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
146d0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
146e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
146f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f lign="right">3</
14700 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14710 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
14720 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
14730 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
14740 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f "right">181999</
14750 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14760 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e ght">183286</td>
14770 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14780 22 3e 32 31 37 2e 36 37 32 38 38 35 3c 2f 74 64 ">217.672885</td
14790 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 38 ><td>BLOB sz=688
147a0 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
147b0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
147c0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
147d0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
147e0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
147f0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14800 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14810 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
14820 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 "right">1</td><t
14830 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
14840 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 lign="right">222
14850 36 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 635</td><td alig
14860 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 n="right">181999
14870 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14880 72 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 right">181998</t
14890 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
148a0 68 74 22 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f ht">101.629750</
148b0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
148c0 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 <td>CORSO ITALIA
148d0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
148e0 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
148f0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14900 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14910 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
14920 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e n="right">4</td>
14930 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14940 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">2</td><td>Link
14950 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14960 72 69 67 68 74 22 3e 32 32 34 37 38 30 3c 2f 74 right">224780</t
14970 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14980 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c ht">181998</td><
14990 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
149a0 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 >183560</td><td
149b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 33 align="right">73
149c0 2e 37 33 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e .733572</td><td>
149d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
149e0 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f DELL'ANFITEATRO
149f0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
14a00 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
14a10 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14a20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14a30 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 ULL<td align="ri
14a40 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 ght">4</td><td a
14a50 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f lign="right">3</
14a60 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
14a70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14a80 22 3e 32 32 35 38 32 37 3c 2f 74 64 3e 3c 74 64 ">225827</td><td
14a90 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14aa0 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 83560</td><td al
14ab0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 ign="right">1832
14ac0 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 86</td><td align
14ad0 3d 22 72 69 67 68 74 22 3e 34 32 2e 33 30 39 35 ="right">42.3095
14ae0 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 64</td><td>NULL<
14af0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c /td><td>VIA DELL
14b00 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 'ANFITEATRO</td>
14b10 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
14b20 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14b30 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14b40 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14b50 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14b60 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 ght">4</td><td a
14b70 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
14b80 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
14b90 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14ba0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14bb0 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 183286</td><td a
14bc0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
14bd0 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 754</td><td alig
14be0 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 31 n="right">378.31
14bf0 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 3684</td><td>BLO
14c00 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 B sz=272 GEOMETR
14c10 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f Y</td><td>NULL</
14c20 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
14c30 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
14c40 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14c50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14c60 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
14c70 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 "right">5</td><t
14c80 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14c90 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
14ca0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14cb0 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e ght">224414</td>
14cc0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14cd0 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
14ce0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14cf0 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 78880</td><td al
14d00 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e ign="right">136.
14d10 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 372057</td><td>N
14d20 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
14d30 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e MARGARITONE</td>
14d40 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
14d50 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14d60 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14d70 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14d80 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14d90 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 ght">5</td><td a
14da0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f lign="right">2</
14db0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
14dc0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14dd0 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 ">219171</td><td
14de0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14df0 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 78880</td><td al
14e00 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
14e10 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 32</td><td align
14e20 3d 22 72 69 67 68 74 22 3e 39 33 2e 32 38 35 35 ="right">93.2855
14e30 33 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 38</td><td>NULL<
14e40 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e /td><td>VIA FRAN
14e50 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 CESCO CRISPI</td
14e60 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
14e70 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14e80 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
14e90 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
14ea0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
14eb0 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 ight">5</td><td
14ec0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c align="right">3<
14ed0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
14ee0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
14ef0 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 t">219058</td><t
14f00 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14f10 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 178732</td><td a
14f20 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
14f30 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 754</td><td alig
14f40 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36 35 n="right">148.65
14f50 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 6089</td><td>NUL
14f60 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 L</td><td>VIA FR
14f70 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f ANCESCO CRISPI</
14f80 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
14f90 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
14fa0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14fb0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14fc0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
14fd0 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 "right">5</td><t
14fe0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14ff0 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 0</td><td>Route<
15000 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
15010 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
15020 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 t">178754</td><t
15030 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15040 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 183882</td><td a
15050 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 lign="right">188
15060 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e .216831</td><td>
15070 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d BLOB sz=400 GEOM
15080 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c ETRY</td><td>NUL
15090 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
150a0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
150b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
150c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
150d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
150e0 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 gn="right">6</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 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">1</td><td>Lin
15110 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
15120 22 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f "right">224538</
15130 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15140 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e ght">178754</td>
15150 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
15160 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 ">181972</td><td
15170 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 align="right">5
15180 30 2e 39 30 30 36 36 33 3c 2f 74 64 3e 3c 74 64 0.900663</td><td
15190 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
151a0 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 A ANTONIO GUADAG
151b0 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NOLI</td>..</tr>
151c0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
151d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
151e0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
151f0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 td>NULL</td>..<t
15200 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15210 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
15220 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
15230 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
15240 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
15250 35 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 537</td><td alig
15260 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 n="right">181972
15270 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
15280 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 right">182000</t
15290 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
152a0 68 74 22 3e 38 36 2e 33 30 31 30 35 31 3c 2f 74 ht">86.301051</t
152b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
152c0 74 64 3e 56 49 41 20 44 45 4c 20 4e 49 4e 46 45 td>VIA DEL NINFE
152d0 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c O</td>..</tr>..<
152e0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
152f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
15300 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15310 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
15320 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 gn="right">6</td
15330 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
15340 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">3</td><td>Lin
15350 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
15360 22 72 69 67 68 74 22 3e 32 32 35 35 32 37 3c 2f "right">225527</
15370 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15380 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e ght">182000</td>
15390 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
153a0 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 ">183882</td><td
153b0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 align="right">5
153c0 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 1.015117</td><td
153d0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
153e0 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 A LICIO NENCETTI
153f0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
15400 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
15410 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
15420 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
15430 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
15440 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e n="right">6</td>
15450 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
15460 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
15470 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 e</td><td>NULL<t
15480 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15490 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 183882</td><td a
154a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
154b0 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
154c0 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e 37 35 n="right">154.75
154d0 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 0839</td><td>BLO
154e0 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 B sz=240 GEOMETR
154f0 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f Y</td><td>NULL</
15500 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
15510 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
15520 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15530 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
15540 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
15550 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 "right">7</td><t
15560 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15570 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
15580 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15590 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e ght">225527</td>
155a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
155b0 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 ">183882</td><td
155c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
155d0 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 82000</td><td al
155e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 ign="right">51.0
155f0 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 15117</td><td>NU
15600 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c LL</td><td>VIA L
15610 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 ICIO NENCETTI</t
15620 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
15630 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
15640 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
15650 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
15660 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
15670 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 right">7</td><td
15680 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
15690 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
156a0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
156b0 68 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c ht">222636</td><
156c0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
156d0 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 >182000</td><td
156e0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
156f0 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
15700 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 37 gn="right">103.7
15710 33 35 37 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 35722</td><td>NU
15720 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 LL</td><td>VIA P
15730 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 IETRO ARETINO</t
15740 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 d>..</tr>..</tab
15750 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 le>..<br>..Let's
15760 20 6e 6f 77 20 71 75 69 63 6b 6c 79 20 65 78 61 now quickly exa
15770 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73 mine the results
15780 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 61 et returned by a
15790 6e 79 20 54 53 50 20 71 75 65 72 79 3a 0d 0a 3c ny TSP query:..<
157a0 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 65 6e ul>..<li>the gen
157b0 65 72 61 6c 20 6c 61 79 6f 75 74 20 69 73 20 6d eral layout is m
157c0 6f 72 65 20 6f 72 20 6c 65 73 73 20 74 68 65 20 ore or less the
157d0 73 61 6d 65 20 61 73 20 79 6f 75 27 76 65 20 61 same as you've a
157e0 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 lready seen in t
157f0 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e 53 68 he case of <b>Sh
15800 6f 72 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 ortestPath</b> q
15810 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c ueries.</li>..<l
15820 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72 i>the <b>first r
15830 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 ow</b> of the re
15840 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d 65 77 sultset is somew
15850 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 ay exceptional,
15860 61 6e 64 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 and is the only
15870 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c row of the resul
15880 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67 20 tset presenting
15890 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 <b>NOT NULL</b>
158a0 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 62 values in the <b
158b0 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 >Algorithm</b>,
158c0 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 <b>Request</b>,
158d0 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 <b>Options</b> a
158e0 6e 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c nd <b>Delimiter<
158f0 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 62 72 3e /b> columns.<br>
15900 0d 0a 49 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 ..It contains th
15910 65 20 3c 62 3e 54 53 50 20 73 6f 6c 75 74 69 6f e <b>TSP solutio
15920 6e 3c 2f 62 3e 20 61 73 20 61 20 77 68 6f 6c 65 n</b> as a whole
15930 3a 20 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 : column <b>Cost
15940 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c 75 3e 74 </b> is the <u>t
15950 6f 74 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 61 6e otal cost</u> an
15960 64 20 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d d column <b>Geom
15970 65 74 72 79 3c 2f 62 3e 20 69 73 20 74 68 65 20 etry</b> is the
15980 3c 75 3e 6f 76 65 72 61 6c 6c 20 73 6f 6c 75 74 <u>overall solut
15990 69 6f 6e 20 70 61 74 68 3c 2f 75 3e 2e 3c 2f 6c ion path</u>.</l
159a0 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 i>..<li>columns
159b0 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 61 <b>RouteId</b> a
159c0 6e 64 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f nd <b>RouteRow</
159d0 62 3e 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 b> have the same
159e0 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 interpretation
159f0 61 73 20 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d 64 as in <b>multi-d
15a00 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 estination Short
15a10 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 estPath</b> quer
15a20 69 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69 73 ies, but in this
15a30 20 73 70 65 63 69 66 69 63 20 63 61 73 65 20 65 specific case e
15a40 61 63 68 20 3c 75 3e 3c 69 3e 72 6f 75 74 65 3c ach <u><i>route<
15a50 2f 69 3e 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f /i></u> correspo
15a60 6e 64 73 20 74 6f 20 61 20 63 6f 6e 6e 65 63 74 nds to a connect
15a70 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 77 6f 20 ion between two
15a80 3c 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e <i><u>cities</u>
15a90 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 3c </i>.<br>..All <
15aa0 69 3e 3c 75 3e 72 6f 75 74 65 73 3c 2f 75 3e 3c i><u>routes</u><
15ab0 2f 69 3e 20 61 72 65 20 6f 72 64 65 72 20 61 63 /i> are order ac
15ac0 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 cordingly to the
15ad0 20 72 75 6e 6e 69 6e 67 20 73 65 71 75 65 6e 63 running sequenc
15ae0 65 20 6f 66 20 74 68 65 20 54 53 50 20 73 6f 6c e of the TSP sol
15af0 75 74 69 6f 6e 2e 20 3c 62 3e 52 6f 75 74 65 49 ution. <b>RouteI
15b00 64 3d 30 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 d=0</b> identifi
15b10 65 73 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 54 es the overall T
15b20 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 SP solution.</li
15b30 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e >..</ul><br><br>
15b40 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 ..<verbatim>..UP
15b50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 DATE byfoot SET
15b60 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 20 47 Request = 'TSP G
15b70 41 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c A';....SELECT Al
15b80 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 gorithm, Request
15b90 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d , Options, Delim
15ba0 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 iter, RouteId, R
15bb0 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c outeRow, Role, L
15bc0 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 inkRowid, NodeFr
15bd0 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 om, NodeTo, Cost
15be0 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 , Geometry, Name
15bf0 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 ..FROM byfoot..W
15c00 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 HERE NodeFrom =
15c10 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 178731 AND NodeT
15c20 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 o = '183286,1819
15c30 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 99,184030,183882
15c40 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 ,178754';..</ver
15c50 62 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 77 batim>..If you w
15c60 69 73 68 20 74 6f 20 67 65 74 20 61 20 3c 62 3e ish to get a <b>
15c70 54 53 50 20 47 41 3c 2f 62 3e 20 73 6f 6c 75 74 TSP GA</b> solut
15c80 69 6f 6e 20 79 6f 75 20 73 69 6d 70 6c 65 20 68 ion you simple h
15c90 61 76 65 20 74 6f 20 73 65 74 20 3c 62 3e 52 65 ave to set <b>Re
15ca0 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e quest</b> as <b>
15cb0 54 53 50 20 47 41 3c 2f 62 3e 3b 20 61 6e 64 20 TSP GA</b>; and
15cc0 79 6f 75 20 63 61 6e 20 73 65 74 20 61 67 61 69 you can set agai
15cd0 6e 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e n <b>Request</b>
15ce0 20 61 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 6f as <b>TSP</b> o
15cf0 72 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 r <b>TSP NN</b>
15d00 74 6f 20 72 65 76 65 72 74 20 62 61 63 6b 20 74 to revert back t
15d10 6f 20 74 68 65 20 73 69 6d 70 6c 65 72 20 2f 20 o the simpler /
15d20 66 61 73 74 65 72 20 61 6c 67 6f 72 69 74 68 6d faster algorithm
15d30 2e 0d 0a 3c 62 72 3e 0d 0a 41 6c 73 6f 20 69 6e ...<br>..Also in
15d40 20 74 68 65 20 63 61 73 65 20 6f 66 20 54 53 50 the case of TSP
15d50 20 79 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 61 you can eventua
15d60 6c 6c 79 20 61 63 74 69 76 61 74 65 20 74 68 65 lly activate the
15d70 20 75 73 75 61 6c 20 3c 62 3e 4f 70 74 69 6f 6e usual <b>Option
15d80 73 3c 2f 62 3e 20 61 6c 72 65 61 64 79 20 65 78 s</b> already ex
15d90 70 6c 61 69 6e 65 64 20 69 6e 20 74 68 65 20 53 plained in the S
15da0 68 6f 72 74 65 73 74 50 61 74 68 20 65 78 61 6d hortestPath exam
15db0 70 6c 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f ples.<br>..<u>No
15dc0 74 65 3c 2f 75 3e 3a 54 53 50 20 70 72 6f 62 6c te</u>:TSP probl
15dd0 65 6d 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 ems will always
15de0 69 6d 70 6c 79 20 75 73 69 6e 67 20 74 68 65 20 imply using the
15df0 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 <b>Dijkstra's</b
15e00 3e 20 61 6c 67 6f 72 69 74 68 6d 2c 20 65 76 65 > algorithm, eve
15e10 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72 n when the alter
15e20 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e native <b>A*</b>
15e30 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75 algorithm is cu
15e40 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 rrently selected
15e50 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 ...<verbatim>..U
15e60 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 PDATE byfoot SET
15e70 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 27 Request = 'TSP'
15e80 2c 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 , Options = 'NO
15e90 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 LINKS';....SELEC
15ea0 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 T Algorithm, Req
15eb0 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 uest, Options, D
15ec0 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 elimiter, RouteI
15ed0 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c d, RouteRow, Rol
15ee0 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f e, LinkRowid, No
15ef0 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 deFrom, NodeTo,
15f00 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 Cost, Geometry,
15f10 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f Name..FROM byfoo
15f20 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f t..WHERE NodeFro
15f30 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e m = 178731 AND N
15f40 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c odeTo = '183286,
15f50 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 181999,184030,18
15f60 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 3882,178754';..<
15f70 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 /verbatim>..The
15f80 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 following table
15f90 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 shows the result
15fa0 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 set returned by
15fb0 74 68 65 20 73 61 6d 65 20 54 53 50 20 71 75 65 the same TSP que
15fc0 72 79 20 75 73 65 64 20 69 6e 20 74 68 65 20 70 ry used in the p
15fd0 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 revious example
15fe0 61 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74 after enabling t
15ff0 68 65 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f he <b>NO LINKS</
16000 62 3e 20 6f 70 74 69 6f 6e 2e 20 3c 62 72 3e 3c b> option. <br><
16010 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 br>..<table bord
16020 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 er="1" bgcolor="
16030 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 #ffffcf" cellspa
16040 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 cing="4" cellpad
16050 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c ding="6">..<tr><
16060 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
16070 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 0a0">Algorithm</
16080 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
16090 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 #d0d0a0">Request
160a0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
160b0 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f ="#d0d0a0">Optio
160c0 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ns</th><th bgcol
160d0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c or="#d0d0a0">Del
160e0 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 imiter</th><th b
160f0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
16100 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 >RouteId</th><th
16110 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
16120 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 0">RouteRow</th>
16130 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
16140 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c d0a0">Role</th><
16150 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
16160 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 0a0">LinkRowid</
16170 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
16180 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f #d0d0a0">NodeFro
16190 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f m</th><th bgcolo
161a0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
161b0 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c To</th><th bgcol
161c0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 or="#d0d0a0">Cos
161d0 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
161e0 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d r="#d0d0a0">Geom
161f0 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 etry</th><th bgc
16200 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
16210 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c ame</th></tr>..<
16220 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 tr>..<td>Dijkstr
16230 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e a</td><td>TSP NN
16240 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b </td><td>No Link
16250 73 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 s</td><td>, [
16260 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 ;dec=44, hex=2c&
16270 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 #93;</td><td ali
16280 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
16290 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
162a0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 t">0</td><td>TSP
162b0 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 Solution</td><t
162c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
162d0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
162e0 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
162f0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
16300 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
16310 72 69 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39 right">1254.4339
16320 33 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 33</td><td>BLOB
16330 73 7a 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59 sz=2000 GEOMETRY
16340 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
16350 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
16360 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
16370 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
16380 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
16390 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
163a0 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">1</td><td alig
163b0 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
163c0 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
163d0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
163e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
163f0 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
16400 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 n="right">184030
16410 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
16420 72 69 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 right">176.36475
16430 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 5</td><td>BLOB s
16440 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f z=304 GEOMETRY</
16450 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
16460 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
16470 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
16480 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
16490 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 L</td><td>NULL<t
164a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
164b0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
164c0 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
164d0 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
164e0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
164f0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 gn="right">18403
16500 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
16510 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f "right">181999</
16520 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
16530 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33 38 3c ght">139.114938<
16540 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
16550 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 496 GEOMETRY</td
16560 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
16570 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
16580 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
16590 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
165a0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
165b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
165c0 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">3</td><td ali
165d0 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
165e0 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c ><td>Route</td><
165f0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
16600 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
16610 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1999</td><td ali
16620 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 gn="right">18328
16630 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
16640 22 72 69 67 68 74 22 3e 32 31 37 2e 36 37 32 38 "right">217.6728
16650 38 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 85</td><td>BLOB
16660 73 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 3c sz=688 GEOMETRY<
16670 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
16680 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
16690 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
166a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
166b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
166c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
166d0 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 ight">4</td><td
166e0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
166f0 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 /td><td>Route</t
16700 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
16710 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16720 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
16730 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
16740 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8754</td><td ali
16750 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 gn="right">378.3
16760 31 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 13684</td><td>BL
16770 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 OB sz=272 GEOMET
16780 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c RY</td><td>NULL<
16790 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
167a0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
167b0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
167c0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
167d0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
167e0 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c ="right">5</td><
167f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16800 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
16810 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
16820 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
16830 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c ht">178754</td><
16840 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16850 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 >183882</td><td
16860 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
16870 38 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 8.216831</td><td
16880 3e 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f >BLOB sz=400 GEO
16890 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 METRY</td><td>NU
168a0 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
168b0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
168c0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
168d0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
168e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
168f0 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 ign="right">6</t
16900 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
16910 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
16920 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
16930 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
16940 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 right">183882</t
16950 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
16960 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
16970 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16980 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e >154.750839</td>
16990 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 <td>BLOB sz=240
169a0 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 GEOMETRY</td><td
169b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
169c0 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 >..</table>..<br
169d0 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d ><br><br>..The m
169e0 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63 ap below graphic
169f0 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 70 ally shows the p
16a00 72 65 76 69 6f 75 73 20 3c 62 3e 54 53 50 3c 2f revious <b>TSP</
16a10 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 b> queries...<br
16a20 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d ><br>..<img src=
16a30 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
16a40 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
16a50 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f ns/routing-figs/
16a60 74 73 70 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 tsp1.jpg" alt="f
16a70 69 67 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 ig4">..<ul>..<li
16a80 3e 52 65 64 20 73 74 61 72 3a 20 74 68 65 20 3c >Red star: the <
16a90 75 3e 3c 69 3e 62 61 73 65 2d 63 69 74 79 3c 2f u><i>base-city</
16aa0 69 3e 3c 2f 75 3e 20 28 66 72 6f 6d 20 77 68 65 i></u> (from whe
16ab0 72 65 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c re the <u><i>sal
16ac0 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 62 esman</i></u>) b
16ad0 65 67 69 6e 73 20 68 69 73 2f 68 65 72 20 74 72 egins his/her tr
16ae0 69 70 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 ip.</li>..<li>Gr
16af0 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 3c 75 een dots: the <u
16b00 3e 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 3c 2f ><i>cities</i></
16b10 75 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 u> to be visited
16b20 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c .</li>..<li>Yell
16b30 6f 77 20 6c 69 6e 65 3a 20 74 68 65 20 54 53 50 ow line: the TSP
16b40 20 73 6f 6c 75 74 69 6f 6e 20 28 74 68 61 74 20 solution (that
16b50 69 73 20 61 6c 77 61 79 73 20 61 20 63 69 72 63 is always a circ
16b60 75 6c 61 72 20 70 61 74 68 29 2e 3c 2f 6c 69 3e ular path).</li>
16b70 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 ..</ul><br>..<ta
16b80 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 ble bgcolor="#ff
16b90 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e b060" cellspacin
16ba0 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 g="10" cellpaddi
16bb0 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d ng="6"><tr><td>.
16bc0 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f .<h3>Warning: ho
16bd0 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 68 w to correctly h
16be0 61 6e 64 6c 69 6e 67 20 54 53 50 20 72 65 73 75 andling TSP resu
16bf0 6c 74 73 65 74 73 20 77 69 74 68 20 73 70 61 74 ltsets with spat
16c00 69 61 6c 69 74 65 5f 67 75 69 3c 2f 68 33 3e 0d ialite_gui</h3>.
16c10 0a 59 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 65 .You should neve
16c20 72 20 66 6f 72 67 65 74 20 6f 72 20 6f 76 65 72 r forget or over
16c30 6c 6f 6f 6b 20 74 68 61 74 20 62 6f 74 68 20 3c look that both <
16c40 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 61 6e 64 b>TSP NN</b> and
16c50 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 61 <b>TSP GA</b> a
16c60 72 65 20 3c 75 3e 3c 69 3e 68 65 75 72 69 73 74 re <u><i>heurist
16c70 69 63 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 69 ic algorithms</i
16c80 3e 3c 2f 75 3e 20 68 65 61 76 69 6c 79 20 72 65 ></u> heavily re
16c90 6c 79 69 6e 67 20 6f 6e 20 3c 75 3e 3c 69 3e 72 lying on <u><i>r
16ca0 61 6e 64 6f 6d 3c 69 3e 3c 2f 75 3e 20 63 68 6f andom<i></u> cho
16cb0 69 63 65 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 ices.<br>..This
16cc0 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 68 61 76 could easily hav
16cd0 65 20 74 68 65 20 70 72 61 63 74 69 63 61 6c 20 e the practical
16ce0 63 6f 6e 73 65 71 75 65 6e 63 65 20 74 68 61 74 consequence that
16cf0 20 72 65 73 6f 6c 76 69 6e 67 20 74 77 69 63 65 resolving twice
16d00 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20 74 (or even more t
16d10 69 6d 65 73 29 20 74 68 65 20 73 61 6d 65 20 69 imes) the same i
16d20 64 65 6e 74 69 63 61 6c 20 54 53 50 20 71 75 65 dentical TSP que
16d30 72 79 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 ry could eventua
16d40 6c 6c 79 20 72 65 74 75 72 6e 20 64 69 66 66 65 lly return diffe
16d50 72 65 6e 74 20 72 65 73 75 6c 74 73 65 74 73 2e rent resultsets.
16d60 3c 62 72 3e 0d 0a 54 68 65 72 65 20 69 73 20 6e <br>..There is n
16d70 6f 74 68 69 6e 67 20 69 6e 74 72 69 6e 73 69 63 othing intrinsic
16d80 61 6c 6c 79 20 77 72 6f 6e 67 20 69 6e 20 74 68 ally wrong in th
16d90 69 73 2c 20 69 74 20 73 69 6d 70 6c 79 20 69 73 is, it simply is
16da0 20 61 20 64 69 72 65 63 74 20 63 6f 6e 73 65 71 a direct conseq
16db0 75 65 6e 63 65 20 6f 66 20 75 73 69 6e 67 20 3c uence of using <
16dc0 75 3e 3c 69 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c u><i>randomness<
16dd0 2f 69 3e 3c 2f 75 3e 3b 20 77 65 20 61 72 65 20 /i></u>; we are
16de0 73 69 6d 70 6c 79 20 62 61 72 67 61 69 6e 69 6e simply bargainin
16df0 67 20 3c 62 3e 65 78 61 63 74 6e 65 73 73 3c 2f g <b>exactness</
16e00 62 3e 20 61 6e 64 20 3c 62 3e 72 65 70 72 6f 64 b> and <b>reprod
16e10 75 63 69 62 69 6c 69 74 79 3c 2f 62 3e 20 66 6f ucibility</b> fo
16e20 72 20 3c 62 3e 71 75 69 63 6b 6e 65 73 73 3c 2f r <b>quickness</
16e30 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e b>.<br><br>..<b>
16e40 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f spatialite_gui</
16e50 62 3e 20 6f 6e 20 69 74 73 20 6f 77 6e 20 61 64 b> on its own ad
16e60 6f 70 74 73 20 61 20 3c 62 3e 70 61 67 65 64 20 opts a <b>paged
16e70 73 74 72 61 74 65 67 79 3c 2f 62 3e 20 77 68 65 strategy</b> whe
16e80 6e 20 73 68 6f 77 69 6e 67 20 68 75 67 65 20 72 n showing huge r
16e90 65 73 75 6c 74 73 65 74 73 3b 20 74 68 69 73 20 esultsets; this
16ea0 72 65 71 75 69 72 65 73 20 72 65 70 65 61 74 69 requires repeati
16eb0 6e 67 20 74 68 65 20 69 6e 69 74 69 61 6c 20 53 ng the initial S
16ec0 51 4c 20 71 75 65 72 79 20 65 61 63 68 20 74 69 QL query each ti
16ed0 6d 65 20 74 68 61 74 20 61 20 3c 62 3e 6e 65 77 me that a <b>new
16ee0 20 70 61 67 65 20 6f 66 20 35 30 30 20 72 6f 77 page of 500 row
16ef0 73 3c 2f 62 3e 20 68 61 73 20 74 6f 20 62 65 20 s</b> has to be
16f00 73 68 6f 77 6e 20 6f 6e 20 74 68 65 20 63 75 72 shown on the cur
16f10 72 65 6e 74 20 77 69 6e 64 6f 77 20 70 61 6e 65 rent window pane
16f20 6c 2e 3c 62 72 3e 0d 0a 54 68 65 20 74 77 6f 20 l.<br>..The two
16f30 74 68 69 6e 67 73 20 64 6f 6e 27 74 20 67 6f 20 things don't go
16f40 74 6f 67 65 74 68 65 72 20 77 65 6c 6c 3b 20 73 together well; s
16f50 6f 20 64 6f 6e 27 74 20 62 65 20 73 75 72 70 72 o don't be surpr
16f60 69 73 65 64 20 77 68 65 6e 20 65 76 65 6e 74 75 ised when eventu
16f70 61 6c 6c 79 20 64 69 73 63 6f 76 65 72 69 6e 67 ally discovering
16f80 20 74 68 61 74 20 3c 62 3e 73 70 61 74 69 61 6c that <b>spatial
16f90 69 74 65 5f 67 75 69 3c 2f 62 3e 20 77 69 6c 6c ite_gui</b> will
16fa0 20 62 65 68 61 76 65 20 62 69 7a 61 72 72 65 6c behave bizarrel
16fb0 79 20 77 68 69 6c 65 20 70 72 65 73 65 6e 74 69 y while presenti
16fc0 6e 67 20 73 6f 6d 65 20 72 65 73 75 6c 74 73 65 ng some resultse
16fd0 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 61 20 t returned by a
16fe0 54 53 50 20 71 75 65 72 79 2e 20 0d 0a 3c 76 65 TSP query. ..<ve
16ff0 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 rbatim>..UPDATE
17000 62 79 66 6f 6f 74 20 53 45 54 20 52 65 71 75 65 byfoot SET Reque
17010 73 74 20 3d 20 27 54 53 50 27 3b 0d 0a 0d 0a 43 st = 'TSP';....C
17020 52 45 41 54 45 20 54 41 42 4c 45 20 6d 79 5f 74 REATE TABLE my_t
17030 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 41 53 0d 0a sp_solution AS..
17040 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d SELECT Algorithm
17050 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f , Request, Optio
17060 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 ns, Delimiter, R
17070 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 outeId, RouteRow
17080 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 , Role, LinkRowi
17090 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 d, NodeFrom, Nod
170a0 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 eTo, Cost, Geome
170b0 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 try, Name..FROM
170c0 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f byfoot..WHERE No
170d0 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 deFrom = 178731
170e0 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 AND NodeTo = '18
170f0 33 32 38 36 2c 31 38 31 39 39 39 2c 31 38 34 30 3286,181999,1840
17100 33 30 2c 31 38 33 38 38 32 2c 31 37 38 37 35 34 30,183882,178754
17110 27 3b 0d 0a 0d 0a 2e 2e 2e 20 20 3c 6e 6f 77 20 ';....... <now
17120 71 75 65 72 79 20 22 6d 79 5f 74 73 70 5f 73 6f query "my_tsp_so
17130 6c 75 74 69 6f 6e 22 20 75 73 69 6e 67 20 73 70 lution" using sp
17140 61 74 69 61 6c 69 74 65 5f 67 75 69 3e 20 20 2e atialite_gui> .
17150 2e 2e 0d 0a 0d 0a 44 52 4f 50 20 54 41 42 4c 45 ......DROP TABLE
17160 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e my_tsp_solution
17170 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a ;..</verbatim>..
17180 3c 75 3e 48 69 6e 74 3c 2f 75 3e 3a 20 72 65 73 <u>Hint</u>: res
17190 6f 6c 76 69 6e 67 20 74 68 69 73 20 70 75 7a 7a olving this puzz
171a0 6c 69 6e 67 20 69 73 73 75 65 20 69 73 20 68 6f ling issue is ho
171b0 77 65 76 65 72 20 62 61 73 69 63 61 6c 6c 79 20 wever basically
171c0 73 69 6d 70 6c 65 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c simple:..<ol>..<
171d0 6c 69 3e 79 6f 75 20 73 69 6d 70 6c 79 20 68 61 li>you simply ha
171e0 76 65 20 74 6f 20 74 61 6b 65 20 61 20 3c 62 3e ve to take a <b>
171f0 73 74 61 74 69 63 20 73 6e 61 70 73 68 6f 74 3c static snapshot<
17200 2f 62 3e 20 6f 66 20 79 6f 75 72 20 54 53 50 20 /b> of your TSP
17210 72 65 73 75 6c 74 73 65 74 20 62 79 20 75 73 69 resultset by usi
17220 6e 67 20 74 68 65 20 3c 62 3e 43 52 45 41 54 45 ng the <b>CREATE
17230 20 54 41 42 4c 45 20 3c 69 3e 6e 61 6d 65 3c 2f TABLE <i>name</
17240 69 3e 20 41 53 20 3c 69 3e 54 53 50 20 71 75 65 i> AS <i>TSP que
17250 72 79 3c 69 3e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d ry<i></b>.</li>.
17260 0a 3c 6c 69 3e 74 68 65 6e 20 79 6f 75 20 63 61 .<li>then you ca
17270 6e 20 66 72 65 65 6c 79 20 65 78 61 6d 69 6e 65 n freely examine
17280 20 74 68 65 20 61 62 6f 76 65 20 73 6e 61 70 73 the above snaps
17290 68 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 hot.</li>..<li>a
172a0 6e 64 20 66 69 6e 61 6c 6c 79 20 79 6f 75 20 63 nd finally you c
172b0 61 6e 20 64 75 6c 79 20 3c 62 3e 44 52 4f 50 3c an duly <b>DROP<
172c0 2f 62 3e 20 74 68 65 20 73 6e 61 70 73 68 6f 74 /b> the snapshot
172d0 20 6f 6e 63 65 20 69 74 27 73 20 6e 6f 20 6c 6f once it's no lo
172e0 6e 67 65 72 20 75 73 65 66 75 6c 2e 3c 2f 6c 69 nger useful.</li
172f0 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c >..</ol>..</td><
17300 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a /tr>..</table>..
17310 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 <br>..<table bgc
17320 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 olor="#c0ffc0" c
17330 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 ellspacing="10"
17340 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
17350 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 4d 6f <tr><td>..<h3>Mo
17360 72 65 20 61 62 6f 75 74 20 4c 69 6e 65 61 72 20 re about Linear
17370 52 65 66 65 72 65 6e 63 69 6e 67 20 61 6e 64 20 Referencing and
17380 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 4c VirtualRouting L
17390 69 6e 65 73 74 72 69 6e 67 73 3c 2f 68 33 3e 20 inestrings</h3>
173a0 0d 0a 59 6f 75 20 68 61 76 65 20 61 6c 72 65 61 ..You have alrea
173b0 64 79 20 73 65 65 6e 20 69 6e 20 61 20 70 72 65 dy seen in a pre
173c0 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 74 68 vious example th
173d0 61 74 20 61 6c 6c 20 4c 49 4e 45 53 54 52 49 4e at all LINESTRIN
173e0 47 73 20 63 72 65 61 74 65 64 20 62 79 20 56 69 Gs created by Vi
173f0 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 73 75 70 rtualRouting sup
17400 70 6f 72 74 20 74 68 65 20 3c 62 3e 4d 3c 2f 62 port the <b>M</b
17410 3e 20 28 3c 62 3e 3c 69 3e 6d 65 61 73 75 72 65 > (<b><i>measure
17420 3c 2f 69 3e 3c 2f 62 3e 29 20 63 6f 6f 72 64 69 </i></b>) coordi
17430 6e 61 74 65 20 69 6e 74 65 6e 64 65 64 20 61 73 nate intended as
17440 20 61 20 3c 62 3e 70 72 6f 67 72 65 73 73 69 76 a <b>progressiv
17450 65 20 63 6f 73 74 3c 2f 62 3e 20 66 6f 72 20 65 e cost</b> for e
17460 61 63 68 20 76 65 72 74 65 78 2e 20 41 6e 64 20 ach vertex. And
17470 79 6f 75 20 61 6c 72 65 61 64 79 20 6b 6e 6f 77 you already know
17480 20 74 68 65 20 74 68 65 79 20 63 61 6e 20 73 75 the they can su
17490 70 70 6f 72 74 20 3c 62 3e 3c 69 3e 6c 69 6e 65 pport <b><i>line
174a0 61 72 20 72 65 66 65 72 65 6e 63 69 6e 67 3c 2f ar referencing</
174b0 69 3e 3c 2f 62 3e 20 28 3c 62 3e 4c 52 3c 2f 62 i></b> (<b>LR</b
174c0 3e 29 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73 >) SQL functions
174d0 2e 3c 62 72 3e 0d 0a 4e 6f 77 20 6c 65 74 27 73 .<br>..Now let's
174e0 20 64 69 67 20 69 6e 20 66 75 72 74 68 65 72 2e dig in further.
174f0 0d 0a 3c 68 33 3e 54 72 61 6a 65 63 74 6f 72 79 ..<h3>Trajectory
17500 20 6f 62 6a 65 63 74 73 3c 2f 68 33 3e 0d 0a 41 objects</h3>..A
17510 20 3c 62 3e 54 72 61 6a 65 63 74 6f 72 79 3c 2f <b>Trajectory</
17520 62 3e 20 69 73 20 61 6e 79 20 4c 69 6e 65 73 74 b> is any Linest
17530 72 69 6e 67 20 73 75 70 70 6f 72 74 69 6e 67 20 ring supporting
17540 3c 62 3e 4d 20 63 6f 6f 72 64 69 6e 61 74 65 73 <b>M coordinates
17550 3c 2f 62 3e 20 77 69 74 68 20 61 20 63 6f 6e 74 </b> with a cont
17560 69 6e 75 6f 75 73 6c 79 20 69 6e 63 72 65 61 73 inuously increas
17570 69 6e 67 20 74 72 65 6e 64 2e 3c 62 72 3e 0d 0a ing trend.<br>..
17580 49 6e 20 73 69 6d 70 6c 65 72 20 77 6f 72 64 73 In simpler words
17590 2c 20 74 68 65 20 3c 62 3e 4d 2d 76 61 6c 75 65 , the <b>M-value
175a0 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 76 65 72 </b> of each ver
175b0 74 65 78 20 28 65 78 63 65 70 74 20 74 68 65 20 tex (except the
175c0 6c 61 73 74 20 6f 6e 65 29 20 6d 75 73 74 20 62 last one) must b
175d0 65 20 3c 62 3e 6c 65 73 73 65 72 3c 2f 62 3e 20 e <b>lesser</b>
175e0 74 68 61 6e 20 74 68 65 20 4d 2d 56 61 6c 75 65 than the M-Value
175f0 20 6f 66 20 74 68 65 20 6e 65 78 74 20 76 65 72 of the next ver
17600 74 65 78 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e tex...<verbatim>
17610 0d 0a 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 ..SELECT * FROM
17620 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 my_tsp_solution
17630 57 48 45 52 45 20 53 54 5f 49 73 56 61 6c 69 64 WHERE ST_IsValid
17640 54 72 61 6a 65 63 74 6f 72 79 28 67 65 6f 6d 65 Trajectory(geome
17650 74 72 79 29 20 3d 20 31 3b 0d 0a 2d 2d 2d 2d 2d try) = 1;..-----
17660 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
17670 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 1..</verbatim>..
17680 41 73 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c As you can easil
17690 79 20 63 68 65 63 6b 20 62 79 20 63 61 6c 6c 69 y check by calli
176a0 6e 67 20 3c 62 3e 53 54 5f 49 73 56 61 6c 69 64 ng <b>ST_IsValid
176b0 54 72 61 6a 65 63 74 6f 72 79 28 29 3c 2f 62 3e Trajectory()</b>
176c0 20 65 76 65 72 79 20 4c 69 6e 65 73 74 72 69 6e every Linestrin
176d0 67 20 63 72 65 61 74 65 64 20 62 79 20 56 69 72 g created by Vir
176e0 74 75 61 6c 52 6f 75 74 69 6e 67 20 69 73 20 61 tualRouting is a
176f0 20 3c 62 3e 76 61 6c 69 64 20 54 72 61 6a 65 63 <b>valid Trajec
17700 74 6f 72 79 3c 2f 62 3e 2e 0d 0a 3c 76 65 72 62 tory</b>...<verb
17710 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 54 atim>..SELECT ST
17720 5f 54 72 61 6a 65 63 74 6f 72 79 49 6e 74 65 72 _TrajectoryInter
17730 70 6f 6c 61 74 65 50 6f 69 6e 74 28 47 65 6f 6d polatePoint(Geom
17740 65 74 72 79 2c 20 31 30 30 2e 30 29 0d 0a 46 52 etry, 100.0)..FR
17750 4f 4d 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 OM my_tsp_soluti
17760 6f 6e 0d 0a 57 48 45 52 45 20 52 6f 75 74 65 49 on..WHERE RouteI
17770 64 20 3d 20 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 d = 0;..</verbat
17780 69 6d 3e 0d 0a 53 6f 20 79 6f 75 20 6a 75 73 74 im>..So you just
17790 20 68 61 76 65 20 74 6f 20 63 61 6c 6c 20 3c 62 have to call <b
177a0 3e 53 54 5f 54 72 61 6a 65 63 74 6f 72 79 49 6e >ST_TrajectoryIn
177b0 74 65 72 70 6f 6c 61 74 65 50 6f 69 6e 74 28 29 terpolatePoint()
177c0 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f </b> in order to
177d0 20 63 72 65 61 74 65 20 61 20 50 4f 49 4e 54 20 create a POINT
177e0 70 72 65 63 69 73 65 6c 79 20 6c 6f 63 61 74 65 precisely locate
177f0 64 20 6f 6e 20 74 68 65 20 4c 69 6e 65 73 74 72 d on the Linestr
17800 69 6e 67 20 61 74 20 74 68 65 20 67 69 76 65 6e ing at the given
17810 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 2e 0d 0a 3c <b>cost</b>...<
17820 62 72 3e 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e 3c br><br><hr><br><
17830 62 72 3e 0d 0a 54 68 65 20 73 69 64 65 20 6d 61 br>..The side ma
17840 70 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 p graphically sh
17850 6f 77 73 20 74 68 65 20 65 73 74 69 6d 61 74 65 ows the estimate
17860 64 20 70 6f 73 69 74 69 6f 6e 73 20 65 76 65 72 d positions ever
17870 79 20 31 30 30 6d 20 61 73 73 75 6d 69 6e 67 20 y 100m assuming
17880 74 68 65 20 73 61 6d 65 20 70 61 74 68 20 72 65 the same path re
17890 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 6c 61 turned by the la
178a0 74 65 73 74 20 54 53 50 20 71 75 65 72 79 2e 0d test TSP query..
178b0 0a 3c 2f 74 64 3e 3c 74 64 3e 20 20 20 20 20 20 .</td><td>
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 20 20 20
1fe70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1feb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ffa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ffb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ffc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ffd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ffe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20000 20 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 ..<img src="htt
20010 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 ps://www.gaia-gi
20020 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 s.it/gaia-sins/r
20030 6f 75 74 69 6e 67 2d 66 69 67 73 2f 74 73 70 32 outing-figs/tsp2
20040 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 35 22 .jpg" alt="fig5"
20050 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 >..</td></tr></t
20060 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d able>..<br><br>.
20070 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c .<hr><br>..<h1><
20080 61 20 6e 61 6d 65 3d 22 70 32 70 22 3e 38 20 2d a name="p2p">8 -
20090 20 53 6f 6c 76 69 6e 67 20 50 6f 69 6e 74 2d 74 Solving Point-t
200a0 6f 2d 50 6f 69 6e 74 20 70 72 6f 62 6c 65 6d 73 o-Point problems
200b0 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 20 3c 62 3e </a></h1>..A <b>
200c0 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f Point-to-Point</
200d0 62 3e 20 71 75 65 72 79 20 69 73 20 76 65 72 79 b> query is very
200e0 20 73 69 6d 69 6c 61 72 20 74 6f 20 61 20 6d 6f similar to a mo
200f0 73 74 20 75 73 75 61 6c 20 3c 62 3e 73 69 6e 67 st usual <b>sing
20100 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 le-destination S
20110 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 62 3e hortest Path</b>
20120 20 71 75 65 72 79 2c 20 65 78 63 65 70 74 20 74 query, except t
20130 68 61 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e hat:..<ul>..<li>
20140 41 20 63 6c 61 73 73 69 63 20 53 68 6f 72 74 65 A classic Shorte
20150 73 74 20 50 61 74 68 20 71 75 65 72 79 20 72 65 st Path query re
20160 71 75 69 72 65 73 20 74 6f 20 73 70 65 63 69 66 quires to specif
20170 79 20 61 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c y a <b>NodeFrom<
20180 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 /b> (<u><i>origi
20190 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 n</i></u>) and a
201a0 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 28 <b>NodeTo</b> (
201b0 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f <u><i>destinatio
201c0 6e 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c 2f 6c 69 3e n</i></u>).</li>
201d0 0d 0a 3c 6c 69 3e 41 20 50 6f 69 6e 74 2d 74 6f ..<li>A Point-to
201e0 2d 50 6f 69 6e 74 20 71 75 65 72 79 20 68 61 73 -Point query has
201f0 20 61 20 6d 6f 72 65 20 72 65 6c 61 78 65 64 20 a more relaxed
20200 72 65 71 75 69 72 65 6d 65 6e 74 2c 20 61 6e 64 requirement, and
20210 20 6a 75 73 74 20 72 65 71 75 69 72 65 73 20 74 just requires t
20220 6f 20 73 70 65 63 69 66 79 20 61 20 3c 62 3e 50 o specify a <b>P
20230 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 28 3c 75 ointFrom</b> (<u
20240 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c 2f ><i>origin</i></
20250 75 3e 29 20 61 6e 64 20 61 20 3c 62 3e 50 6f 69 u>) and a <b>Poi
20260 6e 74 54 6f 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e ntTo</b> (<u><i>
20270 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c destination</i><
20280 2f 75 3e 29 2e 3c 62 72 3e 0d 0a 42 6f 74 68 20 /u>).<br>..Both
20290 3c 62 3e 50 6f 69 6e 74 73 3c 2f 62 3e 20 63 61 <b>Points</b> ca
202a0 6e 20 62 65 20 66 72 65 65 6c 79 20 70 6f 73 69 n be freely posi
202b0 74 69 6f 6e 65 64 20 65 76 65 72 79 77 68 65 72 tioned everywher
202c0 65 20 6f 6e 20 61 20 6d 61 70 2c 20 61 6e 64 20 e on a map, and
202d0 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 65 64 are not required
202e0 20 74 6f 20 70 72 65 63 69 73 65 6c 79 20 69 6e to precisely in
202f0 74 65 72 73 65 63 74 20 65 69 74 68 65 72 20 61 tersect either a
20300 20 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 20 6e 6f 72 <b>Node</b> nor
20310 20 61 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 6f a <b>Link</b> o
20320 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e f the underlayin
20330 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a g Network.<br>..
20340 54 68 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 The Point-to-Poi
20350 6e 74 27 73 20 3c 75 3e 3c 69 3e 69 6e 74 65 72 nt's <u><i>inter
20360 6e 61 6c 20 6c 6f 67 69 63 3c 2f 69 3e 3c 2f 75 nal logic</i></u
20370 3e 20 77 69 6c 6c 20 74 68 65 6e 20 61 75 74 6f > will then auto
20380 6d 61 74 69 63 61 6c 6c 79 20 69 64 65 6e 74 69 matically identi
20390 66 79 20 28 69 66 20 70 6f 73 73 69 62 6c 65 29 fy (if possible)
203a0 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 the appropriate
203b0 20 4e 6f 64 65 73 20 66 6f 72 20 63 6f 6d 70 75 Nodes for compu
203c0 74 69 6e 67 20 61 20 53 68 6f 72 74 65 73 74 20 ting a Shortest
203d0 50 61 74 68 20 73 6f 6c 75 74 69 6f 6e 2e 3c 62 Path solution.<b
203e0 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a r>..<u>Note</u>:
203f0 20 74 68 65 20 74 77 6f 20 50 6f 69 6e 74 73 20 the two Points
20400 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20 62 65 20 69 <b>must</b> be i
20410 6e 20 74 68 65 20 73 61 6d 65 20 3c 62 3e 53 52 n the same <b>SR
20420 49 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20 75 6e ID</b> of the un
20430 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 derlaying Networ
20440 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a k.</li>..</ul>..
20450 3c 68 33 3e 48 6f 77 20 69 74 20 77 6f 72 6b 73 <h3>How it works
20460 20 69 6e 20 70 72 61 63 74 69 63 65 3c 2f 68 33 in practice</h3
20470 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 61 20 66 >..<ol>..<li>a f
20480 69 72 73 74 20 3c 75 3e 3c 69 3e 73 70 61 74 69 irst <u><i>spati
20490 61 6c 20 73 65 61 72 63 68 3c 2f 69 3e 3c 2f 75 al search</i></u
204a0 3e 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 3c > based on the <
204b0 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 b>PointFrom</b>
204c0 77 69 6c 6c 20 61 74 74 65 6d 70 74 20 74 6f 20 will attempt to
204d0 69 64 65 6e 74 69 66 79 20 61 6c 6c 20 3c 62 3e identify all <b>
204e0 4c 69 6e 6b 73 3c 2f 62 3e 20 66 61 6c 6c 69 6e Links</b> fallin
204f0 67 20 77 69 74 68 69 6e 20 61 20 67 69 76 65 6e g within a given
20500 20 3c 62 3e 74 6f 6c 65 72 61 6e 63 65 20 72 61 <b>tolerance ra
20510 64 69 75 73 3c 2f 62 3e 20 66 72 6f 6d 20 74 68 dius</b> from th
20520 65 20 50 6f 69 6e 74 2e 3c 2f 6c 69 3e 0d 0a 3c e Point.</li>..<
20530 6c 69 3e 61 20 73 65 63 6f 6e 64 20 73 69 6d 69 li>a second simi
20540 6c 61 72 20 73 70 61 74 69 61 6c 20 73 65 61 72 lar spatial sear
20550 63 68 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 20 ch will attempt
20560 74 6f 20 69 64 65 6e 74 69 66 79 20 61 6c 6c 20 to identify all
20570 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 72 65 6c <b>Links</b> rel
20580 61 74 65 64 20 74 6f 20 74 68 65 20 3c 62 3e 50 ated to the <b>P
20590 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c 2f 6c 69 3e ointTo</b>.</li>
205a0 0d 0a 3c 6c 69 3e 61 6c 6c 20 3c 62 3e 4e 6f 64 ..<li>all <b>Nod
205b0 65 73 3c 2f 62 3e 20 62 65 6c 6f 6e 67 69 6e 67 es</b> belonging
205c0 20 74 6f 20 61 6e 79 20 3c 62 3e 4c 69 6e 6b 3c to any <b>Link<
205d0 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 64 20 62 /b> identified b
205e0 79 20 74 68 65 20 66 69 72 73 74 20 73 70 61 74 y the first spat
205f0 69 61 6c 20 73 65 61 72 63 68 20 77 69 6c 6c 20 ial search will
20600 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 be considered as
20610 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 4e 6f 64 possible <b>Nod
20620 65 46 72 6f 6d 20 63 61 6e 64 69 64 61 74 65 73 eFrom candidates
20630 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </b>.</li>..<li>
20640 61 6e 64 20 73 79 6d 6d 65 74 72 69 63 61 6c 6c and symmetricall
20650 79 2c 20 61 6c 6c 20 3c 62 3e 4e 6f 64 65 73 3c y, all <b>Nodes<
20660 2f 62 3e 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f /b> belonging to
20670 20 61 6e 79 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e any <b>Link</b>
20680 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 74 identified by t
20690 68 65 20 73 65 63 6f 6e 64 20 73 70 61 74 69 61 he second spatia
206a0 6c 20 73 65 61 72 63 68 20 77 69 6c 6c 20 62 65 l search will be
206b0 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 70 considered as p
206c0 6f 73 73 69 62 6c 65 20 3c 62 3e 4e 6f 64 65 54 ossible <b>NodeT
206d0 6f 20 63 61 6e 64 69 64 61 74 65 73 3c 2f 62 3e o candidates</b>
206e0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 66 75 .</li>..<li>a fu
206f0 6c 6c 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 6f ll permutation o
20700 66 20 61 6c 6c 20 53 68 6f 72 74 65 73 74 20 50 f all Shortest P
20710 61 74 68 20 73 6f 6c 75 74 69 6f 6e 73 20 63 6f ath solutions co
20720 6e 6e 65 63 74 69 6e 67 20 6f 6e 65 20 74 68 65 nnecting one the
20730 20 46 72 6f 6d 20 63 61 6e 64 69 64 61 74 65 73 From candidates
20740 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 54 to one of the T
20750 6f 20 63 61 6e 64 69 64 61 74 65 73 20 77 69 6c o candidates wil
20760 6c 20 62 65 20 74 68 65 6e 20 63 6f 6d 70 75 74 l be then comput
20770 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6e ed.</li>..<li>an
20780 64 20 66 69 6e 61 6c 6c 79 20 74 68 65 20 3c 62 d finally the <b
20790 3e 6f 70 74 69 6d 61 6c 20 50 6f 69 6e 74 2d 74 >optimal Point-t
207a0 6f 2d 50 6f 69 6e 74 20 73 6f 6c 75 74 69 6f 6e o-Point solution
207b0 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 73 65 6c </b> will be sel
207c0 65 63 74 65 64 20 62 79 20 69 64 65 6e 74 69 66 ected by identif
207d0 79 69 6e 67 20 77 68 69 63 68 20 73 70 65 63 69 ying which speci
207e0 66 69 63 20 63 61 6e 64 69 64 61 74 65 20 70 72 fic candidate pr
207f0 65 73 65 6e 74 73 20 74 68 65 20 3c 62 3e 6c 65 esents the <b>le
20800 73 73 65 72 20 43 6f 73 74 3c 2f 62 3e 20 6f 66 sser Cost</b> of
20810 20 74 68 65 6d 20 61 6c 6c 2e 3c 2f 6c 69 3e 0d them all.</li>.
20820 0a 3c 2f 6f 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62 .</ol><br>..<tab
20830 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 le bgcolor="#ffb
20840 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 060" cellspacing
20850 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e ="10" cellpaddin
20860 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a g="6"><tr><td>..
20870 3c 68 33 3e 42 65 20 61 77 61 72 65 3c 2f 68 33 <h3>Be aware</h3
20880 3e 0d 0a 41 74 74 65 6d 70 74 69 6e 67 20 74 6f >..Attempting to
20890 20 73 6f 6c 76 65 20 50 6f 69 6e 74 2d 74 6f 2d solve Point-to-
208a0 50 6f 69 6e 74 20 71 75 65 72 69 65 73 20 73 74 Point queries st
208b0 72 69 63 74 6c 79 20 72 65 71 75 69 72 65 73 20 rictly requires
208c0 74 68 61 74 20 61 6e 20 61 70 70 72 6f 70 72 69 that an appropri
208d0 61 74 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 49 ate <b>Spatial I
208e0 6e 64 65 78 3c 2f 62 3e 20 74 6f 20 65 66 66 65 ndex</b> to effe
208f0 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 74 20 ctively support
20900 61 6c 6c 20 4c 69 6e 6b 73 20 6f 66 20 74 68 65 all Links of the
20910 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 underlaying Net
20920 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 49 66 20 73 75 work.<br>..If su
20930 63 68 20 61 20 70 72 65 2d 72 65 71 75 69 72 65 ch a pre-require
20940 6d 65 6e 74 20 69 73 20 6e 6f 74 20 66 75 6c 66 ment is not fulf
20950 69 6c 6c 65 64 20 74 68 65 20 61 62 6f 76 65 20 illed the above
20960 6d 65 6e 74 69 6f 6e 65 64 20 3c 75 3e 3c 69 3e mentioned <u><i>
20970 73 70 61 74 69 61 6c 20 73 65 61 72 63 68 65 73 spatial searches
20980 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c 20 6d 69 </i></u> will mi
20990 73 65 72 61 62 6c 79 20 66 61 69 6c 2c 20 61 6e serably fail, an
209a0 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 61 d consequently a
209b0 6c 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e ll Point-to-Poin
209c0 74 20 71 75 65 72 69 65 73 20 77 69 6c 6c 20 62 t queries will b
209d0 65 20 75 6e 61 62 6c 65 20 74 6f 20 69 64 65 6e e unable to iden
209e0 74 69 66 79 20 61 6e 79 20 70 6f 73 73 69 62 6c tify any possibl
209f0 65 20 43 61 6e 64 69 64 61 74 65 20 74 6f 20 62 e Candidate to b
20a00 65 20 65 76 61 6c 75 61 74 65 64 2e 0d 0a 3c 68 e evaluated...<h
20a10 33 3e 41 6c 77 61 79 73 20 72 65 6d 65 6d 62 65 3>Always remembe
20a20 72 3c 2f 68 33 3e 0d 0a 43 61 72 65 66 75 6c 6c r</h3>..Carefull
20a30 79 20 63 68 65 63 6b 20 69 66 20 61 6e 20 61 70 y check if an ap
20a40 70 72 6f 70 72 69 61 74 65 20 53 70 61 74 69 61 propriate Spatia
20a50 6c 20 49 6e 64 65 78 20 61 6c 6c 72 65 61 64 79 l Index allready
20a60 20 65 78 69 73 74 73 20 62 65 66 6f 72 65 20 61 exists before a
20a70 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 65 78 65 ttempting to exe
20a80 63 75 74 65 20 61 6e 79 20 50 6f 69 6e 74 2d 74 cute any Point-t
20a90 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79 2e 0d 0a o-Point query...
20aa0 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c <br><br>..</td><
20ab0 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 /tr></table>..<b
20ac0 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c r>..<table bgcol
20ad0 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c or="#c0ffc0" cel
20ae0 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 lspacing="10" ce
20af0 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 llpadding="6"><t
20b00 72 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e r><td align="cen
20b10 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d 22 32 22 ter" colspan="2"
20b20 3e 0d 0a 3c 68 32 3e 42 61 73 69 63 20 63 6f 6e >..<h2>Basic con
20b30 63 65 70 74 73 2c 20 74 65 63 68 6e 69 63 61 6c cepts, technical
20b40 20 64 65 74 61 69 6c 73 20 61 6e 64 20 72 65 6c details and rel
20b50 61 74 65 64 20 67 6c 6f 73 73 61 72 79 3c 2f 68 ated glossary</h
20b60 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 2>..</td></tr>..
20b70 3c 74 72 3e 3c 74 64 3e 0d 0a 54 68 65 20 73 69 <tr><td>..The si
20b80 64 65 20 66 69 67 75 72 65 20 73 68 6f 77 73 20 de figure shows
20b90 61 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 50 a hypothetical P
20ba0 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f oint-to-Point so
20bb0 6c 75 74 69 6f 6e 20 61 6c 6d 6f 73 74 20 70 72 lution almost pr
20bc0 65 63 69 73 65 6c 79 20 62 61 73 65 64 20 6f 6e ecisely based on
20bd0 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 the following s
20be0 65 71 75 65 6e 63 65 20 6f 66 20 4e 6f 64 65 73 equence of Nodes
20bf0 3a 3c 62 72 3e 0d 0a 3c 62 3e 3c 69 3e 4e 31 2d :<br>..<b><i>N1-
20c00 4e 32 2d 4e 33 2d 4e 34 2d 4e 35 2d 4e 36 2d 4e N2-N3-N4-N5-N6-N
20c10 37 2d 4e 38 2d 4e 39 2d 4e 31 30 2d 4e 31 31 2d 7-N8-N9-N10-N11-
20c20 4e 31 32 2d 4e 31 33 2d 4e 31 34 2d 4e 31 35 3c N12-N13-N14-N15<
20c30 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e 3c 62 72 /i></b>..<br><br
20c40 3e 0d 0a 48 6f 77 65 76 65 72 2c 20 61 73 20 79 >..However, as y
20c50 6f 75 20 63 61 6e 20 73 65 65 2c 20 74 68 65 72 ou can see, ther
20c60 65 20 61 72 65 20 74 77 6f 20 6e 6f 74 69 63 65 e are two notice
20c70 61 62 6c 65 20 65 78 63 65 70 74 69 6f 6e 73 3a able exceptions:
20c80 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 ..<ul>..<li>The
20c90 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20 4c 69 6e <b>first</b> Lin
20ca0 6b 20 28 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 k (connecting <b
20cb0 3e 4e 31 3c 2f 62 3e 20 74 6f 20 3c 62 3e 4e 32 >N1</b> to <b>N2
20cc0 3c 2f 62 3e 29 20 69 73 20 6e 6f 74 20 63 6f 6d </b>) is not com
20cd0 70 6c 65 74 65 6c 79 20 72 65 71 75 69 72 65 64 pletely required
20ce0 20 62 79 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e by the Solution
20cf0 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 6d .<br>..Just a sm
20d00 61 6c 6c 20 70 6f 72 74 69 6f 6e 20 28 64 72 61 all portion (dra
20d10 77 6e 20 69 6e 20 72 65 64 29 20 6f 66 20 74 68 wn in red) of th
20d20 69 73 20 4c 69 6e 6b 20 69 73 20 65 66 66 65 63 is Link is effec
20d30 74 69 76 65 6c 79 20 72 65 71 75 69 72 65 64 2e tively required.
20d40 3c 62 72 3e 0d 0a 54 68 65 20 72 65 6d 61 69 6e <br>..The remain
20d50 69 6e 67 20 70 61 72 74 20 28 64 72 61 77 6e 20 ing part (drawn
20d60 69 6e 20 67 72 61 79 29 20 69 73 6e 27 74 20 63 in gray) isn't c
20d70 6f 76 65 72 65 64 20 62 79 20 74 68 65 20 53 6f overed by the So
20d80 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c lution.</li>..<l
20d90 69 3e 45 78 61 63 74 6c 79 20 74 68 65 20 73 61 i>Exactly the sa
20da0 6d 65 20 69 73 20 74 72 75 65 20 66 6f 72 20 74 me is true for t
20db0 68 65 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e 20 4c he <b>last</b> L
20dc0 69 6e 6b 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c ink connecting <
20dd0 62 3e 4e 31 34 3c 2f 62 3e 20 74 6f 20 3c 62 3e b>N14</b> to <b>
20de0 4e 31 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c N15</b>.</li>..<
20df0 6c 69 3e 54 68 61 74 27 73 20 6e 6f 74 20 61 6c li>That's not al
20e00 6c 3a 20 74 68 65 72 65 20 61 72 65 20 74 77 6f l: there are two
20e10 20 73 68 6f 72 74 20 73 65 67 6d 65 6e 74 73 20 short segments
20e20 28 64 72 61 77 6e 20 69 6e 20 67 72 65 65 6e 29 (drawn in green)
20e30 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 50 connecting <b>P
20e40 66 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e from</b> and <b>
20e50 50 74 6f 3c 2f 62 3e 20 28 3c 69 3e 6f 72 69 67 Pto</b> (<i>orig
20e60 69 6e 3c 2f 69 3e 20 61 6e 64 20 3c 69 3e 64 65 in</i> and <i>de
20e70 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 20 50 6f stination</i> Po
20e80 69 6e 74 73 29 20 72 65 73 70 65 63 74 69 76 65 ints) respective
20e90 6c 79 20 74 6f 20 74 68 65 20 3c 62 3e 66 69 72 ly to the <b>fir
20ea0 73 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 st</b> and <b>la
20eb0 73 74 3c 2f 62 3e 20 70 61 72 74 69 61 6c 20 4c st</b> partial L
20ec0 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c inks.</li>..</ul
20ed0 3e 0d 0a 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 69 >..<br>..All thi
20ee0 73 20 69 73 6e 27 74 20 73 75 72 70 72 69 73 69 s isn't surprisi
20ef0 6e 67 2c 20 73 69 6e 63 65 20 69 74 20 73 69 6d ng, since it sim
20f00 70 6c 79 20 69 73 20 74 68 65 20 6d 6f 73 74 20 ply is the most
20f10 6f 62 76 69 6f 75 73 20 64 69 72 65 63 74 20 63 obvious direct c
20f20 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 onsequence of th
20f30 65 20 76 65 72 79 20 62 61 73 69 63 20 61 73 73 e very basic ass
20f40 75 6d 70 74 69 6f 6e 73 20 61 74 20 74 68 65 20 umptions at the
20f50 62 61 73 69 73 20 6f 66 20 50 6f 69 6e 74 2d 74 basis of Point-t
20f60 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 3a o-Point queries:
20f70 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4e 65 69 74 ..<ul>..<li>Neit
20f80 68 65 72 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 her the <b>Point
20f90 46 72 6f 6d 3c 2f 62 3e 20 6e 6f 72 20 74 68 65 From</b> nor the
20fa0 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 <b>PointTo</b>
20fb0 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 are required to
20fc0 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73 65 63 exactly intersec
20fd0 74 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 2e t a <b>Node</b>.
20fe0 3c 62 72 3e 0d 0a 43 6f 6e 73 65 71 75 65 6e 74 <br>..Consequent
20ff0 6c 79 20 74 68 65 20 3c 62 3e 66 69 72 73 74 3c ly the <b>first<
21000 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 73 74 3c /b> and <b>last<
21010 2f 62 3e 20 4c 69 6e 6b 73 20 6f 66 20 74 68 65 /b> Links of the
21020 20 6f 76 65 72 61 6c 6c 20 50 6f 69 6e 74 2d 74 overall Point-t
21030 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e o-Point Solution
21040 20 63 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 70 could only be p
21050 61 72 74 69 61 6c 6c 79 20 69 6e 76 6f 6c 76 65 artially involve
21060 64 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69 72 74 75 d.<br>..In Virtu
21070 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72 67 6f 6e alRouting jargon
21080 20 74 68 65 73 65 20 74 77 6f 20 3c 75 3e 3c 69 these two <u><i
21090 3e 73 70 65 63 69 61 6c 20 69 74 65 6d 73 3c 2f >special items</
210a0 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65 73 70 65 i></u> are respe
210b0 63 74 69 76 65 6c 79 20 63 61 6c 6c 65 64 3a 0d ctively called:.
210c0 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 .<ul>..<li><b>Pa
210d0 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72 rtial Link (Star
210e0 74 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 t)</b></li>..<li
210f0 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b ><b>Partial Link
21100 20 28 45 6e 64 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d (End)</b></li>.
21110 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c 6c .</ul></li> ..<l
21120 69 3e 42 6f 74 68 20 74 68 65 20 3c 62 3e 50 6f i>Both the <b>Po
21130 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 intFrom</b> and
21140 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f the <b>PointTo</
21150 62 3e 20 63 61 6e 20 6c 65 67 69 74 69 6d 61 74 b> can legitimat
21160 65 6c 79 20 68 61 76 65 20 62 65 65 6e 20 61 74 ely have been at
21170 20 61 6e 79 20 61 72 62 69 74 72 61 72 79 20 70 any arbitrary p
21180 6f 73 69 74 69 6f 6e 20 61 6e 64 20 61 72 65 20 osition and are
21190 6e 65 76 65 72 20 72 65 71 75 69 72 65 64 20 74 never required t
211a0 6f 20 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73 o exactly inters
211b0 65 63 74 20 61 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 ect a <b>Link</b
211c0 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 63 61 6e >.<br>..This can
211d0 20 65 61 73 69 6c 79 20 69 6d 70 6c 79 20 74 68 easily imply th
211e0 61 74 20 61 6e 20 3c 75 3e 3c 69 3e 65 78 74 72 at an <u><i>extr
211f0 61 20 73 68 6f 72 74 20 6c 65 67 3c 2f 69 3e 3c a short leg</i><
21200 2f 75 3e 20 63 6f 75 6c 64 20 62 65 20 72 65 71 /u> could be req
21210 75 69 72 65 64 20 69 6e 20 6f 72 64 65 72 20 74 uired in order t
21220 6f 20 63 6f 6e 6e 65 63 74 20 74 68 65 20 46 72 o connect the Fr
21230 6f 6d 2f 54 6f 20 50 6f 69 6e 74 73 20 74 6f 20 om/To Points to
21240 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e the correspondin
21250 67 20 4c 69 6e 6b 73 2e 3c 62 72 3e 0d 0a 49 6e g Links.<br>..In
21260 20 56 69 72 75 74 61 6c 52 6f 75 74 69 6e 67 20 VirutalRouting
21270 6a 61 72 67 6f 6e 20 74 68 65 73 65 20 74 77 6f jargon these two
21280 20 3c 75 3e 3c 69 3e 73 70 65 63 69 61 6c 20 69 <u><i>special i
21290 74 65 6d 73 3c 2f 69 3e 3c 2f 75 3e 20 61 72 65 tems</i></u> are
212a0 20 72 65 73 70 65 63 74 69 76 65 6c 79 20 63 61 respectively ca
212b0 6c 6c 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 lled:..<ul>..<li
212c0 3e 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 74 68 ><b>Ingress Path
212d0 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c </b></li>..<li><
212e0 62 3e 45 67 72 65 73 73 20 50 61 74 68 3c 2f 62 b>Egress Path</b
212f0 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c ></li>..</ul></l
21300 69 3e 20 0d 0a 3c 6c 69 3e 3c 75 3e 4e 6f 74 65 i> ..<li><u>Note
21310 3c 2f 75 3e 3a 20 6e 6f 6e 65 20 6f 66 20 74 68 </u>: none of th
21320 65 6d 20 61 72 65 20 61 20 73 74 72 69 63 74 6c em are a strictl
21330 79 20 6d 61 6e 64 61 74 6f 72 79 20 69 74 65 6d y mandatory item
21340 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 :..<ul>..<li>the
21350 20 3c 62 3e 49 6e 67 72 65 73 73 3c 2f 62 3e 20 <b>Ingress</b>
21360 61 6e 64 2f 6f 72 20 3c 62 3e 45 67 72 65 73 73 and/or <b>Egress
21370 20 50 61 74 68 73 3c 2f 62 3e 20 61 72 65 20 6e Paths</b> are n
21380 6f 74 20 72 65 71 75 69 72 65 64 20 77 68 65 6e ot required when
21390 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 the correspondi
213a0 6e 67 20 50 6f 69 6e 74 20 65 78 61 63 74 6c 79 ng Point exactly
213b0 20 69 6e 74 65 72 73 65 63 74 73 20 61 20 4c 69 intersects a Li
213c0 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 nk.</li>..<li><b
213d0 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 3c 2f >Partial Links</
213e0 62 3e 20 28 65 69 74 68 65 72 20 3c 62 3e 28 53 b> (either <b>(S
213f0 74 61 72 74 29 3c 2f 62 3e 20 6f 72 20 3c 62 3e tart)</b> or <b>
21400 28 45 6e 64 28 3c 2f 62 3e 29 20 61 72 65 20 6e (End(</b>) are n
21410 65 76 65 72 20 72 65 71 75 69 72 65 64 20 77 68 ever required wh
21420 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e en the correspon
21430 64 69 6e 67 20 50 6f 69 6e 74 20 65 78 61 63 74 ding Point exact
21440 6c 79 20 6d 61 74 63 68 65 73 20 61 20 4e 6f 64 ly matches a Nod
21450 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f e.</li>..</ul></
21460 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 li>..</ul>..</td
21470 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73 72 >..<td>..<img sr
21480 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 c="https://www.g
21490 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d aia-gis.it/gaia-
214a0 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 sins/routing-fig
214b0 73 2f 70 32 70 2d 73 74 72 75 63 74 2e 70 6e 67 s/p2p-struct.png
214c0 22 20 61 6c 74 3d 22 70 32 70 2d 73 74 72 75 63 " alt="p2p-struc
214d0 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d t">..</td></tr>.
214e0 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 41 20 6d 6f 72 .<tr><td>..A mor
214f0 65 20 63 6f 6d 70 72 65 68 65 6e 73 69 76 65 20 e comprehensive
21500 61 6e 64 20 64 65 74 61 69 6c 65 64 20 65 78 70 and detailed exp
21510 6c 61 6e 61 74 69 6f 6e 20 62 61 73 65 64 20 6f lanation based o
21520 6e 20 74 68 65 20 73 69 64 65 20 66 69 67 75 72 n the side figur
21530 65 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 e:..<ul>..<li><b
21540 3e 4c 31 3c 2f 62 3e 20 69 73 20 61 20 4c 69 6e >L1</b> is a Lin
21550 6b 20 63 6f 6e 6e 65 63 74 69 6e 67 20 4e 6f 64 k connecting Nod
21560 65 73 20 3c 62 3e 4e 31 3c 2f 62 3e 20 61 6e 64 es <b>N1</b> and
21570 20 3c 62 3e 4e 32 3c 2f 62 3e 2e 3c 2f 6c 69 3e <b>N2</b>.</li>
21580 0d 0a 3c 6c 69 3e 3c 62 3e 50 74 3c 2f 62 3e 20 ..<li><b>Pt</b>
21590 69 73 20 6f 6e 65 20 62 65 74 77 65 65 6e 20 50 is one between P
215a0 6f 69 6e 74 46 72 6f 6d 20 6f 72 20 50 6f 69 6e ointFrom or Poin
215b0 74 54 6f 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e tTo.</li>..</ul>
215c0 0d 0a 3c 62 72 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c ..<br>..<ol>..<l
215d0 69 3e 54 68 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 i>The Point-to-P
215e0 6f 69 6e 74 20 69 6e 74 65 72 6e 61 6c 20 6c 6f oint internal lo
215f0 67 69 63 20 77 69 6c 6c 20 73 74 61 72 74 20 62 gic will start b
21600 79 20 69 64 65 6e 74 69 66 79 69 6e 67 20 3c 62 y identifying <b
21610 3e 69 3c 2f 62 3e 2c 0d 0a 74 68 61 74 20 69 73 >i</b>,..that is
21620 20 74 68 65 20 50 6f 69 6e 74 20 69 6e 74 65 72 the Point inter
21630 73 65 63 74 69 6e 67 20 3c 62 3e 4c 31 3c 2f 62 secting <b>L1</b
21640 3e 20 61 6e 64 20 70 72 65 73 65 6e 74 69 6e 67 > and presenting
21650 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 64 69 73 the minimum dis
21660 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20 74 68 tance between th
21670 65 20 4c 69 6e 6b 20 61 6e 64 20 3c 62 3e 50 74 e Link and <b>Pt
21680 3c 2f 62 3e 0d 0a 28 63 6f 72 72 65 73 70 6f 6e </b>..(correspon
21690 64 69 6e 67 20 74 6f 20 74 68 65 20 72 65 73 75 ding to the resu
216a0 6c 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 63 lt returned by c
216b0 61 6c 6c 69 6e 67 20 74 68 65 20 3c 62 3e 53 54 alling the <b>ST
216c0 5f 4c 69 6e 65 5f 4c 6f 63 61 74 65 5f 50 6f 69 _Line_Locate_Poi
216d0 6e 74 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e nt()</b> SQL fun
216e0 63 74 69 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c ction).</li>..<l
216f0 69 3e 4e 6f 77 20 74 68 65 20 4c 69 6e 6b 20 3c i>Now the Link <
21700 62 3e 4c 31 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 b>L1</b> will be
21710 20 73 70 6c 69 74 20 69 6e 20 74 77 6f 20 68 61 split in two ha
21720 6c 76 65 73 20 3c 62 3e 4c 31 2d 61 3c 2f 62 3e lves <b>L1-a</b>
21730 20 61 6e 64 20 3c 62 3e 4c 31 2d 62 3c 2f 62 3e and <b>L1-b</b>
21740 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 accordingly to
21750 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 the position of
21760 3c 62 3e 69 3c 2f 62 3e 0d 0a 28 63 6f 72 72 65 <b>i</b>..(corre
21770 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 sponding to the
21780 72 65 73 75 6c 74 73 20 72 65 74 75 72 6e 65 64 results returned
21790 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 by calling the
217a0 3c 62 3e 53 54 5f 4c 69 6e 65 5f 53 75 62 73 74 <b>ST_Line_Subst
217b0 72 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66 ring()</b> SQL f
217c0 75 6e 63 74 69 6f 6e 29 2e 3c 62 72 3e 0d 0a 42 unction).<br>..B
217d0 6f 74 68 20 68 61 6c 76 65 73 20 77 69 6c 6c 20 oth halves will
217e0 6e 6f 77 20 62 65 20 63 6f 6e 73 69 64 65 72 65 now be considere
217f0 64 20 61 73 20 70 6f 73 73 69 62 6c 65 20 3c 62 d as possible <b
21800 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 20 28 >Partial Links (
21810 53 74 61 72 74 29 20 63 61 6e 64 69 64 61 74 65 Start) candidate
21820 73 3c 2f 62 3e 20 6c 65 61 64 69 6e 67 20 72 65 s</b> leading re
21830 73 70 65 63 74 69 76 65 6c 79 20 74 6f 20 3c 62 spectively to <b
21840 3e 4e 31 3c 2f 62 3e 20 6f 72 20 3c 62 3e 4e 32 >N1</b> or <b>N2
21850 3c 2f 62 3e 3b 0d 0a 64 69 72 65 63 74 69 6f 6e </b>;..direction
21860 73 20 77 69 6c 6c 20 62 65 20 61 75 74 6f 6d 61 s will be automa
21870 74 69 63 61 6c 6c 79 20 69 6e 76 65 72 74 65 64 tically inverted
21880 20 61 73 20 72 65 71 75 69 72 65 64 2c 20 62 75 as required, bu
21890 74 20 6f 6e 6c 79 20 69 66 20 74 68 65 72 65 20 t only if there
218a0 61 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 are no <b>one-wa
218b0 79 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 69 6f y</b> restrictio
218c0 6e 73 2e 3c 62 72 3e 0d 0a 28 74 68 65 20 64 69 ns.<br>..(the di
218d0 72 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65 rections will be
218e0 20 6f 62 76 69 6f 75 73 6c 79 20 69 6e 76 65 72 obviously inver
218f0 74 65 64 20 69 6e 20 74 68 65 20 63 61 73 65 20 ted in the case
21900 6f 66 20 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 of <b>Partial Li
21910 6e 6b 73 20 28 45 6e 64 29 3c 2f 62 3e 20 2f 20 nks (End)</b> /
21920 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 29 3c 2f <b>NodeTo</b>)</
21930 6c 69 3e 0d 0a 3c 6c 69 3e 41 6e 64 20 66 69 6e li>..<li>And fin
21940 61 6c 6c 79 20 61 20 73 74 72 61 69 67 68 74 20 ally a straight
21950 73 65 67 6d 65 6e 74 20 3c 62 3e 70 3c 2f 62 3e segment <b>p</b>
21960 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 50 connecting <b>P
21970 74 3c 2f 62 3e 20 74 6f 20 3c 62 3e 69 3c 2f 62 t</b> to <b>i</b
21980 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 74 72 > will be constr
21990 75 63 74 65 64 2e 0d 0a 53 6f 20 3c 62 3e 70 3c ucted...So <b>p<
219a0 2f 62 3e 20 65 78 61 63 74 6c 79 20 63 6f 72 72 /b> exactly corr
219b0 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c esponds to the <
219c0 62 3e 49 6e 67 72 65 73 73 20 50 61 74 68 3c 2f b>Ingress Path</
219d0 62 3e 20 69 66 20 3c 62 3e 50 74 3c 2f 62 3e 20 b> if <b>Pt</b>
219e0 69 73 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c is <b>PointFrom<
219f0 2f 62 3e 2e 3c 62 72 3e 0d 0a 28 74 68 65 20 64 /b>.<br>..(the d
21a00 69 72 65 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 irection should
21a10 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69 6e 76 be obviously inv
21a20 65 72 74 65 64 20 69 6e 20 74 68 65 20 63 61 73 erted in the cas
21a30 65 20 6f 66 20 74 68 65 20 3c 62 3e 45 67 72 65 e of the <b>Egre
21a40 73 73 20 50 61 74 68 3c 2f 62 3e 20 2f 20 3c 62 ss Path</b> / <b
21a50 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 29 3c 2f 6c >PointTo</b>)</l
21a60 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e i>..</ol>..</td>
21a70 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73 72 63 ..<td>..<img src
21a80 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 ="https://www.ga
21a90 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 ia-gis.it/gaia-s
21aa0 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 ins/routing-figs
21ab0 2f 73 70 6c 69 74 2d 6c 69 6e 6b 2e 70 6e 67 22 /split-link.png"
21ac0 20 61 6c 74 3d 22 70 32 70 2d 73 74 72 75 63 74 alt="p2p-struct
21ad0 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a ">..</td></tr>..
21ae0 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a </table>..<br>..
21af0 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 <table bgcolor="
21b00 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 #ffb060" cellspa
21b10 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 cing="10" cellpa
21b20 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 dding="6"><tr><t
21b30 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3c d>..<h3>Warning<
21b40 2f 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52 6f 75 /h3>..VirtualRou
21b50 74 69 6e 67 20 77 68 65 6e 20 73 6f 6c 76 69 6e ting when solvin
21b60 67 20 61 20 50 6f 69 6e 74 2d 74 6f 2d 50 72 6f g a Point-to-Pro
21b70 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 61 20 blem requires a
21b80 70 72 65 63 69 73 65 20 65 73 74 69 6d 61 74 69 precise estimati
21b90 6f 6e 20 6f 66 20 3c 62 3e 43 6f 73 74 73 3c 2f on of <b>Costs</
21ba0 62 3e 20 72 65 6c 61 74 65 64 20 74 6f 20 3c 62 b> related to <b
21bb0 3e 49 6e 67 72 65 73 73 3c 2f 62 3e 20 61 6e 64 >Ingress</b> and
21bc0 20 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68 73 <b>Egress Paths
21bd0 3c 2f 62 3e 20 61 6e 64 20 74 6f 20 3c 62 3e 50 </b> and to <b>P
21be0 61 72 74 69 61 6c 20 4c 69 6e 6b 73 3c 2f 62 3e artial Links</b>
21bf0 2e 3c 62 72 3e 0d 0a 42 75 74 20 56 69 72 74 75 .<br>..But Virtu
21c00 61 6c 52 6f 75 74 69 6e 67 20 69 73 20 63 6f 6d alRouting is com
21c10 70 6c 65 74 65 6c 79 20 75 6e 61 62 6c 65 20 74 pletely unable t
21c20 6f 20 63 6f 6d 70 75 74 65 20 63 6f 6d 70 6c 65 o compute comple
21c30 78 20 28 61 6e 64 20 75 6e 73 70 65 63 69 66 69 x (and unspecifi
21c40 65 64 29 20 43 6f 73 74 20 66 6f 72 6d 75 6c 61 ed) Cost formula
21c50 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e e, and consequen
21c60 74 6c 79 20 69 74 20 77 69 6c 6c 20 73 69 6d 70 tly it will simp
21c70 6c 79 20 61 73 73 75 6d 65 20 61 20 43 6f 73 74 ly assume a Cost
21c80 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 corresponding t
21c90 6f 20 74 68 65 20 47 65 6f 6d 65 74 72 69 63 20 o the Geometric
21ca0 4c 65 6e 67 74 68 20 6f 66 20 73 75 63 68 20 69 Length of such i
21cb0 74 65 6d 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c tems.<br><br>..<
21cc0 62 3e 43 6f 6e 63 6c 75 73 69 6f 6e 3c 2f 62 3e b>Conclusion</b>
21cd0 3a 20 6f 6e 6c 79 20 4e 65 74 77 6f 72 6b 73 20 : only Networks
21ce0 62 61 73 65 64 20 6f 6e 20 3c 62 3e 43 6f 73 74 based on <b>Cost
21cf0 73 3c 2f 62 3e 20 63 6f 72 72 65 73 70 6f 6e 64 s</b> correspond
21d00 69 6e 67 20 74 6f 20 3c 62 3e 47 65 6f 6d 65 74 ing to <b>Geomet
21d10 72 69 63 20 4c 65 6e 67 74 68 73 3c 2f 62 3e 20 ric Lengths</b>
21d20 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c 79 20 can effectively
21d30 73 75 70 70 6f 72 74 20 50 6f 69 6e 74 2d 74 6f support Point-to
21d40 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 2e 3c -Point queries.<
21d50 62 72 3e 0d 0a 41 6e 79 20 64 69 66 66 65 72 65 br>..Any differe
21d60 6e 74 20 4e 65 74 77 6f 72 6b 20 63 6f 6e 66 69 nt Network confi
21d70 67 75 72 61 74 69 6f 6e 20 77 69 6c 6c 20 73 75 guration will su
21d80 72 65 6c 79 20 6c 65 61 64 20 74 6f 20 77 72 6f rely lead to wro
21d90 6e 67 20 61 6e 64 20 69 6e 63 6f 6e 73 69 73 74 ng and inconsist
21da0 65 6e 74 20 72 65 73 75 6c 74 73 2e 0d 0a 3c 62 ent results...<b
21db0 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 r><br>..</td></t
21dc0 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e r></table>..<br>
21dd0 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20 <br>..Let's now
21de0 65 78 61 6d 69 6e 65 20 61 20 70 72 61 63 74 69 examine a practi
21df0 63 61 6c 20 65 78 61 6d 70 6c 65 20 6f 66 20 50 cal example of P
21e00 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f oint-to-Point so
21e10 6c 76 69 6e 67 20 75 73 69 6e 67 20 56 69 72 74 lving using Virt
21e20 75 61 6c 52 6f 75 74 69 6e 67 2e 0d 0a 3c 76 65 ualRouting...<ve
21e30 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 rbatim>..SELECT
21e40 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 Algorithm, Reque
21e50 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 st, Options, Rou
21e60 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 teId, RouteRow,
21e70 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c Role, LinkRowid,
21e80 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 NodeFrom, NodeT
21e90 6f 2c 20 50 6f 69 6e 74 46 72 6f 6d 2c 20 50 6f o, PointFrom, Po
21ea0 69 6e 74 54 6f 2c 20 54 6f 6c 65 72 61 6e 63 65 intTo, Tolerance
21eb0 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 , Cost, Geometry
21ec0 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 , Name..FROM byf
21ed0 6f 6f 74 0d 0a 57 48 45 52 45 20 50 6f 69 6e 74 oot..WHERE Point
21ee0 46 72 6f 6d 20 3d 20 28 53 45 4c 45 43 54 20 67 From = (SELECT g
21ef0 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f 6e eom FROM house_n
21f00 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e 69 63 r_vw WHERE munic
21f10 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45 5a 5a ipality = 'AREZZ
21f20 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73 20 3d O' AND address =
21f30 20 27 56 49 41 20 44 45 27 27 20 43 45 4e 43 49 'VIA DE'' CENCI
21f40 20 31 33 27 29 0d 0a 20 20 20 20 41 4e 44 20 50 13').. AND P
21f50 6f 69 6e 74 54 6f 20 3d 20 28 53 45 4c 45 43 54 ointTo = (SELECT
21f60 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 geom FROM house
21f70 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e _nr_vw WHERE mun
21f80 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45 icipality = 'ARE
21f90 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73 ZZO' AND address
21fa0 20 3d 20 27 56 49 41 20 41 4e 54 4f 4e 49 4f 20 = 'VIA ANTONIO
21fb0 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 42 27 GUADAGNOLI 19/B'
21fc0 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d );..</verbatim>.
21fd0 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 .A <b>Point-to-P
21fe0 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79 20 68 oint</b> query h
21ff0 61 73 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d as the same form
22000 20 6f 66 20 61 20 3c 62 3e 73 69 6e 67 6c 65 2d of a <b>single-
22010 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 destination Shor
22020 74 65 73 74 20 50 61 74 68 3c 2f 62 3e 20 71 75 test Path</b> qu
22030 65 72 79 2c 20 65 78 63 65 70 74 20 74 68 61 74 ery, except that
22040 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e <b>NodeFrom</b>
22050 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f and <b>NodeTo</
22060 62 3e 20 61 72 65 20 6e 6f 77 20 72 65 70 6c 61 b> are now repla
22070 63 65 64 20 62 79 20 3c 62 3e 50 6f 69 6e 74 46 ced by <b>PointF
22080 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 50 rom</b> and <b>P
22090 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c 62 72 3e 0d ointTo</b>.<br>.
220a0 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 20 74 68 65 .<u>Note</u> the
220b0 20 73 61 6d 70 6c 65 20 44 42 2d 66 69 6c 65 20 sample DB-file
220c0 73 75 70 70 6f 72 74 73 20 3c 62 3e 48 6f 75 73 supports <b>Hous
220d0 65 20 4e 75 6d 62 65 72 73 3c 2f 62 3e 2c 20 73 e Numbers</b>, s
220e0 6f 20 79 6f 75 20 63 61 6e 20 64 69 72 65 63 74 o you can direct
220f0 6c 79 20 75 73 65 20 48 6f 75 73 65 20 4e 75 6d ly use House Num
22100 62 65 72 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 ber coordinates
22110 61 73 20 72 65 66 65 72 65 6e 63 65 20 50 6f 69 as reference Poi
22120 6e 74 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a nts...<br><br>..
22130 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 The following ta
22140 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 ble shows the re
22150 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 sultset returned
22160 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 50 6f by the above Po
22170 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 int-to-Point que
22180 72 79 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 ry.<br><br>..<ta
22190 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 ble border="1" b
221a0 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 gcolor="#ffffcf"
221b0 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 cellspacing="4"
221c0 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
221d0 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c >..<tr><th bgcol
221e0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 or="#d0d0a0">Alg
221f0 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 orithm</th><th b
22200 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
22210 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 >Request</th><th
22220 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
22230 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 0">Options</th><
22240 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
22250 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 0a0">RouteId</th
22260 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
22270 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 0d0a0">RouteRow<
22280 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
22290 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f "#d0d0a0">Role</
222a0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
222b0 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 #d0d0a0">LinkRow
222c0 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c id</th><th bgcol
222d0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
222e0 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 eFrom</th><th bg
222f0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
22300 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 NodeTo</th><th b
22310 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
22320 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c >PointFrom</th><
22330 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
22340 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 0a0">PointTo</th
22350 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
22360 30 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 0d0a0">Tolerance
22370 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
22380 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c ="#d0d0a0">Cost<
22390 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
223a0 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 "#d0d0a0">Geomet
223b0 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ry</th><th bgcol
223c0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d or="#d0d0a0">Nam
223d0 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 e</th></tr>..<tr
223e0 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c >..<td>Dijkstra<
223f0 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f /td><td>Point2Po
22400 69 6e 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 int Path</td><td
22410 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c >Full</td><td al
22420 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
22430 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
22440 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 50 6f ht">0</td><td>Po
22450 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c 75 74 69 int2Point Soluti
22460 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c on</td><td>NULL<
22470 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22480 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22490 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 20 47 45 4f d>BLOB sz=68 GEO
224a0 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 42 4c METRY</td><td>BL
224b0 4f 42 20 73 7a 3d 36 38 20 47 45 4f 4d 45 54 52 OB sz=68 GEOMETR
224c0 59 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d Y</td><td align=
224d0 22 72 69 67 68 74 22 3e 32 30 2e 30 30 30 30 30 "right">20.00000
224e0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
224f0 22 72 69 67 68 74 22 3e 36 35 32 2e 38 31 35 31 "right">652.8151
22500 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 39</td><td>BLOB
22510 73 7a 3d 31 35 35 32 20 47 45 4f 4d 45 54 52 59 sz=1552 GEOMETRY
22520 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22530 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
22540 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
22550 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22560 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
22570 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
22580 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22590 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 49 6e 67 72 ">1</td><td>Ingr
225a0 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 ess Path</td><td
225b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
225c0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
225d0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
225e0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
225f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
22600 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33 lign="right">2.3
22610 30 31 36 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 01687</td><td>NU
22620 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
22630 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
22640 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
22650 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22660 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
22670 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
22680 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
22690 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 50 61 ht">2</td><td>Pa
226a0 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72 rtial Link (Star
226b0 74 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e t)</td><td align
226c0 3d 22 72 69 67 68 74 22 3e 32 32 34 32 36 34 3c ="right">224264<
226d0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
226e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
226f0 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74 t">182630</td><t
22700 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22710 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
22720 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22730 72 69 67 68 74 22 3e 34 36 2e 30 38 32 37 36 31 right">46.082761
22740 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22750 64 3e 3c 74 64 3e 56 49 41 20 44 45 27 20 43 45 d><td>VIA DE' CE
22760 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d NCI</td>..</tr>.
22770 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
22780 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22790 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
227a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
227b0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
227c0 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 "right">3</td><t
227d0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
227e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33 lign="right">223
227f0 37 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 758</td><td alig
22800 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 33 30 n="right">182630
22810 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22820 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 right">182629</t
22830 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22840 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
22850 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
22860 67 6e 3d 22 72 69 67 68 74 22 3e 32 34 2e 31 39 gn="right">24.19
22870 38 31 31 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 8115</td><td>NUL
22880 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 L</td><td>CORSO
22890 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 ITALIA</td>..</t
228a0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
228b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
228c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
228d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
228e0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">0</td><td ali
228f0 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 gn="right">4</td
22900 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
22910 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
22920 32 32 35 35 31 32 3c 2f 74 64 3e 3c 74 64 20 61 225512</td><td a
22930 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
22940 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 629</td><td alig
22950 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 n="right">182933
22960 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22970 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22980 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
22990 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 align="right">34
229a0 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e .184194</td><td>
229b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 NULL</td><td>COR
229c0 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a SO ITALIA</td>..
229d0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
229e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
229f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
22a00 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
22a10 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 ight">0</td><td
22a20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c align="right">5<
22a30 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
22a40 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
22a50 74 22 3e 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74 t">225511</td><t
22a60 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
22a70 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 182933</td><td a
22a80 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 lign="right">181
22a90 39 39 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 999</td><td>NULL
22aa0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22ab0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22ac0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
22ad0 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74 64 3e 3c >49.241735</td><
22ae0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
22af0 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 CORSO ITALIA</td
22b00 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
22b10 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22b20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
22b30 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
22b40 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
22b50 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
22b60 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >6</td><td>Link<
22b70 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
22b80 69 67 68 74 22 3e 32 32 32 36 33 35 3c 2f 74 64 ight">222635</td
22b90 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
22ba0 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 t">181999</td><t
22bb0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
22bc0 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 3e 4e 181998</td><td>N
22bd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
22be0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22bf0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
22c00 68 74 22 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f ht">101.629750</
22c10 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
22c20 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 <td>CORSO ITALIA
22c30 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
22c40 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
22c50 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22c60 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
22c70 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
22c80 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
22c90 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c ght">7</td><td>L
22ca0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
22cb0 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 37 38 30 n="right">224780
22cc0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22cd0 72 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 right">181998</t
22ce0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
22cf0 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c ht">183560</td><
22d00 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
22d10 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
22d20 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
22d30 22 72 69 67 68 74 22 3e 37 33 2e 37 33 33 35 37 "right">73.73357
22d40 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 2</td><td>NULL</
22d50 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 td><td>VIA DELL'
22d60 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d ANFITEATRO</td>.
22d70 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
22d80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22d90 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
22da0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22db0 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
22dc0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 align="right">8
22dd0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
22de0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
22df0 68 74 22 3e 32 32 35 38 32 37 3c 2f 74 64 3e 3c ht">225827</td><
22e00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
22e10 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 >183560</td><td
22e20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
22e30 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 3286</td><td>NUL
22e40 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
22e50 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
22e60 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22e70 22 3e 34 32 2e 33 30 39 35 36 34 3c 2f 74 64 3e ">42.309564</td>
22e80 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22e90 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49 54 45 >VIA DELL'ANFITE
22ea0 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e ATRO</td>..</tr>
22eb0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
22ec0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22ed0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22ee0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
22ef0 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >0</td><td align
22f00 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c ="right">9</td><
22f10 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
22f20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
22f30 34 38 39 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4897</td><td ali
22f40 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 gn="right">18328
22f50 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
22f60 22 72 69 67 68 74 22 3e 31 38 33 31 32 38 3c 2f "right">183128</
22f70 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
22f80 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22f90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
22fa0 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 32 2e 34 ign="right">72.4
22fb0 34 34 36 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 44609</td><td>NU
22fc0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d LL</td><td>VIA M
22fd0 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d ARGARITONE</td>.
22fe0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
22ff0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
23000 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
23010 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
23020 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
23030 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
23040 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 0</td><td>Link</
23050 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
23060 67 68 74 22 3e 32 32 34 32 33 32 3c 2f 74 64 3e ght">224232</td>
23070 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
23080 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 ">183128</td><td
23090 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
230a0 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 82890</td><td>NU
230b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
230c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
230d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
230e0 74 22 3e 31 30 33 2e 36 31 32 32 32 31 3c 2f 74 t">103.612221</t
230f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
23100 74 64 3e 56 49 41 20 4e 49 43 43 4f 4c 4f 27 20 td>VIA NICCOLO'
23110 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f ARETINO</td>..</
23120 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
23130 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
23140 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
23150 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
23160 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">0</td><td al
23170 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f ign="right">11</
23180 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c td><td>Partial L
23190 69 6e 6b 20 28 45 6e 64 29 3c 2f 74 64 3e 3c 74 ink (End)</td><t
231a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
231b0 32 32 34 30 31 39 3c 2f 74 64 3e 3c 74 64 20 61 224019</td><td a
231c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
231d0 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 890</td><td>NULL
231e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
231f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
23200 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 td>NULL</td>..<t
23210 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
23220 39 35 2e 37 36 30 32 32 32 3c 2f 74 64 3e 3c 74 95.760222</td><t
23230 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
23240 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 IA ANTONIO GUADA
23250 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 GNOLI</td>..</tr
23260 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
23270 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
23280 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
23290 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
232a0 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">0</td><td alig
232b0 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 64 n="right">12</td
232c0 3e 3c 74 64 3e 45 67 72 65 73 73 20 50 61 74 68 ><td>Egress Path
232d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
232e0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
232f0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
23300 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
23310 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
23320 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
23330 67 68 74 22 3e 37 2e 33 31 36 37 30 39 3c 2f 74 ght">7.316709</t
23340 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
23350 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
23360 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
23370 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20 71 br>..Let's now q
23380 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 uickly examine t
23390 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 he resultset ret
233a0 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f urned by the abo
233b0 76 65 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 ve <b>Point-to-P
233c0 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79 3a 0d oint</b> query:.
233d0 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 .<ul>..<li>the g
233e0 65 6e 65 72 61 6c 20 6c 61 79 6f 75 74 20 69 73 eneral layout is
233f0 20 61 6c 6d 6f 73 74 20 65 78 61 63 74 6c 79 20 almost exactly
23400 74 68 65 20 73 61 6d 65 20 61 73 20 79 6f 75 27 the same as you'
23410 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 ve already seen
23420 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 53 in the case of S
23430 68 6f 72 74 65 73 74 50 61 74 68 20 71 75 65 72 hortestPath quer
23440 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 ies.</li>..<li>i
23450 6e 20 74 68 65 20 73 70 65 63 69 66 69 63 20 63 n the specific c
23460 61 73 65 20 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d ase of Point-to-
23470 50 6f 69 6e 74 20 74 68 65 20 3c 62 3e 66 69 72 Point the <b>fir
23480 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 st row</b> of th
23490 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c e resultset will
234a0 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 20 always contain
234b0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 73 20 3c the followings <
234c0 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 63 b>NOT NULL</b> c
234d0 6f 6c 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c olumns:..<ul>..<
234e0 6c 69 3e 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f li><b>NodeFrom</
234f0 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f b> and <b>NodeTo
23500 3c 2f 62 3e 3a 20 74 68 65 20 74 77 6f 20 47 65 </b>: the two Ge
23510 6f 6d 65 74 72 69 65 73 20 64 65 66 69 6e 69 6e ometries definin
23520 67 20 74 68 65 20 3c 75 3e 3c 69 3e 6f 72 69 67 g the <u><i>orig
23530 69 6e 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 3c in</i></u> and <
23540 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e u><i>destination
23550 3c 2f 69 3e 3c 2f 75 3e 20 50 6f 69 6e 74 73 2e </i></u> Points.
23560 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 6f </li>..<li><b>To
23570 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 65 lerance</b>: the
23580 20 6d 61 78 69 6d 75 6d 20 64 69 73 74 61 6e 63 maximum distanc
23590 65 20 61 6c 6c 6f 77 65 64 20 62 65 74 77 65 65 e allowed betwee
235a0 6e 20 72 65 66 65 72 65 6e 63 65 20 50 6f 69 6e n reference Poin
235b0 74 73 20 61 6e 64 20 43 61 6e 64 69 64 61 74 65 ts and Candidate
235c0 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f Links.</li>..</
235d0 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 ul></li>..<li>th
235e0 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20 63 6f e <b>Role</b> co
235f0 6c 75 6d 6e 20 63 61 6e 20 61 73 73 75 6d 65 20 lumn can assume
23600 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f one of the follo
23610 77 69 6e 67 20 76 61 6c 75 65 73 3a 0d 0a 3c 75 wing values:..<u
23620 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 6f 69 6e 74 l>..<li><b>Point
23630 32 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 3c 2Point Solution<
23640 2f 62 3e 3a 20 74 68 65 20 68 65 61 64 65 72 20 /b>: the header
23650 72 6f 77 20 73 75 6d 6d 61 72 69 7a 69 6e 67 20 row summarizing
23660 74 68 65 20 53 6f 6c 75 74 69 6f 6e 20 61 73 20 the Solution as
23670 61 20 77 68 6f 6c 65 2e 0d 0a 3c 75 6c 3e 0d 0a a whole...<ul>..
23680 3c 6c 69 3e 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d <li><b>PointFrom
23690 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54 6f </b>, <b>PointTo
236a0 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c 65 </b> and <b>Tole
236b0 72 61 6e 63 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e rance</b> column
236c0 73 20 77 69 6c 6c 20 68 61 76 65 20 3c 62 3e 4e s will have <b>N
236d0 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 OT NULL</b> valu
236e0 65 73 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 68 es only in the h
236f0 65 61 64 65 72 20 72 6f 77 2e 3c 2f 6c 69 3e 0d eader row.</li>.
23700 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 .</ul></li>..<li
23710 3e 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 74 68 ><b>Ingress Path
23720 3c 2f 62 3e 3a 20 61 20 73 74 72 61 69 67 68 74 </b>: a straight
23730 20 73 65 67 6d 65 6e 74 20 63 6f 6e 6e 65 63 74 segment connect
23740 69 6e 67 20 74 68 65 20 4f 72 69 67 69 6e 20 50 ing the Origin P
23750 6f 69 6e 74 20 74 6f 20 74 68 65 20 66 69 72 73 oint to the firs
23760 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c t Link.</li>..<l
23770 69 3e 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68 i><b>Egress Path
23780 3c 2f 62 3e 3a 20 61 20 73 74 72 61 69 67 68 74 </b>: a straight
23790 20 73 65 67 6d 65 6e 74 20 63 6f 6e 6e 65 63 74 segment connect
237a0 69 6e 67 20 74 68 65 20 6c 61 73 74 20 4c 69 6e ing the last Lin
237b0 6b 20 74 6f 20 74 68 65 20 44 65 73 74 69 6e 61 k to the Destina
237c0 74 69 6f 6e 20 50 6f 69 6e 74 2e 0d 0a 3c 75 6c tion Point...<ul
237d0 3e 0d 0a 3c 6c 69 3e 62 6f 74 68 20 74 68 65 20 >..<li>both the
237e0 49 6e 67 72 65 73 73 20 61 6e 64 20 74 68 65 20 Ingress and the
237f0 45 67 72 65 73 73 20 50 61 74 68 20 72 6f 77 73 Egress Path rows
23800 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 61 76 will always hav
23810 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 e <b>NULL</b> va
23820 6c 75 65 73 20 6f 6e 20 3c 62 3e 4c 69 6e 6b 52 lues on <b>LinkR
23830 6f 77 69 64 3c 2f 62 3e 2c 20 3c 62 3e 4e 6f 64 owid</b>, <b>Nod
23840 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 eFrom</b> and <b
23850 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 >NodeTo</b> colu
23860 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e mns.</li>..</ul>
23870 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 </li>..<li><b>Pa
23880 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72 rtial Link (Star
23890 74 29 3c 2f 62 3e 3a 20 74 68 65 20 70 61 72 74 t)</b>: the part
238a0 69 61 6c 20 73 65 63 74 69 6f 6e 20 6f 66 20 74 ial section of t
238b0 68 65 20 66 69 72 73 74 20 4c 69 6e 6b 2e 0d 0a he first Link...
238c0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 73 <ul>..<li>this s
238d0 70 65 63 69 66 69 63 20 72 6f 77 20 77 69 6c 6c pecific row will
238e0 20 61 6c 77 61 79 73 20 68 61 76 65 20 61 20 3c always have a <
238f0 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 b>NULL</b> value
23900 20 6f 6e 20 74 68 65 20 3c 62 3e 4e 6f 64 65 46 on the <b>NodeF
23910 72 6f 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 3c rom</b> column.<
23920 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e /li>..</ul></li>
23930 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c ..<li><b>Partial
23940 20 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 62 3e 3a Link (End)</b>:
23950 20 74 68 65 20 70 61 72 74 69 61 6c 20 73 65 63 the partial sec
23960 74 69 6f 6e 20 6f 66 20 74 68 65 20 6c 61 73 74 tion of the last
23970 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c Link...<ul>..<l
23980 69 3e 74 68 69 73 20 73 70 65 63 69 66 69 63 20 i>this specific
23990 72 6f 77 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 row will always
239a0 68 61 76 65 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f have a <b>NULL</
239b0 62 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20 b> value on the
239c0 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f <b>NodeTo</b> co
239d0 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c lumn.</li>..</ul
239e0 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c ></li>..<li><b>L
239f0 69 6e 6b 3c 2f 62 3e 3a 20 61 6e 79 20 6f 74 68 ink</b>: any oth
23a00 65 72 20 4c 69 6e 6b 20 72 65 71 75 69 72 65 64 er Link required
23a10 20 62 79 20 74 68 65 20 50 6f 69 6e 74 2d 74 6f by the Point-to
23a20 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 2e -Point Solution.
23a30 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 ..<ul>..<li>all
23a40 74 68 65 73 65 20 72 6f 77 73 20 77 69 6c 6c 20 these rows will
23a50 61 6c 77 61 79 73 20 68 61 76 65 20 3c 62 3e 4e always have <b>N
23a60 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 OT NULL</b> valu
23a70 65 73 20 6f 6e 20 3c 62 3e 4c 69 6e 6b 52 6f 77 es on <b>LinkRow
23a80 69 64 3c 2f 62 3e 2c 20 3c 62 3e 4e 6f 64 65 46 id</b>, <b>NodeF
23a90 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e rom</b> and <b>N
23aa0 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e odeTo</b> column
23ab0 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f s.</li>..</ul></
23ac0 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
23ad0 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e .</ul>..<br><br>
23ae0 3c 62 72 3e 0d 0a 3c 62 3e 50 6f 69 6e 74 2d 74 <br>..<b>Point-t
23af0 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 o-Point</b> quer
23b00 69 65 73 20 63 61 6e 20 62 65 20 63 75 73 74 6f ies can be custo
23b10 6d 69 7a 65 64 2c 20 62 75 74 20 74 68 65 20 63 mized, but the c
23b20 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 72 75 6c onfiguration rul
23b30 65 73 20 73 6c 69 67 68 74 6c 79 20 64 69 66 66 es slightly diff
23b40 65 72 20 66 72 6f 6d 20 77 68 61 74 20 79 6f 75 er from what you
23b50 20 68 61 76 65 20 61 6c 72 65 61 64 79 20 73 65 have already se
23b60 65 6e 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f en in the previo
23b70 75 73 20 65 78 61 6d 70 6c 65 73 2e 0d 0a 3c 75 us examples...<u
23b80 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 41 6c 67 6f 72 l>..<li><b>Algor
23b90 69 74 68 6d 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 3c ithm</b>: only <
23ba0 62 3e 44 69 6a 6b 73 74 72 61 3c 2f 62 3e 20 69 b>Dijkstra</b> i
23bb0 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 3c s supported by <
23bc0 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 b>Point-to-Point
23bd0 3c 2f 62 3e 2c 20 61 6e 64 20 77 69 6c 6c 20 62 </b>, and will b
23be0 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 73 73 e implicitly ass
23bf0 75 6d 65 64 20 65 76 65 6e 20 77 68 65 6e 20 74 umed even when t
23c00 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 3c he alternative <
23c10 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 b>A*</b> algorit
23c20 68 6d 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 hm is currently
23c30 73 65 6c 65 63 74 65 64 2e 3c 62 72 3e 0d 0a 54 selected.<br>..T
23c40 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 74 his is because t
23c50 68 65 20 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69 he internal logi
23c60 63 20 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f c of Point-to-Po
23c70 69 6e 74 20 72 65 71 75 69 72 65 73 20 6d 75 6c int requires mul
23c80 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 ti-destination q
23c90 75 65 72 69 65 73 20 69 6e 20 6f 72 64 65 72 20 ueries in order
23ca0 74 6f 20 65 76 61 6c 75 61 74 65 20 61 6c 6c 20 to evaluate all
23cb0 70 6f 73 73 69 62 6c 65 20 43 61 6e 64 69 64 61 possible Candida
23cc0 74 65 20 53 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c te Solutions.</l
23cd0 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 6f i>..<li><b>Optio
23ce0 6e 73 3c 2f 62 3e 3a 20 74 68 65 20 75 73 75 61 ns</b>: the usua
23cf0 6c 20 3c 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 3c l <b>FULL</b>, <
23d00 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c 62 b>SIMPLE</b>, <b
23d10 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e >NO LINKS</b> an
23d20 64 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 d <b>NO GEOMETRI
23d30 45 53 3c 2f 62 3e 20 61 72 65 20 73 75 70 70 6f ES</b> are suppo
23d40 72 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 68 61 rted and will ha
23d50 76 65 20 74 68 65 20 73 61 6d 65 20 65 66 66 65 ve the same effe
23d60 63 74 20 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d ct as in single-
23d70 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 destination quer
23d80 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ies.</li>..<li><
23d90 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a b>Tolerance</b>:
23da0 20 74 68 69 73 20 73 65 74 74 69 6e 67 20 69 73 this setting is
23db0 20 73 70 65 63 69 66 69 63 20 74 6f 20 50 6f 69 specific to Poi
23dc0 6e 74 2d 74 6f 2d 50 6f 69 6e 74 2c 20 61 6e 64 nt-to-Point, and
23dd0 20 64 65 66 69 6e 65 73 20 74 68 65 20 6d 61 78 defines the max
23de0 69 6d 75 6d 20 61 6c 6c 6f 77 61 62 6c 65 20 64 imum allowable d
23df0 69 73 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20 istance between
23e00 61 20 72 65 66 65 72 65 6e 63 65 20 50 6f 69 6e a reference Poin
23e10 74 20 61 6e 64 20 43 61 6e 64 69 64 61 74 65 20 t and Candidate
23e20 4c 69 6e 6b 73 2e 3c 62 72 3e 0d 0a 49 74 20 64 Links.<br>..It d
23e30 65 66 61 75 6c 74 73 20 74 6f 20 3c 62 3e 32 30 efaults to <b>20
23e40 2e 30 6d 3c 2f 62 3e 20 69 66 20 6e 6f 74 20 65 .0m</b> if not e
23e50 78 70 6c 69 63 69 74 6c 79 20 73 65 74 2e 3c 2f xplicitly set.</
23e60 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 li>..</ul>..<ver
23e70 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 batim>..UPDATE b
23e80 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e yfoot SET Option
23e90 73 20 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 s = 'NO GEOMETRI
23ea0 45 53 27 2c 20 54 6f 6c 65 72 61 6e 63 65 20 3d ES', Tolerance =
23eb0 20 32 35 2e 35 3b 0d 0a 0d 0a 53 45 4c 45 43 54 25.5;....SELECT
23ec0 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e Request, Option
23ed0 73 2c 20 54 6f 6c 65 72 61 6e 63 65 2c 20 52 6f s, Tolerance, Ro
23ee0 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 uteRow, Role, Li
23ef0 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f nkRowid, NodeFro
23f00 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c m, NodeTo, Cost,
23f10 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d Geometry, Name.
23f20 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 .FROM byfoot..WH
23f30 45 52 45 20 50 6f 69 6e 74 46 72 6f 6d 20 3d 20 ERE PointFrom =
23f40 28 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f (SELECT geom FRO
23f50 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 M house_nr_vw WH
23f60 45 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 ERE municipality
23f70 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 = 'AREZZO' AND
23f80 61 64 64 72 65 73 73 20 3d 20 27 56 49 41 20 44 address = 'VIA D
23f90 45 27 27 20 43 45 4e 43 49 20 31 33 27 29 0d 0a E'' CENCI 13')..
23fa0 20 20 20 20 41 4e 44 20 50 6f 69 6e 74 54 6f 20 AND PointTo
23fb0 3d 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 = (SELECT geom F
23fc0 52 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 ROM house_nr_vw
23fd0 57 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 WHERE municipali
23fe0 74 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e ty = 'AREZZO' AN
23ff0 44 20 61 64 64 72 65 73 73 20 3d 20 27 56 49 41 D address = 'VIA
24000 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e ANTONIO GUADAGN
24010 4f 4c 49 20 31 39 2f 43 27 29 3b 0d 0a 3c 2f 76 OLI 19/C');..</v
24020 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f erbatim>..The fo
24030 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 llowing table sh
24040 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 ows the resultse
24050 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 t returned by th
24060 65 20 61 62 6f 76 65 20 50 6f 69 6e 74 2d 74 6f e above Point-to
24070 2d 50 6f 69 6e 74 20 71 75 65 72 79 20 61 66 74 -Point query aft
24080 65 72 20 73 65 6c 65 63 74 69 6e 67 20 3c 62 3e er selecting <b>
24090 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 45 Options = 'NO GE
240a0 4f 4d 45 54 52 49 45 53 27 3c 2f 62 3e 20 61 6e OMETRIES'</b> an
240b0 64 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 20 3d d <b>Tolerance =
240c0 20 32 35 2e 35 3c 2f 62 3e 3c 62 72 3e 3c 62 72 25.5</b><br><br
240d0 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 >..<table border
240e0 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 ="1" bgcolor="#f
240f0 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 fffcf" cellspaci
24100 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 ng="4" cellpaddi
24110 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 ng="6">..<tr><th
24120 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
24130 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 0">Request</th><
24140 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
24150 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 0a0">Options</th
24160 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
24170 30 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 0d0a0">Tolerance
24180 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
24190 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 ="#d0d0a0">Route
241a0 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f Row</th><th bgco
241b0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
241c0 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c le</th><th bgcol
241d0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e or="#d0d0a0">Lin
241e0 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 kRowid</th><th b
241f0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
24200 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 >NodeFrom</th><t
24210 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
24220 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c a0">NodeTo</th><
24230 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
24240 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 0a0">Cost</th><t
24250 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
24260 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 a0">Geometry</th
24270 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
24280 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0d0a0">Name</th>
24290 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
242a0 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 50 61 74 >Point2Point Pat
242b0 68 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 47 65 6f h</td><td>No Geo
242c0 6d 65 74 72 69 65 73 3c 2f 74 64 3e 3c 74 64 20 metries</td><td
242d0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 35 align="right">25
242e0 2e 35 30 30 30 30 30 3c 2f 74 64 3e 3c 74 64 20 .500000</td><td
242f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
24300 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f /td><td>Point2Po
24310 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 int Solution</td
24320 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
24330 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</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 36 35 31 2e 30 36 n="right">651.06
24360 37 30 38 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 7082</td><td>NUL
24370 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
24380 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
24390 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
243a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
243b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
243c0 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 gn="right">1</td
243d0 3e 3c 74 64 3e 49 6e 67 72 65 73 73 20 50 61 74 ><td>Ingress Pat
243e0 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f h</td><td>NULL</
243f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
24400 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
24410 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
24420 2e 33 30 31 36 38 37 3c 2f 74 64 3e 3c 74 64 3e .301687</td><td>
24430 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
24440 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
24450 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
24460 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
24470 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
24480 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
24490 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 /td><td>Partial
244a0 4c 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f 74 64 Link (Start)</td
244b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
244c0 74 22 3e 32 32 34 32 36 34 3c 2f 74 64 3e 3c 74 t">224264</td><t
244d0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
244e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
244f0 36 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 630</td><td alig
24500 6e 3d 22 72 69 67 68 74 22 3e 34 36 2e 30 38 32 n="right">46.082
24510 37 36 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 761</td><td>NULL
24520 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 27 </td><td>VIA DE'
24530 20 43 45 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 CENCI</td>..</t
24540 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
24550 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
24560 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
24570 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
24580 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">3</td><td>Lin
24590 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
245a0 22 72 69 67 68 74 22 3e 32 32 33 37 35 38 3c 2f "right">223758</
245b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
245c0 67 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e ght">182630</td>
245d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
245e0 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 ">182629</td><td
245f0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
24600 34 2e 31 39 38 31 31 35 3c 2f 74 64 3e 3c 74 64 4.198115</td><td
24610 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f >NULL</td><td>CO
24620 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d RSO ITALIA</td>.
24630 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
24640 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
24650 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
24660 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
24670 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 right">4</td><td
24680 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
24690 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 ign="right">2255
246a0 31 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 12</td><td align
246b0 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c ="right">182629<
246c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
246d0 69 67 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 ight">182933</td
246e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
246f0 74 22 3e 33 34 2e 31 38 34 31 39 34 3c 2f 74 64 t">34.184194</td
24700 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
24710 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f d>CORSO ITALIA</
24720 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
24730 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
24740 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
24750 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
24760 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 gn="right">5</td
24770 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
24780 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
24790 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 225511</td><td a
247a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
247b0 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 933</td><td alig
247c0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 n="right">181999
247d0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
247e0 72 69 67 68 74 22 3e 34 39 2e 32 34 31 37 33 35 right">49.241735
247f0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
24800 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c d><td>CORSO ITAL
24810 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a IA</td>..</tr>..
24820 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
24830 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
24840 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
24850 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 align="right">6
24860 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
24870 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
24880 68 74 22 3e 32 32 35 38 30 30 3c 2f 74 64 3e 3c ht">225800</td><
24890 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
248a0 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 >181999</td><td
248b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
248c0 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8880</td><td ali
248d0 67 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 35 39 gn="right">95.59
248e0 32 32 30 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 2204</td><td>NUL
248f0 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 L</td><td>VIA FR
24900 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f ANCESCO CRISPI</
24910 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
24920 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
24930 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
24940 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
24950 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 gn="right">7</td
24960 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
24970 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
24980 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 219171</td><td a
24990 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
249a0 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 880</td><td alig
249b0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 n="right">178732
249c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
249d0 72 69 67 68 74 22 3e 39 33 2e 32 38 35 35 33 38 right">93.285538
249e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
249f0 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 d><td>VIA FRANCE
24a00 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d SCO CRISPI</td>.
24a10 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
24a20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
24a30 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
24a40 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
24a50 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 right">8</td><td
24a60 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
24a70 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 30 ign="right">2190
24a80 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 58</td><td align
24a90 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c ="right">178732<
24aa0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24ab0 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 ight">178754</td
24ac0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
24ad0 74 22 3e 31 34 38 2e 36 35 36 30 38 39 3c 2f 74 t">148.656089</t
24ae0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
24af0 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f td>VIA FRANCESCO
24b00 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f CRISPI</td>..</
24b10 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
24b20 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
24b30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
24b40 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
24b50 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 50 61 ht">9</td><td>Pa
24b60 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 rtial Link (End)
24b70 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
24b80 72 69 67 68 74 22 3e 32 32 34 30 31 39 3c 2f 74 right">224019</t
24b90 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
24ba0 68 74 22 3e 31 38 32 38 39 30 3c 2f 74 64 3e 3c ht">182890</td><
24bb0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
24bc0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 align="right">15
24bd0 30 2e 32 36 30 36 34 31 3c 2f 74 64 3e 3c 74 64 0.260641</td><td
24be0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
24bf0 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 A ANTONIO GUADAG
24c00 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NOLI</td>..</tr>
24c10 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
24c20 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
24c30 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
24c40 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
24c50 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 45 67 72 65 >10</td><td>Egre
24c60 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e ss Path</td><td>
24c70 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
24c80 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
24c90 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
24ca0 67 68 74 22 3e 37 2e 32 36 34 31 31 38 3c 2f 74 ght">7.264118</t
24cb0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
24cc0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
24cd0 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
24ce0 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 br><br>..The map
24cf0 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 6c below graphical
24d00 6c 79 20 73 68 6f 77 73 20 74 68 65 20 74 77 6f ly shows the two
24d10 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 Point-to-Point
24d20 53 6f 6c 75 74 69 6f 6e 73 20 72 65 74 75 72 6e Solutions return
24d30 65 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f ed by the previo
24d40 75 73 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 us queries...<br
24d50 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d ><br>..<img src=
24d60 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
24d70 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
24d80 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f ns/routing-figs/
24d90 70 6f 69 6e 74 2d 74 6f 2d 70 6f 69 6e 74 2e 6a point-to-point.j
24da0 70 67 22 20 61 6c 74 3d 22 70 6f 69 6e 74 2d 74 pg" alt="point-t
24db0 6f 2d 70 6f 69 6e 74 22 3e 0d 0a 3c 75 6c 3e 0d o-point">..<ul>.
24dc0 0a 3c 6c 69 3e 74 68 65 20 67 72 65 65 6e 20 6c .<li>the green l
24dd0 69 6e 65 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 ine corresponds
24de0 74 6f 20 74 68 65 20 66 69 72 73 74 20 73 6f 6c to the first sol
24df0 75 74 69 6f 6e 20 28 3c 69 3e 50 6f 69 6e 74 54 ution (<i>PointT
24e00 6f 20 3d 20 56 49 41 20 47 55 41 44 41 47 4e 4f o = VIA GUADAGNO
24e10 4c 49 20 31 39 2f 42 3c 2f 69 3e 29 2e 3c 2f 6c LI 19/B</i>).</l
24e20 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 79 65 6c 6c i>..<li>the yell
24e30 6f 77 20 6c 69 6e 65 20 63 6f 72 72 65 73 70 6f ow line correspo
24e40 6e 64 73 20 74 6f 20 74 68 65 20 73 65 63 6f 6e nds to the secon
24e50 64 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 50 d solution (<i>P
24e60 6f 69 6e 74 54 6f 20 3d 20 56 49 41 20 47 55 41 ointTo = VIA GUA
24e70 44 41 47 4e 4f 4c 49 20 31 39 2f 43 3c 2f 69 3e DAGNOLI 19/C</i>
24e80 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a ).</li>..</ul>..
24e90 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 <br>..<u>Note</u
24ea0 3e 3a 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e >: Point-to-Poin
24eb0 74 20 71 75 65 72 69 65 73 20 61 72 65 20 76 65 t queries are ve
24ec0 72 79 20 73 65 6e 73 69 74 69 76 65 2c 20 61 6e ry sensitive, an
24ed0 64 20 61 20 76 65 72 79 20 62 6c 61 6e 64 20 73 d a very bland s
24ee0 68 69 66 74 20 61 66 66 65 63 74 69 6e 67 20 74 hift affecting t
24ef0 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 61 he position of a
24f00 20 72 65 66 65 72 65 6e 63 65 20 50 6f 69 6e 74 reference Point
24f10 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 63 61 could easily ca
24f20 75 73 65 20 64 72 61 6d 61 74 69 63 20 63 68 61 use dramatic cha
24f30 6e 67 65 73 20 69 6e 20 74 68 65 20 53 6f 6c 75 nges in the Solu
24f40 74 69 6f 6e 27 73 20 50 61 74 68 20 28 61 73 20 tion's Path (as
24f50 69 73 20 69 6e 20 74 68 69 73 20 63 61 73 65 29 is in this case)
24f60 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 ...<br><br>..<hr
24f70 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 ><br>..<a href="
24f80 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
24f90 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c -gis.it/fossil/l
24fa0 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 6b ibspatialite/wik
24fb0 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 i?name=4.3.0-doc
24fc0 22 3e 62 61 63 6b 3c 2f 61 3e 0a 5a 20 63 64 39 ">back</a>.Z cd9
24fd0 62 38 37 36 63 66 34 35 61 31 64 36 38 30 33 63 b876cf45a1d6803c
24fe0 35 32 34 61 34 33 36 62 34 36 66 66 62 0a 524a436b46ffb.