Wiki page
[VirtualRouting] by
sandro
2018-05-03 17:45:10.
0000: 44 20 32 30 31 38 2d 30 35 2d 30 33 54 31 37 3a D 2018-05-03T17:
0010: 34 35 3a 31 30 2e 35 38 30 0a 4c 20 56 69 72 74 45:10.580.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 64 36 36 ualRouting.P d66
0030: 35 36 65 62 33 64 61 34 31 32 61 62 64 61 66 33 56eb3da412abdaf3
0040: 33 64 36 34 65 65 62 65 35 30 66 62 31 30 64 35 3d64eebe50fb10d5
0050: 38 62 38 35 36 0a 55 20 73 61 6e 64 72 6f 0a 57 8b856.U sandro.W
0060: 20 31 35 33 33 38 36 0a 3c 61 20 68 72 65 66 3d 153386.<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 64 20 74 6f 20 73 70 65 63 69 ntended to speci
1870: 66 79 20 69 66 20 74 68 65 20 4c 69 6e 6b 20 63 fy if the Link c
1880: 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20 an be traversed
1890: 6f 6e 20 62 6f 74 68 20 64 69 72 65 63 74 69 6f on both directio
18a0: 6e 73 20 6f 72 20 6a 75 73 74 20 69 6e 20 6f 6e ns or just in on
18b0: 65 20 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 e (<b>one-way</b
18c0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c >).</li>..</ul><
18d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 53 70 65 /li>..<li><u>Spe
18e0: 63 69 61 6c 20 63 61 73 65 3c 2f 75 3e 3a 20 61 cial case</u>: a
18f0: 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 20 4c 69 <b>forbidden Li
1900: 6e 6b 3c 2f 62 3e 20 69 73 20 61 6e 79 20 70 65 nk</b> is any pe
1910: 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 4c 69 rfectly valid Li
1920: 6e 6b 20 74 68 61 74 20 66 6f 72 20 61 6e 79 20 nk that for any
1930: 67 6f 6f 64 20 72 65 61 73 6f 6e 20 63 61 6e 20 good reason can
1940: 6e 65 76 65 72 20 62 65 20 74 72 61 76 65 72 73 never be travers
1950: 65 64 20 69 6e 20 62 6f 74 68 20 64 69 72 65 63 ed in both direc
1960: 74 69 6f 6e 73 2e 20 50 72 61 63 74 69 63 61 6c tions. Practical
1970: 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 75 6c 3e examples:..<ul>
1980: 0d 0a 3c 6c 69 3e 52 6f 61 64 20 4e 65 74 77 6f ..<li>Road Netwo
1990: 72 6b 73 3a 20 69 74 20 63 6f 75 6c 64 20 62 65 rks: it could be
19a0: 20 75 73 65 66 75 6c 20 72 65 70 72 65 73 65 6e useful represen
19b0: 74 69 6e 67 20 3c 62 3e 70 65 64 65 73 74 72 69 ting <b>pedestri
19c0: 61 6e 20 73 74 72 65 65 74 73 3c 2f 62 3e 20 61 an streets</b> a
19d0: 6e 64 20 3c 62 3e 62 69 63 79 63 6c 65 20 6c 61 nd <b>bicycle la
19e0: 6e 65 73 3c 2f 62 3e 2c 20 62 75 74 20 74 68 65 nes</b>, but the
19f0: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c corresponding L
1a00: 69 6e 6b 73 20 77 69 6c 6c 20 62 65 20 61 6c 77 inks will be alw
1a10: 61 79 73 20 66 6f 72 62 69 64 64 65 6e 20 74 6f ays forbidden to
1a20: 20 63 61 72 20 63 69 72 63 75 6c 61 74 69 6f 6e car circulation
1a30: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c 63 .</li>..<li>Telc
1a40: 6f 6d 20 2f 20 45 6c 65 63 74 72 69 63 61 6c 20 om / Electrical
1a50: 4e 65 74 77 6f 72 6b 73 3a 20 73 65 76 65 72 61 Networks: severa
1a60: 6c 20 4c 69 6e 6b 73 20 28 3c 62 3e 77 69 72 65 l Links (<b>wire
1a70: 73 3c 2f 62 3e 29 20 63 6f 75 6c 64 20 62 65 20 s</b>) could be
1a80: 70 68 79 73 69 63 61 6c 6c 79 20 69 6e 73 74 61 physically insta
1a90: 6c 6c 65 64 20 62 75 74 20 74 65 6d 70 6f 72 61 lled but tempora
1aa0: 72 69 6c 79 20 3c 62 3e 6f 75 74 2d 6f 66 2d 73 rily <b>out-of-s
1ab0: 65 72 76 69 63 65 3c 2f 62 3e 20 66 6f 72 20 74 ervice</b> for t
1ac0: 65 63 68 6e 69 63 61 6c 20 72 65 61 73 6f 6e 73 echnical reasons
1ad0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c .</li>..</ul></l
1ae0: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e 4c i>..</ul>..<h4>L
1af0: 6f 67 69 63 61 6c 20 63 6f 6e 63 6c 75 73 69 6f ogical conclusio
1b00: 6e 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f 70 ns</h4>..Any top
1b10: 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64 ologically valid
1b20: 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 <b>Network</b>
1b30: 28 69 72 72 65 73 70 65 63 74 69 76 65 20 6f 66 (irrespective of
1b40: 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20 61 whether it is a
1b50: 20 3c 62 3e 53 70 61 74 69 61 6c 3c 2f 62 3e 20 <b>Spatial</b>
1b60: 6f 72 20 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f 62 or <b>Logical</b
1b70: 3e 20 74 79 70 65 29 20 69 73 20 61 20 76 61 6c > type) is a val
1b80: 69 64 20 3c 62 3e 47 72 61 70 68 3c 2f 62 3e 2e id <b>Graph</b>.
1b90: 3c 62 72 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20 <br>..A Network
1ba0: 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 75 70 allowing the sup
1bb0: 70 6f 72 74 20 28 64 69 72 65 63 74 20 6f 72 20 port (direct or
1bc0: 69 6e 64 69 72 65 63 74 29 20 6f 66 20 73 6f 6d indirect) of som
1bd0: 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 e appropriate <b
1be0: 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e 20 >cost value</b>
1bf0: 69 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 57 65 is a valid <b>We
1c00: 69 67 68 74 65 64 20 47 72 61 70 68 3c 2f 62 3e ighted Graph</b>
1c10: 2c 20 61 6e 64 20 63 61 6e 20 63 6f 6e 73 65 71 , and can conseq
1c20: 75 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c uently support <
1c30: 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 b>Routing algori
1c40: 74 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 thms</b>.<br>..A
1c50: 6c 6c 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 ll Routing algor
1c60: 69 74 68 6d 73 20 61 72 65 20 69 6e 74 65 6e 64 ithms are intend
1c70: 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74 ed to identify t
1c80: 68 65 20 3c 62 3e 53 68 6f 72 74 65 73 74 20 50 he <b>Shortest P
1c90: 61 74 68 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e ath</b> solution
1ca0: 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 77 6f 20 connecting two
1cb0: 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e 20 <b>Nodes</b> in
1cc0: 61 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67 72 a <b>weighted gr
1cd0: 61 70 68 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c aph</b> (<i>aka<
1ce0: 2f 69 3e 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f /i> <b>Network</
1cf0: 62 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 b>).<br><br>..<b
1d00: 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 3e ><u>Note</u></b>
1d10: 3a 20 74 68 65 20 74 65 72 6d 20 3c 62 3e 3c 69 : the term <b><i
1d20: 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f >Shortest Path</
1d30: 69 3e 3c 2f 62 3e 20 63 61 6e 20 62 65 20 65 61 i></b> can be ea
1d40: 73 69 6c 79 20 6d 69 73 75 6e 64 65 72 73 74 6f sily misundersto
1d50: 6f 64 2e 3c 62 72 3e 0d 0a 44 75 65 20 74 6f 20 od.<br>..Due to
1d60: 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f historical reaso
1d70: 6e 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d ns the most comm
1d80: 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 66 on application f
1d90: 69 65 6c 64 20 66 6f 72 20 52 6f 75 74 69 6e 67 ield for Routing
1da0: 20 61 6c 67 6f 72 69 74 68 6d 73 20 69 73 20 72 algorithms is r
1db0: 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e 52 6f 61 elated to <b>Roa
1dc0: 64 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c 20 d Networks</b>,
1dd0: 62 75 74 20 61 6c 73 6f 20 6d 61 6e 79 20 6f 74 but also many ot
1de0: 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 4e 65 74 her kinds of Net
1df0: 77 6f 72 6b 73 20 65 78 69 73 74 3a 0d 0a 3c 75 works exist:..<u
1e00: 6c 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f 67 72 61 l>..<li>Hydrogra
1e10: 70 68 69 63 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f phic Networks.</
1e20: 6c 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20 57 li>..<li>Gas / W
1e30: 61 74 65 72 20 2f 20 4f 69 6c 20 4e 65 74 77 6f ater / Oil Netwo
1e40: 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 rks.</li>..<li>E
1e50: 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f 72 lectrical Networ
1e60: 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 ks.</li>..<li>Te
1e70: 6c 65 63 6f 6d 75 6e 69 63 61 74 69 6f 6e 20 4e lecomunication N
1e80: 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c etworks.</li>..<
1e90: 6c 69 3e 53 6f 63 69 61 6c 20 6f 72 20 45 63 6f li>Social or Eco
1ea0: 6e 6f 6d 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 nomical Networks
1eb0: 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 72 65 representing re
1ec0: 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74 77 lationships betw
1ed0: 65 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73 20 een individuals
1ee0: 6f 72 20 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f 6c or companies.</l
1ef0: 69 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65 6d 69 6f i>..<li>Epidemio
1f00: 6c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 logical Networks
1f10: 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 representing th
1f20: 65 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 e propagation of
1f30: 20 69 6e 66 65 63 74 69 76 65 20 64 69 73 65 61 infective disea
1f40: 73 65 73 20 62 65 74 77 65 65 6e 20 69 6e 64 69 ses between indi
1f50: 76 69 64 75 61 6c 73 20 6f 72 20 67 72 6f 75 70 viduals or group
1f60: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f s.</li>..</ul></
1f70: 6c 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 61 li> ..<br>..In a
1f80: 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 63 61 73 ll the above cas
1f90: 65 73 20 77 65 20 63 65 72 74 61 69 6e 6c 79 20 es we certainly
1fa0: 68 61 76 65 20 76 61 6c 69 64 20 4e 65 74 77 6f have valid Netwo
1fb0: 72 6b 73 20 73 75 70 70 6f 72 74 69 6e 67 20 52 rks supporting R
1fc0: 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6e outing algorithn
1fd0: 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20 6f s, but not all o
1fe0: 66 20 74 68 65 6d 20 63 61 6e 20 69 6d 70 6c 79 f them can imply
1ff0: 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 something like
2000: 61 20 3c 69 3e 73 70 61 74 69 61 6c 20 64 69 73 a <i>spatial dis
2010: 74 61 6e 63 65 3c 2f 69 3e 20 28 3c 69 3e 67 65 tance</i> (<i>ge
2020: 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c 2f ometric length</
2030: 69 3e 29 20 6f 72 20 61 20 3c 69 3e 74 72 61 76 i>) or a <i>trav
2040: 65 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72 3e el time</i>.<br>
2050: 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 67 65 ..In the most ge
2060: 6e 65 72 61 6c 20 61 63 63 65 70 74 69 6f 6e 20 neral acception
2070: 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 63 61 6e <b>costs</b> can
2080: 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 be represented
2090: 62 79 20 61 6e 79 20 72 65 61 73 6f 6e 61 62 6c by any reasonabl
20a0: 65 20 70 68 79 73 69 63 61 6c 20 71 75 61 6e 74 e physical quant
20b0: 69 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20 6d ity.<br>..So a m
20c0: 6f 72 65 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 ore generalized
20d0: 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 61 73 definition is as
20e0: 73 75 6d 69 6e 67 20 74 68 61 74 20 52 6f 75 74 suming that Rout
20f0: 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 61 ing algorithms a
2100: 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 69 re intended to i
2110: 64 65 6e 74 69 66 79 20 3c 62 3e 6c 65 73 73 65 dentify <b>lesse
2120: 72 20 63 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75 74 r cost</b> solut
2130: 69 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e 77 65 69 ions on a <b>wei
2140: 67 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e 2e ghted graph</b>.
2150: 3c 62 72 3e 0d 0a 54 68 65 20 65 78 61 63 74 20 <br>..The exact
2160: 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f interpretation o
2170: 66 20 74 68 65 20 69 6e 76 6f 6c 76 65 64 20 3c f the involved <
2180: 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 28 3c 69 3e b>costs</b> (<i>
2190: 61 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65 69 67 68 aka</i> <b>weigh
21a0: 74 73 3c 2f 62 3e 29 20 73 74 72 69 63 74 6c 79 ts</b>) strictly
21b0: 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 depends on the
21c0: 76 65 72 79 20 73 70 65 63 69 66 69 63 20 6e 61 very specific na
21d0: 74 75 72 65 20 6f 66 20 65 61 63 68 20 4e 65 74 ture of each Net
21e0: 77 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20 44 work...<h3>The D
21f0: 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 69 ijkstra's algori
2200: 74 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69 73 20 77 thm</h3>..This w
2210: 65 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20 68 72 65 ell known <a hre
2220: 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 f="https://en.wi
2230: 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 kipedia.org/wiki
2240: 2f 44 69 6a 6b 73 74 72 61 25 32 37 73 5f 61 6c /Dijkstra%27s_al
2250: 67 6f 72 69 74 68 6d 22 3e 61 6c 67 6f 72 69 74 gorithm">algorit
2260: 68 6d 3c 2f 61 3e 20 69 73 6e 27 74 20 6e 65 63 hm</a> isn't nec
2270: 65 73 73 61 72 69 6c 79 20 74 68 65 20 66 61 73 essarily the fas
2280: 74 65 73 74 20 6f 6e 65 2c 20 62 75 74 20 69 74 test one, but it
2290: 20 61 6c 77 61 79 73 20 65 6e 73 75 72 65 73 20 always ensures
22a0: 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e <b>full correctn
22b0: 65 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a ess</b>:..<ul>..
22c0: 3c 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f 2d <li>Any Node-to-
22d0: 4e 6f 64 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 Node connection
22e0: 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 44 69 identified by Di
22f0: 6a 6b 73 74 72 61 27 73 20 69 73 20 63 65 72 74 jkstra's is cert
2300: 61 69 6e 6c 79 20 65 6e 73 75 72 65 64 20 74 6f ainly ensured to
2310: 20 62 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f be <b>optimal</
2320: 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 65 b>.<br>..In othe
2330: 72 20 77 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e 6e r words, no conn
2340: 65 63 74 69 6f 6e 20 70 72 65 73 65 6e 74 69 6e ection presentin
2350: 67 20 61 20 6c 6f 77 65 72 20 63 6f 73 74 20 63 g a lower cost c
2360: 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 an conceptually
2370: 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 exist.</li>..<li
2380: 3e 57 68 65 6e 20 44 69 6a 73 6a 74 72 61 27 73 >When Dijsjtra's
2390: 20 66 61 69 6c 73 20 74 6f 20 69 64 65 6e 74 69 fails to identi
23a0: 66 79 20 61 20 73 6f 6c 75 74 69 6f 6e 20 74 68 fy a solution th
23b0: 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e 73 20 is surely means
23c0: 74 68 61 74 20 6e 6f 20 73 6f 6c 75 74 69 6f 6e that no solution
23d0: 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c is possible.</l
23e0: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 54 i>..</ul>..<h3>T
23f0: 68 65 20 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c he A* algorithm<
2400: 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74 65 72 /h3>..Many alter
2410: 6e 61 74 69 76 65 20 52 6f 75 74 69 6e 67 20 61 native Routing a
2420: 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65 20 62 lgorithms have b
2430: 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64 75 72 een invented dur
2440: 69 6e 67 20 74 68 65 20 79 65 61 72 73 2e 3c 62 ing the years.<b
2450: 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d 20 61 72 65 r>..All them are
2460: 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 69 73 based on heuris
2470: 74 69 63 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 tic assumptions
2480: 61 6e 64 20 61 72 65 20 69 6e 74 65 6e 64 65 64 and are intended
2490: 20 74 6f 20 62 65 20 66 61 73 74 65 72 20 74 68 to be faster th
24a0: 61 6e 20 44 69 6a 6b 73 74 72 61 27 73 2c 20 62 an Dijkstra's, b
24b0: 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 ut none of them
24c0: 63 61 6e 20 65 6e 73 75 72 65 20 3c 62 3e 66 75 can ensure <b>fu
24d0: 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73 3c 2f ll correctness</
24e0: 62 3e 20 61 73 20 44 69 6a 6b 73 74 72 61 27 73 b> as Dijkstra's
24f0: 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68 65 20 does.<br>..The
2500: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f <a href="https:/
2510: 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 /en.wikipedia.or
2520: 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 61 72 63 68 g/wiki/A*_search
2530: 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 41 2a 20 61 _algorithm">A* a
2540: 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 61 70 70 lgorithm</a> app
2550: 6c 69 65 73 20 61 20 6d 69 6c 64 20 68 65 75 72 lies a mild heur
2560: 69 73 74 69 63 20 6f 70 74 69 6d 69 7a 61 74 69 istic optimizati
2570: 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 61 on, and can be a
2580: 20 72 65 61 6c 69 73 74 69 63 20 61 6c 74 65 72 realistic alter
2590: 6e 61 74 69 76 65 20 74 6f 20 44 69 6a 6b 73 74 native to Dijkst
25a0: 72 61 27 73 20 69 6e 20 6d 61 6e 79 20 63 61 73 ra's in many cas
25b0: 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 es.<br><br>..<hr
25c0: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 >..<h1><a name="
25d0: 73 61 6d 70 6c 65 22 3e 32 20 2d 20 54 68 65 20 sample">2 - The
25e0: 73 61 6d 70 6c 65 2f 74 65 73 74 20 44 42 3c 2f sample/test DB</
25f0: 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61 72 65 a></h1>..You are
2600: 20 65 78 70 65 63 74 65 64 20 74 6f 20 66 6f 6c expected to fol
2610: 6c 6f 77 20 74 68 65 20 63 75 72 72 65 6e 74 20 low the current
2620: 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 74 20 3c tutorial about <
2630: 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 b>VirtualRouting
2640: 3c 2f 62 3e 20 62 79 20 64 69 72 65 63 74 6c 79 </b> by directly
2650: 20 74 65 73 74 69 6e 67 20 61 6c 6c 20 53 51 4c testing all SQL
2660: 20 71 75 65 72 69 65 73 20 64 69 73 63 75 73 73 queries discuss
2670: 65 64 20 20 62 65 6c 6f 77 20 77 69 74 68 20 74 ed below with t
2680: 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 he <a href="http
2690: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
26a0: 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f .it/gaia-sins/ro
26b0: 75 74 69 6e 67 2d 73 61 6d 70 6c 65 2d 35 2e 30 uting-sample-5.0
26c0: 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c 65 2f 74 65 .0.7z">sample/te
26d0: 73 74 20 44 42 20 74 68 61 74 20 79 6f 75 20 63 st DB that you c
26e0: 61 6e 20 64 6f 77 6e 6c 6f 61 64 20 66 72 6f 6d an download from
26f0: 20 68 65 72 65 3c 2f 61 3e 3c 62 72 3e 3c 62 72 here</a><br><br
2700: 3e 0d 0a 54 68 65 20 73 61 6d 70 6c 65 20 44 42 >..The sample DB
2710: 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 75 contains the fu
2720: 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e 65 74 77 6f ll <b>road netwo
2730: 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62 3e 54 75 73 rk</b> of <b>Tus
2740: 63 61 6e 79 20 52 65 67 69 6f 6e 20 28 49 74 61 cany Region (Ita
2750: 6c 79 29 3c 2f 62 3e 20 28 3c 61 20 68 72 65 66 ly)</b> (<a href
2760: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e ="http://www502.
2770: 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e regione.toscana.
2780: 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77 it/geoscopio/dow
2790: 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f 73 74 72 61 nload/grafo_stra
27a0: 64 61 6c 65 2f 69 74 65 72 6e 65 74 2e 7a 69 70 dale/iternet.zip
27b0: 22 3e 49 74 65 72 2e 4e 65 74 20 64 61 74 61 73 ">Iter.Net datas
27c0: 65 74 3c 2f 61 3e 29 20 6b 69 6e 64 6c 79 20 72 et</a>) kindly r
27d0: 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 eleased under th
27e0: 65 20 3c 62 3e 43 43 2d 42 59 2d 53 41 20 34 2e e <b>CC-BY-SA 4.
27f0: 30 3c 2f 62 3e 20 6c 69 63 65 6e 63 65 20 74 65 0</b> licence te
2800: 72 6d 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 74 68 6f rms.<br>..Alltho
2810: 75 67 68 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 ugh the contents
2820: 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 73 stored in the s
2830: 61 6d 70 6c 65 20 64 61 74 61 62 61 73 65 20 68 ample database h
2840: 61 76 65 20 62 65 65 6e 20 72 65 61 72 72 61 6e ave been rearran
2850: 67 65 64 2c 20 69 74 20 69 73 20 73 74 69 6c 6c ged, it is still
2860: 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 subject to the
2870: 69 6e 69 74 69 61 6c 20 3c 62 3e 43 43 2d 42 59 initial <b>CC-BY
2880: 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 63 6c 61 75 -SA 4.0</b> clau
2890: 73 65 73 20 28 3c 69 3e 64 65 72 69 76 65 64 20 ses (<i>derived
28a0: 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a 3c 62 72 3e work</i>)...<br>
28b0: 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e <br>..<ul>..<li>
28c0: 61 6c 6c 20 72 6f 61 64 20 6e 61 6d 65 73 20 61 all road names a
28d0: 72 65 20 73 74 6f 72 65 64 20 77 69 74 68 69 6e re stored within
28e0: 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 the <b>toponyms
28f0: 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c 62 72 3e 0d </b> Table.<br>.
2900: 0a 73 69 6e 63 65 20 74 68 65 20 73 61 6d 65 20 .since the same
2910: 72 6f 61 64 20 6e 61 6d 65 73 20 63 6f 75 6c 64 road names could
2920: 20 62 65 20 75 73 65 64 20 69 6e 20 64 69 66 66 be used in diff
2930: 65 72 65 6e 74 20 4d 75 6e 69 63 69 70 61 6c 69 erent Municipali
2940: 74 69 65 73 2c 20 74 68 65 20 3c 62 3e 74 6f 70 ties, the <b>top
2950: 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 20 onyms</b> Table
2960: 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72 65 66 relationally ref
2970: 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62 3e 6d erences the <b>m
2980: 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 unicipalities</b
2990: 3e 20 54 61 62 6c 65 20 28 76 69 61 20 3c 62 3e > Table (via <b>
29a0: 50 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20 3c 62 PRIMARY</b> / <b
29b0: 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f 62 3e >FOREIGN KEY</b>
29c0: 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 29 2e relationships).
29d0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c </li>..<li>the <
29e0: 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70 61 74 b>roads</b> Spat
29f0: 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74 61 69 ial Table contai
2a00: 6e 73 20 61 62 6f 75 74 20 3c 62 3e 33 38 30 2c ns about <b>380,
2a10: 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c 20 61 000</b> Links, a
2a20: 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f nd has the follo
2a30: 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c wing columns:..<
2a40: 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 3c 2f ul>..<li><b>id</
2a50: 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 6e 74 b>: unique ident
2a60: 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 4c 69 ifier of each Li
2a70: 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59 20 4b nk (<b>PRIMARY K
2a80: 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c EY</b>).</li>..<
2a90: 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f 6d 3c li><b>node_from<
2aa0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64 65 5f /b> and <b>node_
2ab0: 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69 64 65 to</b>: Node ide
2ac0: 6e 74 69 66 69 65 72 73 2e 0d 0a 54 68 65 20 6f ntifiers...The o
2ad0: 72 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e 65 74 riginal Iter.Net
2ae0: 20 64 61 74 61 73 65 74 20 61 64 6f 70 74 73 20 dataset adopts
2af0: 76 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63 6f 6d very long an com
2b00: 70 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65 72 69 plex alphanumeri
2b10: 63 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20 74 68 c Node codes; th
2b20: 65 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20 49 e integer Node I
2b30: 44 73 20 77 65 72 65 20 6f 62 74 61 69 6e 65 64 Ds were obtained
2b40: 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 by calling the
2b50: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 <b>CreateRouting
2b60: 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 4c 20 Nodes()</b> SQL
2b70: 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 75 73 73 function discuss
2b80: 65 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77 69 6e ed in a followin
2b90: 67 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d g section.</li>.
2ba0: 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70 6f 6e .<li><b>id_topon
2bb0: 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69 6f 6e ym</b>: relation
2bc0: 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 al reference to
2bd0: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e the correspondin
2be0: 67 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f 6e 74 g road name cont
2bf0: 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 3c ained into the <
2c00: 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 b>toponyms</b> T
2c10: 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e able (<b>FOREIGN
2c20: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d KEY</b>).</li>.
2c30: 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f 6b 6d .<li><b>speed_km
2c40: 68 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74 69 6d h</b>: the estim
2c50: 61 74 65 64 20 61 76 65 72 61 67 65 20 73 70 65 ated average spe
2c60: 65 64 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 ed supported by
2c70: 74 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72 65 73 the Link, expres
2c80: 73 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68 3c 2f sed in <b>km/h</
2c90: 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 b>.<br>..<u>Note
2ca0: 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74 69 76 </u>: <b>negativ
2cb0: 65 3c 2f 62 3e 20 73 70 65 65 64 73 20 69 6e 74 e</b> speeds int
2cc0: 65 6e 64 20 61 20 66 6f 72 62 69 64 64 65 6e 20 end a forbidden
2cd0: 4c 69 6e 6b 20 28 61 73 20 69 74 20 63 6f 75 6c Link (as it coul
2ce0: 64 20 62 65 20 74 68 65 20 63 61 73 65 20 6f 66 d be the case of
2cf0: 20 70 65 64 65 73 74 72 69 61 6e 20 73 74 72 65 pedestrian stre
2d00: 65 74 73 20 6f 72 20 62 69 63 79 63 6c 65 20 6c ets or bicycle l
2d10: 61 6e 65 73 20 65 78 6c 75 64 69 6e 67 20 6d 6f anes exluding mo
2d20: 74 6f 72 20 76 65 68 69 63 6c 65 73 29 2e 3c 2f tor vehicles).</
2d30: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6f 6e 65 77 li>..<li><b>onew
2d40: 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 3e 20 61 6e ay_fromto</b> an
2d50: 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 d <b>oneway_tofr
2d60: 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c 65 61 6e 20 om</b>: boolean
2d70: 66 6c 61 67 73 20 64 65 74 65 72 6d 69 6e 65 20 flags determine
2d80: 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e 20 62 65 if a Link can be
2d90: 20 74 72 61 76 65 72 73 65 64 20 69 6e 20 62 6f traversed in bo
2da0: 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20 6f 72 th directions or
2db0: 20 6a 75 73 74 20 69 6e 20 61 20 73 69 6e 67 6c just in a singl
2dc0: 65 20 64 69 72 65 63 74 69 6f 6e 20 28 3c 62 3e e direction (<b>
2dd0: 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c 62 72 one-way</b>).<br
2de0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
2df0: 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63 6c 61 72 all Links declar
2e00: 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79 5f 66 72 ing <b>oneway_fr
2e10: 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64 20 3c omto=0</b> and <
2e20: 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 3d b>oneway_tofrom=
2e30: 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74 65 6e 64 0</b> are intend
2e40: 65 64 20 74 6f 20 62 65 20 61 6c 77 61 79 73 20 ed to be always
2e50: 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c 69 3e 0d forbidden.</li>.
2e60: 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f 62 3e .<li><b>cost</b>
2e70: 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c 2f 62 : the <b>time</b
2e80: 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c > expressed in <
2e90: 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20 72 65 b>seconds</b> re
2ea0: 71 75 69 72 65 64 20 74 6f 20 74 72 61 76 65 72 quired to traver
2eb0: 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 se each Link.<br
2ec0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 >..<u>Note #1</u
2ed0: 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77 65 72 65 > all costs were
2ee0: 20 63 61 6c 63 75 6c 61 74 65 64 20 61 63 63 6f calculated acco
2ef0: 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 66 rdingly to the f
2f00: 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 75 6c 61 ollowing formula
2f10: 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28 28 53 54 : <b>cost = ((ST
2f20: 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 2f 20 _Length(geom) /
2f30: 31 30 30 30 2e 30 29 20 2f 20 73 70 65 65 64 5f 1000.0) / speed_
2f40: 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30 3c 2f 62 kmh) * 3600.0</b
2f50: 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 ><br>..<u>Note #
2f60: 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38 36 2c 2</u> all <b>86,
2f70: 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73 74 20 76 400.0</b> cost v
2f80: 61 6c 75 65 73 20 28 65 71 75 69 76 61 6c 65 6e alues (equivalen
2f90: 74 20 74 6f 20 31 20 64 61 79 29 20 69 6d 70 6c t to 1 day) impl
2fa0: 79 20 61 6e 20 3c 62 3e 69 6e 66 69 6e 69 74 69 y an <b>infiniti
2fb0: 76 65 20 63 6f 73 74 3c 2f 62 3e 20 74 68 75 73 ve cost</b> thus
2fc0: 20 69 6e 74 65 6e 64 69 6e 67 20 61 20 3c 62 3e intending a <b>
2fd0: 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 4c 69 forbidden</b> Li
2fe0: 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 nk.</li>..<li><b
2ff0: 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62 3e >geom</b>: a <b>
3000: 33 44 20 4c 69 6e 65 73 74 72 69 6e 67 3c 2f 62 3D Linestring</b
3010: 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 > representing t
3020: 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65 he Geometry of e
3030: 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c ach Link.<br>..<
3040: 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 65 20 u>Note</u>: the
3050: 6f 72 69 67 69 6e 61 6c 20 3c 62 3e 49 74 65 72 original <b>Iter
3060: 2e 4e 65 74 3c 2f 62 3e 20 64 61 74 61 73 65 74 .Net</b> dataset
3070: 20 69 73 20 6a 75 73 74 20 3c 62 3e 32 44 3c 2f is just <b>2D</
3080: 62 3e 3b 20 65 6c 65 76 61 74 69 6f 6e 73 20 28 b>; elevations (
3090: 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64 69 6e <b>Z</b> coordin
30a0: 61 74 65 73 29 20 77 65 72 65 20 69 6e 74 65 72 ates) were inter
30b0: 70 6f 6c 61 74 65 64 20 62 79 20 64 72 61 70 69 polated by drapi
30c0: 6e 67 20 74 68 65 20 64 61 74 61 73 65 74 20 6f ng the dataset o
30d0: 76 65 72 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 ver an <a href="
30e0: 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e 72 65 http://www502.re
30f0: 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e 69 74 gione.toscana.it
3100: 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77 6e 6c /geoscopio/downl
3110: 6f 61 64 2f 61 6c 74 69 6d 65 74 72 69 61 2f 64 oad/altimetria/d
3120: 61 5f 63 74 72 31 30 6b 2f 67 62 2f 44 54 4d 5f a_ctr10k/gb/DTM_
3130: 4f 72 6f 67 72 61 66 69 63 6f 2e 37 7a 22 3e 6f Orografico.7z">o
3140: 72 6f 67 72 61 70 68 69 63 20 44 45 4d 20 28 31 rographic DEM (1
3150: 30 6d 20 58 20 31 30 6d 20 63 65 6c 6c 73 29 3c 0m X 10m cells)<
3160: 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c /a></li>..</ul><
3170: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 /li>..<li>the <b
3180: 3e 72 6f 61 64 73 5f 76 77 3c 2f 62 3e 20 53 70 >roads_vw</b> Sp
3190: 61 74 69 61 6c 20 56 69 65 77 20 72 65 73 6f 6c atial View resol
31a0: 76 65 73 20 61 6c 6c 20 72 65 6c 61 74 69 6f 6e ves all relation
31b0: 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20 62 65 al references be
31c0: 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73 3c 2f tween <b>roads</
31d0: 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c b>, <b>toponyms<
31e0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63 /b> and <b>munic
31f0: 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74 ipalities</b>, t
3200: 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 hus allowing for
3210: 20 65 61 73 69 65 72 20 53 51 4c 20 71 75 65 72 easier SQL quer
3220: 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 ies.</li>..<li>t
3230: 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f he <b>house_nr</
3240: 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62 6c 65 b> Spatial Table
3250: 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75 74 20 contains about
3260: 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f 62 3e <b>1,480,000</b>
3270: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 2c 20 House Numbers,
3280: 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c 6c and has the foll
3290: 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d 0a owing columns:..
32a0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 3c <ul>..<li><b>id<
32b0: 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 6e /b>: unique iden
32c0: 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 48 tifier of each H
32d0: 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c 62 3e ouse Number (<b>
32e0: 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62 3e 29 PRIMARY KEY</b>)
32f0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 .</li>..<li><b>i
3300: 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65 6c 61 d_road</b>: rela
3310: 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 tional reference
3320: 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f to the correspo
3330: 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e 74 61 nding Link conta
3340: 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 3c 62 ined into the <b
3350: 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62 6c 65 >roads</b> Table
3360: 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 (<b>FOREIGN KEY
3370: 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 </b>).</li>..<li
3380: 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a 20 74 ><b>label</b>: t
3390: 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62 65 6c he textual label
33a0: 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79 69 6e fully qualifyin
33b0: 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e 75 6d g each House Num
33c0: 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ber.</li>..<li><
33d0: 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62 b>geom</b>: a <b
33e0: 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 72 65 >3D Point</b> re
33f0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 47 presenting the G
3400: 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63 68 20 eometry of each
3410: 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c 62 72 House Number.<br
3420: 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 >..<u>Note #1</u
3430: 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69 73 20 >: also in this
3440: 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61 74 69 case all elevati
3450: 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f ons (<b>Z</b> co
3460: 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72 65 20 ordinates) were
3470: 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 79 20 interpolated by
3480: 64 72 61 70 69 6e 67 20 74 68 65 20 64 61 74 61 draping the data
3490: 73 65 74 20 6f 76 65 72 20 74 68 65 20 73 61 6d set over the sam
34a0: 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65 2e 3c e DEM as above.<
34b0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c br>..<u>Note #2<
34c0: 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 73 70 /u>: strictly sp
34d0: 65 61 63 6b 69 6e 67 20 74 68 65 20 48 6f 75 73 eacking the Hous
34e0: 65 20 4e 75 6d 62 65 72 73 20 61 72 65 20 6e 6f e Numbers are no
34f0: 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 52 6f t part of the Ro
3500: 61 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68 65 79 ad Network; they
3510: 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e are included in
3520: 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65 73 74 the sample/test
3530: 20 64 61 74 61 62 61 73 65 20 61 73 20 75 73 65 database as use
3540: 66 75 6c 20 65 78 61 6d 70 6c 65 73 20 65 78 70 ful examples exp
3550: 6c 61 69 6e 65 64 20 6c 61 74 65 72 20 69 6e 20 lained later in
3560: 74 68 69 73 20 74 65 78 74 2e 3c 2f 6c 69 3e 0d this text.</li>.
3570: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 .</ul></li>..<li
3580: 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 >the <b>house_nr
3590: 5f 76 77 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 _vw</b> Spatial
35a0: 56 69 65 77 20 72 65 73 6f 6c 76 65 73 20 61 6c View resolves al
35b0: 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66 l relational ref
35c0: 65 72 65 6e 63 65 73 20 62 65 74 77 65 65 6e 20 erences between
35d0: 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62 3e 2c <b>house_nr</b>,
35e0: 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c 20 3c <b>roads</b>, <
35f0: 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 61 b>toponyms</b> a
3600: 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61 6c 69 nd <b>municipali
3610: 74 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73 20 61 ties</b>, thus a
3620: 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61 73 69 llowing for easi
3630: 65 72 20 53 51 4c 20 71 75 65 72 69 65 73 2e 3c er SQL queries.<
3640: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 /li>..</ul>..<br
3650: 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e 3c 61 >.. <hr>..<h1><a
3660: 20 6e 61 6d 65 3d 22 63 72 65 61 74 65 22 3e 33 name="create">3
3670: 20 2d 20 43 72 65 61 74 69 6e 67 20 56 69 72 74 - Creating Virt
3680: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 ualRouting Table
3690: 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c 6c 20 s</a></h1>..All
36a0: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 71 VirtualRouting q
36b0: 75 65 72 69 65 73 20 61 72 65 20 62 61 73 65 64 ueries are based
36c0: 20 6f 6e 20 61 20 73 70 65 63 69 66 69 63 20 3c on a specific <
36d0: 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 b>VirtualRouting
36e0: 2d 54 61 62 6c 65 3c 2f 62 3e 2c 20 61 6e 64 20 -Table</b>, and
36f0: 69 6e 20 74 75 72 6e 2c 20 74 68 65 20 56 69 72 in turn, the Vir
3700: 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c tualRouting-Tabl
3710: 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20 61 20 e is based on a
3720: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62 corresponding <b
3730: 3e 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c >BinaryData-Tabl
3740: 65 3c 2f 62 3e 20 77 68 69 63 68 2c 20 74 61 6b e</b> which, tak
3750: 65 6e 20 74 6f 67 65 61 74 68 65 72 2c 20 69 73 en togeather, is
3760: 20 61 6e 20 65 66 66 69 63 69 65 6e 74 20 72 65 an efficient re
3770: 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 presentation of
3780: 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e the underlying N
3790: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 53 6f 20 etwork.<br>..So
37a0: 77 65 27 6c 6c 20 73 74 61 72 74 20 66 69 72 73 we'll start firs
37b0: 74 20 62 79 20 63 72 65 61 74 69 6e 67 20 74 68 t by creating th
37c0: 65 73 65 20 74 61 62 6c 65 73 2e 3c 62 72 3e 3c ese tables.<br><
37d0: 62 72 3e 0d 0a 54 68 65 20 6f 6c 64 2c 20 61 6e br>..The old, an
37e0: 64 20 6e 6f 77 20 73 75 70 65 72 73 65 64 65 64 d now superseded
37f0: 2c 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 , <b>VirtualNetw
3800: 6f 72 6b 3c 2f 62 3e 20 72 65 71 75 69 72 65 64 ork</b> required
3810: 20 74 68 65 20 75 73 65 20 6f 66 20 61 20 73 65 the use of a se
3820: 70 61 72 61 74 65 20 43 4c 49 20 74 6f 6f 6c 20 parate CLI tool
3830: 28 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 6e (<b>spatialite_n
3840: 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69 6e 20 6f etwork</b>) in o
3850: 72 64 65 72 20 74 6f 20 70 72 6f 70 65 72 6c 79 rder to properly
3860: 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 20 56 69 initialize a Vi
3870: 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62 rtualNetwork Tab
3880: 6c 65 20 61 6e 64 20 69 74 73 20 63 6f 6d 70 61 le and its compa
3890: 6e 69 6f 6e 20 42 69 6e 61 72 79 44 61 74 61 2d nion BinaryData-
38a0: 54 61 62 6c 65 3b 0d 0a 61 6c 74 65 72 6e 61 74 Table;..alternat
38b0: 69 76 65 6c 79 20 3c 62 3e 73 70 61 74 69 61 6c ively <b>spatial
38c0: 69 74 65 5f 67 75 69 3c 2f 62 3e 20 73 75 70 70 ite_gui</b> supp
38d0: 6f 72 74 65 64 20 61 20 3c 62 3e 47 55 49 20 77 orted a <b>GUI w
38e0: 69 7a 61 72 64 3c 2f 62 3e 20 66 6f 72 20 74 68 izard</b> for th
38f0: 65 20 73 61 6d 65 20 74 61 73 6b 2e 20 53 69 6e e same task. Sin
3900: 63 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35 2e ce version <b>5.
3910: 30 2e 30 3c 2f 62 3e 2c 20 53 70 61 74 69 61 4c 0.0</b>, SpatiaL
3920: 69 74 65 20 20 73 75 70 70 6f 72 74 73 20 74 68 ite supports th
3930: 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 is functionality
3940: 20 64 69 72 65 63 74 6c 79 2c 20 77 69 74 68 20 directly, with
3950: 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 the <b>CreateRou
3960: 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66 ting()</b> SQL f
3970: 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61 unction...<verba
3980: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 tim>..SELECT Cre
3990: 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 6f ateRouting('byfo
39a0: 6f 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f 6f ot_data', 'byfoo
39b0: 74 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 t', 'roads_vw',
39c0: 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 'node_from', 'no
39d0: 64 65 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e deto', 'geom', N
39e0: 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 ULL);....SELECT
39f0: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 CreateRouting_Ge
3a00: 74 4c 61 73 74 45 72 72 6f 72 28 29 3b 0d 0a 2d tLastError();..-
3a10: 2d 2d 2d 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 0d 0a 54 6f 4e 6f 64 65 20 43 6f 6c 75 ---..ToNode Colu
3a40: 6d 6e 20 22 6e 6f 64 65 74 6f 22 20 69 73 20 6e mn "nodeto" is n
3a50: 6f 74 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 ot defined in th
3a60: 65 20 49 6e 70 75 74 20 54 61 62 6c 65 0d 0a 3c e Input Table..<
3a70: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e /verbatim>..<u>N
3a80: 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 66 69 ote</u>: this fi
3a90: 72 73 74 20 71 75 65 72 79 20 28 62 61 73 65 64 rst query (based
3aa0: 20 6f 6e 20 74 68 65 20 3c 69 3e 6d 69 6e 69 6d on the <i>minim
3ab0: 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 3c al form</i> of <
3ac0: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 3c b>CreateRouting<
3ad0: 2f 62 3e 29 20 3c 62 3e 3c 69 3e 3c 75 3e 64 65 /b>) <b><i><u>de
3ae0: 6c 69 62 65 72 61 74 65 6c 79 3c 2f 75 3e 3c 2f liberately</u></
3af0: 69 3e 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20 i></b> contains
3b00: 61 6e 20 65 72 72 6f 72 20 63 61 75 73 69 6e 67 an error causing
3b10: 20 61 20 66 61 69 6c 75 72 65 20 74 68 61 74 20 a failure that
3b20: 77 69 6c 6c 20 72 61 69 73 65 20 61 6e 20 65 78 will raise an ex
3b30: 63 65 70 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 43 72 ception.<br>..Cr
3b40: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 63 61 eateRouting() ca
3b50: 6e 20 66 61 69 6c 20 66 6f 72 20 6d 75 6c 74 69 n fail for multi
3b60: 70 6c 65 20 72 65 61 73 6f 6e 73 2c 20 61 6e 64 ple reasons, and
3b70: 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 43 by calling <b>C
3b80: 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 reateRouting_Get
3b90: 4c 61 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e 20 LastError()</b>
3ba0: 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 69 you can easily i
3bb0: 64 65 6e 74 69 66 79 20 74 68 65 20 65 78 61 63 dentify the exac
3bc0: 74 20 72 65 61 73 6f 6e 20 77 68 79 20 74 68 65 t reason why the
3bd0: 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 63 61 6c most recent cal
3be0: 6c 20 74 6f 20 43 72 65 61 74 65 52 6f 75 74 69 l to CreateRouti
3bf0: 6e 67 28 29 20 66 61 69 6c 65 64 2e 3c 62 72 3e ng() failed.<br>
3c00: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 ..<verbatim>..SE
3c10: 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 LECT CreateRouti
3c20: 6e 67 28 27 62 79 66 6f 6f 74 5f 64 61 74 61 27 ng('byfoot_data'
3c30: 2c 20 27 62 79 66 6f 6f 74 27 2c 20 27 72 6f 61 , 'byfoot', 'roa
3c40: 64 73 5f 76 77 27 2c 20 27 6e 6f 64 65 5f 66 72 ds_vw', 'node_fr
3c50: 6f 6d 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 2c 20 om', 'node_to',
3c60: 27 67 65 6f 6d 27 2c 20 4e 55 4c 4c 2c 20 27 74 'geom', NULL, 't
3c70: 6f 70 6f 6e 79 6d 27 2c 20 31 2c 20 31 29 3b 0d oponym', 1, 1);.
3c80: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a .-------------..
3c90: 31 0d 0a 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 1....SELECT Crea
3ca0: 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 teRouting_GetLas
3cb0: 74 45 72 72 6f 72 28 29 3b 0d 0a 2d 2d 2d 2d 2d tError();..-----
3cc0: 2d 2d 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 0d ---------------.
3ce0: 0a 4e 55 4c 4c 0d 0a 3c 2f 76 65 72 62 61 74 69 .NULL..</verbati
3cf0: 6d 3e 0d 0a 54 68 69 73 20 73 65 63 6f 6e 64 20 m>..This second
3d00: 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 73 75 63 attempt will suc
3d10: 63 65 65 64 2c 20 77 69 74 68 20 43 72 65 61 74 ceed, with Creat
3d20: 65 52 6f 75 74 69 6e 67 28 29 20 72 65 74 75 72 eRouting() retur
3d30: 6e 69 6e 67 20 3c 62 3e 31 3c 2f 62 3e 20 28 3c ning <b>1</b> (<
3d40: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 54 52 55 i>aka</i> <b>TRU
3d50: 45 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 73 20 79 E</b>), and as y
3d60: 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 63 68 ou can easily ch
3d70: 65 63 6b 20 6e 6f 77 20 74 68 65 20 44 61 74 61 eck now the Data
3d80: 62 61 73 65 20 63 6f 6e 74 61 69 6e 73 20 74 77 base contains tw
3d90: 6f 20 6e 65 77 20 54 61 62 6c 65 73 3a 20 3c 62 o new Tables: <b
3da0: 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 61 6e 64 20 >byfoot</b> and
3db0: 3c 62 3e 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f <b>byfoot_data</
3dc0: 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 b>.<br>..<u>Note
3dd0: 3c 2f 75 3e 3a 20 61 66 74 65 72 20 61 20 73 75 </u>: after a su
3de0: 63 63 65 73 73 66 75 6c 20 63 61 6c 6c 20 74 6f ccessful call to
3df0: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 CreateRouting()
3e00: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e <b>CreateRoutin
3e10: 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 g_GetLastError()
3e20: 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73 </b> will always
3e30: 20 72 65 74 75 72 6e 20 3c 62 3e 4e 55 4c 4c 3c return <b>NULL<
3e40: 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 /b>.<br><br>..Le
3e50: 74 27 73 20 6c 6f 6f 6b 2c 20 69 6e 20 6d 6f 72 t's look, in mor
3e60: 65 20 64 65 74 61 69 6c 2c 20 6f 66 20 74 68 65 e detail, of the
3e70: 20 3c 69 3e 6d 69 6e 69 6d 61 6c 20 66 6f 72 6d <i>minimal form
3e80: 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 52 6f </i> of CreateRo
3e90: 75 74 69 6e 67 28 29 3b 20 61 6e 64 20 74 68 65 uting(); and the
3ea0: 20 6d 65 61 6e 69 6e 67 20 6f 66 20 65 61 63 68 meaning of each
3eb0: 20 61 72 67 75 6d 65 6e 74 3a 0d 0a 3c 6f 6c 3e argument:..<ol>
3ec0: 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 5f ..<li><i>byfoot_
3ed0: 64 61 74 61 3c 2f 69 3e 3a 20 74 68 65 20 6e 61 data</i>: the na
3ee0: 6d 65 20 6f 66 20 74 68 65 20 4e 65 74 77 6f 72 me of the Networ
3ef0: 6b 20 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 k BinaryData-Tab
3f00: 6c 65 20 74 6f 20 62 65 20 63 72 65 61 74 65 64 le to be created
3f10: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 .</li>..<li><i>b
3f20: 79 66 6f 6f 74 3c 2f 69 3e 3a 20 74 68 65 20 6e yfoot</i>: the n
3f30: 61 6d 65 20 6f 66 20 74 68 65 20 56 69 72 74 75 ame of the Virtu
3f40: 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 20 alRouting-Table
3f50: 74 6f 20 62 65 20 63 72 65 61 74 65 64 2e 3c 2f to be created.</
3f60: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 li>..<li><i>road
3f70: 73 5f 76 77 3c 2f 69 3e 3a 20 74 68 65 20 6e 61 s_vw</i>: the na
3f80: 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e 53 70 61 me of the <b>Spa
3f90: 74 69 61 6c 20 54 61 62 6c 65 3c 2f 62 3e 20 6f tial Table</b> o
3fa0: 72 20 3c 62 3e 53 70 61 74 69 61 6c 20 56 69 65 r <b>Spatial Vie
3fb0: 77 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69 w</b> representi
3fc0: 6e 67 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e ng the underlyin
3fd0: 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a g Network.<br>..
3fe0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 69 6e 20 <u>Note</u>: in
3ff0: 74 68 69 73 20 63 61 73 65 20 77 65 20 61 63 74 this case we act
4000: 75 61 6c 6c 79 20 75 73 65 64 20 61 20 53 70 61 ually used a Spa
4010: 74 69 61 6c 20 56 69 65 77 2e 3c 2f 6c 69 3e 0d tial View.</li>.
4020: 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f .<li><i>node_fro
4030: 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 m</i>: name of t
4040: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 he column (in th
4050: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 e above Table or
4060: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 View) expected
4070: 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f to contain <b>no
4080: 64 65 2d 66 72 6f 6d 3c 2f 62 3e 20 76 61 6c 75 de-from</b> valu
4090: 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 es.</li>..<li><i
40a0: 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e 61 >node_to</i>: na
40b0: 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e me of the column
40c0: 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 (in the above T
40d0: 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78 able or View) ex
40e0: 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 pected to contai
40f0: 6e 20 3c 62 3e 6e 6f 64 65 2d 74 6f 3c 2f 62 3e n <b>node-to</b>
4100: 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c values.</li>..<
4110: 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20 li><i>geom</i>:
4120: 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 name of the colu
4130: 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 mn (in the above
4140: 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 Table or View)
4150: 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 expected to cont
4160: 61 69 6e 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e ain <b>Linestrin
4170: 67 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 gs</b>.<br>..In
4180: 74 68 65 20 63 61 73 65 20 6f 66 20 61 20 3c 62 the case of a <b
4190: 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b >Logical Network
41a0: 3c 2f 62 3e 3a 20 61 20 20 3c 62 3e 4e 55 4c 4c </b>: a <b>NULL
41b0: 3c 2f 62 3e 20 73 68 6f 75 6c 64 20 62 65 20 70 </b> should be p
41c0: 61 73 73 65 64 2e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c assed..</li>..<l
41d0: 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e i><i>NULL</i>: n
41e0: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d ame of the colum
41f0: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 n (in the above
4200: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 Table or View) e
4210: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 xpected to conta
4220: 69 6e 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 76 in <b>cost</b> v
4230: 61 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74 alues.<br>..In t
4240: 68 69 73 20 63 61 73 65 20 77 65 20 68 61 76 65 his case we have
4250: 20 70 61 73 73 65 64 20 61 20 3c 62 3e 4e 55 4c passed a <b>NUL
4260: 4c 3c 2f 62 3e 20 76 61 6c 75 65 2c 20 61 6e 64 L</b> value, and
4270: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68 consequently th
4280: 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 6f 66 e <b>cost</b> of
4290: 20 65 61 63 68 20 4c 69 6e 6b 20 77 69 6c 6c 20 each Link will
42a0: 62 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 be assumed to be
42b0: 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 represented by
42c0: 74 68 65 20 3c 62 3e 67 65 6f 6d 65 74 72 69 63 the <b>geometric
42d0: 20 6c 65 6e 67 74 68 3c 2f 62 3e 20 6f 66 20 74 length</b> of t
42e0: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 he corresponding
42f0: 20 4c 69 6e 65 73 74 72 69 6e 67 2e 3c 62 72 3e Linestring.<br>
4300: 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e ..<u>Note #1</u>
4310: 3a 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 : in the case of
4320: 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 65 64 20 Networks based
4330: 6f 6e 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73 on <b>longitudes
4340: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69 </b> and <b>lati
4350: 74 75 64 65 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b tudes</b> (<i>ak
4360: 61 3c 2f 69 3e 20 3c 62 3e 67 65 6f 67 72 61 70 a</i> <b>geograp
4370: 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 hic</b> Referenc
4380: 65 20 53 79 73 74 65 6d 73 29 20 74 68 65 20 67 e Systems) the g
4390: 65 6f 6d 65 74 72 79 20 6c 65 6e 67 74 68 20 6f eometry length o
43a0: 66 20 61 6c 6c 20 4c 69 6e 65 73 74 72 69 6e 67 f all Linestring
43b0: 73 20 77 69 6c 6c 20 62 65 20 70 72 65 63 69 73 s will be precis
43c0: 65 6c 79 20 3c 62 3e 6d 65 61 73 75 72 65 64 20 ely <b>measured
43d0: 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64 on the ellipsoid
43e0: 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 6e 67 </b> by applying
43f0: 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 72 61 the most accura
4400: 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 20 66 te <b>geodesic f
4410: 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20 61 6e 64 20 ormulas</b> and
4420: 77 69 6c 6c 20 63 6f 6e 73 65 71 75 65 6e 74 6c will consequentl
4430: 79 20 62 65 20 65 78 70 72 65 73 73 65 64 20 69 y be expressed i
4440: 6e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e 2e n <b>meters</b>.
4450: 20 49 6e 20 61 6e 79 20 6f 74 68 65 72 20 63 61 In any other ca
4460: 73 65 20 28 3c 62 3e 70 72 6f 6a 65 63 74 65 64 se (<b>projected
4470: 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 65 20 53 </b> Reference S
4480: 79 73 74 65 6d 73 29 20 6c 65 6e 67 74 68 73 20 ystems) lengths
4490: 77 69 6c 6c 20 62 65 20 65 78 70 72 65 73 73 65 will be expresse
44a0: 64 20 69 6e 20 74 68 65 20 3c 62 3e 6d 65 61 73 d in the <b>meas
44b0: 75 72 65 20 75 6e 69 74 3c 2f 62 3e 20 64 65 66 ure unit</b> def
44c0: 69 6e 65 64 20 62 79 20 74 68 65 20 52 65 66 65 ined by the Refe
44d0: 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 65 2e rence System (e.
44e0: 67 2e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e g. <b>meters</b>
44f0: 20 66 6f 72 20 3c 62 3e 55 54 4d 3c 2f 62 3e 20 for <b>UTM</b>
4500: 70 72 6f 6a 65 63 74 69 6f 6e 73 20 61 6e 64 20 projections and
4510: 3c 62 3e 66 65 65 74 3c 2f 62 3e 20 66 6f 72 20 <b>feet</b> for
4520: 3c 62 3e 4e 41 44 2d 66 74 3c 2f 62 3e 20 70 72 <b>NAD-ft</b> pr
4530: 6f 6a 65 63 74 69 6f 6e 73 29 2e 3c 62 72 3e 0d ojections).<br>.
4540: 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a .<u>Note #2</u>:
4550: 20 74 68 65 20 3c 62 3e 67 65 6f 6d 2d 63 6f 6c the <b>geom-col
4560: 75 6d 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 63 umn</b> and <b>c
4570: 6f 73 74 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 61 ost-column</b> a
4580: 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6e 65 76 rguments are nev
4590: 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 er allowed to be
45a0: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 61 74 20 <b>NULL</b> at
45b0: 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 2f the same time.</
45c0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 6f 70 6f li>..<li><i>topo
45d0: 6e 79 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 nym</i>: name of
45e0: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 the column (in
45f0: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 the above Table
4600: 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 or View) expecte
4610: 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e d to contain <b>
4620: 72 6f 61 64 2d 6e 61 6d 65 3c 2f 62 3e 20 76 61 road-name</b> va
4630: 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 74 20 63 6f lues.<br>..It co
4640: 75 6c 64 20 62 65 20 6c 65 67 69 74 69 6d 61 74 uld be legitimat
4650: 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 ely set to <b>NU
4660: 4c 4c 3c 2f 62 3e 20 69 66 20 61 6c 6c 20 4c 69 LL</b> if all Li
4670: 6e 6b 73 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75 nks are anonymou
4680: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e s.</li>..<li><i>
4690: 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e 1</i>: a boolean
46a0: 20 66 6c 61 67 20 69 6e 74 65 6e 64 65 64 20 74 flag intended t
46b0: 6f 20 73 70 65 63 69 66 79 20 69 66 20 74 68 65 o specify if the
46c0: 20 4e 65 74 77 6f 72 6b 20 6d 75 73 74 20 73 75 Network must su
46d0: 70 70 6f 72 74 20 74 68 65 20 3c 62 3e 41 2a 20 pport the <b>A*
46e0: 61 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 6f 72 algorithm</b> or
46f0: 20 6e 6f 74 20 28 73 65 74 20 74 6f 20 3c 62 3e not (set to <b>
4700: 54 52 55 45 3c 2f 62 3e 20 62 79 20 64 65 66 61 TRUE</b> by defa
4710: 75 6c 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e ult).</li>..<li>
4720: 3c 69 3e 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c <i>1</i>: a bool
4730: 65 61 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64 65 ean flag intende
4740: 64 20 74 6f 20 73 70 65 63 69 66 79 20 69 66 20 d to specify if
4750: 61 6c 6c 20 4e 65 74 77 6f 72 6b 27 73 20 4c 69 all Network's Li
4760: 6e 6b 73 20 61 72 65 20 61 73 73 75 6d 65 64 20 nks are assumed
4770: 74 6f 20 62 65 20 3c 62 3e 62 69 64 69 72 65 63 to be <b>bidirec
4780: 74 69 6f 6e 61 6c 3c 2f 62 3e 20 6f 72 20 6e 6f tional</b> or no
4790: 74 20 28 61 73 73 75 6d 65 64 20 74 6f 20 62 65 t (assumed to be
47a0: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 62 79 20 <b>TRUE</b> by
47b0: 64 65 66 61 75 6c 74 29 2e 3c 2f 6c 69 3e 20 0d default).</li> .
47c0: 0a 3c 2f 6f 6c 3e 0d 0a 3c 74 61 62 6c 65 20 62 .</ol>..<table b
47d0: 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 gcolor="#c0ffc0"
47e0: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 cellspacing="10
47f0: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 " cellpadding="6
4800: 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e "><tr><td>..<h3>
4810: 54 65 63 68 6e 69 63 61 6c 20 6e 6f 74 65 3c 2f Technical note</
4820: 68 33 3e 0d 0a 54 68 65 20 69 6e 74 65 72 6e 61 h3>..The interna
4830: 6c 20 65 6e 63 6f 64 69 6e 67 20 61 64 6f 70 74 l encoding adopt
4840: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 42 69 6e ed by the <b>Bin
4850: 61 72 79 44 61 74 61 2d 54 61 62 6c 65 3c 2f 62 aryData-Table</b
4860: 3e 20 69 73 20 75 6e 63 68 61 6e 67 65 64 20 61 > is unchanged a
4870: 6e 64 20 69 73 20 74 68 65 20 73 61 6d 65 20 66 nd is the same f
4880: 6f 72 20 62 6f 74 68 20 3c 62 3e 56 69 72 74 75 or both <b>Virtu
4890: 61 6c 4e 65 74 77 6f 6b 3c 2f 62 3e 20 61 6e 64 alNetwok</b> and
48a0: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 <b>VirtualRouti
48b0: 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 59 6f 75 ng</b>.<br>..You
48c0: 20 63 61 6e 20 73 61 66 65 6c 79 20 62 61 73 65 can safely base
48d0: 20 61 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 a <b>VirtualRou
48e0: 74 69 6e 67 2d 54 61 62 6c 65 3c 2f 62 3e 20 6f ting-Table</b> o
48f0: 6e 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 42 n any existing B
4900: 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65 20 inaryData-Table
4910: 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20 3c created by the <
4920: 62 3e 73 70 61 74 69 61 6c 69 74 65 2d 6e 65 74 b>spatialite-net
4930: 77 6f 72 6b 3c 2f 62 3e 20 43 4c 49 20 74 6f 6f work</b> CLI too
4940: 6c 2c 20 65 78 61 63 74 6c 79 20 61 73 20 79 6f l, exactly as yo
4950: 75 20 63 61 6e 20 62 61 73 65 20 61 20 3c 62 3e u can base a <b>
4960: 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 54 VirtualNetwork T
4970: 61 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 able</b> on any
4980: 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65 BinaryData-Table
4990: 20 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20 created by the
49a0: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 <b>CreateRouting
49b0: 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 ()</b> SQL funct
49c0: 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e ion...<verbatim>
49d0: 0d 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 4c ..CREATE VIRTUAL
49e0: 20 54 41 42 4c 45 20 74 65 73 74 5f 6e 65 74 77 TABLE test_netw
49f0: 6f 72 6b 20 55 53 49 4e 47 20 56 69 72 74 75 61 ork USING Virtua
4a00: 6c 4e 65 74 77 6f 72 6b 28 27 73 6f 6d 65 5f 64 lNetwork('some_d
4a10: 61 74 61 5f 74 61 62 6c 65 27 29 3b 0d 0a 0d 0a ata_table');....
4a20: 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 CREATE VIRTUAL T
4a30: 41 42 4c 45 20 74 65 73 74 5f 72 6f 75 74 69 6e ABLE test_routin
4a40: 67 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 52 g USING VirtualR
4a50: 6f 75 74 69 6e 67 28 27 73 6f 6d 65 5f 64 61 74 outing('some_dat
4a60: 61 5f 74 61 62 6c 65 27 29 3b 0d 0a 3c 2f 76 65 a_table');..</ve
4a70: 72 62 61 74 69 6d 3e 0d 0a 49 6e 20 6f 72 64 65 rbatim>..In orde
4a80: 72 20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 72 r to manually cr
4a90: 65 61 74 65 20 79 6f 75 72 20 56 69 72 74 75 61 eate your Virtua
4aa0: 6c 20 54 61 62 6c 65 73 20 79 6f 75 20 6a 75 73 l Tables you jus
4ab0: 74 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 t have to execut
4ac0: 65 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 e an appropriate
4ad0: 20 3c 62 3e 43 52 45 41 54 45 20 56 49 52 54 55 <b>CREATE VIRTU
4ae0: 41 4c 20 54 41 42 4c 45 20 2e 2e 2e 20 55 53 49 AL TABLE ... USI
4af0: 4e 47 20 56 69 72 74 75 61 6c 2e 2e 2e 20 28 2e NG Virtual... (.
4b00: 2e 2e 29 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e ..)</b> statemen
4b10: 74 2e 0d 0a 3c 68 34 3e 57 61 72 6e 69 6e 67 3c t...<h4>Warning<
4b20: 2f 68 34 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73 /h4>..In the cas
4b30: 65 20 6f 66 20 3c 62 3e 53 70 61 74 69 61 6c 20 e of <b>Spatial
4b40: 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 20 62 61 73 Networks</b> bas
4b50: 65 64 20 6f 6e 20 61 6e 79 20 3c 62 3e 67 65 6f ed on any <b>geo
4b60: 67 72 61 70 68 69 63 3c 2f 62 3e 20 52 65 66 65 graphic</b> Refe
4b70: 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 75 73 rence System (us
4b80: 69 6e 67 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 ing <b>longitude
4b90: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 s</b> and <b>lat
4ba0: 69 74 75 64 65 73 3c 2f 62 3e 29 20 74 68 65 72 itudes</b>) ther
4bb0: 65 20 69 73 20 61 6e 20 69 6d 70 6f 72 74 61 6e e is an importan
4bc0: 74 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 t difference bet
4bd0: 77 65 65 6e 20 42 69 6e 61 72 79 44 61 74 61 2d ween BinaryData-
4be0: 54 61 62 6c 65 73 20 63 72 65 61 74 65 64 20 62 Tables created b
4bf0: 79 20 74 68 65 20 3c 62 3e 73 70 61 74 69 61 6c y the <b>spatial
4c00: 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 ite_network</b>
4c10: 47 55 49 20 74 6f 6f 6c 20 61 6e 64 20 20 42 69 GUI tool and Bi
4c20: 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65 73 20 naryData-Tables
4c30: 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20 3c created by the <
4c40: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 b>CreateRouting(
4c50: 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 )</b> SQL functi
4c60: 6f 6e 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74 73 on when <b>costs
4c70: 3c 2f 62 3e 20 61 72 65 20 69 6d 70 6c 69 63 69 </b> are implici
4c80: 74 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 tly based on the
4c90: 20 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 geometric lengt
4ca0: 68 20 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73 20 h of the Link's
4cb0: 4c 69 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c Linestring:..<ul
4cc0: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 70 >..<li>the <b>sp
4cd0: 61 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b atialite_network
4ce0: 3c 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28 61 </b> CLI tool (a
4cf0: 6e 64 20 74 68 65 20 3c 62 3e 47 55 49 20 77 69 nd the <b>GUI wi
4d00: 7a 61 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65 zard</b> impleme
4d10: 6e 74 65 64 20 62 79 20 70 72 65 76 69 6f 75 73 nted by previous
4d20: 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e versions of <b>
4d30: 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f spatialite_gui</
4d40: 62 3e 29 20 63 6f 6d 70 75 74 65 20 74 68 65 20 b>) compute the
4d50: 4c 69 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e Linestring's len
4d60: 67 74 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e 67 gth as an <b>ang
4d70: 75 6c 61 72 20 64 69 73 74 61 6e 63 65 3c 2f 62 ular distance</b
4d80: 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c > expressed in <
4d90: 62 3e 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f b>degrees</b>.</
4da0: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e li>..<li>the <b>
4db0: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c CreateRouting()<
4dc0: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e /b> SQL function
4dd0: 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 4c 69 computes the Li
4de0: 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 nestring's lengt
4df0: 68 20 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61 72 h as a <b>linear
4e00: 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78 distance</b> ex
4e10: 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 pressed in <b>me
4e20: 74 72 65 73 3c 2f 62 3e 20 62 79 20 61 70 70 6c tres</b> by appl
4e30: 79 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63 ying the most ac
4e40: 63 75 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 curate <b>geodes
4e50: 69 63 20 66 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20 ic formulas</b>
4e60: 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64 on the ellipsoid
4e70: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c .</li>..</ul>..<
4e80: 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 /td></tr></table
4e90: 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 ><br><br>..<verb
4ea0: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 atim>..SELECT Cr
4eb0: 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 63 eateRouting('byc
4ec0: 61 72 5f 64 61 74 61 27 2c 20 27 62 79 63 61 72 ar_data', 'bycar
4ed0: 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 ', 'roads_vw', '
4ee0: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 node_from', 'nod
4ef0: 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 27 e_to', 'geom', '
4f00: 63 6f 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d 27 cost', 'toponym'
4f10: 2c 20 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79 5f , 1, 1, 'oneway_
4f20: 66 72 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61 79 fromto', 'oneway
4f30: 5f 74 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d _tofrom', 0);..-
4f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4f50: 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 ---..1..</verbat
4f60: 69 6d 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c 69 im>..After calli
4f70: 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 ng <b>CreateRout
4f80: 69 6e 67 28 29 3c 2f 62 3e 20 63 6f 72 72 65 63 ing()</b> correc
4f90: 74 6c 79 2c 20 20 74 68 65 20 44 61 74 61 62 61 tly, the Databa
4fa0: 73 65 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 se contains two
4fb0: 66 75 72 74 68 65 72 20 54 61 62 6c 65 73 3a 20 further Tables:
4fc0: 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e 64 <b>bycar</b> and
4fd0: 20 3c 62 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f <b>bycar_data</
4fe0: 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69 b>.<br>..This ti
4ff0: 6d 65 20 79 6f 75 27 76 65 20 75 73 65 64 20 74 me you've used t
5000: 68 65 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20 66 he <i>complete f
5010: 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 orm</i> of Creat
5020: 65 52 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27 eRouting(); let'
5030: 73 20 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65 s see in more de
5040: 70 74 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75 pth all the argu
5050: 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 ments and their
5060: 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a meaning:..<ol>..
5070: 3c 6c 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61 74 <li><i>bycar_dat
5080: 61 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 a</i>: same as a
5090: 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e bove.</li>..<li>
50a0: 3c 69 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73 61 <i>bycar</i>: sa
50b0: 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 me as above.</li
50c0: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f >..<li><i>roads_
50d0: 76 77 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 vw</i>: same as
50e0: 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 above.</li>..<li
50f0: 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 ><i>node_from</i
5100: 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 >: same as above
5110: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e .</li>..<li><i>n
5120: 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d 65 ode_to</i>: same
5130: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d as above.</li>.
5140: 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e .<li><i>geom</i>
5150: 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e : same as above.
5160: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63 6f </li>..<li><i>co
5170: 73 74 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 st</i>: same as
5180: 61 62 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73 20 above...In this
5190: 63 61 73 65 20 77 65 20 68 61 76 65 20 72 65 66 case we have ref
51a0: 65 72 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d 6e erenced a column
51b0: 20 70 72 65 6c 6f 61 64 65 64 20 77 69 74 68 20 preloaded with
51c0: 76 61 6c 75 65 73 20 63 6f 72 72 65 73 70 6f 6e values correspon
51d0: 64 69 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e 74 ding to the <b>t
51e0: 69 6d 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65 64 ime</b> measured
51f0: 20 69 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f in <b>seconds</
5200: 62 3e 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 b> required to t
5210: 72 61 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e raverse each Lin
5220: 6b 2e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 69 k.</li> ..<li><i
5230: 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73 61 >toponym</i>: sa
5240: 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 me as above.</li
5250: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a >..<li><i>1</i>:
5260: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 same as above (
5270: 3c 69 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f 69 <i>A* enabled</i
5280: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 >).</li>..<li><i
5290: 3e 31 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 >1</i>: same as
52a0: 61 62 6f 76 65 20 28 3c 69 3e 62 69 64 69 72 65 above (<i>bidire
52b0: 63 74 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f 69 ctional Links</i
52c0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 >).</li>..<li><i
52d0: 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f >oneway_fromto</
52e0: 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 i>: name of the
52f0: 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 column (in the a
5300: 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 bove Table or Vi
5310: 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 ew) expected to
5320: 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20 contain boolean
5330: 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e 67 flags specifying
5340: 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 61 if each Link ca
5350: 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20 69 n be traversed i
5360: 6e 20 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 6f n the <b>from-to
5370: 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f </b> direction o
5380: 72 20 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 r not.</li>..<li
5390: 3e 3c 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f ><i>oneway_tofro
53a0: 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 m</i>: name of t
53b0: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 he column (in th
53c0: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 e above Table or
53d0: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 View) expected
53e0: 74 6f 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 to contain boole
53f0: 61 6e 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 an flags specify
5400: 69 6e 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b ing if each Link
5410: 20 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 can be traverse
5420: 64 20 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d 66 d in the <b>to-f
5430: 72 6f 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f rom</b> directio
5440: 6e 20 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a 3c n or not.<br>..<
5450: 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 62 u>Note #1</u>: b
5460: 6f 74 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f oth <b>from-to</
5470: 62 3e 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f b> and <b>to-fro
5480: 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 6d m</b> column nam
5490: 65 73 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 es can be legiti
54a0: 6d 61 74 65 6c 79 20 73 65 74 20 61 73 20 3c 62 mately set as <b
54b0: 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f 20 >NULL</b> if no
54c0: 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 <b>one-way</b> r
54d0: 65 73 74 72 69 63 74 69 6f 6e 73 20 61 70 70 6c estrictions appl
54e0: 79 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 y to the current
54f0: 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c Network.<br>..<
5500: 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 4e u>Note #2</u>: N
5510: 65 74 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 3c etworks of the <
5520: 62 3e 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c b>unidirectional
5530: 3c 2f 62 3e 20 74 79 70 65 20 61 72 65 20 6e 65 </b> type are ne
5540: 76 65 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 72 ver enabled to r
5550: 65 66 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 2d eference <b>one-
5560: 77 61 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 way</b> columns
5570: 28 74 68 65 79 20 73 68 6f 75 6c 64 20 61 6c 77 (they should alw
5580: 61 79 73 20 62 65 20 73 65 74 20 74 6f 20 3c 62 ays be set to <b
5590: 3e 4e 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e >NULL</b>).</li>
55a0: 0d 0a 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a 20 ..<li><i>0</i>:
55b0: 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 20 a boolean flag
55c0: 73 70 65 63 69 66 79 69 6e 67 20 61 6e 20 3c 62 specifying an <b
55d0: 3e 6f 76 65 72 77 72 69 74 65 20 61 75 74 68 6f >overwrite autho
55e0: 72 69 7a 61 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c rization</b>...<
55f0: 75 6c 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 ul>..<li>If set
5600: 74 6f 20 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e 20 to <b>FALSE</b>
5610: 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 69 6c an exception wil
5620: 6c 20 62 65 20 72 61 69 73 65 64 20 69 66 20 74 l be raised if t
5630: 68 65 20 3c 62 3e 42 69 6e 61 72 79 44 61 74 61 he <b>BinaryData
5640: 2d 54 61 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f -Table</b> and/o
5650: 72 20 74 68 65 20 3c 62 3e 56 69 72 74 75 61 6c r the <b>Virtual
5660: 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 3c 2f 62 Routing-Table</b
5670: 3e 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 2e > already exist.
5680: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 </li>..<li>If se
5690: 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e t to <b>TRUE</b>
56a0: 20 65 76 65 6e 74 75 61 6c 6c 79 20 65 78 69 73 eventually exis
56b0: 74 69 6e 67 20 54 61 62 6c 65 73 20 77 69 6c 6c ting Tables will
56c0: 20 62 65 2c 20 74 6f 20 61 76 6f 69 64 20 65 72 be, to avoid er
56d0: 72 6f 72 73 2c 20 64 72 6f 70 70 65 64 20 62 65 rors, dropped be
56e0: 66 6f 72 65 20 73 74 61 72 74 69 6e 67 20 74 68 fore starting th
56f0: 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c e execution of <
5700: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 b>CreateRouting(
5710: 29 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 )</b>.</li>..</u
5720: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a l></li>..</ol>..
5730: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 <br>..<table bgc
5740: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 30 22 20 63 olor="#ffffc0" c
5750: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 ellspacing="10"
5760: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
5770: 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 69 <tr><td>..<h3>Hi
5780: 67 68 6c 69 67 68 74 3a 20 77 68 65 72 65 20 79 ghlight: where y
5790: 6f 75 20 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f 75 ou are</h3>..You
57a0: 27 76 65 20 6a 75 73 74 20 63 72 65 61 74 65 64 've just created
57b0: 20 74 77 6f 20 56 69 72 74 75 61 6c 52 6f 75 74 two VirtualRout
57c0: 69 6e 67 2d 54 61 62 6c 65 73 20 62 61 73 65 64 ing-Tables based
57d0: 20 6f 6e 20 64 69 66 66 65 72 65 6e 74 20 73 65 on different se
57e0: 74 74 69 6e 67 73 3b 20 62 6f 74 68 20 74 68 65 ttings; both the
57f0: 6d 20 61 72 65 20 70 65 72 66 65 63 74 6c 79 20 m are perfectly
5800: 76 61 6c 69 64 20 61 6e 64 20 72 65 61 73 6f 6e valid and reason
5810: 61 62 6c 65 2c 20 62 75 74 20 74 68 65 79 20 61 able, but they a
5820: 72 65 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 re intended for
5830: 64 69 66 66 65 72 65 6e 74 20 70 75 72 70 6f 73 different purpos
5840: 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c es:..<ul>..<li><
5850: 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 69 73 20 b>byfoot</b> is
5860: 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 specifically int
5870: 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 70 65 64 ended for <b>ped
5880: 65 73 74 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a 3c estrians</b>:..<
5890: 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69 6e ul>..<li>all Lin
58a0: 6b 73 20 61 72 65 20 61 6c 77 61 79 73 20 61 73 ks are always as
58b0: 73 75 6d 65 64 20 74 6f 20 62 65 20 61 63 63 65 sumed to be acce
58c0: 73 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 ssible in <b>bot
58d0: 68 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e h directions</b>
58e0: 3b 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 3c ; there are no <
58f0: 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 20 61 b>one-ways</b> a
5900: 6e 64 20 6e 6f 20 3c 62 3e 66 6f 72 62 69 64 64 nd no <b>forbidd
5910: 65 6e 3c 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f 6c en</b> Links.</l
5920: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 63 i>..<li>the <b>c
5930: 6f 73 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 ost</b> of each
5940: 4c 69 6e 6b 20 69 73 20 64 69 72 65 63 74 6c 79 Link is directly
5950: 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 represented by
5960: 69 74 73 20 67 65 6f 6d 65 74 72 69 63 20 3c 62 its geometric <b
5970: 3e 6c 65 6e 67 74 68 3c 2f 62 3e 2c 20 77 68 69 >length</b>, whi
5980: 63 68 20 69 73 20 63 6f 6e 73 69 73 74 65 6e 74 ch is consistent
5990: 20 77 69 74 68 20 74 68 65 20 61 73 73 75 6d 70 with the assump
59a0: 74 69 6f 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f 73 tion of an almos
59b0: 74 20 63 6f 6e 73 74 61 6e 74 20 73 70 65 65 64 t constant speed
59c0: 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 substantially i
59d0: 6d 6d 75 6e 65 20 66 72 6f 6d 20 61 64 76 65 72 mmune from adver
59e0: 73 65 20 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f se road conditio
59f0: 6e 73 20 61 6e 64 20 74 72 61 66 66 69 63 20 63 ns and traffic c
5a00: 6f 6e 67 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d ongestion.</li>.
5a10: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 .</ul></li>..<li
5a20: 3e 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 69 73 ><b>bycar</b> is
5a30: 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e specifically in
5a40: 74 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 6d 6f tended for <b>mo
5a50: 74 6f 72 20 76 65 68 69 63 6c 65 73 3c 2f 62 3e tor vehicles</b>
5a60: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61 6e :..<ul>..<li>man
5a70: 79 20 4c 69 6e 6b 73 20 61 72 65 20 65 78 70 65 y Links are expe
5a80: 63 74 65 64 20 74 6f 20 62 65 20 61 63 63 65 73 cted to be acces
5a90: 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 sible in <b>both
5aa0: 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 20 directions</b>
5ab0: 62 75 74 20 6f 74 68 65 72 73 20 63 6f 75 6c 64 but others could
5ac0: 20 65 61 73 69 6c 79 20 62 65 20 73 75 62 6a 65 easily be subje
5ad0: 63 74 20 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 ct to <b>one-way
5ae0: 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 69 6f 6e </b> restriction
5af0: 73 20 6f 72 20 65 76 65 6e 20 62 65 20 63 6f 6d s or even be com
5b00: 70 6c 65 74 65 6c 79 20 3c 62 3e 66 6f 72 62 69 pletely <b>forbi
5b10: 64 64 65 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a dden</b>.</li>..
5b20: 3c 6c 69 3e 74 68 65 20 63 6f 73 74 20 6f 66 20 <li>the cost of
5b30: 65 61 63 68 20 4c 69 6e 6b 20 69 73 20 65 78 70 each Link is exp
5b40: 72 65 73 73 65 64 20 61 73 20 61 6e 20 65 73 74 ressed as an est
5b50: 69 6d 61 74 65 64 20 3c 62 3e 74 72 61 76 65 6c imated <b>travel
5b60: 20 74 69 6d 65 3c 2f 62 3e 2c 20 62 65 63 61 75 time</b>, becau
5b70: 73 65 20 74 68 65 20 65 78 70 65 63 74 65 64 20 se the expected
5b80: 73 70 65 65 64 73 20 63 61 6e 20 67 72 65 61 74 speeds can great
5b90: 6c 79 20 76 61 72 79 20 61 63 63 6f 72 64 69 6e ly vary accordin
5ba0: 67 6c 79 20 74 6f 20 73 70 65 63 69 66 69 63 20 gly to specific
5bb0: 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2c road conditions,
5bc0: 20 74 72 61 66 66 69 63 20 63 6f 6e 67 65 73 74 traffic congest
5bd0: 69 6f 6e 20 61 6e 64 20 6c 65 67 61 6c 20 72 65 ion and legal re
5be0: 67 75 6c 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d gulations.</li>.
5bf0: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 .</ul></li>..</u
5c00: 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f 6e l>..<br>..<u>Con
5c10: 63 6c 75 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20 73 clusion</u>: a s
5c20: 69 6e 67 6c 65 20 56 69 72 74 75 61 6c 52 6f 75 ingle VirtualRou
5c30: 74 69 6e 67 2d 54 61 62 6c 65 20 63 61 6e 6e 6f ting-Table canno
5c40: 74 20 61 64 65 71 75 61 74 65 6c 79 20 73 75 70 t adequately sup
5c50: 70 6f 72 74 20 61 6c 6c 20 72 65 71 75 69 72 65 port all require
5c60: 6d 65 6e 74 73 20 61 6e 64 20 65 78 70 65 63 74 ments and expect
5c70: 61 74 69 6f 6e 73 20 6f 66 20 64 69 66 66 65 72 ations of differ
5c80: 65 6e 74 20 75 73 65 72 73 2e 3c 62 72 3e 0d 0a ent users.<br>..
5c90: 44 65 66 69 6e 69 6e 67 20 6d 6f 72 65 20 52 6f Defining more Ro
5ca0: 75 74 69 6e 67 20 54 61 62 6c 65 73 20 77 69 74 uting Tables wit
5cb0: 68 20 64 69 66 66 65 72 65 6e 74 20 73 65 74 74 h different sett
5cc0: 69 6e 67 73 20 66 6f 72 20 74 68 65 20 73 61 6d ings for the sam
5cd0: 65 20 4e 65 74 77 6f 72 6b 20 75 73 75 61 6c 6c e Network usuall
5ce0: 79 20 69 73 20 61 20 67 6f 6f 64 20 64 65 73 69 y is a good desi
5cf0: 67 6e 20 63 68 6f 69 63 65 20 6c 65 61 64 69 6e gn choice leadin
5d00: 67 20 74 6f 20 6d 6f 72 65 20 72 65 61 6c 69 73 g to more realis
5d10: 74 69 63 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e tic results.<br>
5d20: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f ..</td></tr>..</
5d30: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e table>..<br><br>
5d40: 0d 0a 3c 68 33 3e 55 74 69 6c 69 74 79 20 66 75 ..<h3>Utility fu
5d50: 6e 63 74 69 6f 6e 20 66 6f 72 20 61 75 74 6f 6d nction for autom
5d60: 61 74 69 63 61 6c 6c 79 20 73 65 74 74 69 6e 67 atically setting
5d70: 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f NodeFrom and No
5d80: 64 65 54 6f 20 49 44 73 3c 2f 68 33 3e 0d 0a 49 deTo IDs</h3>..I
5d90: 74 20 63 6f 75 6c 64 20 68 61 70 70 65 6e 20 74 t could happen t
5da0: 68 61 74 20 61 20 3c 62 3e 53 70 61 74 69 61 6c hat a <b>Spatial
5db0: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 70 Network</b> rep
5dc0: 72 65 73 65 6e 74 61 74 69 6f 6e 20 69 73 20 74 resentation is t
5dd0: 6f 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 63 6f 6e opologically con
5de0: 73 69 73 74 65 6e 74 2c 20 62 75 74 20 63 6f 6d sistent, but com
5df0: 70 6c 65 74 65 6c 79 20 6c 61 63 6b 69 6e 67 20 pletely lacking
5e00: 6f 66 20 61 6e 79 20 3c 62 3e 4e 6f 64 65 46 72 of any <b>NodeFr
5e10: 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f om</b> and <b>No
5e20: 64 65 54 6f 3c 2f 62 3e 20 64 65 66 69 6e 69 74 deTo</b> definit
5e30: 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 49 6e 20 73 75 ions.<br>..In su
5e40: 63 68 20 61 20 63 61 73 65 20 79 6f 75 20 63 61 ch a case you ca
5e50: 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72 n successfully r
5e60: 65 62 75 69 6c 64 20 74 68 65 20 6d 69 73 73 69 ebuild the missi
5e70: 6e 67 20 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64 ng NodeFrom and
5e80: 20 4e 6f 64 65 54 6f 20 64 65 66 69 6e 69 74 69 NodeTo definiti
5e90: 6f 6e 73 20 66 72 6f 6d 20 61 20 76 61 6c 69 64 ons from a valid
5ea0: 20 4e 65 74 77 6f 72 6b 20 62 79 20 63 61 6c 6c Network by call
5eb0: 69 6e 67 20 74 68 65 20 3c 62 3e 43 72 65 61 74 ing the <b>Creat
5ec0: 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c eRoutingNodes()<
5ed0: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e /b> SQL function
5ee0: 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 ...<verbatim>..S
5ef0: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 ELECT CreateRout
5f00: 69 6e 67 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20 27 ingNodes(NULL, '
5f10: 74 61 62 6c 65 5f 6e 61 6d 65 27 2c 20 27 67 65 table_name', 'ge
5f20: 6f 6d 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 om', 'node_from'
5f30: 2c 20 27 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a 5f , 'node_to');.._
5f40: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f ________________
5f50: 5f 5f 5f 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c 2f 76 ________..1..</v
5f60: 65 72 62 61 74 69 6d 3e 0d 0a 4c 65 74 27 73 20 erbatim>..Let's
5f70: 65 78 61 6d 69 6e 65 20 61 6c 6c 20 61 72 67 75 examine all argu
5f80: 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 ments and their
5f90: 6d 65 61 6e 69 6e 67 73 3a 0d 0a 3c 6f 6c 3e 0d meanings:..<ol>.
5fa0: 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e .<li><i>NULL</i>
5fb0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 3c 62 : name of the <b
5fc0: 3e 41 74 74 61 63 68 65 64 2d 44 42 3c 2f 62 3e >Attached-DB</b>
5fd0: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 containing the
5fe0: 53 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c 62 Spatial Table.<b
5ff0: 72 3e 0d 0a 49 74 20 63 61 6e 20 62 65 20 6c 65 r>..It can be le
6000: 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20 74 gitimately set t
6010: 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61 o <b>NULL</b>, a
6020: 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 nd in this case
6030: 74 68 65 20 3c 62 3e 4d 41 49 4e 3c 2f 62 3e 20 the <b>MAIN</b>
6040: 44 42 20 69 73 20 61 73 73 75 6d 65 64 2e 3c 2f DB is assumed.</
6050: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 61 62 6c li>..<li><i>tabl
6060: 65 5f 6e 61 6d 65 3c 2f 69 3e 3a 20 6e 61 6d 65 e_name</i>: name
6070: 20 6f 66 20 74 68 65 20 53 70 61 74 69 61 6c 20 of the Spatial
6080: 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 Table.</li>..<li
6090: 3e 3c 69 3e 67 65 6f 6d 3c 2f 6c 69 3e 3a 20 6e ><i>geom</li>: n
60a0: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d ame of the colum
60b0: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 n (in the above
60c0: 54 61 62 6c 65 29 20 63 6f 6e 74 61 69 6e 69 6e Table) containin
60d0: 67 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e 67 73 g <b>Linestrings
60e0: 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </b>.</li>..<li>
60f0: 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e <i>node_from</i>
6100: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f : name of the co
6110: 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65 64 lumn to be added
6120: 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54 61 to the above Ta
6130: 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 ble and populate
6140: 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69 61 d with appropria
6150: 74 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f te <b>NodeFrom</
6160: 62 3e 20 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c b> IDs.</li>..<l
6170: 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e i><i>node_to</i>
6180: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f : name of the co
6190: 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65 64 lumn to be added
61a0: 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54 61 to the above Ta
61b0: 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 ble and populate
61c0: 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69 61 d with appropria
61d0: 74 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e te <b>NodeTo</b>
61e0: 20 49 44 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f IDs.<br>..<u>No
61f0: 74 65 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e te</u>: both <b>
6200: 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 NodeFrom</b> and
6210: 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 <b>NodeTo</b> c
6220: 6f 6c 75 6d 6e 73 20 73 68 6f 75 6c 64 20 6e 6f olumns should no
6230: 74 20 62 65 20 61 6c 72 65 61 64 79 20 64 65 66 t be already def
6240: 69 6e 65 64 20 69 6e 20 74 68 65 20 61 62 6f 76 ined in the abov
6250: 65 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c e Table.</li>..<
6260: 2f 6f 6c 3e 0d 0a 3c 62 3e 43 72 65 61 74 65 52 /ol>..<b>CreateR
6270: 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 outingNodes()</b
6280: 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 3c 62 > will return <b
6290: 3e 31 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f >1</b> (<i>aka</
62a0: 69 3e 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 20 i> <b>TRUE</b>)
62b0: 6f 6e 20 73 75 63 63 65 73 73 3b 20 61 6e 20 65 on success; an e
62c0: 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65 xception will be
62d0: 20 72 61 69 73 65 64 20 6f 6e 20 66 61 69 6c 75 raised on failu
62e0: 72 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 re.<br>..<u>Note
62f0: 3c 2f 75 3e 3a 20 79 6f 75 20 63 61 6e 20 63 61 </u>: you can ca
6300: 6c 6c 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 ll <b>CreateRout
6310: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 ing_GetLastError
6320: 28 29 3c 2f 62 3e 20 73 6f 20 74 6f 20 70 72 65 ()</b> so to pre
6330: 63 69 73 65 6c 79 20 69 64 65 6e 74 69 66 79 20 cisely identify
6340: 74 68 65 20 63 61 75 73 65 20 61 63 63 6f 75 6e the cause accoun
6350: 74 69 6e 67 20 66 6f 72 20 66 61 69 6c 75 72 65 ting for failure
6360: 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c .<br><br><br>..<
6370: 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 table bgcolor="#
6380: 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 c0ffc0" cellspac
6390: 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 ing="10" cellpad
63a0: 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 ding="6"><tr><td
63b0: 3e 0d 0a 3c 68 33 3e 48 61 6e 64 6c 69 6e 67 20 >..<h3>Handling
63c0: 64 79 6e 61 6d 69 63 20 4e 65 74 77 6f 72 6b 73 dynamic Networks
63d0: 3c 2f 68 33 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b </h3>..A Network
63e0: 20 63 6f 75 6c 64 20 62 65 20 73 75 62 6a 65 63 could be subjec
63f0: 74 20 74 6f 20 72 61 74 68 65 72 20 66 72 65 71 t to rather freq
6400: 75 65 6e 74 20 63 68 61 6e 67 65 73 2c 20 73 75 uent changes, su
6410: 63 68 20 61 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c ch as:..<ul>..<l
6420: 69 3e 6e 65 77 20 4c 69 6e 6b 73 20 6e 65 65 64 i>new Links need
6430: 20 74 6f 20 62 65 20 61 64 64 65 64 2e 3c 2f 6c to be added.</l
6440: 69 3e 0d 0a 3c 6c 69 3e 6f 62 73 6f 6c 65 74 65 i>..<li>obsolete
6450: 20 4c 69 6e 6b 73 20 61 72 65 20 72 65 71 75 69 Links are requi
6460: 72 65 64 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 red to be remove
6470: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 74 68 d.</li>..<li>oth
6480: 65 72 20 4c 69 6e 6b 73 20 6d 61 79 20 72 65 63 er Links may rec
6490: 65 69 76 65 20 61 20 64 69 66 66 65 72 65 6e 74 eive a different
64a0: 20 43 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 Cost.</li>..<li
64b0: 3e 6f 6e 65 2d 77 61 79 73 20 63 6f 75 6c 64 20 >one-ways could
64c0: 62 65 20 72 65 76 65 72 73 65 64 2c 20 74 68 65 be reversed, the
64d0: 20 64 69 73 63 69 70 6c 69 6e 65 20 6f 66 20 70 discipline of p
64e0: 65 64 65 73 74 72 69 61 6e 20 61 72 65 61 73 20 edestrian areas
64f0: 63 6f 75 6c 64 20 62 65 20 6d 6f 64 69 66 69 65 could be modifie
6500: 64 20 61 6e 64 20 73 6f 20 6f 6e 2e 3c 2f 6c 69 d and so on.</li
6510: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 3c 62 72 >..</ul></li><br
6520: 3e 0d 0a 41 20 56 69 72 74 75 61 6c 52 6f 75 74 >..A VirtualRout
6530: 69 6e 67 2d 54 61 62 6c 65 20 69 73 20 61 6c 77 ing-Table is alw
6540: 61 79 73 20 62 61 73 65 64 20 6f 6e 20 61 20 63 ays based on a c
6550: 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 44 ompanion BinaryD
6560: 61 74 61 2d 54 61 62 6c 65 2c 20 74 68 61 74 20 ata-Table, that
6570: 69 73 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79 is intrinsically
6580: 20 3c 62 3e 73 74 61 74 69 63 3c 2f 62 3e 2c 20 <b>static</b>,
6590: 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 and consequently
65a0: 20 79 6f 75 20 61 72 65 20 72 65 71 75 69 72 65 you are require
65b0: 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62 d to re-create b
65c0: 6f 74 68 20 6f 66 20 74 68 65 6d 20 66 72 6f 6d oth of them from
65d0: 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 6e time to time in
65e0: 20 6f 72 64 65 72 20 74 6f 20 73 75 70 70 6f 72 order to suppor
65f0: 74 20 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 61 t all recent cha
6600: 6e 67 65 73 20 61 66 66 65 63 74 69 6e 67 20 74 nges affecting t
6610: 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e he underlaying N
6620: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 etwork.<br>..The
6630: 20 6f 70 74 69 6d 61 6c 20 66 72 65 71 75 65 6e optimal frequen
6640: 63 79 20 66 6f 72 20 74 68 65 20 72 65 66 72 65 cy for the refre
6650: 73 68 69 6e 67 20 6f 66 20 74 68 65 20 74 68 65 shing of the the
6660: 20 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 Routing Tables
6670: 64 65 70 65 6e 64 73 20 20 73 74 72 69 63 74 6c depends strictl
6680: 79 20 6f 6e 20 74 68 65 20 73 70 65 63 69 66 69 y on the specifi
6690: 63 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 c requirements,
66a0: 62 75 74 20 74 68 65 73 65 20 74 77 6f 20 6f 76 but these two ov
66b0: 65 72 61 6c 6c 20 61 70 70 72 6f 61 63 68 65 73 erall approaches
66c0: 20 61 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61 64 are commonly ad
66d0: 6f 70 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c opted:..<ol>..<l
66e0: 69 3e 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65 6e i><b>low frequen
66f0: 63 79 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20 cy refresh</b>:
6700: 62 65 73 74 20 66 69 74 20 66 6f 72 20 73 6c 6f best fit for slo
6710: 77 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 wly evolving Net
6720: 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74 works.<br>..In t
6730: 68 69 73 20 63 61 73 65 20 72 65 2d 63 72 65 61 his case re-crea
6740: 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b ting the Network
6750: 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 61 20 6d Tables once a m
6760: 6f 6e 74 68 20 2f 20 77 65 65 6b 20 2f 20 64 61 onth / week / da
6770: 79 20 63 6f 75 6c 64 20 62 65 20 72 65 61 73 6f y could be reaso
6780: 6e 61 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a 52 nably enough...R
6790: 65 63 72 65 61 74 69 6e 67 20 74 68 65 20 54 61 ecreating the Ta
67a0: 62 6c 65 73 20 66 72 6f 6d 20 73 63 72 61 74 63 bles from scratc
67b0: 68 20 75 73 75 61 6c 6c 79 20 72 65 71 75 69 72 h usually requir
67c0: 65 73 20 73 65 76 65 72 61 6c 20 73 65 63 6f 6e es several secon
67d0: 64 73 20 28 6f 72 20 65 76 65 6e 20 6c 65 73 73 ds (or even less
67e0: 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 , depending on t
67f0: 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69 6e he number of Lin
6800: 6b 73 29 2e 3c 62 72 3e 0d 0a 41 6e 20 6f 70 74 ks).<br>..An opt
6810: 69 6f 6e 61 6c 20 72 65 66 72 65 73 68 20 61 63 ional refresh ac
6820: 74 69 76 69 74 79 20 63 6f 75 6c 64 20 62 65 20 tivity could be
6830: 70 6c 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74 planned at low t
6840: 72 61 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e raffic hours (e.
6850: 67 2e 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69 g. during the ni
6860: 67 68 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65 ght), and <b>Cre
6870: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e ateRouting()</b>
6880: 20 63 6f 75 6c 64 20 62 65 20 6f 70 74 69 6f 6e could be option
6890: 61 6c 6c 79 20 63 61 6c 6c 65 64 20 62 79 20 65 ally called by e
68a0: 6e 61 62 6c 69 6e 67 20 74 68 65 20 6f 76 65 72 nabling the over
68b0: 77 72 69 74 65 20 6f 70 74 69 6f 6e 2e 3c 2f 6c write option.</l
68c0: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75 i>..<li><b>mediu
68d0: 6d 2d 68 69 67 68 20 66 72 65 71 75 65 6e 63 79 m-high frequency
68e0: 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65 refresh</b>: be
68f0: 73 74 20 66 69 74 20 66 6f 72 20 73 77 69 66 74 st fit for swift
6900: 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 ly evolving Netw
6910: 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72 orks.<br>..Re-cr
6920: 65 61 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f eating the Netwo
6930: 72 6b 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 70 rk Tables once p
6940: 65 72 20 68 6f 75 72 20 28 6f 72 20 65 76 65 6e er hour (or even
6950: 20 6d 6f 72 65 20 66 72 65 71 75 65 6e 74 6c 79 more frequently
6960: 29 20 63 6f 75 6c 64 20 62 65 20 73 74 72 69 63 ) could be stric
6970: 74 6c 79 20 72 65 71 75 69 72 65 64 2c 20 61 6e tly required, an
6980: 64 20 66 72 65 71 75 65 6e 74 20 3c 62 3e 6f 75 d frequent <b>ou
6990: 74 20 6f 66 20 73 65 72 76 69 63 65 3c 2f 62 3e t of service</b>
69a0: 20 70 65 72 69 6f 64 73 20 77 68 69 6c 65 20 77 periods while w
69b0: 61 69 74 69 6e 67 20 66 6f 72 20 74 68 65 20 72 aiting for the r
69c0: 65 66 72 65 73 68 20 70 72 6f 63 65 73 73 20 74 efresh process t
69d0: 6f 20 63 6f 6d 70 6c 65 74 65 20 63 6f 75 6c 64 o complete could
69e0: 20 65 61 73 69 6c 79 20 62 65 63 6f 6d 65 20 75 easily become u
69f0: 6e 61 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 3e nacceptable.<br>
6a00: 0d 0a 49 6e 20 73 75 63 68 20 63 61 73 65 73 20 ..In such cases
6a10: 79 6f 75 20 63 6f 75 6c 64 20 61 64 6f 70 74 20 you could adopt
6a20: 61 20 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65 61 a <b>multi-threa
6a30: 64 65 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e ded strategy</b>
6a40: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e :..<ul>..<li><b>
6a50: 74 68 72 65 61 64 20 23 31 3c 2f 62 3e 20 28 3c thread #1</b> (<
6a60: 69 3e 74 68 65 20 72 65 61 64 65 72 3c 2f 69 3e i>the reader</i>
6a70: 29 3a 20 74 68 69 73 20 66 69 72 73 74 20 74 68 ): this first th
6a80: 72 65 61 64 20 69 73 20 69 6e 74 65 6e 64 65 64 read is intended
6a90: 20 74 6f 20 73 65 72 76 69 63 65 20 61 6e 79 20 to service any
6aa0: 69 6e 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e 67 incoming Routing
6ab0: 20 72 65 71 75 65 73 74 2e 20 49 74 20 77 69 6c request. It wil
6ac0: 6c 20 62 65 20 61 6c 77 61 79 73 20 61 63 74 69 l be always acti
6ad0: 76 65 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61 72 ve, and will tar
6ae0: 67 65 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e get a well known
6af0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d VirtualRouting-
6b00: 54 61 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e 6d Table (e.g. <b>m
6b10: 79 5f 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 61 y_routing</b> ba
6b20: 73 65 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f 75 sed on <b>my_rou
6b30: 74 69 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e 3c ting_data</b>).<
6b40: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72 /li>..<li><b>thr
6b50: 65 61 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e 74 ead #2</b> (<i>t
6b60: 68 65 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a 20 he writer</i>):
6b70: 74 68 69 73 20 73 65 63 6f 6e 64 20 74 68 72 65 this second thre
6b80: 61 64 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e ad is just inten
6b90: 64 65 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 ded to re-create
6ba0: 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 both Network Ta
6bb0: 62 6c 65 73 20 61 74 20 70 72 65 64 65 66 69 6e bles at predefin
6bc0: 65 64 20 69 6e 74 65 72 76 61 6c 73 2c 20 61 6e ed intervals, an
6bd0: 64 20 69 74 20 77 69 6c 6c 20 73 6c 65 65 70 20 d it will sleep
6be0: 75 6e 74 69 6c 20 74 68 65 20 6e 65 78 74 20 69 until the next i
6bf0: 6e 74 65 72 76 61 6c 2e 3c 62 72 3e 0d 0a 41 74 nterval.<br>..At
6c00: 20 65 61 63 68 20 69 6e 74 65 72 76 61 6c 20 61 each interval a
6c10: 20 63 6f 70 79 20 6f 66 20 62 6f 74 68 20 4e 65 copy of both Ne
6c20: 74 77 6f 72 6b 20 54 61 62 6c 65 73 2c 20 77 69 twork Tables, wi
6c30: 6c 6c 20 62 65 20 6d 61 64 65 20 61 6e 64 2c 20 ll be made and,
6c40: 77 68 65 6e 20 63 6f 6d 70 6c 65 61 74 65 64 2c when compleated,
6c50: 20 77 69 6c 6c 20 6f 76 65 72 77 72 69 74 65 20 will overwrite
6c60: 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 54 61 62 the original Tab
6c70: 6c 65 73 20 28 61 63 74 69 76 61 74 69 6e 67 20 les (activating
6c80: 61 20 73 65 6d 61 70 68 6f 72 65 20 64 75 72 69 a semaphore duri
6c90: 6e 67 20 74 68 69 73 20 73 68 6f 72 74 2d 74 69 ng this short-ti
6ca0: 6d 65 64 20 6c 61 73 74 20 73 74 65 70 20 69 73 med last step is
6cb0: 20 68 69 67 68 6c 79 20 72 65 63 6f 6d 6d 65 6e highly recommen
6cc0: 64 65 64 29 2e 3c 62 72 3e 0d 0a 53 6f 6d 65 74 ded).<br>..Somet
6cd0: 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 20 70 hing like this p
6ce0: 73 65 75 64 6f 2d 63 6f 64 65 20 65 78 65 6d 70 seudo-code exemp
6cf0: 6c 69 66 69 65 73 3a 0d 0a 3c 76 65 72 62 61 74 lifies:..<verbat
6d00: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 im>..SELECT Crea
6d10: 74 65 52 6f 75 74 69 6e 67 28 27 6e 65 77 5f 6d teRouting('new_m
6d20: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c y_routing_data',
6d30: 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 'new_my_routing
6d40: 27 2c 20 2e 2e 2e 29 3b 0d 0a 0d 0a 2d 2d 3e 20 ', ...);....-->
6d50: 73 74 61 72 74 20 74 68 65 20 73 65 6d 61 70 68 start the semaph
6d60: 6f 72 65 20 73 6f 20 74 6f 20 6c 6f 63 6b 20 74 ore so to lock t
6d70: 68 65 20 6f 74 68 65 72 20 74 68 72 65 61 64 0d he other thread.
6d80: 0a 0d 0a 42 45 47 49 4e 3b 0d 0a 44 52 4f 50 20 ...BEGIN;..DROP
6d90: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67 TABLE my_routing
6da0: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d 79 ;..DROP TABLE my
6db0: 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 3b 0d 0a _routing_data;..
6dc0: 53 45 4c 45 43 54 20 43 6c 6f 6e 65 54 61 62 6c SELECT CloneTabl
6dd0: 65 28 27 4d 41 49 4e 27 2c 20 27 6e 65 77 5f 6d e('MAIN', 'new_m
6de0: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c y_routing_data',
6df0: 20 27 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 'my_routing_dat
6e00: 61 27 2c 20 30 29 3b 0d 0a 43 52 45 41 54 45 20 a', 0);..CREATE
6e10: 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 6d 79 VIRTUAL TABLE my
6e20: 5f 72 6f 75 74 69 6e 67 20 55 53 49 4e 47 20 56 _routing USING V
6e30: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 28 27 6d irtualRouting('m
6e40: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 29 y_routing_data')
6e50: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6e 65 ;..DROP TABLE ne
6e60: 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 w_my_routing;..D
6e70: 52 4f 50 20 54 41 42 4c 45 20 6e 65 77 5f 6d 79 ROP TABLE new_my
6e80: 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 3b 0d 0a _routing_data;..
6e90: 43 4f 4d 4d 49 54 3b 0d 0a 0d 0a 2d 2d 3e 20 72 COMMIT;....--> r
6ea0: 65 6d 6f 76 65 20 74 68 65 20 73 65 6d 61 70 68 emove the semaph
6eb0: 6f 72 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e ore..</verbatim>
6ec0: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 73 ..<u>Note</u>: s
6ed0: 74 72 69 63 74 6c 79 20 72 65 73 70 65 63 74 69 trictly respecti
6ee0: 6e 67 20 74 68 65 20 61 62 6f 76 65 20 73 65 71 ng the above seq
6ef0: 75 65 6e 63 65 20 6f 66 20 53 51 4c 20 6f 70 65 uence of SQL ope
6f00: 72 61 74 69 6f 6e 73 20 69 73 20 61 62 73 6f 6c rations is absol
6f10: 75 74 65 6c 79 20 72 65 71 75 69 72 65 64 2e 3c utely required.<
6f20: 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 /li> ..</ul></li
6f30: 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c >..</ol>..</td><
6f40: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a /tr>..</table>..
6f50: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 <br>..<table bgc
6f60: 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63 olor="#ffb060" c
6f70: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 ellspacing="10"
6f80: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
6f90: 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61 <tr><td>..<h3>Wa
6fa0: 72 6e 69 6e 67 3a 20 68 6f 77 20 74 6f 20 63 6f rning: how to co
6fb0: 72 72 65 63 74 6c 79 20 64 72 6f 70 20 4e 65 74 rrectly drop Net
6fc0: 77 6f 72 6b 20 54 61 62 6c 65 73 3c 2f 68 33 3e work Tables</h3>
6fd0: 0d 0a 57 68 65 6e 20 64 72 6f 70 70 69 6e 67 20 ..When dropping
6fe0: 61 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 a VirtualRouting
6ff0: 2d 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20 63 -Table and its c
7000: 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 44 ompanion BinaryD
7010: 61 74 61 2d 54 61 62 6c 65 20 73 74 72 69 63 74 ata-Table strict
7020: 6c 79 20 72 65 73 70 65 63 74 69 6e 67 20 74 68 ly respecting th
7030: 65 20 63 6f 72 72 65 63 74 20 73 65 71 75 65 6e e correct sequen
7040: 63 65 20 6f 66 20 53 51 4c 20 63 6f 6d 6d 61 6e ce of SQL comman
7050: 64 73 20 69 73 20 65 73 73 65 6e 74 69 61 6c 2e ds is essential.
7060: 3c 62 72 3e 0d 0a 46 61 69 6c 69 6e 67 20 74 6f <br>..Failing to
7070: 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 65 63 strictly respec
7080: 74 20 74 68 69 73 20 65 78 70 65 63 74 65 64 20 t this expected
7090: 73 65 71 75 65 6e 63 65 20 77 69 6c 6c 20 73 75 sequence will su
70a0: 72 65 6c 79 20 63 61 75 73 65 20 79 6f 75 20 73 rely cause you s
70b0: 65 76 65 72 61 6c 20 74 72 6f 75 62 6c 65 73 20 everal troubles
70c0: 61 6e 64 20 73 65 76 65 72 65 20 68 65 61 64 61 and severe heada
70d0: 63 68 65 73 2c 20 61 6e 64 20 77 69 6c 6c 20 70 ches, and will p
70e0: 6f 73 73 69 62 6c 79 20 6c 65 61 64 20 74 6f 20 ossibly lead to
70f0: 61 20 63 6f 6d 70 6c 65 74 65 6c 79 20 63 6f 72 a completely cor
7100: 72 75 70 74 65 64 20 64 61 74 61 62 61 73 65 2e rupted database.
7110: 2e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 66 69 72 ...<ol>..<li>fir
7120: 73 74 20 44 52 4f 50 20 74 68 65 20 56 69 72 74 st DROP the Virt
7130: 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 ualRouting-Table
7140: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 .</li>..<li>the
7150: 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 companion Binary
7160: 44 61 74 61 2d 54 61 62 6c 65 20 63 61 6e 20 6f Data-Table can o
7170: 6e 6c 79 20 62 65 20 73 61 66 65 6c 79 20 44 52 nly be safely DR
7180: 4f 50 65 64 20 61 66 74 65 72 20 74 68 65 20 56 OPed after the V
7190: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 irtualRouting-Ta
71a0: 62 6c 65 20 68 61 73 20 62 65 65 6e 20 72 65 6d ble has been rem
71b0: 6f 76 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e oved.</li>..<li>
71c0: 3c 75 3e 42 65 20 77 61 72 6e 65 64 3c 2f 75 3e <u>Be warned</u>
71d0: 3a 20 69 66 20 79 6f 75 20 44 52 4f 50 20 74 68 : if you DROP th
71e0: 65 20 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 e BinaryData-Tab
71f0: 6c 65 20 66 69 72 73 74 2c 20 74 68 65 20 56 69 le first, the Vi
7200: 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 rtualRouting-Tab
7210: 6c 65 20 77 69 6c 6c 20 62 65 20 3c 62 3e 6f 72 le will be <b>or
7220: 70 68 61 6e 65 64 3c 2f 62 3e 20 61 6e 64 20 63 phaned</b> and c
7230: 61 6e 20 6e 6f 20 6c 6f 6e 67 65 72 20 62 65 20 an no longer be
7240: 44 52 4f 50 65 64 20 21 3c 62 72 3e 0d 0a 3c 62 DROPed !<br>..<b
7250: 3e 59 6f 75 20 68 61 76 65 20 62 65 65 6e 20 77 >You have been w
7260: 61 72 6e 65 64 20 21 21 3c 2f 62 3e 3c 2f 6c 69 arned !!</b></li
7270: 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c >..</ol>..</td><
7280: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a /tr>..</table>..
7290: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 <br><br>..<hr><b
72a0: 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d r>..<h1><a name=
72b0: 22 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53 6f "from_to">4 - So
72c0: 6c 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53 68 lving classic Sh
72d0: 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f 62 ortest Path prob
72e0: 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 54 lems</a></h1>..T
72f0: 68 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63 20 he most classic
7300: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 Shortest Path pr
7310: 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 74 oblem requires t
7320: 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 6f o identify the o
7330: 70 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69 6f ptimal connectio
7340: 6e 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62 3e n between an <b>
7350: 4f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 Origin Node</b>
7360: 61 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e 61 and a <b>Destina
7370: 74 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 62 tion Node</b>.<b
7380: 72 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69 6c r>..We can easil
7390: 79 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63 68 y translate such
73a0: 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f 20 a problem into
73b0: 61 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75 65 a simple SQL que
73c0: 72 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f 6d ry targeting som
73d0: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 e VirtualRouting
73e0: 2d 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61 74 -Table...<verbat
73f0: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d 0a im>..SELECT * ..
7400: 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 FROM byfoot..WHE
7410: 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 RE NodeFrom = 17
7420: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 8731 AND NodeTo
7430: 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 = 183286;..</ver
7440: 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 batim>..<table b
7450: 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f order="1" bgcolo
7460: 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c r="#ffffcf" cell
7470: 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c spacing="4" cell
7480: 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 padding="6">..<t
7490: 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 r><th bgcolor="#
74a0: 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 d0d0a0">Algorith
74b0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f m</th><th bgcolo
74c0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 r="#d0d0a0">Requ
74d0: 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f est</th><th bgco
74e0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 lor="#d0d0a0">Op
74f0: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 tions</th><th bg
7500: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
7510: 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 Delimiter</th><t
7520: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
7530: 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e a0">RouteId</th>
7540: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
7550: 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f d0a0">RouteRow</
7560: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
7570: 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 #d0d0a0">Role</t
7580: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
7590: 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 d0d0a0">LinkRowi
75a0: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f d</th><th bgcolo
75b0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
75c0: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 From</th><th bgc
75d0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
75e0: 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 odeTo</th><th bg
75f0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
7600: 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c 74 PointFrom</th><t
7610: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
7620: 61 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 3e a0">PointTo</th>
7630: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
7640: 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c d0a0">Tolerance<
7650: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
7660: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f "#d0d0a0">Cost</
7670: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
7680: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 #d0d0a0">Geometr
7690: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f y</th><th bgcolo
76a0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 r="#d0d0a0">Name
76b0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
76c0: 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f ..<td>Dijkstra</
76d0: 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 td><td>Shortest
76e0: 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c Path</td><td>Ful
76f0: 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 l</td><td>, [
7700: 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 ;dec=44, hex=2c&
7710: 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 #93;</td><td ali
7720: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
7730: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
7740: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
7750: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
7760: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
7770: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
7780: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
7790: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 t">183286</td><t
77a0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
77b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
77c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
77d0: 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 right">300.91220
77e0: 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 8</td><td>BLOB s
77f0: 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f z=272 GEOMETRY</
7800: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
7810: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
7820: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
7830: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
7840: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
7850: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7860: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 ght">0</td><td a
7870: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
7880: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
7890: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
78a0: 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 ">224014</td><td
78b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
78c0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
78d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 ign="right">1828
78e0: 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 85</td><td>NULL<
78f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
7900: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7910: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
7920: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 94.812424</td><t
7930: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
7940: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e IA PIETRO ARETIN
7950: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c O</td>..</tr>..<
7960: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
7970: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
7980: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
7990: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
79a0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
79b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
79c0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">2</td><td>Lin
79d0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
79e0: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f "right">224446</
79f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7a00: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e ght">182885</td>
7a10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
7a20: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 ">178880</td><td
7a30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
7a40: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
7a50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
7a60: 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c ight">69.727726<
7a70: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
7a80: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 ><td>VIA MARGARI
7a90: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TONE</td>..</tr>
7aa0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
7ab0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
7ac0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
7ad0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
7ae0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
7af0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
7b00: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e ight">3</td><td>
7b10: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
7b20: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 gn="right">22441
7b30: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
7b40: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f "right">178880</
7b50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7b60: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e ght">183286</td>
7b70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
7b80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
7b90: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
7ba0: 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 ="right">136.372
7bb0: 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 057</td><td>NULL
7bc0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 </td><td>VIA MAR
7bd0: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c GARITONE</td>..<
7be0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a /tr>..</table>..
7bf0: 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 <br>..Let's quic
7c00: 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 kly examine the
7c10: 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e resultset return
7c20: 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 ed by the above
7c30: 52 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d 0a Routing query:..
7c40: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 <ul>..<li>the <b
7c50: 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 28 >first row</b> (
7c60: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64 65 <i>aka</i> heade
7c70: 72 20 72 6f 77 29 20 68 61 73 20 61 20 73 70 65 r row) has a spe
7c80: 63 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61 74 cial interpretat
7c90: 69 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 ion, and is inte
7ca0: 6e 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69 7a nded to summariz
7cb0: 65 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f 6c e the travel sol
7cc0: 75 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 ution as a whole
7cd0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 .</li>..<li>all
7ce0: 74 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e 67 the <b>following
7cf0: 20 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65 73 rows</b> repres
7d00: 65 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69 6e ent a single Lin
7d10: 6b 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 75 k required to bu
7d20: 69 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e ild the solution
7d30: 20 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b 20 (optima path);
7d40: 4c 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72 65 Links are ordere
7d50: 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f d accordingly to
7d60: 20 74 68 65 20 74 72 61 76 65 6c 20 64 69 72 65 the travel dire
7d70: 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 ction connecting
7d80: 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 20 the Origin and
7d90: 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 2e the Destination.
7da0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d </li>..<li>colum
7db0: 6e 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c ns <b>Algorithm<
7dc0: 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c /b>, <b>Request<
7dd0: 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c /b>, <b>Options<
7de0: 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65 /b>, <b>Delimite
7df0: 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 r</b>, <b>PointF
7e00: 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e rom</b>, <b>Poin
7e10: 74 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c 65 tTo</b>, <b>Tole
7e20: 72 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 rance</b> and <b
7e30: 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61 72 >Geometry</b> ar
7e40: 65 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20 e always set to
7e50: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 28 65 78 63 <b>NULL</b> (exc
7e60: 65 70 74 20 74 68 61 74 20 6f 66 20 74 68 65 20 ept that of the
7e70: 66 69 72 73 74 20 72 6f 77 20 6f 66 20 74 68 65 first row of the
7e80: 20 72 65 73 75 6c 74 73 65 74 29 3a 0d 0a 3c 75 resultset):..<u
7e90: 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c l>..<li>column <
7ea0: 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 b>Algorithm</b>
7eb0: 61 63 63 6f 75 6e 74 73 20 66 6f 72 20 74 68 65 accounts for the
7ec0: 20 52 6f 75 74 69 6e 67 20 41 6c 67 6f 72 69 74 Routing Algorit
7ed0: 68 6d 20 75 73 65 64 20 62 79 20 74 68 65 20 63 hm used by the c
7ee0: 75 72 72 65 6e 74 20 71 75 65 72 79 20 28 3c 69 urrent query (<i
7ef0: 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 69 3e 20 >Dijkstra's</i>
7f00: 6f 72 20 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c 2f or <i>A*</i>).</
7f10: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 li>..<li>column
7f20: 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 73 <b>Request</b> s
7f30: 70 65 63 69 66 69 65 73 20 74 68 65 20 65 78 61 pecifies the exa
7f40: 63 74 20 6e 61 74 75 72 65 20 6f 66 20 74 68 65 ct nature of the
7f50: 20 63 75 72 72 65 6e 74 20 71 75 65 72 79 20 28 current query (
7f60: 69 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 in this specific
7f70: 20 63 61 73 65 20 3c 69 3e 53 68 6f 72 74 65 73 case <i>Shortes
7f80: 74 20 50 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c 69 t Path</i>).</li
7f90: 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 6e 6f 77 20 77 >..<li>for now w
7fa0: 65 27 6c 6c 20 69 67 6e 6f 72 65 20 74 68 65 20 e'll ignore the
7fb0: 63 6f 6c 75 6d 6e 73 20 3c 62 3e 4f 70 74 69 6f columns <b>Optio
7fc0: 6e 73 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d ns</b>, <b>Delim
7fd0: 69 74 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 iter</b>, <b>Poi
7fe0: 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 ntFrom</b>, <b>P
7ff0: 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64 20 3c ointTo</b> and <
8000: 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a b>Tolerance</b>:
8010: 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69 76 their respectiv
8020: 65 20 6d 65 61 6e 69 6e 67 73 20 77 69 6c 6c 20 e meanings will
8030: 62 65 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 be explained in
8040: 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 72 61 67 72 following paragr
8050: 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e aphs.</li>..<li>
8060: 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74 column <b>Geomet
8070: 72 79 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20 ry</b> contains
8080: 61 20 3c 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c a <b>LINESTRING<
8090: 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 61 74 69 /b> representati
80a0: 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 on of the whole
80b0: 52 6f 75 74 65 20 73 6f 6c 75 74 69 6f 6e 2e 3c Route solution.<
80c0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e br>..<u>Note</u>
80d0: 3a 20 6f 6e 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 : on <b>Logical
80e0: 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 20 28 6e 6f Networks</b> (no
80f0: 74 20 73 75 70 70 6f 72 74 69 6e 67 20 47 65 6f t supporting Geo
8100: 6d 65 74 72 69 65 73 29 20 3c 62 3e 47 65 6f 6d metries) <b>Geom
8110: 65 74 72 79 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c etry</b> will al
8120: 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c ways be <b>NULL<
8130: 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e /b>.</li>..</ul>
8140: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c </li>..<li>we'll
8150: 20 69 67 6e 6f 72 65 20 66 6f 72 20 6e 6f 77 20 ignore for now
8160: 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 49 column <b>RouteI
8170: 64 3c 2f 62 3e 3b 20 69 74 73 20 6d 65 61 6e 69 d</b>; its meani
8180: 6e 67 20 77 69 6c 6c 20 62 65 20 65 78 70 6c 61 ng will be expla
8190: 69 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e ined in followin
81a0: 67 20 70 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c g paragraphs.</l
81b0: 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c i>..<li>column <
81c0: 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 73 b>RouteRow</b> s
81d0: 69 6d 70 6c 79 20 69 73 20 74 68 65 20 70 72 6f imply is the pro
81e0: 67 72 65 73 73 69 76 65 20 6e 75 6d 62 65 72 20 gressive number
81f0: 6f 66 20 74 68 65 20 72 6f 77 20 69 6e 20 74 68 of the row in th
8200: 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f e travel solutio
8210: 6e 20 28 61 6c 77 61 79 73 20 3c 62 3e 30 3c 2f n (always <b>0</
8220: 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 b> in the header
8230: 20 72 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 row).</li>..<li
8240: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 6c 65 3c >column <b>Role<
8250: 2f 62 3e 20 63 61 6e 20 62 65 20 3c 69 3e 52 6f /b> can be <i>Ro
8260: 75 74 65 3c 2f 69 3e 20 28 68 65 61 64 65 72 20 ute</i> (header
8270: 72 6f 77 29 20 6f 72 20 3c 69 3e 4c 69 6e 6b 3c row) or <i>Link<
8280: 2f 69 3e 20 28 61 6c 6c 20 66 6f 6c 6c 6f 77 69 /i> (all followi
8290: 6e 67 20 72 6f 77 73 29 2e 3c 2f 6c 69 3e 0d 0a ng rows).</li>..
82a0: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4c 69 <li>column <b>Li
82b0: 6e 6b 52 6f 77 69 64 3c 2f 62 3e 20 72 65 66 65 nkRowid</b> refe
82c0: 72 65 6e 63 65 73 20 74 68 65 20 3c 62 3e 52 4f rences the <b>RO
82d0: 57 49 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20 63 WID</b> of the c
82e0: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e orresponding Lin
82f0: 6b 20 28 61 6c 77 61 79 73 20 73 65 74 20 74 6f k (always set to
8300: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 <b>NULL</b> in
8310: 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 29 2e the header row).
8320: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d </li>..<li>colum
8330: 6e 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 n <b>NodeFrom</b
8340: 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c > and <b>NodeTo<
8350: 2f 62 3e 20 68 61 76 65 20 74 68 65 20 66 6f 6c /b> have the fol
8360: 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74 lowing interpret
8370: 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c ation:..<ul>..<l
8380: 69 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 i>in the header
8390: 72 6f 77 20 74 68 65 79 20 63 6f 72 72 65 73 70 row they corresp
83a0: 6f 6e 64 20 74 6f 20 68 65 20 3c 62 3e 4f 72 69 ond to he <b>Ori
83b0: 67 69 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 gin</b> and <b>D
83c0: 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 4e estination</b> N
83d0: 6f 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e odes.</li>..<li>
83e0: 69 6e 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f in all of the fo
83f0: 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20 74 68 65 llowing rows the
8400: 79 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 y are intended t
8410: 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 64 69 o specify the di
8420: 72 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 rection of the c
8430: 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 urrent Link.</li
8440: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c >..</ul></li>..<
8450: 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 li>column <b>Cos
8460: 74 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 66 6f t</b> has the fo
8470: 6c 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65 llowing interpre
8480: 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c tation:..<ul>..<
8490: 6c 69 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72 li>in the header
84a0: 20 72 6f 77 20 69 74 20 63 6f 72 72 65 73 70 6f row it correspo
84b0: 6e 64 73 20 74 6f 20 74 68 65 20 3c 62 3e 74 6f nds to the <b>to
84c0: 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 20 6f 66 20 tal cost</b> of
84d0: 74 68 65 20 72 6f 75 74 65 2e 3c 2f 6c 69 3e 0d the route.</li>.
84e0: 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 6f 66 20 74 .<li>in all of t
84f0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 he following row
8500: 73 20 69 74 20 72 65 70 72 65 73 65 6e 74 73 20 s it represents
8510: 74 68 65 20 73 70 65 63 69 66 69 63 20 63 6f 73 the specific cos
8520: 74 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 t of the current
8530: 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 Link.</li>..</u
8540: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c l></li>..<li>col
8550: 75 6d 6e 20 3c 62 3e 4e 61 6d 65 3c 2f 62 3e 20 umn <b>Name</b>
8560: 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 64 65 73 contains the des
8570: 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 cription of the
8580: 63 75 72 72 65 6e 74 20 4c 69 6e 6b 20 28 75 73 current Link (us
8590: 75 61 6c 6c 79 20 61 20 72 6f 61 64 20 6e 61 6d ually a road nam
85a0: 65 29 2c 20 61 6e 64 20 69 73 20 61 6c 77 61 79 e), and is alway
85b0: 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e s <b>NULL</b> in
85c0: 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 2e the header row.
85d0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 <br>..<u>Note</u
85e0: 3e 20 69 74 20 63 6f 75 6c 64 20 62 65 20 61 6c > it could be al
85f0: 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c ways be <b>NULL<
8600: 2f 62 3e 20 69 66 20 74 68 65 20 56 69 72 74 75 /b> if the Virtu
8610: 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 20 alRouting-Table
8620: 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 does not support
8630: 73 20 6e 61 6d 65 73 20 28 69 2e 65 2e 20 74 68 s names (i.e. th
8640: 65 20 3c 62 3e 72 6f 61 64 5f 6e 61 6d 65 5f 63 e <b>road_name_c
8650: 6f 6c 75 6d 6e 3c 2f 62 3e 20 70 61 72 6d 20 6f olumn</b> parm o
8660: 66 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 20 f CreateRouting
8670: 77 61 73 20 6e 6f 74 20 75 73 65 64 29 2e 3c 2f was not used).</
8680: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
8690: 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e .</ul>..<br><br>
86a0: 0d 0a 54 65 73 74 69 6e 67 20 74 68 65 20 72 65 ..Testing the re
86b0: 74 75 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 turn connection
86c0: 6a 75 73 74 20 72 65 71 75 69 72 65 73 20 73 77 just requires sw
86d0: 61 70 70 69 6e 67 20 74 68 65 20 4f 72 69 67 69 apping the Origi
86e0: 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e n and the Destin
86f0: 61 74 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20 65 ation; in this e
8700: 78 61 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a 75 xample you'll ju
8710: 73 74 20 71 75 65 72 79 20 74 68 65 20 6e 65 65 st query the nee
8720: 64 65 64 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 76 ded columns:..<v
8730: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 erbatim>..SELECT
8740: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c RouteRow, Role,
8750: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 LinkRowid, Node
8760: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f From, NodeTo, Co
8770: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 st, Geometry, Na
8780: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d me..FROM byfoot.
8790: 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20 .WHERE NodeTo =
87a0: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46 178731 AND NodeF
87b0: 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c rom = 183286;..<
87c0: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 /verbatim>..<tab
87d0: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 le border="1" bg
87e0: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 color="#ffffcf"
87f0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 cellspacing="4"
8800: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
8810: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f ..<tr><th bgcolo
8820: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 r="#d0d0a0">Rout
8830: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 eRow</th><th bgc
8840: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
8850: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ole</th><th bgco
8860: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 lor="#d0d0a0">Li
8870: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 nkRowid</th><th
8880: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
8890: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c ">NodeFrom</th><
88a0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
88b0: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 0a0">NodeTo</th>
88c0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
88d0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c d0a0">Cost</th><
88e0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
88f0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 0a0">Geometry</t
8900: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
8910: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 d0d0a0">Name</th
8920: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 ></tr>..<tr>..<t
8930: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8940: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 0</td><td>Route<
8950: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
8960: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
8970: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 t">183286</td><t
8980: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8990: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
89a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 lign="right">300
89b0: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e .912208</td><td>
89c0: 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d BLOB sz=272 GEOM
89d0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c ETRY</td><td>NUL
89e0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
89f0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
8a00: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 right">1</td><td
8a10: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
8a20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
8a30: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
8a40: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c ="right">183286<
8a50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
8a60: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 ight">178880</td
8a70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
8a80: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 t">136.372057</t
8a90: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
8aa0: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f td>VIA MARGARITO
8ab0: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NE</td>..</tr>..
8ac0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8ad0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">2</td><td>Link
8ae0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
8af0: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 right">224446</t
8b00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8b10: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c ht">178880</td><
8b20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8b30: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 >182885</td><td
8b40: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 align="right">69
8b50: 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e .727726</td><td>
8b60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
8b70: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 MARGARITONE</td
8b80: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
8b90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8ba0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
8bb0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
8bc0: 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 right">224014</t
8bd0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8be0: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c ht">182885</td><
8bf0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8c00: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
8c10: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 align="right">94
8c20: 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e .812424</td><td>
8c30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
8c40: 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c PIETRO ARETINO<
8c50: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 /td>..</tr>..</t
8c60: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20 able>..<br>..As
8c70: 79 6f 75 27 6c 6c 20 72 65 6d 65 6d 62 65 72 2c you'll remember,
8c80: 20 74 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f the <b>byfoot</
8c90: 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e b> VirtualRoutin
8ca0: 67 2d 54 61 62 6c 65 20 68 61 73 20 6e 6f 20 3c g-Table has no <
8cb0: 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 2c 20 b>one-ways</b>,
8cc0: 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 and consequently
8cd0: 20 74 68 65 20 72 65 74 75 72 6e 20 70 61 74 68 the return path
8ce0: 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 corresponds to
8cf0: 74 68 65 20 66 69 72 73 74 20 6f 6e 65 2c 20 65 the first one, e
8d00: 78 63 65 70 74 20 69 6e 20 74 68 61 74 20 61 6c xcept in that al
8d10: 6c 20 64 69 72 65 63 74 69 6f 6e 73 20 61 72 65 l directions are
8d20: 20 6e 6f 77 20 72 65 76 65 72 73 65 64 2e 0d 0a now reversed...
8d30: 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f <br><br><br>..No
8d40: 77 20 79 6f 75 27 6c 6c 20 74 65 73 74 20 74 68 w you'll test th
8d50: 65 20 73 61 6d 65 20 63 6f 6e 6e 65 63 74 69 6f e same connectio
8d60: 6e 73 2c 20 62 75 74 20 74 68 69 73 20 74 69 6d ns, but this tim
8d70: 65 20 79 6f 75 27 6c 6c 20 74 61 72 67 65 74 20 e you'll target
8d80: 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e the <b>bycar</b>
8d90: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d VirtualRouting-
8da0: 54 61 62 6c 65 20 74 68 61 74 20 66 75 6c 6c 79 Table that fully
8db0: 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 6f 6e 65 supports <b>one
8dc0: 2d 77 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76 65 72 -ways</b>:..<ver
8dd0: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 batim>..SELECT R
8de0: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c outeRow, Role, L
8df0: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 inkRowid, NodeFr
8e00: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 om, NodeTo, Cost
8e10: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 , Geometry, Name
8e20: 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48 ..FROM bycar..WH
8e30: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 ERE NodeFrom = 1
8e40: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 78731 AND NodeTo
8e50: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 = 183286;..</ve
8e60: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 rbatim>..<table
8e70: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c border="1" bgcol
8e80: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c or="#ffffcf" cel
8e90: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c lspacing="4" cel
8ea0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c lpadding="6">..<
8eb0: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 tr><th bgcolor="
8ec0: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f #d0d0a0">RouteRo
8ed0: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f w</th><th bgcolo
8ee0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 r="#d0d0a0">Role
8ef0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
8f00: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 ="#d0d0a0">LinkR
8f10: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 owid</th><th bgc
8f20: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
8f30: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 odeFrom</th><th
8f40: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
8f50: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 ">NodeTo</th><th
8f60: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
8f70: 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 0">Cost</th><th
8f80: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
8f90: 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c ">Geometry</th><
8fa0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
8fb0: 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 0a0">Name</th></
8fc0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
8fd0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
8fe0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
8ff0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
9000: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9010: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
9020: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
9030: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 286</td><td alig
9040: 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e 38 31 n="right">101.81
9050: 35 35 35 32 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 5552</td><td>BLO
9060: 42 20 73 7a 3d 32 30 33 32 20 47 45 4f 4d 45 54 B sz=2032 GEOMET
9070: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c RY</td><td>NULL<
9080: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
9090: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
90a0: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c ght">1</td><td>L
90b0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
90c0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 n="right">224014
90d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
90e0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
90f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9100: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c ht">182885</td><
9110: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9120: 3e 31 33 2e 31 32 37 38 37 34 3c 2f 74 64 3e 3c >13.127874</td><
9130: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
9140: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 VIA PIETRO ARETI
9150: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NO</td>..</tr>..
9160: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
9170: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
9180: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
9190: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
91a0: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 446</td><td alig
91b0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 n="right">182885
91c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
91d0: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 right">178880</t
91e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
91f0: 68 74 22 3e 39 2e 36 35 34 36 30 38 3c 2f 74 64 ht">9.654608</td
9200: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
9210: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e d>VIA MARGARITON
9220: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
9230: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
9240: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
9250: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
9260: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 ign="right">2191
9270: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 71</td><td align
9280: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
9290: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
92a0: 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 ight">178732</td
92b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
92c0: 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e t">7.809952</td>
92d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
92e0: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 >VIA FRANCESCO C
92f0: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RISPI</td>..</tr
9300: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
9310: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 gn="right">4</td
9320: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
9330: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9340: 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 219058</td><td a
9350: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
9360: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 732</td><td alig
9370: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 n="right">178754
9380: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9390: 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36 right">12.445626
93a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
93b0: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 d><td>VIA FRANCE
93c0: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d SCO CRISPI</td>.
93d0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
93e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
93f0: 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 5</td><td>Link</
9400: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9410: 67 68 74 22 3e 32 32 35 38 38 38 3c 2f 74 64 3e ght">225888</td>
9420: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9430: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 ">178754</td><td
9440: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9450: 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 83461</td><td al
9460: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 35 39 ign="right">1.59
9470: 39 38 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 9865</td><td>NUL
9480: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 L</td><td>VIA FR
9490: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f ANCESCO CRISPI</
94a0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
94b0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
94c0: 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">6</td><td>Li
94d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
94e0: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38 37 3c ="right">225887<
94f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9500: 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f 74 64 ight">183461</td
9510: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9520: 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e 3c 74 t">182800</td><t
9530: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9540: 33 2e 33 30 30 35 39 30 3c 2f 74 64 3e 3c 74 64 3.300590</td><td
9550: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
9560: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 A FRANCESCO CRIS
9570: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a PI</td>..</tr>..
9580: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
9590: 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 "right">7</td><t
95a0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
95b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33 lign="right">223
95c0: 39 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 935</td><td alig
95d0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 30 30 n="right">182800
95e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
95f0: 72 69 67 68 74 22 3e 31 38 32 37 39 39 3c 2f 74 right">182799</t
9600: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9610: 68 74 22 3e 36 2e 36 38 38 37 38 36 3c 2f 74 64 ht">6.688786</td
9620: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
9630: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 d>VIALE LUCA SIG
9640: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f NORELLI</td>..</
9650: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
9660: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f lign="right">8</
9670: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
9680: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9690: 22 3e 32 32 36 30 33 38 3c 2f 74 64 3e 3c 74 64 ">226038</td><td
96a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
96b0: 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 82799</td><td al
96c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 ign="right">1834
96d0: 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 56</td><td align
96e0: 3d 22 72 69 67 68 74 22 3e 31 2e 32 39 34 30 31 ="right">1.29401
96f0: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 7</td><td>NULL</
9700: 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 td><td>VIALE LUC
9710: 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 A SIGNORELLI</td
9720: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
9730: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9740: 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">9</td><td>Link
9750: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9760: 72 69 67 68 74 22 3e 32 32 35 38 33 32 3c 2f 74 right">225832</t
9770: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9780: 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c ht">183456</td><
9790: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
97a0: 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20 >183444</td><td
97b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e align="right">2.
97c0: 33 38 35 34 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 385486</td><td>N
97d0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c ULL</td><td>VIAL
97e0: 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c E LUCA SIGNORELL
97f0: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
9800: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
9810: 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 right">10</td><t
9820: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
9830: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
9840: 38 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 831</td><td alig
9850: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 34 34 n="right">183444
9860: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9870: 72 69 67 68 74 22 3e 31 38 33 35 35 34 3c 2f 74 right">183554</t
9880: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9890: 68 74 22 3e 33 2e 31 36 30 36 36 32 3c 2f 74 64 ht">3.160662</td
98a0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
98b0: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 d>VIALE LUCA SIG
98c0: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f NORELLI</td>..</
98d0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
98e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c lign="right">11<
98f0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
9900: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9910: 74 22 3e 32 32 35 37 36 35 3c 2f 74 64 3e 3c 74 t">225765</td><t
9920: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9930: 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61 183554</td><td a
9940: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
9950: 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 954</td><td alig
9960: 6e 3d 22 72 69 67 68 74 22 3e 37 2e 34 36 39 39 n="right">7.4699
9970: 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 17</td><td>NULL<
9980: 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 /td><td>VIALE LU
9990: 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 CA SIGNORELLI</t
99a0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
99b0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
99c0: 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 t">12</td><td>Li
99d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
99e0: 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36 36 3c ="right">225766<
99f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9a00: 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f 74 64 ight">183954</td
9a10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9a20: 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74 t">183905</td><t
9a30: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9a40: 33 2e 32 33 36 33 38 39 3c 2f 74 64 3e 3c 74 64 3.236389</td><td
9a50: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
9a60: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 ALE LUCA SIGNORE
9a70: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d LLI</td>..</tr>.
9a80: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
9a90: 3d 22 72 69 67 68 74 22 3e 31 33 3c 2f 74 64 3e ="right">13</td>
9aa0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
9ab0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
9ac0: 32 35 39 37 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 25979</td><td al
9ad0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 ign="right">1839
9ae0: 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 05</td><td align
9af0: 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32 36 3c ="right">183626<
9b00: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9b10: 69 67 68 74 22 3e 31 33 2e 39 38 33 36 32 39 3c ight">13.983629<
9b20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
9b30: 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a ><td>STRADA SENZ
9b40: 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 A NOME</td>..</t
9b50: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
9b60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 3c 2f ign="right">14</
9b70: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
9b80: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9b90: 22 3e 32 32 34 39 30 35 3c 2f 74 64 3e 3c 74 64 ">224905</td><td
9ba0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9bb0: 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83626</td><td al
9bc0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 ign="right">1831
9bd0: 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 28</td><td align
9be0: 3d 22 72 69 67 68 74 22 3e 35 2e 36 32 37 33 35 ="right">5.62735
9bf0: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
9c00: 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 td><td>STRADA SE
9c10: 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c NZA NOME</td>..<
9c20: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
9c30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 align="right">15
9c40: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
9c50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9c60: 68 74 22 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c ht">224897</td><
9c70: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9c80: 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 >183128</td><td
9c90: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9ca0: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3286</td><td ali
9cb0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 2e 30 33 gn="right">10.03
9cc0: 30 37 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 0792</td><td>NUL
9cd0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 L</td><td>VIA MA
9ce0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a RGARITONE</td>..
9cf0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
9d00: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
9d10: 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f ECT RouteRow, Ro
9d20: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e le, LinkRowid, N
9d30: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c odeFrom, NodeTo,
9d40: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c Cost, Geometry,
9d50: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 Name..FROM byca
9d60: 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 r..WHERE NodeTo
9d70: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 = 178731 AND Nod
9d80: 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d eFrom = 183286;.
9d90: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 .</verbatim>..<t
9da0: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 able border="1"
9db0: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 bgcolor="#ffffcf
9dc0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 " cellspacing="4
9dd0: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 " cellpadding="6
9de0: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f ">..<tr><th bgco
9df0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
9e00: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 uteRow</th><th b
9e10: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
9e20: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 >Role</th><th bg
9e30: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
9e40: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 LinkRowid</th><t
9e50: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
9e60: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 a0">NodeFrom</th
9e70: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
9e80: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 0d0a0">NodeTo</t
9e90: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
9ea0: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 d0d0a0">Cost</th
9eb0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
9ec0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 0d0a0">Geometry<
9ed0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
9ee0: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f "#d0d0a0">Name</
9ef0: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a th></tr>..<tr>..
9f00: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9f10: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
9f20: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
9f30: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9f40: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e ght">183286</td>
9f50: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9f60: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
9f70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9f80: 30 33 2e 33 30 35 32 35 39 3c 2f 74 64 3e 3c 74 03.305259</td><t
9f90: 64 3e 42 4c 4f 42 20 73 7a 3d 39 34 34 20 47 45 d>BLOB sz=944 GE
9fa0: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e OMETRY</td><td>N
9fb0: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
9fc0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
9fd0: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c ="right">1</td><
9fe0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
9ff0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
a000: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4414</td><td ali
a010: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 gn="right">18328
a020: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
a030: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f "right">178880</
a040: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a050: 67 68 74 22 3e 31 38 2e 38 38 32 32 38 35 3c 2f ght">18.882285</
a060: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
a070: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 <td>VIA MARGARIT
a080: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ONE</td>..</tr>.
a090: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
a0a0: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c ="right">2</td><
a0b0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
a0c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 align="right">21
a0d0: 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 9171</td><td ali
a0e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
a0f0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
a100: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f "right">178732</
a110: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a120: 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 ght">7.809952</t
a130: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
a140: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f td>VIA FRANCESCO
a150: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f CRISPI</td>..</
a160: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
a170: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f lign="right">3</
a180: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
a190: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a1a0: 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 ">219058</td><td
a1b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a1c0: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 78732</td><td al
a1d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
a1e0: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 54</td><td align
a1f0: 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 ="right">12.4456
a200: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 26</td><td>NULL<
a210: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e /td><td>VIA FRAN
a220: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 CESCO CRISPI</td
a230: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
a240: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a250: 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">4</td><td>Link
a260: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a270: 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 right">224538</t
a280: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a290: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c ht">178754</td><
a2a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a2b0: 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 >181972</td><td
a2c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e align="right">7.
a2d0: 30 34 37 37 38 34 3c 2f 74 64 3e 3c 74 64 3e 4e 047784</td><td>N
a2e0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
a2f0: 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f ANTONIO GUADAGNO
a300: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LI</td>..</tr>..
a310: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
a320: 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 "right">5</td><t
a330: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
a340: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 lign="right">222
a350: 35 37 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 575</td><td alig
a360: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 n="right">181972
a370: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a380: 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74 right">181971</t
a390: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a3a0: 68 74 22 3e 31 2e 38 35 32 32 38 33 3c 2f 74 64 ht">1.852283</td
a3b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
a3c0: 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 d>VIA ANTONIO GU
a3d0: 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c ADAGNOLI</td>..<
a3e0: 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d /tr>..<td align=
a3f0: 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 "right">6</td><t
a400: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
a410: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
a420: 39 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 967</td><td alig
a430: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 31 n="right">181971
a440: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a450: 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c 2f 74 right">182891</t
a460: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a470: 68 74 22 3e 31 34 2e 32 37 33 31 38 35 3c 2f 74 ht">14.273185</t
a480: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
a490: 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 td>VIA ANTONIO G
a4a0: 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a UADAGNOLI</td>..
a4b0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
a4c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 align="right">7
a4d0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
a4e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a4f0: 68 74 22 3e 32 32 34 31 36 38 3c 2f 74 64 3e 3c ht">224168</td><
a500: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a510: 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20 >182891</td><td
a520: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
a530: 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3057</td><td ali
a540: 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36 34 33 gn="right">6.643
a550: 33 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 309</td><td>NULL
a560: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 </td><td>VIA MAC
a570: 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ALLE'</td>..</tr
a580: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
a590: 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 gn="right">8</td
a5a0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
a5b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a5c0: 32 32 34 31 36 37 3c 2f 74 64 3e 3c 74 64 20 61 224167</td><td a
a5d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
a5e0: 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 057</td><td alig
a5f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 n="right">183056
a600: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a610: 72 69 67 68 74 22 3e 33 2e 31 35 31 32 37 32 3c right">3.151272<
a620: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
a630: 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45 ><td>VIA MACALLE
a640: 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c '</td>..</tr>..<
a650: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
a660: 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 right">9</td><td
a670: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
a680: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31 ign="right">2241
a690: 37 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 74</td><td align
a6a0: 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c ="right">183056<
a6b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a6c0: 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 ight">182941</td
a6d0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a6e0: 74 22 3e 37 2e 39 36 36 38 37 30 3c 2f 74 64 3e t">7.966870</td>
a6f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
a700: 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a >VIA RODI</td>..
a710: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
a720: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a730: 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 0</td><td>Link</
a740: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a750: 67 68 74 22 3e 32 32 34 30 35 39 3c 2f 74 64 3e ght">224059</td>
a760: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a770: 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64 ">182941</td><td
a780: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a790: 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 82001</td><td al
a7a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 33 39 ign="right">6.39
a7b0: 33 37 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 3747</td><td>NUL
a7c0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f L</td><td>VIA RO
a7d0: 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a DI</td>..</tr>..
a7e0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
a7f0: 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c "right">11</td><
a800: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
a810: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
a820: 32 36 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2637</td><td ali
a830: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 gn="right">18200
a840: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
a850: 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f "right">182000</
a860: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a870: 67 68 74 22 3e 32 2e 34 37 35 35 33 38 3c 2f 74 ght">2.475538</t
a880: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
a890: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 td>VIA PIETRO AR
a8a0: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ETINO</td>..</tr
a8b0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
a8c0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 gn="right">12</t
a8d0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
a8e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a8f0: 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 >222636</td><td
a900: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
a910: 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2000</td><td ali
a920: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
a930: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
a940: 22 72 69 67 68 74 22 3e 31 34 2e 33 36 33 34 30 "right">14.36340
a950: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
a960: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 td><td>VIA PIETR
a970: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a O ARETINO</td>..
a980: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
a990: 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 63 61 .<br>..As you ca
a9a0: 6e 20 73 65 65 2c 20 74 68 65 20 6f 70 74 69 6d n see, the optim
a9b0: 61 6c 20 70 61 74 68 73 20 72 65 74 75 72 6e 65 al paths returne
a9c0: 64 20 62 79 20 74 68 65 20 3c 62 3e 62 79 63 61 d by the <b>byca
a9d0: 72 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 r</b> VirtualRou
a9e0: 74 69 6e 67 2d 54 61 62 6c 65 20 69 6e 20 74 68 ting-Table in th
a9f0: 65 20 6f 70 70 6f 73 69 74 65 20 64 69 72 65 63 e opposite direc
aa00: 74 69 6f 6e 73 20 73 74 72 6f 6e 67 6c 79 20 64 tions strongly d
aa10: 69 66 66 65 72 2c 20 61 6e 64 20 62 6f 74 68 20 iffer, and both
aa20: 61 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 are completely d
aa30: 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 ifferent from th
aa40: 65 20 70 61 74 68 73 20 72 65 74 75 72 6e 65 64 e paths returned
aa50: 20 62 79 20 71 75 65 72 79 69 6e 67 20 3c 62 3e by querying <b>
aa60: 62 79 66 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d byfoot</b>.<br>.
aa70: 0a 41 20 71 75 69 63 6b 20 67 6c 61 6e 63 65 20 .A quick glance
aa80: 61 74 20 74 68 65 20 6d 61 70 20 62 65 6c 6f 77 at the map below
aa90: 20 77 69 6c 6c 20 68 65 6c 70 20 74 6f 20 75 6e will help to un
aaa0: 64 65 72 73 74 61 6e 64 20 62 65 74 74 65 72 20 derstand better
aab0: 77 68 61 74 27 73 20 72 65 61 6c 6c 79 20 68 61 what's really ha
aac0: 70 70 65 6e 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 ppening.<br>..Th
aad0: 69 73 20 69 73 20 61 20 63 65 6e 74 72 61 6c 20 is is a central
aae0: 61 72 65 61 20 6f 66 20 74 68 65 20 74 6f 77 6e area of the town
aaf0: 20 6f 66 20 41 72 65 7a 7a 6f 20 61 72 6f 75 6e of Arezzo aroun
ab00: 64 20 74 68 65 20 61 72 63 68 61 65 6f 6c 6f 67 d the archaeolog
ab10: 69 63 61 6c 20 72 75 69 6e 73 20 6f 66 20 74 68 ical ruins of th
ab20: 65 20 52 6f 6d 61 6e 20 41 6d 70 68 69 74 68 65 e Roman Amphithe
ab30: 61 74 65 72 3b 20 74 72 61 76 65 6c 69 6e 67 20 ater; traveling
ab40: 62 79 20 63 61 72 20 73 68 6f 75 6c 64 20 62 65 by car should be
ab50: 20 61 76 6f 69 64 65 64 2c 20 64 75 65 20 74 6f avoided, due to
ab60: 20 74 68 65 20 6d 61 6e 79 20 6f 6e 65 2d 77 61 the many one-wa
ab70: 79 20 72 65 73 74 72 69 63 74 69 6f 6e 73 2e 20 y restrictions.
ab80: 4e 6f 74 20 73 75 72 70 72 69 73 69 6e 67 6c 79 Not surprisingly
ab90: 2c 20 67 6f 69 6e 67 20 62 79 20 66 6f 6f 74 20 , going by foot
aba0: 69 73 20 74 68 65 20 66 61 73 74 65 72 20 6f 70 is the faster op
abb0: 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d tion...<br><br>.
abc0: 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 .<img src="https
abd0: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
abe0: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 it/gaia-sins/rou
abf0: 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e ting-figs/routin
ac00: 67 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 g1.jpg" alt="fig
ac10: 31 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79 1">..<ul>..<li>y
ac20: 65 6c 6c 6f 77 20 70 61 74 68 3a 20 70 65 64 65 ellow path: pede
ac30: 73 74 72 69 61 6e 73 3c 2f 6c 69 3e 0d 0a 3c 6c strians</li>..<l
ac40: 69 3e 67 72 65 65 6e 20 70 61 74 68 3a 20 63 61 i>green path: ca
ac50: 72 2c 20 66 6f 72 77 61 72 64 20 64 69 72 65 63 r, forward direc
ac60: 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 72 tion</li>..<li>r
ac70: 65 64 20 70 61 74 68 3a 20 63 61 72 2c 20 72 65 ed path: car, re
ac80: 74 75 72 6e 20 64 69 72 65 63 74 69 6f 6e 3c 2f turn direction</
ac90: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e li>..</ul>..<br>
aca0: 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 ..<table bgcolor
acb0: 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 ="#c0ffc0" cells
acc0: 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c pacing="10" cell
acd0: 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e padding="6"><tr>
ace0: 3c 74 64 3e 0d 0a 3c 68 33 3e 4c 69 6e 65 73 74 <td>..<h3>Linest
acf0: 72 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 62 rings returned b
ad00: 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 y VirtualRouting
ad10: 3c 2f 68 33 3e 0d 0a 41 6c 6c 20 4c 49 4e 45 53 </h3>..All LINES
ad20: 54 52 49 4e 47 20 47 65 6f 6d 65 74 72 69 65 73 TRING Geometries
ad30: 20 63 72 65 61 74 65 64 20 62 79 20 61 6e 79 20 created by any
ad40: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 77 VirtualRouting w
ad50: 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 ill always conta
ad60: 69 6e 20 3c 62 3e 4d 20 76 61 6c 75 65 73 3c 2f in <b>M values</
ad70: 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 b>:..<ul>..<li>i
ad80: 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e f the underlayin
ad90: 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d g Network's Geom
ada0: 65 74 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59 etries are <b>XY
adb0: 3c 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58 59 4d </b> then <b>XYM
adc0: 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73 </b> Linestrings
add0: 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 will be returne
ade0: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20 d.</li>..<li>if
adf0: 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 the underlaying
ae00: 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 Network's Geomet
ae10: 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59 5a 3c ries are <b>XYZ<
ae20: 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58 59 5a 4d /b> then <b>XYZM
ae30: 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73 </b> Linestrings
ae40: 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 will be returne
ae50: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20 d.</li>..<li>if
ae60: 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 the underlaying
ae70: 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 Network's Geomet
ae80: 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59 4d 3c ries are <b>XYM<
ae90: 2f 62 3e 20 6f 72 20 3c 62 3e 58 59 5a 4d 3c 2f /b> or <b>XYZM</
aea0: 62 3e 20 74 68 65 6e 20 20 4c 69 6e 65 73 74 72 b> then Linestr
aeb0: 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 69 6e ings returned in
aec0: 74 6f 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 to the resultset
aed0: 20 77 69 6c 6c 20 6d 61 69 6e 74 61 69 6e 20 74 will maintain t
aee0: 68 65 20 73 61 6d 65 20 64 69 6d 65 6e 73 69 6f he same dimensio
aef0: 6e 73 20 61 73 20 69 6e 20 74 68 65 20 75 6e 64 ns as in the und
af00: 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b erlaying Network
af10: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 .</li>..<li>in a
af20: 6e 79 20 63 61 73 65 20 74 68 65 20 3c 62 3e 4d ny case the <b>M
af30: 3c 2f 62 3e 20 76 61 6c 75 65 73 20 77 69 6c 6c </b> values will
af40: 20 62 65 20 61 70 70 72 6f 70 72 69 61 74 65 6c be appropriatel
af50: 79 20 73 65 74 20 73 6f 20 74 6f 20 72 65 70 72 y set so to repr
af60: 65 73 65 6e 74 20 74 68 65 20 3c 75 3e 70 61 72 esent the <u>par
af70: 74 69 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 63 6f tial cost</u> co
af80: 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65 rresponding to e
af90: 61 63 68 20 76 65 72 74 65 78 2e 0d 0a 28 69 66 ach vertex...(if
afa0: 20 74 68 65 20 69 6e 70 75 74 20 4c 69 6e 65 73 the input Lines
afb0: 74 72 69 6e 67 73 20 61 6c 72 65 61 64 79 20 63 trings already c
afc0: 6f 6e 74 61 69 6e 73 20 4d 2d 76 61 6c 75 65 73 ontains M-values
afd0: 20 74 68 65 79 27 6c 6c 20 62 65 20 6f 76 65 72 they'll be over
afe0: 77 72 69 74 74 65 6e 29 2e 3c 2f 6c 69 3e 0d 0a written).</li>..
aff0: 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 </ul>..<br>..In
b000: 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 61 6c 6c other words, all
b010: 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 65 74 Linestrings ret
b020: 75 72 6e 65 64 20 62 79 20 56 69 72 74 75 61 6c urned by Virtual
b030: 52 6f 75 74 69 6e 67 20 63 61 6e 20 65 66 66 65 Routing can effe
b040: 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 74 20 ctively support
b050: 3c 62 3e 4c 52 3c 2f 62 3e 20 28 3c 69 3e 4c 69 <b>LR</b> (<i>Li
b060: 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e 67 near Referencing
b070: 3c 2f 69 3e 29 20 53 51 4c 20 66 75 6e 63 74 69 </i>) SQL functi
b080: 6f 6e 73 2c 20 61 73 20 69 6e 20 74 68 65 20 66 ons, as in the f
b090: 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 ollowing example
b0a0: 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a s:..<verbatim>..
b0b0: 53 45 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74 65 SELECT ST_Locate
b0c0: 5f 42 65 74 77 65 65 6e 5f 4d 65 61 73 75 72 65 _Between_Measure
b0d0: 73 28 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 33 30 s(<geometry>, 30
b0e0: 2e 30 2c 20 34 35 2e 30 29 3b 0d 0a 0d 0a 53 45 .0, 45.0);....SE
b0f0: 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42 LECT ST_Locate_B
b100: 65 74 77 65 65 6e 5f 4d 65 61 73 75 72 65 73 28 etween_Measures(
b110: 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 38 30 2e 30 <geometry>, 80.0
b120: 2c 20 39 35 2e 30 29 3b 0d 0a 3c 2f 76 65 72 62 , 95.0);..</verb
b130: 61 74 69 6d 3e 0d 0a 54 68 65 20 73 69 64 65 20 atim>..The side
b140: 6d 61 70 20 67 72 61 70 68 69 63 61 6c 6c 79 20 map graphically
b150: 73 68 6f 77 73 20 74 68 65 20 65 73 74 69 6d 61 shows the estima
b160: 74 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 72 65 ted positions re
b170: 73 70 65 63 74 69 76 65 6c 79 20 3c 62 3e 33 30 spectively <b>30
b180: 3c 2f 62 3e 2d 3c 62 3e 34 35 3c 2f 62 3e 20 73 </b>-<b>45</b> s
b190: 65 63 6f 6e 64 73 20 61 66 74 65 72 20 73 74 61 econds after sta
b1a0: 72 74 69 6e 67 20 28 79 65 6c 6c 6f 77 20 64 6f rting (yellow do
b1b0: 74 74 65 64 20 6c 69 6e 65 29 20 61 6e 64 20 3c tted line) and <
b1c0: 62 3e 38 30 3c 2f 62 3e 2d 3c 62 3e 39 35 3c 2f b>80</b>-<b>95</
b1d0: 62 3e 20 73 65 63 6f 6e 64 73 20 61 66 74 65 72 b> seconds after
b1e0: 20 73 74 61 72 74 69 6e 67 20 28 67 72 65 65 6e starting (green
b1f0: 20 64 6f 74 74 65 64 20 6c 69 6e 65 29 2e 3c 62 dotted line).<b
b200: 72 3e 0d 0a 28 61 73 73 75 6d 69 6e 67 20 74 68 r>..(assuming th
b210: 65 20 73 61 6d 65 20 70 61 74 68 20 72 65 74 75 e same path retu
b220: 72 6e 65 64 20 62 79 20 74 68 65 20 6c 61 74 65 rned by the late
b230: 73 74 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 st <b>bycar</b>
b240: 71 75 65 72 79 29 2e 0d 0a 3c 2f 74 64 3e 0d 0a query)...</td>..
b250: 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 <td><img src="ht
b260: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 tps://www.gaia-g
b270: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f is.it/gaia-sins/
b280: 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 routing-figs/rou
b290: 74 69 6e 67 32 2e 6a 70 67 22 20 61 6c 74 3d 22 ting2.jpg" alt="
b2a0: 66 69 67 32 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 fig2"></td>..</t
b2b0: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 r>..</table>..<b
b2c0: 72 3e 0d 0a 3c 68 32 3e 50 6c 61 79 69 6e 67 20 r>..<h2>Playing
b2d0: 77 69 74 68 20 56 69 72 74 75 61 6c 52 6f 75 74 with VirtualRout
b2e0: 69 6e 67 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 ing configurable
b2f0: 20 6f 70 74 69 6f 6e 73 3c 2f 68 32 3e 0d 0a 53 options</h2>..S
b300: 65 76 65 72 61 6c 20 61 73 70 65 63 74 73 20 6f everal aspects o
b310: 66 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 f VirtualRouting
b320: 20 63 61 6e 20 62 65 20 66 72 65 65 6c 79 20 63 can be freely c
b330: 75 73 74 6f 6d 69 7a 65 64 2e 0d 0a 3c 76 65 72 ustomized...<ver
b340: 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 batim>..UPDATE b
b350: 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72 69 yfoot SET Algori
b360: 74 68 6d 20 3d 20 27 41 2a 27 3b 0d 0a 0d 0a 53 thm = 'A*';....S
b370: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c ELECT Algorithm,
b380: 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 Options, RouteR
b390: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f ow, Role, LinkRo
b3a0: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e wid, NodeFrom, N
b3b0: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f odeTo, Cost, Geo
b3c0: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f metry, Name..FRO
b3d0: 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 M byfoot..WHERE
b3e0: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 NodeFrom = 17873
b3f0: 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 1 AND NodeTo = 1
b400: 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 83286;..</verbat
b410: 69 6d 3e 0d 0a 41 73 20 79 6f 75 27 6c 6c 20 72 im>..As you'll r
b420: 65 6d 65 6d 62 65 72 20 69 6e 20 61 6c 6c 20 74 emember in all t
b430: 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d he previous exam
b440: 70 6c 65 73 20 74 68 65 20 3c 62 3e 44 69 6a 6b ples the <b>Dijk
b450: 73 74 72 61 27 73 3c 2f 62 3e 20 61 6c 67 6f 72 stra's</b> algor
b460: 69 74 68 6d 20 77 61 73 20 75 73 65 64 3b 20 6e ithm was used; n
b470: 6f 77 20 28 61 66 74 65 72 20 65 78 65 63 75 74 ow (after execut
b480: 69 6e 67 20 74 68 65 20 61 62 6f 76 65 20 3c 62 ing the above <b
b490: 3e 55 50 44 41 54 45 3c 2f 62 3e 29 20 61 6c 6c >UPDATE</b>) all
b4a0: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 Shortest Path q
b4b0: 75 65 72 69 65 73 20 77 69 6c 6c 20 62 65 20 62 ueries will be b
b4c0: 61 73 65 64 20 6f 6e 20 74 68 65 20 61 6c 74 65 ased on the alte
b4d0: 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 rnative <b>A*</b
b4e0: 3e 20 61 6c 67 6f 72 69 74 68 6d 2e 3c 62 72 3e > algorithm.<br>
b4f0: 0d 0a 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f ..If you wish to
b500: 20 73 77 69 74 63 68 20 62 61 63 6b 20 74 6f 20 switch back to
b510: 74 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20 61 the Dijkstra's a
b520: 6c 67 6f 72 69 74 68 6d 20 79 6f 75 20 6a 75 73 lgorithm you jus
b530: 74 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 t have to execut
b540: 65 3c 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 e<br> <b>UPDATE
b550: 62 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72 byfoot SET Algor
b560: 69 74 68 6d 20 3d 20 27 44 49 4a 4b 53 54 52 41 ithm = 'DIJKSTRA
b570: 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d ';</b>.<br><br>.
b580: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 .The following t
b590: 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 able shows the r
b5a0: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 esultset returne
b5b0: 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 d by the previou
b5c0: 73 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 s Shortest Path
b5d0: 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f query; please no
b5e0: 74 69 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 tice the value i
b5f0: 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 n the <b>Algorit
b600: 68 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a hm</b> column...
b610: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 <br><br>..<table
b620: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f border="1" bgco
b630: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 lor="#ffffcf" ce
b640: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 llspacing="4" ce
b650: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a llpadding="6">..
b660: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d <tr><th bgcolor=
b670: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 "#d0d0a0">Algori
b680: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f thm</th><th bgco
b690: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 lor="#d0d0a0">Op
b6a0: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 tions</th><th bg
b6b0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
b6c0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 RouteRow</th><th
b6d0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
b6e0: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
b6f0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
b700: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e ">LinkRowid</th>
b710: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
b720: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f d0a0">NodeFrom</
b730: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
b740: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c #d0d0a0">NodeTo<
b750: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
b760: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f "#d0d0a0">Cost</
b770: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
b780: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 #d0d0a0">Geometr
b790: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f y</th><th bgcolo
b7a0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 r="#d0d0a0">Name
b7b0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
b7c0: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 46 <td>A*</td><td>F
b7d0: 75 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ull</td><td alig
b7e0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
b7f0: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
b800: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
b810: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
b820: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
b830: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 n="right">183286
b840: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
b850: 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 right">300.91220
b860: 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 8</td><td>BLOB s
b870: 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f z=272 GEOMETRY</
b880: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
b890: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
b8a0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
b8b0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
b8c0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 gn="right">1</td
b8d0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
b8e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
b8f0: 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 224014</td><td a
b900: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
b910: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
b920: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 n="right">182885
b930: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
b940: 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 right">94.812424
b950: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
b960: 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f d><td>VIA PIETRO
b970: 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c ARETINO</td>..<
b980: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
b990: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
b9a0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
b9b0: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
b9c0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
b9d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
b9e0: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 446</td><td alig
b9f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 n="right">182885
ba00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
ba10: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 right">178880</t
ba20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
ba30: 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 ht">69.727726</t
ba40: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
ba50: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f td>VIA MARGARITO
ba60: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NE</td>..</tr>..
ba70: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
ba80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
ba90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
baa0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
bab0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
bac0: 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 right">224414</t
bad0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
bae0: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c ht">178880</td><
baf0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
bb00: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
bb10: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 align="right">13
bb20: 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 6.372057</td><td
bb30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
bb40: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 A MARGARITONE</t
bb50: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 d>..</tr>..</tab
bb60: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 le>..<br><br><br
bb70: 3e 0d 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 >..You can also
bb80: 63 6f 6e 66 69 67 75 72 65 20 74 68 65 20 72 65 configure the re
bb90: 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 sultset returned
bba0: 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 the VirtualRout
bbb0: 69 6e 67 20 71 75 65 72 69 65 73 2e 0d 0a 3c 76 ing queries...<v
bbc0: 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 erbatim>..UPDATE
bbd0: 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 byfoot SET Opti
bbe0: 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49 4e 4b 53 27 ons = 'NO LINKS'
bbf0: 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f ;....SELECT Algo
bc00: 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 rithm, Options,
bc10: 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 RouteRow, Role,
bc20: 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 LinkRowid, NodeF
bc30: 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 rom, NodeTo, Cos
bc40: 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d t, Geometry, Nam
bc50: 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a e..FROM byfoot..
bc60: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d WHERE NodeFrom =
bc70: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 178731 AND Node
bc80: 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f To = 183286;..</
bc90: 76 65 72 62 61 74 69 6d 3e 0d 0a 41 66 74 65 72 verbatim>..After
bca0: 20 73 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 setting <b>Opti
bcb0: 6f 6e 73 3d 27 4e 4f 20 4c 49 4e 4b 53 27 3c 2f ons='NO LINKS'</
bcc0: 62 3e 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 b> the resultset
bcd0: 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20 63 6f 6e will simply con
bce0: 74 61 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 tain the header
bcf0: 72 6f 77 2c 20 61 6e 64 20 61 6c 6c 20 6f 66 20 row, and all of
bd00: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f the following ro
bd10: 77 73 20 77 69 6c 6c 20 62 65 20 73 75 70 70 72 ws will be suppr
bd20: 65 73 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e essed.<br>..<u>N
bd30: 6f 74 65 3c 2f 75 3e 3a 20 70 72 6f 64 75 63 69 ote</u>: produci
bd40: 6e 67 20 61 20 72 65 64 75 63 65 64 20 72 65 73 ng a reduced res
bd50: 75 6c 74 73 65 74 20 69 73 20 65 78 70 65 63 74 ultset is expect
bd60: 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77 61 79 ed to be someway
bd70: 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54 68 faster.<br>..Th
bd80: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c e following tabl
bd90: 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 e shows the resu
bda0: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 ltset returned b
bdb0: 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 53 y the previous S
bdc0: 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65 hortest Path que
bdd0: 72 79 2e 3c 62 72 3e 0d 0a 4e 6f 74 69 63 65 20 ry.<br>..Notice
bde0: 74 68 61 74 20 76 61 6c 75 65 20 69 6e 20 74 68 that value in th
bdf0: 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e e <b>Options</b>
be00: 20 63 6f 6c 75 6d 6e 20 73 68 6f 77 73 20 79 6f column shows yo
be10: 75 20 77 68 69 63 68 20 74 79 70 65 20 6f 66 20 u which type of
be20: 72 65 73 75 6c 74 73 65 74 20 79 6f 75 20 61 72 resultset you ar
be30: 65 20 75 73 69 6e 67 20 28 6a 75 73 74 20 61 73 e using (just as
be40: 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 the <b>Algorith
be50: 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 73 68 6f m</b> column sho
be60: 77 73 20 77 68 69 63 68 20 61 6c 67 6f 72 69 74 ws which algorit
be70: 68 6d 20 69 73 20 61 63 74 69 76 65 29 2e 0d 0a hm is active)...
be80: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 <br><br>..<table
be90: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f border="1" bgco
bea0: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 lor="#ffffcf" ce
beb0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 llspacing="4" ce
bec0: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a llpadding="6">..
bed0: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d <tr><th bgcolor=
bee0: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 "#d0d0a0">Algori
bef0: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f thm</th><th bgco
bf00: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 lor="#d0d0a0">Op
bf10: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 tions</th><th bg
bf20: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
bf30: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 RouteRow</th><th
bf40: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
bf50: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
bf60: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
bf70: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e ">LinkRowid</th>
bf80: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
bf90: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f d0a0">NodeFrom</
bfa0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
bfb0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c #d0d0a0">NodeTo<
bfc0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
bfd0: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f "#d0d0a0">Cost</
bfe0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
bff0: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 #d0d0a0">Geometr
c000: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f y</th><th bgcolo
c010: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 r="#d0d0a0">Name
c020: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
c030: 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 ..<td>A*</td><td
c040: 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64 3e 3c 74 >No Links</td><t
c050: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c060: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 0</td><td>Route<
c070: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
c080: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
c090: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 t">178731</td><t
c0a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c0b0: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 183286</td><td a
c0c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 lign="right">300
c0d0: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e .912208</td><td>
c0e0: 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d BLOB sz=272 GEOM
c0f0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c ETRY</td><td>NUL
c100: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
c110: 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 /table>..<br><br
c120: 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d ><br>..<verbatim
c130: 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 >..UPDATE byfoot
c140: 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 SET Options = '
c150: 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3b 0d NO GEOMETRIES';.
c160: 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 ...SELECT Algori
c170: 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f thm, Options, Ro
c180: 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 uteRow, Role, Li
c190: 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f nkRowid, NodeFro
c1a0: 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c m, NodeTo, Cost,
c1b0: 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d Geometry, Name.
c1c0: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 .FROM byfoot..WH
c1d0: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 ERE NodeFrom = 1
c1e0: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 78731 AND NodeTo
c1f0: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 = 183286;..</ve
c200: 72 62 61 74 69 6d 3e 41 66 74 65 72 20 73 65 74 rbatim>After set
c210: 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d ting <b>Options=
c220: 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3c 'NO GEOMETRIES'<
c230: 2f 62 3e 20 74 68 65 20 72 65 73 75 6c 74 73 65 /b> the resultse
c240: 74 20 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 20 61 t will contain a
c250: 6c 6c 20 72 6f 77 73 2c 20 62 75 74 20 61 6c 6c ll rows, but all
c260: 20 47 65 6f 6d 65 74 72 69 65 73 20 77 69 6c 6c Geometries will
c270: 20 62 65 20 73 75 70 70 72 65 73 73 65 64 2e 3c be suppressed.<
c280: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e br>..<u>Note</u>
c290: 3a 20 74 68 69 73 20 74 6f 6f 20 69 73 20 65 78 : this too is ex
c2a0: 70 65 63 74 65 64 20 74 6f 20 62 65 20 73 6f 6d pected to be som
c2b0: 65 77 68 61 74 20 66 61 73 74 65 72 2e 3c 62 72 ewhat faster.<br
c2c0: 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 >..The following
c2d0: 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 table shows the
c2e0: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 resultset retur
c2f0: 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76 69 ned by the previ
c300: 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61 74 ous Shortest Pat
c310: 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20 h query; please
c320: 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75 65 notice the value
c330: 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f in the <b>Optio
c340: 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a ns</b> column...
c350: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 <br><br>..<table
c360: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f border="1" bgco
c370: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 lor="#ffffcf" ce
c380: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 llspacing="4" ce
c390: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a llpadding="6">..
c3a0: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d <tr><th bgcolor=
c3b0: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 "#d0d0a0">Algori
c3c0: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f thm</th><th bgco
c3d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 lor="#d0d0a0">Op
c3e0: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 tions</th><th bg
c3f0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
c400: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 RouteRow</th><th
c410: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
c420: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
c430: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
c440: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e ">LinkRowid</th>
c450: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
c460: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f d0a0">NodeFrom</
c470: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
c480: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c #d0d0a0">NodeTo<
c490: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
c4a0: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f "#d0d0a0">Cost</
c4b0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
c4c0: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 #d0d0a0">Geometr
c4d0: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f y</th><th bgcolo
c4e0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 r="#d0d0a0">Name
c4f0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
c500: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e <td>A*</td><td>N
c510: 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f 74 64 o Geometries</td
c520: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
c530: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
c540: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
c550: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
c560: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
c570: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
c580: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 t">183286</td><t
c590: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c5a0: 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 300.912208</td><
c5b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
c5c0: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
c5d0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
c5e0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
c5f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
c600: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">1</td><td>Li
c610: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
c620: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c ="right">224014<
c630: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
c640: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
c650: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
c660: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 t">182885</td><t
c670: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c680: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 94.812424</td><t
c690: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
c6a0: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e IA PIETRO ARETIN
c6b0: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c O</td>..</tr>..<
c6c0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
c6d0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
c6e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
c6f0: 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >2</td><td>Link<
c700: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
c710: 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 ight">224446</td
c720: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
c730: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 t">182885</td><t
c740: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c750: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 178880</td><td a
c760: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e lign="right">69.
c770: 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 727726</td><td>N
c780: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
c790: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e MARGARITONE</td>
c7a0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
c7b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
c7c0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
c7d0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
c7e0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
c7f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c800: 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 224414</td><td a
c810: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
c820: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 880</td><td alig
c830: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 n="right">183286
c840: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c850: 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35 right">136.37205
c860: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 7</td><td>NULL</
c870: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 td><td>VIA MARGA
c880: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 RITONE</td>..</t
c890: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 r>..</table>..<b
c8a0: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 r><br><br>..<ver
c8b0: 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 batim>..UPDATE b
c8c0: 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e yfoot SET Option
c8d0: 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d s = 'SIMPLE';...
c8e0: 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 .SELECT Algorith
c8f0: 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 m, Options, Rout
c900: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b eRow, Role, Link
c910: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c Rowid, NodeFrom,
c920: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 NodeTo, Cost, G
c930: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 eometry, Name..F
c940: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 ROM byfoot..WHER
c950: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 E NodeFrom = 178
c960: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 731 AND NodeTo =
c970: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 183286;..</verb
c980: 61 74 69 6d 3e 53 65 74 74 69 6e 67 20 3c 62 3e atim>Setting <b>
c990: 4f 70 74 69 6f 6e 73 3d 27 53 49 4d 50 4c 45 27 Options='SIMPLE'
c9a0: 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 73 61 6d </b> has the sam
c9b0: 65 20 65 66 66 65 63 74 20 74 68 61 6e 20 73 65 e effect than se
c9c0: 74 74 69 6e 67 20 62 6f 74 68 20 3c 62 3e 4e 4f tting both <b>NO
c9d0: 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c LINKS</b> and <
c9e0: 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c b>NO GEOMETRIES<
c9f0: 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65 20 /b> at the same
ca00: 74 69 6d 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f time.<br>..<u>No
ca10: 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 69 73 20 te</u>: this is
ca20: 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 74 expected to be t
ca30: 68 65 20 66 61 73 74 65 73 74 20 73 65 74 74 69 he fastest setti
ca40: 6e 67 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c ng.<br>..The fol
ca50: 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f lowing table sho
ca60: 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 ws the resultset
ca70: 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 returned by the
ca80: 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74 65 previous Shorte
ca90: 73 74 20 50 61 74 68 20 71 75 65 72 79 3b 20 70 st Path query; p
caa0: 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74 68 65 lease notice the
cab0: 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 value in the <b
cac0: 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c >Options</b> col
cad0: 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a umn...<br><br>..
cae0: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 <table border="1
caf0: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 " bgcolor="#ffff
cb00: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d cf" cellspacing=
cb10: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "4" cellpadding=
cb20: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 "6">..<tr><th bg
cb30: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
cb40: 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 Algorithm</th><t
cb50: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
cb60: 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e a0">Options</th>
cb70: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
cb80: 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f d0a0">RouteRow</
cb90: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
cba0: 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 #d0d0a0">Role</t
cbb0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
cbc0: 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 d0d0a0">LinkRowi
cbd0: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f d</th><th bgcolo
cbe0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
cbf0: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 From</th><th bgc
cc00: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
cc10: 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 odeTo</th><th bg
cc20: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
cc30: 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 Cost</th><th bgc
cc40: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 olor="#d0d0a0">G
cc50: 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 eometry</th><th
cc60: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
cc70: 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e ">Name</th></tr>
cc80: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f ..<tr>..<td>A*</
cc90: 74 64 3e 3c 74 64 3e 53 69 6d 70 6c 65 3c 2f 74 td><td>Simple</t
cca0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
ccb0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
ccc0: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
ccd0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
cce0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
ccf0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
cd00: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c ht">183286</td><
cd10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
cd20: 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e >300.912208</td>
cd30: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
cd40: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
cd50: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 >..</table>..<br
cd60: 3e 0d 0a 46 69 6e 61 6c 6c 79 2c 20 69 66 20 79 >..Finally, if y
cd70: 6f 75 20 77 69 73 68 20 74 6f 20 72 65 76 65 72 ou wish to rever
cd80: 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20 69 6e t back to the in
cd90: 69 74 69 61 6c 20 73 65 74 74 69 6e 67 2c 20 79 itial setting, y
cda0: 6f 75 20 64 6f 20 74 68 69 73 20 77 69 74 68 20 ou do this with
cdb0: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 71 75 the following qu
cdc0: 65 72 79 3c 62 72 3e 20 3c 62 3e 55 50 44 41 54 ery<br> <b>UPDAT
cdd0: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 E byfoot SET Opt
cde0: 69 6f 6e 73 20 3d 20 27 46 55 4c 4c 27 3b 3c 2f ions = 'FULL';</
cdf0: 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 b>.<br><br>..<hr
ce00: 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 ><br>..<h1><a na
ce10: 6d 65 3d 22 6d 75 6c 74 69 22 3e 35 20 2d 20 53 me="multi">5 - S
ce20: 6f 6c 76 69 6e 67 20 6d 75 6c 74 69 2d 64 65 73 olving multi-des
ce30: 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 tination Shortes
ce40: 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 73 3c t Path problems<
ce50: 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6e 20 69 6e 74 /a></h1>..An int
ce60: 65 72 65 73 74 69 6e 67 20 66 65 61 74 75 72 65 eresting feature
ce70: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 supported by th
ce80: 65 20 44 69 6a 6b 73 74 72 61 27 73 20 41 6c 67 e Dijkstra's Alg
ce90: 6f 72 69 74 68 6d 20 69 73 3a 20 77 68 65 6e 20 orithm is: when
cea0: 61 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 69 73 a destination is
ceb0: 20 62 65 65 6e 20 72 65 61 63 68 65 64 2c 20 61 been reached, a
cec0: 6c 6c 20 6f 66 20 74 68 65 20 3c 62 3e 6c 65 73 ll of the <b>les
ced0: 73 65 72 20 63 6f 73 74 3c 2f 62 3e 20 64 65 73 ser cost</b> des
cee0: 74 69 6e 61 74 69 6f 6e 73 20 68 61 76 65 20 61 tinations have a
cef0: 6c 73 6f 20 62 65 65 6e 20 66 6f 75 6e 64 2e 3c lso been found.<
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 3c 62 3e 69 73 6e 27 74 3c > that <b>isn't<
d050: 2f 62 3e 20 74 68 65 20 3c 75 3e 73 75 6d 20 6f /b> the <u>sum o
d060: 66 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c f all individual
d070: 20 74 69 6d 69 6e 67 73 20 74 6f 20 65 61 63 68 timings to each
d080: 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e destination</u>
d090: 2c 20 62 75 74 20 73 69 6d 70 6c 79 20 74 68 65 , but simply the
d0a0: 20 74 69 6d 65 20 72 65 71 75 69 72 65 64 20 74 time required t
d0b0: 6f 20 72 65 61 63 68 20 74 68 65 20 3c 75 3e 6d o reach the <u>m
d0c0: 6f 73 74 20 63 6f 73 74 6c 79 20 64 65 73 74 69 ost costly desti
d0d0: 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69 nation of the li
d0e0: 73 74 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 54 68 69 st</u>.<br>..Thi
d0f0: 73 20 69 73 6e 27 74 20 73 74 72 69 63 74 6c 79 s isn't strictly
d100: 20 74 72 75 65 20 69 6e 20 74 68 65 20 63 61 73 true in the cas
d110: 65 20 6f 66 20 74 68 69 73 20 56 69 72 74 75 61 e of this Virtua
d120: 6c 52 6f 75 74 69 6e 67 20 73 70 65 63 69 66 69 lRouting specifi
d130: 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e c implementation
d140: 2c 20 73 69 6e 63 65 20 74 68 65 20 61 72 72 61 , since the arra
d150: 6e 67 6d 65 6e 74 20 74 68 65 20 72 65 73 75 6c ngment the resul
d160: 74 73 65 74 20 74 6f 20 62 65 20 72 65 74 75 72 tset to be retur
d170: 6e 65 64 20 61 6e 64 20 63 72 65 61 74 69 6f 6e ned and creation
d180: 20 61 6c 6c 20 74 68 65 20 69 6e 64 69 76 69 64 all the individ
d190: 75 61 6c 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 ual Linestrings
d1a0: 66 6f 72 20 65 61 63 68 20 64 65 73 74 69 6e 61 for each destina
d1b0: 74 69 6f 6e 20 77 69 6c 6c 20 73 75 72 65 6c 79 tion will surely
d1c0: 20 69 6d 70 6f 73 65 20 73 6f 6d 65 20 66 75 72 impose some fur
d1d0: 74 68 65 72 20 6f 76 65 72 68 65 61 64 2e 3c 62 ther overhead.<b
d1e0: 72 3e 0d 0a 4e 65 76 65 72 74 68 65 6c 65 73 73 r>..Nevertheless
d1f0: 20 74 68 65 20 74 69 6d 65 20 6e 65 65 64 65 64 the time needed
d200: 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 6d 75 for a single mu
d210: 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 lti-destination
d220: 71 75 65 72 79 20 77 69 6c 6c 20 62 65 20 6c 65 query will be le
d230: 73 73 20 74 68 61 6e 20 74 68 65 20 74 69 6d 65 ss than the time
d240: 20 6e 65 65 64 65 64 20 66 6f 72 20 6d 75 6c 74 needed for mult
d250: 69 70 6c 65 20 73 69 6e 67 6c 65 2d 64 65 73 74 iple single-dest
d260: 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 2e ination queries.
d270: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 ..<verbatim>..SE
d280: 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 LECT Algorithm,
d290: 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 Request, Options
d2a0: 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 , Delimiter, Rou
d2b0: 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 teId, RouteRow,
d2c0: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c Role, LinkRowid,
d2d0: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 NodeFrom, NodeT
d2e0: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 o, Cost, Geometr
d2f0: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 y, Name..FROM by
d300: 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 foot..WHERE Node
d310: 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e From = 178731 AN
d320: 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 D NodeTo = '1832
d330: 38 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 39 86,290458,181999
d340: 2c 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 31 ,184030,124622,1
d350: 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 83882,178754';..
d360: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 73 20 </verbatim>..As
d370: 79 6f 75 20 63 61 6e 20 73 65 65 2c 20 61 20 3c you can see, a <
d380: 62 3e 6d 75 6c 74 69 70 6c 65 2d 64 65 73 74 69 b>multiple-desti
d390: 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 nations</b> quer
d3a0: 79 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 y has the same i
d3b0: 64 65 6e 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66 dentical form of
d3c0: 20 61 6e 79 20 6e 6f 72 6d 61 6c 20 53 68 6f 72 any normal Shor
d3d0: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 2c test Path query,
d3e0: 20 74 68 65 20 6f 6e 6c 79 20 64 69 66 66 65 72 the only differ
d3f0: 65 6e 63 65 20 62 65 69 6e 67 20 61 20 63 6f 6d ence being a com
d400: 6d 61 2d 73 65 70 61 72 61 74 65 64 20 6c 69 73 ma-separated lis
d410: 74 20 28 69 6e 73 74 65 61 64 20 6f 66 20 61 20 t (instead of a
d420: 73 69 6e 67 6c 65 2d 65 6e 74 72 79 29 20 66 6f single-entry) fo
d430: 72 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2e r <b>NodeTo</b>.
d440: 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 <br>..The follow
d450: 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 ing table shows
d460: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 the resultset re
d470: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 turned by the pr
d480: 65 76 69 6f 75 73 20 6d 75 6c 74 69 2d 64 65 73 evious multi-des
d490: 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 tination Shortes
d4a0: 74 20 50 61 74 68 20 71 75 65 72 79 3a 0d 0a 3c t Path query:..<
d4b0: 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 br><br>..<table
d4c0: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c border="1" bgcol
d4d0: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c or="#ffffcf" cel
d4e0: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c lspacing="4" cel
d4f0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c lpadding="6">..<
d500: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 tr><th bgcolor="
d510: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 #d0d0a0">Algorit
d520: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c hm</th><th bgcol
d530: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 or="#d0d0a0">Req
d540: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 uest</th><th bgc
d550: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f olor="#d0d0a0">O
d560: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 ptions</th><th b
d570: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
d580: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c >Delimiter</th><
d590: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
d5a0: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 0a0">RouteId</th
d5b0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
d5c0: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 0d0a0">RouteRow<
d5d0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
d5e0: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f "#d0d0a0">Role</
d5f0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
d600: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 #d0d0a0">LinkRow
d610: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c id</th><th bgcol
d620: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
d630: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 eFrom</th><th bg
d640: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
d650: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 NodeTo</th><th b
d660: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
d670: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 >Cost</th><th bg
d680: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
d690: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 Geometry</th><th
d6a0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
d6b0: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 0">Name</th></tr
d6c0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a >..<tr>..<td>Dij
d6d0: 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68 kstra</td><td>Sh
d6e0: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64 3e ortest Path</td>
d6f0: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 <td>Full</td><td
d700: 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20 >, [dec=44,
d710: 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e hex=2c]</td>
d720: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
d730: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">0</td><td alig
d740: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
d750: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
d760: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
d770: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
d780: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
d790: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 n="right">183882
d7a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
d7b0: 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33 right">154.75083
d7c0: 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 9</td><td>BLOB s
d7d0: 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f z=240 GEOMETRY</
d7e0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
d7f0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
d800: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
d810: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
d820: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
d830: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
d840: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 ght">0</td><td a
d850: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
d860: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
d870: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
d880: 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 ">222636</td><td
d890: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
d8a0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
d8b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 ign="right">1820
d8c0: 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 00</td><td align
d8d0: 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 37 33 35 ="right">103.735
d8e0: 37 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 722</td><td>NULL
d8f0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 </td><td>VIA PIE
d900: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e TRO ARETINO</td>
d910: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
d920: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
d930: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
d940: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
d950: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
d960: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 ght">0</td><td a
d970: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f lign="right">2</
d980: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
d990: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
d9a0: 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74 64 ">225527</td><td
d9b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
d9c0: 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 82000</td><td al
d9d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 ign="right">1838
d9e0: 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 82</td><td align
d9f0: 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35 31 ="right">51.0151
da00: 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 17</td><td>NULL<
da10: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43 49 /td><td>VIA LICI
da20: 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e 0d O NENCETTI</td>.
da30: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
da40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
da50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
da60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
da70: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
da80: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">1</td><td al
da90: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
daa0: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e d><td>Route</td>
dab0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
dac0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
dad0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
dae0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 ign="right">1840
daf0: 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 30</td><td align
db00: 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36 34 ="right">176.364
db10: 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 755</td><td>BLOB
db20: 20 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52 59 sz=304 GEOMETRY
db30: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
db40: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
db50: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
db60: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
db70: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
db80: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
db90: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 right">1</td><td
dba0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
dbb0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
dbc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
dbd0: 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c ht">224014</td><
dbe0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
dbf0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
dc00: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
dc10: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2885</td><td ali
dc20: 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 gn="right">94.81
dc30: 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 2424</td><td>NUL
dc40: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 L</td><td>VIA PI
dc50: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 ETRO ARETINO</td
dc60: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
dc70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
dc80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
dc90: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
dca0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
dcb0: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 ight">1</td><td
dcc0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
dcd0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
dce0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
dcf0: 74 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c 74 t">224862</td><t
dd00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
dd10: 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 182885</td><td a
dd20: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
dd30: 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 043</td><td alig
dd40: 6e 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 39 35 n="right">37.095
dd50: 32 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 287</td><td>NULL
dd60: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 </td><td>VIA MAR
dd70: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c GARITONE</td>..<
dd80: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
dd90: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
dda0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
ddb0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
ddc0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
ddd0: 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">1</td><td alig
dde0: 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e n="right">3</td>
ddf0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
de00: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
de10: 32 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 26070</td><td al
de20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 ign="right">1820
de30: 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 43</td><td align
de40: 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c ="right">184030<
de50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
de60: 69 67 68 74 22 3e 34 34 2e 34 35 37 30 34 34 3c ight">44.457044<
de70: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
de80: 3e 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e 54 ><td>PIAZZA SANT
de90: 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 'AGOSTINO</td>..
dea0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
deb0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
dec0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
ded0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
dee0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
def0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">2</td><td ali
df00: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
df10: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c ><td>Route</td><
df20: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
df30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
df40: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
df50: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 gn="right">17875
df60: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
df70: 22 72 69 67 68 74 22 3e 32 32 34 2e 36 37 37 30 "right">224.6770
df80: 39 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 95</td><td>BLOB
df90: 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c sz=240 GEOMETRY<
dfa0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
dfb0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
dfc0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
dfd0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
dfe0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
dff0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e000: 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >2</td><td align
e010: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c ="right">1</td><
e020: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
e030: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 align="right">21
e040: 39 30 34 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 9045</td><td ali
e050: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
e060: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
e070: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f "right">178732</
e080: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e090: 67 68 74 22 3e 37 36 2e 30 32 31 30 30 37 3c 2f ght">76.021007</
e0a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e0b0: 3c 74 64 3e 56 49 41 20 41 53 53 41 42 3c 2f 74 <td>VIA ASSAB</t
e0c0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
e0d0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
e0e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
e0f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e100: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e110: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
e120: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
e130: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
e140: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e150: 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c ht">219058</td><
e160: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e170: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 >178732</td><td
e180: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
e190: 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8754</td><td ali
e1a0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36 gn="right">148.6
e1b0: 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 56089</td><td>NU
e1c0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 LL</td><td>VIA F
e1d0: 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c RANCESCO CRISPI<
e1e0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
e1f0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
e200: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e210: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
e220: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
e230: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
e240: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e250: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
e260: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e270: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e280: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
e290: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e2a0: 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 >181999</td><td
e2b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 36 align="right">26
e2c0: 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e 3c 74 64 0.132354</td><td
e2d0: 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f >BLOB sz=240 GEO
e2e0: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 METRY</td><td>NU
e2f0: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
e300: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
e310: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e320: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e330: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
e340: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 ign="right">3</t
e350: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e360: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">1</td><td>Li
e370: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
e380: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c ="right">224014<
e390: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e3a0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
e3b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e3c0: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 t">182885</td><t
e3d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e3e0: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 94.812424</td><t
e3f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
e400: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e IA PIETRO ARETIN
e410: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c O</td>..</tr>..<
e420: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
e430: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e440: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
e450: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
e460: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
e470: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e480: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">2</td><td>Lin
e490: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
e4a0: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f "right">224446</
e4b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e4c0: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e ght">182885</td>
e4d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e4e0: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 ">178880</td><td
e4f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 align="right">6
e500: 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 9.727726</td><td
e510: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
e520: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 A MARGARITONE</t
e530: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
e540: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
e550: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
e560: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e570: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e580: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
e590: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 align="right">3
e5a0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
e5b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e5c0: 68 74 22 3e 32 32 35 38 30 30 3c 2f 74 64 3e 3c ht">225800</td><
e5d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e5e0: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 >178880</td><td
e5f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
e600: 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1999</td><td ali
e610: 67 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 35 39 gn="right">95.59
e620: 32 32 30 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 2204</td><td>NUL
e630: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 L</td><td>VIA FR
e640: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f ANCESCO CRISPI</
e650: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
e660: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
e670: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
e680: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
e690: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
e6a0: 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 "right">4</td><t
e6b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e6c0: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 0</td><td>Route<
e6d0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e6e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e6f0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 t">178731</td><t
e700: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e710: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 183286</td><td a
e720: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 lign="right">300
e730: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e .912208</td><td>
e740: 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d BLOB sz=272 GEOM
e750: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c ETRY</td><td>NUL
e760: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
e770: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
e780: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e790: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
e7a0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
e7b0: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 gn="right">4</td
e7c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e7d0: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">1</td><td>Lin
e7e0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
e7f0: 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f "right">224014</
e800: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e810: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
e820: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e830: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 ">182885</td><td
e840: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 align="right">9
e850: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 4.812424</td><td
e860: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
e870: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f A PIETRO ARETINO
e880: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
e890: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
e8a0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e8b0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
e8c0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
e8d0: 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e n="right">4</td>
e8e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e8f0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">2</td><td>Link
e900: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e910: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 right">224446</t
e920: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e930: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c ht">182885</td><
e940: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e950: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 >178880</td><td
e960: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 align="right">69
e970: 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e .727726</td><td>
e980: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
e990: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 MARGARITONE</td
e9a0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
e9b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e9c0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
e9d0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e9e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e9f0: 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 ight">4</td><td
ea00: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c align="right">3<
ea10: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
ea20: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
ea30: 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 t">224414</td><t
ea40: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
ea50: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 178880</td><td a
ea60: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
ea70: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 286</td><td alig
ea80: 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 n="right">136.37
ea90: 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 2057</td><td>NUL
eaa0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 L</td><td>VIA MA
eab0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a RGARITONE</td>..
eac0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
ead0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
eae0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
eaf0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
eb00: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
eb10: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 d>NULL</td><td>U
eb20: 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 nreachable NodeT
eb30: 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f o</td><td>NULL</
eb40: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
eb50: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
eb60: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
eb70: 22 3e 32 39 30 34 35 38 3c 2f 74 64 3e 3c 74 64 ">290458</td><td
eb80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
eb90: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
eba0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
ebb0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
ebc0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
ebd0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
ebe0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
ebf0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
ec00: 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 ><td>Unreachable
ec10: 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e NodeTo</td><td>
ec20: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
ec30: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
ec40: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
ec50: 22 72 69 67 68 74 22 3e 31 32 34 36 32 32 3c 2f "right">124622</
ec60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
ec70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
ec80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
ec90: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 >..</table>..<br
eca0: 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b 6c 79 >..Let's quickly
ecb0: 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73 examine the res
ecc0: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 ultset returned
ecd0: 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e by the above <b>
ece0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f multi-destinatio
ecf0: 6e 73 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a 3c ns</b> query...<
ed00: 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 76 65 ul>..<li>the ove
ed10: 72 61 6c 6c 20 6c 61 79 6f 75 74 20 69 73 20 61 rall layout is a
ed20: 6c 6d 6f 73 74 20 65 78 61 63 74 6c 79 20 74 68 lmost exactly th
ed30: 65 20 73 61 6d 65 20 61 73 20 79 6f 75 27 76 65 e same as you've
ed40: 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e already seen in
ed50: 20 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e the case of <b>
ed60: 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 single-destinati
ed70: 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 65 73 2c 20 on</b> queries,
ed80: 62 75 74 20 69 6e 20 74 68 69 73 20 63 61 73 65 but in this case
ed90: 20 6d 6f 72 65 20 69 6e 64 69 76 69 64 75 61 6c more individual
eda0: 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e travel solution
edb0: 73 20 61 72 65 20 67 72 6f 75 70 65 64 20 61 6c s are grouped al
edc0: 74 6f 67 65 74 68 65 72 2e 20 28 45 61 63 68 20 together. (Each
edd0: 61 6c 74 65 72 6e 61 74 69 76 65 20 72 6f 75 74 alternative rout
ede0: 65 20 68 61 76 69 6e 67 20 61 20 64 69 66 66 65 e having a diffe
edf0: 72 65 6e 74 20 3c 62 3e 52 6f 75 74 65 49 64 3c rent <b>RouteId<
ee00: 2f 62 3e 20 61 6e 64 20 73 74 61 72 74 69 6e 67 /b> and starting
ee10: 20 77 69 74 68 20 3c 62 3e 27 52 6f 75 74 65 27 with <b>'Route'
ee20: 3c 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52 </b> in the <b>R
ee30: 6f 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 29 2e ole</b> column).
ee40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c </li>..<li>the <
ee50: 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 b>first row</b>
ee60: 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 of the resultset
ee70: 20 69 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65 is someway exce
ee80: 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 ptional, and is
ee90: 74 68 65 20 6f 6e 6c 79 20 72 6f 77 20 6f 66 20 the only row of
eea0: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 70 72 the resultset pr
eeb0: 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 esenting <b>NOT
eec0: 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 NULL</b> values
eed0: 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 in the <b>Algori
eee0: 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 thm</b>, <b>Requ
eef0: 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 est</b>, <b>Opti
ef00: 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 ons</b> and <b>D
ef10: 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 63 6f 6c elimiter</b> col
ef20: 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e umns.</li>..<li>
ef30: 74 68 65 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f the <b>RouteId</
ef40: 62 3e 20 63 6f 6c 75 6d 6e 20 69 73 20 69 6e 74 b> column is int
ef50: 65 6e 64 65 64 20 74 6f 20 67 72 6f 75 70 20 74 ended to group t
ef60: 6f 67 65 74 68 65 72 20 61 6c 6c 20 72 6f 77 73 ogether all rows
ef70: 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 73 61 belonging to sa
ef80: 6d 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 me travel soluti
ef90: 6f 6e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c on (<i>aka</i> <
efa0: 62 3e 52 6f 75 74 65 3c 2f 62 3e 29 2e 3c 62 72 b>Route</b>).<br
efb0: 3e 0d 0a 52 6f 75 74 65 73 20 61 72 65 20 70 72 >..Routes are pr
efc0: 6f 67 72 65 73 73 69 76 65 6c 79 20 6e 75 6d 62 ogressively numb
efd0: 65 72 65 64 20 61 6e 64 20 61 72 65 20 6f 72 64 ered and are ord
efe0: 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 ered accordingly
eff0: 20 74 6f 20 74 68 65 69 72 20 3c 62 3e 74 6f 74 to their <b>tot
f000: 61 6c 20 63 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c 69 al cost</b>.</li
f010: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f >..<li>the <b>Ro
f020: 75 74 65 52 6f 77 3c 2f 62 3e 20 63 6f 6c 75 6d uteRow</b> colum
f030: 6e 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 n has the same i
f040: 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61 73 nterpretation as
f050: 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 in single-desti
f060: 6e 61 74 69 6f 6e 20 72 65 73 75 6c 74 73 65 74 nation resultset
f070: 73 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e 64 s, and is intend
f080: 65 64 20 74 6f 20 70 72 6f 67 72 65 73 73 69 76 ed to progressiv
f090: 65 6c 79 20 6f 72 64 65 72 20 69 6e 20 74 68 65 ely order in the
f0a0: 20 63 6f 72 72 65 63 74 20 73 65 71 75 65 6e 63 correct sequenc
f0b0: 65 20 61 6c 6c 20 4c 69 6e 6b 73 20 63 6f 6e 6e e all Links conn
f0c0: 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67 69 ecting the Origi
f0d0: 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e n and the Destin
f0e0: 61 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 52 6f ation of each Ro
f0f0: 75 74 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 52 6f 75 ute.<br>..<b>Rou
f100: 74 65 52 6f 77 3d 30 3c 2f 62 3e 20 61 6c 77 61 teRow=0</b> alwa
f110: 79 73 20 69 64 65 6e 74 69 66 69 65 73 20 74 68 ys identifies th
f120: 65 20 68 65 61 64 65 72 20 72 6f 77 20 6f 66 20 e header row of
f130: 65 61 63 68 20 3c 62 3e 52 6f 75 74 65 3c 2f 62 each <b>Route</b
f140: 3e 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e > solution.</li>
f150: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c ..</ul>..<br>..<
f160: 75 3e 4e 6f 74 69 63 65 3c 2f 75 3e 3a 20 74 68 u>Notice</u>: th
f170: 65 20 6c 61 73 74 20 74 77 6f 20 72 6f 77 73 20 e last two rows
f180: 69 6e 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 in the resultset
f190: 20 72 65 70 6f 72 74 73 20 3c 62 3e 55 6e 72 65 reports <b>Unre
f1a0: 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 09 3c achable NodeTo.<
f1b0: 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52 6f /b> in the <b>Ro
f1c0: 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2c 20 74 le</b> column, t
f1d0: 68 75 73 20 69 6d 70 6c 79 69 6e 67 20 61 20 3c hus implying a <
f1e0: 62 3e 66 6f 72 62 69 64 64 65 6e 20 63 6f 6e 6e b>forbidden conn
f1f0: 65 63 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d ection</b>.<br>.
f200: 0a 54 68 65 72 65 20 69 73 20 61 20 76 61 6c 69 .There is a vali
f210: 64 20 72 65 61 73 6f 6e 20 66 6f 72 20 74 68 69 d reason for thi
f220: 73 3a 20 4e 6f 64 65 73 20 3c 62 3e 32 39 30 34 s: Nodes <b>2904
f230: 35 38 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 31 32 58</b> and <b>12
f240: 34 36 32 32 3c 2f 62 3e 20 61 72 65 20 6c 6f 63 4622</b> are loc
f250: 61 74 65 64 20 6f 6e 20 45 6c 62 61 20 61 6e 64 ated on Elba and
f260: 20 47 69 67 6c 69 6f 20 69 73 6c 61 6e 64 73 2e Giglio islands.
f270: 20 54 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 The underlaying
f280: 20 4e 65 74 77 6f 72 6b 20 69 73 20 62 61 73 65 Network is base
f290: 64 20 6f 6e 20 3c 62 3e 49 74 65 72 2e 4e 65 74 d on <b>Iter.Net
f2a0: 3c 2f 62 3e 20 74 68 61 74 20 64 6f 6e 27 74 20 </b> that don't
f2b0: 73 75 70 70 6f 72 74 73 20 66 65 72 72 79 20 63 supports ferry c
f2c0: 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 73 6f 20 61 onnections, so a
f2d0: 6e 79 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 ny travel soluti
f2e0: 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 69 on between the i
f2f0: 73 6c 61 6e 64 73 20 61 6e 64 20 74 68 65 20 6d slands and the m
f300: 61 69 6e 6c 61 6e 64 20 77 69 6c 6c 20 61 6c 77 ainland will alw
f310: 61 79 73 20 66 61 69 6c 2e 0d 0a 3c 62 72 3e 3c ays fail...<br><
f320: 62 72 3e 3c 62 72 3e 0d 0a 41 6c 73 6f 20 3c 62 br><br>..Also <b
f330: 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 >multi-destinati
f340: 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73 20 ons</b> queries
f350: 63 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 can be customize
f360: 64 2c 20 62 75 74 20 74 68 65 20 63 6f 6e 66 69 d, but the confi
f370: 67 75 72 61 74 69 6f 6e 20 72 75 6c 65 73 20 64 guration rules d
f380: 69 66 66 65 72 20 73 6c 69 67 68 74 6c 79 20 66 iffer slightly f
f390: 72 6f 6d 20 77 68 61 74 20 79 6f 75 20 68 61 76 rom what you hav
f3a0: 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 e already seen i
f3b0: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 73 69 n the case of si
f3c0: 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e ngle-destination
f3d0: 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e ...<ul>..<li><b>
f3e0: 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20 6f Algorithm</b>: o
f3f0: 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61 3c nly <b>Dijkstra<
f400: 2f 62 3e 20 69 73 20 73 75 70 70 6f 72 74 65 64 /b> is supported
f410: 20 62 79 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e by multi-destin
f420: 61 74 69 6f 6e 2c 20 61 6e 64 20 77 69 6c 6c 20 ation, and will
f430: 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 73 be implicitly as
f440: 73 75 6d 65 64 20 65 76 65 6e 20 77 68 65 6e 20 sumed even when
f450: 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 the alternative
f460: 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 <b>A*</b> algori
f470: 74 68 6d 20 69 73 20 63 75 72 72 65 6e 74 6c 79 thm is currently
f480: 20 73 65 6c 65 63 74 65 64 2e 3c 2f 6c 69 3e 0d selected.</li>.
f490: 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e 73 3c .<li><b>Options<
f4a0: 2f 62 3e 3a 20 74 68 65 20 75 73 75 61 6c 20 3c /b>: the usual <
f4b0: 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 3e 53 b>FULL</b>, <b>S
f4c0: 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f IMPLE</b>, <b>NO
f4d0: 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c LINKS</b> and <
f4e0: 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c b>NO GEOMETRIES<
f4f0: 2f 62 3e 20 61 72 65 20 73 75 70 70 6f 72 74 65 /b> are supporte
f500: 64 20 61 6e 64 20 77 69 6c 6c 20 68 61 76 65 20 d and will have
f510: 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74 20 the same effect
f520: 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 as in single-des
f530: 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 tination queries
f540: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c .</li>..</ul>..<
f550: 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 verbatim>..UPDAT
f560: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 E byfoot SET Opt
f570: 69 6f 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b ions = 'SIMPLE';
f580: 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 ....SELECT Algor
f590: 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f ithm, Request, O
f5a0: 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 ptions, Delimite
f5b0: 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 r, RouteId, Rout
f5c0: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b eRow, Role, Link
f5d0: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c Rowid, NodeFrom,
f5e0: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 NodeTo, Cost, G
f5f0: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 eometry, Name..F
f600: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 ROM byfoot..WHER
f610: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 E NodeFrom = 178
f620: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 731 AND NodeTo =
f630: 20 27 31 38 33 32 38 36 2c 32 39 30 34 35 38 2c '183286,290458,
f640: 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 32 181999,184030,12
f650: 34 36 32 32 2c 31 38 33 38 38 32 2c 31 37 38 37 4622,183882,1787
f660: 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 54';..</verbatim
f670: 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 >..The following
f680: 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 table shows the
f690: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 resultset retur
f6a0: 6e 65 64 20 62 79 20 74 68 65 20 73 61 6d 65 20 ned by the same
f6b0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f multi-destinatio
f6c0: 6e 20 71 75 65 72 79 20 75 73 65 64 20 69 6e 20 n query used in
f6d0: 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 the previous exa
f6e0: 6d 70 6c 65 20 61 66 74 65 72 20 65 6e 61 62 6c mple after enabl
f6f0: 69 6e 67 20 74 68 65 20 3c 62 3e 53 49 4d 50 4c ing the <b>SIMPL
f700: 45 3c 2f 62 3e 20 6f 70 74 69 6f 6e 2e 0d 0a 3c E</b> option...<
f710: 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 br><br>..<table
f720: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c border="1" bgcol
f730: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c or="#ffffcf" cel
f740: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c lspacing="4" cel
f750: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c lpadding="6">..<
f760: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 tr><th bgcolor="
f770: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 #d0d0a0">Algorit
f780: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c hm</th><th bgcol
f790: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 or="#d0d0a0">Req
f7a0: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 uest</th><th bgc
f7b0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f olor="#d0d0a0">O
f7c0: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 ptions</th><th b
f7d0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
f7e0: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c >Delimiter</th><
f7f0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
f800: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 0a0">RouteId</th
f810: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
f820: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 0d0a0">RouteRow<
f830: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
f840: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f "#d0d0a0">Role</
f850: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
f860: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 #d0d0a0">LinkRow
f870: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c id</th><th bgcol
f880: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
f890: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 eFrom</th><th bg
f8a0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
f8b0: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 NodeTo</th><th b
f8c0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
f8d0: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 >Cost</th><th bg
f8e0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
f8f0: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 Geometry</th><th
f900: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
f910: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 0">Name</th></tr
f920: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a >..<tr>..<td>Dij
f930: 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68 kstra</td><td>Sh
f940: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64 3e ortest Path</td>
f950: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 <td>Full</td><td
f960: 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20 >, [dec=44,
f970: 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e hex=2c]</td>
f980: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
f990: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">0</td><td alig
f9a0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
f9b0: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
f9c0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
f9d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
f9e0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
f9f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 n="right">183882
fa00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
fa10: 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33 right">154.75083
fa20: 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 9</td><td>NULL</
fa30: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fa40: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
fa50: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
fa60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fa70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fa80: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
fa90: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 ght">1</td><td a
faa0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
fab0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
fac0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
fad0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
fae0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
faf0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 lign="right">184
fb00: 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 030</td><td alig
fb10: 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36 n="right">176.36
fb20: 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4755</td><td>NUL
fb30: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fb40: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
fb50: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
fb60: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
fb70: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fb80: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
fb90: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
fba0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
fbb0: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 0</td><td>Route<
fbc0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
fbd0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
fbe0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 t">178731</td><t
fbf0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
fc00: 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 178754</td><td a
fc10: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
fc20: 2e 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74 64 3e .677095</td><td>
fc30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fc40: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
fc50: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
fc60: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
fc70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
fc80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
fc90: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
fca0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
fcb0: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
fcc0: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
fcd0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
fce0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
fcf0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
fd00: 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 t">181999</td><t
fd10: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
fd20: 32 36 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e 3c 260.132354</td><
fd30: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
fd40: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
fd50: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
fd60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
fd70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
fd80: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
fd90: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c align="right">4<
fda0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
fdb0: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e ight">0</td><td>
fdc0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 Route</td><td>NU
fdd0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
fde0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
fdf0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
fe00: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 ight">183286</td
fe10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
fe20: 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 t">300.912208</t
fe30: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
fe40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
fe50: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
fe60: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
fe70: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
fe80: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
fe90: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
fea0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 NULL</td><td>Unr
feb0: 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c eachable NodeTo<
fec0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
fed0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
fee0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 t">178731</td><t
fef0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
ff00: 32 39 30 34 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e 290458</td><td>N
ff10: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
ff20: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
ff30: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
ff40: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
ff50: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
ff60: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
ff70: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
ff80: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
ff90: 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e td>Unreachable N
ffa0: 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 odeTo</td><td>NU
ffb0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
ffc0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
ffd0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
ffe0: 69 67 68 74 22 3e 31 32 34 36 32 32 3c 2f 74 64 ight">124622</td
fff0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
10000 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
10010 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
10020 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d .</table>..<br>.
10030 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 67 .The map below g
10040 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 raphically shows
10050 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c 62 the previous <b
10060 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 >multi-destinati
10070 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e ons</b> queries.
10080 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 ..<br><br>..<img
10090 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 src="https://ww
100a0 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 w.gaia-gis.it/ga
100b0 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d ia-sins/routing-
100c0 66 69 67 73 2f 72 6f 75 74 69 6e 67 33 2e 6a 70 figs/routing3.jp
100d0 67 22 20 61 6c 74 3d 22 66 69 67 33 22 3e 0d 0a g" alt="fig3">..
100e0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65 64 20 73 74 <ul>..<li>Red st
100f0 61 72 3a 20 74 68 65 20 4f 72 69 67 69 6e 20 4e ar: the Origin N
10100 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 ode.</li>..<li>G
10110 72 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 44 reen dots: the D
10120 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 estination Nodes
10130 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c .</li>..<li>Yell
10140 6f 77 20 6c 69 6e 65 73 3a 20 61 6c 6c 20 69 6e ow lines: all in
10150 64 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c 20 dividual travel
10160 73 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d solutions.</li>.
10170 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 .</ul>..<br>..<t
10180 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 able bgcolor="#f
10190 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 fb060" cellspaci
101a0 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 ng="10" cellpadd
101b0 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e ing="6"><tr><td>
101c0 0d 0a 3c 68 33 3e 44 61 6e 67 65 72 6f 75 73 20 ..<h3>Dangerous
101d0 70 69 74 66 61 6c 6c 73 20 72 65 6c 61 74 65 64 pitfalls related
101e0 20 74 6f 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 to multiple des
101f0 74 69 6e 61 74 69 6f 6e 20 6c 69 73 74 73 3c 2f tination lists</
10200 68 33 3e 0d 0a 53 51 4c 20 73 79 6e 74 61 78 20 h3>..SQL syntax
10210 64 69 72 65 63 74 6c 79 20 61 6c 6c 6f 77 73 20 directly allows
10220 74 6f 20 73 70 65 63 69 66 79 20 6c 69 73 74 73 to specify lists
10230 20 6f 66 20 20 6d 75 6c 74 69 70 6c 65 20 76 61 of multiple va
10240 6c 75 65 73 2c 20 73 6f 20 6d 61 79 20 62 65 20 lues, so may be
10250 79 6f 75 20 61 72 65 20 6e 6f 77 20 77 6f 6e 64 you are now wond
10260 65 72 69 6e 67 20 61 62 6f 75 74 20 77 72 69 74 ering about writ
10270 69 6e 67 20 74 68 65 20 3c 62 3e 6d 75 6c 74 69 ing the <b>multi
10280 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 ple destinations
10290 3c 2f 62 3e 20 71 75 65 72 79 20 74 65 73 74 65 </b> query teste
102a0 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 d in the previou
102b0 73 20 65 78 61 6d 70 6c 65 73 20 74 68 69 73 20 s examples this
102c0 77 61 79 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e way:..<verbatim>
102d0 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 ..SELECT Algorit
102e0 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 hm, Request, Opt
102f0 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c ions, Delimiter,
10300 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 RouteId, RouteR
10310 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f ow, Role, LinkRo
10320 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e wid, NodeFrom, N
10330 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f odeTo, Cost, Geo
10340 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f metry, Name..FRO
10350 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 M byfoot..WHERE
10360 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 NodeFrom = 17873
10370 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 49 4e 20 1 AND NodeTo IN
10380 28 31 38 33 32 38 36 2c 20 32 39 30 34 35 38 2c (183286, 290458,
10390 20 31 38 31 39 39 39 2c 20 31 38 34 30 33 30 2c 181999, 184030,
103a0 20 31 32 34 36 32 32 2c 20 31 38 33 38 38 32 2c 124622, 183882,
103b0 20 31 37 38 37 35 34 29 3b 0d 0a 3c 2f 76 65 72 178754);..</ver
103c0 62 61 74 69 6d 3e 0d 0a 54 68 65 72 65 20 69 73 batim>..There is
103d0 20 61 20 76 65 72 79 20 67 6f 6f 64 20 72 65 61 a very good rea
103e0 73 6f 6e 20 74 6f 20 64 69 73 63 6f 75 72 61 67 son to discourag
103f0 65 20 79 6f 75 20 66 72 6f 6d 20 64 6f 69 6e 67 e you from doing
10400 20 73 75 63 68 20 61 20 74 68 69 6e 67 2c 20 6c such a thing, l
10410 65 74 27 73 20 73 65 65 20 77 68 79 3a 3c 62 72 et's see why:<br
10420 3e 3c 62 72 3e 0d 0a 46 6f 72 20 53 51 4c 69 74 ><br>..For SQLit
10430 65 3a 20 3c 62 3e 4e 6f 64 65 54 6f 20 49 4e 20 e: <b>NodeTo IN
10440 28 31 38 33 32 38 36 2c 20 32 39 30 34 35 38 2c (183286, 290458,
10450 20 31 38 31 39 39 39 2c 20 31 38 34 30 33 30 2c 181999, 184030,
10460 20 31 32 34 36 32 32 2c 20 31 38 33 38 38 32 2c 124622, 183882,
10470 20 31 37 38 37 35 34 29 3c 2f 62 3e 20 69 73 20 178754)</b> is
10480 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 considered to be
10490 20 37 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 7 parameters fo
104a0 72 20 77 68 69 63 68 20 56 69 72 74 75 61 6c 52 r which VirtualR
104b0 6f 75 74 69 6e 67 20 77 69 6c 6c 20 62 65 20 63 outing will be c
104c0 61 6c 6c 65 64 20 66 6f 72 20 65 61 63 68 2e 3c alled for each.<
104d0 62 72 3e 0d 0a 57 68 65 72 65 61 73 3a 20 3c 62 br>..Whereas: <b
104e0 3e 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 >NodeTo = '18328
104f0 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 39 2c 6,290458,181999,
10500 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 31 38 184030,124622,18
10510 33 38 38 32 2c 31 37 38 37 35 34 27 3c 2f 62 3e 3882,178754'</b>
10520 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 74 is considered t
10530 6f 20 62 65 20 31 20 70 61 72 61 6d 65 74 65 72 o be 1 parameter
10540 20 66 6f 72 20 77 68 69 63 68 20 56 69 72 74 75 for which Virtu
10550 61 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c 20 62 alRouting will b
10560 65 20 63 61 6c 6c 65 64 20 3c 62 3e 6f 6e 63 65 e called <b>once
10570 3c 2f 62 3e 20 61 6e 64 20 73 65 61 72 63 68 20 </b> and search
10580 66 6f 72 20 74 68 65 20 37 20 69 74 65 6d 73 2e for the 7 items.
10590 0d 0a 3c 68 33 3e 42 65 77 61 72 65 3c 2f 68 33 ..<h3>Beware</h3
105a0 3e 0d 0a 3c 62 3e 4e 65 76 65 72 20 65 76 65 72 >..<b>Never ever
105b0 3c 2f 62 3e 20 61 74 74 65 6d 70 74 20 74 6f 20 </b> attempt to
105c0 64 65 66 69 6e 65 20 61 20 6c 69 73 74 20 6f 66 define a list of
105d0 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e multiple destin
105e0 61 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68 65 ations using the
105f0 20 73 74 61 6e 64 61 72 64 20 53 51 4c 20 73 79 standard SQL sy
10600 6e 74 61 78 20 3c 62 3e 3c 69 3e 57 48 45 52 45 ntax <b><i>WHERE
10610 20 4e 6f 64 65 54 6f 20 49 4e 20 28 2e 2e 2e 2e NodeTo IN (....
10620 2e 2e 29 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65 63 ..)</i></b>, bec
10630 61 75 73 65 20 74 68 69 73 20 77 69 6c 6c 20 63 ause this will c
10640 65 72 74 61 69 6e 6c 79 20 63 61 75 73 65 20 6d ertainly cause m
10650 61 6e 79 20 75 6e 65 78 70 65 63 74 65 64 20 20 any unexpected
10660 27 3c 69 3e 72 65 73 75 6c 74 73 3c 2f 69 3e 27 '<i>results</i>'
10670 2e 3c 62 72 3e 0d 0a 42 61 64 6c 79 20 66 6f 72 .<br>..Badly for
10680 6d 61 74 74 65 64 20 72 65 73 75 6c 74 73 65 74 matted resultset
10690 73 20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20 72 s will be then r
106a0 65 74 75 72 6e 65 64 2c 20 6d 61 6e 79 20 6f 66 eturned, many of
106b0 20 77 68 69 63 68 20 6d 61 79 20 62 65 20 77 72 which may be wr
106c0 6f 6e 67 2e 20 3c 62 3e 59 6f 75 20 61 72 65 20 ong. <b>You are
106d0 77 61 72 6e 65 64 3c 2f 62 3e 2e 3c 62 72 3e 3c warned</b>.<br><
106e0 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c br>..</td></tr><
106f0 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c /table>..<br>..<
10700 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 table bgcolor="#
10710 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 c0ffc0" cellspac
10720 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 ing="10" cellpad
10730 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 ding="6"><tr><td
10740 3e 0d 0a 3c 68 33 3e 48 6f 77 20 74 6f 20 63 6f >..<h3>How to co
10750 72 72 65 63 74 6c 79 20 66 6f 72 6d 61 74 20 6d rrectly format m
10760 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74 ultiple destinat
10770 69 6f 6e 73 20 6c 69 73 74 73 3c 2f 68 33 3e 0d ions lists</h3>.
10780 0a 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 .VirtualRouting
10790 61 6c 77 61 79 73 20 65 78 70 65 63 74 73 20 74 always expects t
107a0 6f 20 72 65 63 65 69 76 65 20 61 20 3c 62 3e 6d o receive a <b>m
107b0 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e ulti-destination
107c0 73 3c 2f 62 3e 20 6c 69 73 74 20 61 73 20 61 20 s</b> list as a
107d0 3c 62 3e 54 45 58 54 3c 2f 62 3e 20 73 74 72 69 <b>TEXT</b> stri
107e0 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 69 ng containing ti
107f0 67 68 74 6c 79 20 70 61 63 6b 65 64 20 76 61 6c ghtly packed val
10800 75 65 73 20 73 65 70 61 72 61 74 65 64 20 62 79 ues separated by
10810 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 20 a conventional
10820 3c 62 3e 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e <b>delimiter</b>
10830 20 28 75 73 75 61 6c 6c 79 20 72 65 70 72 65 73 (usually repres
10840 65 6e 74 65 64 20 62 79 20 61 20 3c 62 3e 63 6f ented by a <b>co
10850 6d 6d 61 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 45 mma</b>).<br>..E
10860 78 61 6d 70 6c 65 73 20 6f 66 20 3c 62 3e 77 65 xamples of <b>we
10870 6c 6c 20 66 6f 72 6d 61 74 74 65 64 3c 2f 62 3e ll formatted</b>
10880 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 multi-destinati
10890 6f 6e 73 20 6c 69 73 74 73 3a 0d 0a 3c 76 65 72 ons lists:..<ver
108a0 62 61 74 69 6d 3e 0d 0a 27 31 2c 32 2c 33 2c 34 batim>..'1,2,3,4
108b0 2c 35 2c 31 30 2c 31 30 30 2c 31 30 30 30 2c 31 ,5,10,100,1000,1
108c0 30 30 30 30 30 27 20 20 20 2d 2d 20 69 6e 74 65 00000' -- inte
108d0 67 65 72 20 4e 6f 64 65 20 49 44 73 0d 0a 0d 0a ger Node IDs....
108e0 27 41 31 30 30 42 2c 41 31 30 30 46 2c 42 32 35 'A100B,A100F,B25
108f0 30 5a 2c 43 30 31 30 4d 2c 5a 39 39 39 41 27 20 0Z,C010M,Z999A'
10900 20 2d 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 -- alphanumeric
10910 20 4e 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76 Node Codes..</v
10920 65 72 62 61 74 69 6d 3e 0d 0a 45 78 61 6d 70 6c erbatim>..Exampl
10930 65 73 20 6f 66 20 3c 62 3e 62 61 64 6c 79 20 66 es of <b>badly f
10940 6f 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d 75 6c ormatted</b> mul
10950 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 ti-destinations
10960 6c 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69 lists:..<verbati
10970 6d 3e 0d 0a 27 20 20 31 2c 20 32 2c 20 33 2c 20 m>..' 1, 2, 3,
10980 34 20 2c 20 35 20 2c 20 31 30 2c 20 31 30 30 2c 4 , 5 , 10, 100,
10990 20 31 30 30 30 2c 20 31 30 30 30 30 30 20 20 27 1000, 100000 '
109a0 20 20 20 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f -- integer No
109b0 64 65 20 49 44 73 0d 0a 0d 0a 27 20 20 41 31 30 de IDs....' A10
109c0 30 42 2c 20 41 31 30 30 46 20 2c 20 42 32 35 30 0B, A100F , B250
109d0 5a 20 2c 20 43 30 31 30 4d 2c 20 5a 39 39 39 41 Z , C010M, Z999A
109e0 20 20 27 20 20 20 20 20 20 2d 2d 20 61 6c 70 68 ' -- alph
109f0 61 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f anumeric Node Co
10a00 64 65 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e des..</verbatim>
10a10 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 ..<u>Note</u>: a
10a20 6c 6c 20 77 68 69 74 65 73 70 61 63 65 73 20 69 ll whitespaces i
10a30 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65 mmediately prece
10a40 64 69 6e 67 20 6f 72 20 66 6f 6c 6c 6f 77 69 6e ding or followin
10a50 67 20 74 68 65 20 3c 62 3e 64 65 6c 69 6d 69 74 g the <b>delimit
10a60 65 72 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 er</b> will be c
10a70 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 onsidered to be
10a80 69 6e 74 65 67 72 61 6c 20 70 61 72 74 20 6f 66 integral part of
10a90 20 74 68 65 20 76 61 6c 75 65 20 69 74 73 65 6c the value itsel
10aa0 66 20 28 61 6e 64 20 74 68 75 73 20 77 69 6c 6c f (and thus will
10ab0 20 3c 62 3e 61 6c 73 6f 3c 2f 62 3e 20 62 65 20 <b>also</b> be
10ac0 73 65 61 72 63 68 65 64 20 66 6f 72 29 2e 3c 62 searched for).<b
10ad0 72 3e 0d 0a 54 68 69 73 20 77 69 6c 6c 20 68 61 r>..This will ha
10ae0 76 65 20 6e 6f 20 61 64 76 65 72 73 65 20 63 6f ve no adverse co
10af0 6e 73 65 71 75 65 6e 63 65 73 20 69 6e 20 74 68 nsequences in th
10b00 65 20 63 61 73 65 20 6f 66 20 69 6e 74 65 67 65 e case of intege
10b10 72 20 76 61 6c 75 65 73 2c 20 62 75 74 20 63 61 r values, but ca
10b20 6e 20 65 61 73 69 6c 79 20 68 61 76 65 20 63 61 n easily have ca
10b30 74 61 73 74 72 6f 70 68 69 63 20 65 66 66 65 63 tastrophic effec
10b40 74 73 20 6f 6e 20 61 6c 70 68 61 6e 75 6d 65 72 ts on alphanumer
10b50 69 63 20 76 61 6c 75 65 73 2e 0d 0a 3c 68 33 3e ic values...<h3>
10b60 44 65 66 69 6e 69 6e 67 20 61 20 63 75 73 74 6f Defining a custo
10b70 6d 20 64 65 6c 69 6d 69 74 65 72 3c 2f 68 33 3e m delimiter</h3>
10b80 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20 63 ..Sometimes it c
10b90 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c 20 73 ould be useful s
10ba0 65 74 74 69 6e 67 20 75 70 20 61 20 64 65 6c 69 etting up a deli
10bb0 6d 69 74 65 72 20 6f 74 68 65 72 20 74 68 61 6e miter other than
10bc0 20 61 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 2e a <b>comma</b>.
10bd0 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 ..<verbatim>..UP
10be0 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 DATE byfoot SET
10bf0 44 65 6c 69 6d 69 74 65 72 20 3d 20 27 2a 27 3b Delimiter = '*';
10c00 0d 0a 0d 0a 53 45 4c 45 43 54 20 44 65 6c 69 6d ....SELECT Delim
10c10 69 74 65 72 20 46 52 4f 4d 20 62 79 66 6f 6f 74 iter FROM byfoot
10c20 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ;..-------------
10c30 2d 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65 63 3d 34 32 -----..* [dec=42
10c40 2c 20 68 65 78 3d 32 61 5d 0d 0a 3c 2f 76 65 72 , hex=2a]..</ver
10c50 62 61 74 69 6d 3e 20 0d 0a 59 6f 75 20 73 69 6d batim> ..You sim
10c60 70 6c 79 20 68 61 76 65 20 74 6f 20 65 78 65 63 ply have to exec
10c70 75 74 65 20 61 6e 20 3c 62 3e 55 50 44 41 54 45 ute an <b>UPDATE
10c80 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 20 62 </b> statement b
10c90 79 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 y specifying the
10ca0 20 6e 65 77 20 64 65 6c 69 6d 69 74 65 72 20 76 new delimiter v
10cb0 61 6c 75 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c alue.<br><br>..<
10cc0 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 /td></tr></table
10cd0 3e 0d 0a 3c 68 34 3e 55 73 69 6e 67 20 4d 61 6b >..<h4>Using Mak
10ce0 65 53 74 72 69 6e 67 4c 69 73 74 28 29 20 66 6f eStringList() fo
10cf0 72 20 61 75 74 6f 2d 77 72 69 74 69 6e 67 20 61 r auto-writing a
10d00 20 6c 69 73 74 20 6f 66 20 6d 75 6c 74 69 70 6c list of multipl
10d10 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f e destinations</
10d20 68 34 3e 0d 0a 57 72 69 74 69 6e 67 20 62 79 20 h4>..Writing by
10d30 68 61 6e 64 20 61 20 54 65 78 74 20 53 74 72 69 hand a Text Stri
10d40 6e 67 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 ng corresponding
10d50 20 74 6f 20 61 20 77 65 6c 6c 2d 66 6f 72 6d 61 to a well-forma
10d60 74 74 65 64 20 6c 69 73 74 20 6f 66 20 20 6d 75 tted list of mu
10d70 6c 74 69 70 6c 65 73 20 64 65 73 74 69 6e 61 74 ltiples destinat
10d80 69 6f 6e 73 20 63 6f 75 6c 64 20 65 61 73 69 6c ions could easil
10d90 79 20 62 65 20 61 20 62 6f 72 69 6e 67 20 61 6e y be a boring an
10da0 64 20 65 72 72 6f 72 20 70 72 6f 6e 65 20 61 63 d error prone ac
10db0 74 69 76 69 74 79 20 28 6d 6f 73 74 20 6e 6f 74 tivity (most not
10dc0 61 62 6c 79 20 69 66 20 74 68 65 20 6c 69 73 74 ably if the list
10dd0 20 63 6f 6e 74 61 69 6e 73 20 61 20 68 75 67 65 contains a huge
10de0 20 6e 75 6d 62 65 72 20 6f 66 20 64 65 73 74 69 number of desti
10df0 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 29 2e 0d 0a nation Nodes)...
10e00 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 <verbatim>..SELE
10e10 43 54 20 4d 61 6b 65 53 74 72 69 6e 67 4c 69 73 CT MakeStringLis
10e20 74 28 6e 6f 64 65 5f 69 64 29 0d 0a 46 52 4f 4d t(node_id)..FROM
10e30 20 28 53 45 4c 45 43 54 20 6e 6f 64 65 5f 66 72 (SELECT node_fr
10e40 6f 6d 20 41 53 20 6e 6f 64 65 5f 69 64 0d 0a 20 om AS node_id..
10e50 20 20 20 20 20 46 52 4f 4d 20 72 6f 61 64 73 0d FROM roads.
10e60 0a 20 20 20 20 20 20 57 48 45 52 45 20 53 54 5f . WHERE ST_
10e70 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 3e 3d 20 Length(geom) >=
10e80 31 30 30 30 30 2e 30 0d 0a 20 20 20 20 20 20 55 10000.0.. U
10e90 4e 49 4f 4e 0d 0a 20 20 20 20 20 20 53 45 4c 45 NION.. SELE
10ea0 43 54 20 6e 6f 64 65 5f 74 6f 20 41 53 20 6e 6f CT node_to AS no
10eb0 64 65 5f 69 64 0d 0a 20 20 20 20 20 20 46 52 4f de_id.. FRO
10ec0 4d 20 72 6f 61 64 73 0d 0a 20 20 20 20 20 20 57 M roads.. W
10ed0 48 45 52 45 20 53 54 5f 4c 65 6e 67 74 68 28 67 HERE ST_Length(g
10ee0 65 6f 6d 29 20 3e 3d 20 31 30 30 30 30 2e 30 29 eom) >= 10000.0)
10ef0 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ;..-------------
10f00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
10f10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 32 36 -----------..126
10f20 33 30 2c 31 32 36 34 38 2c 31 33 36 34 35 2c 31 30,12648,13645,1
10f30 33 36 35 31 2c 37 38 33 35 33 2c 37 39 31 34 32 3651,78353,79142
10f40 2c 37 39 34 35 33 2c 37 39 34 35 34 2c 32 38 36 ,79453,79454,286
10f50 31 34 30 2c 32 38 36 31 35 33 2c 32 38 36 37 36 140,286153,28676
10f60 33 2c 32 38 36 37 37 30 2c 32 39 31 34 31 36 2c 3,286770,291416,
10f70 32 39 31 34 31 37 0d 0a 3c 2f 76 65 72 62 61 74 291417..</verbat
10f80 69 6d 3e 0d 0a 54 68 65 20 53 51 4c 20 3c 69 3e im>..The SQL <i>
10f90 3c 75 3e 61 67 67 72 65 67 61 74 65 20 66 75 6e <u>aggregate fun
10fa0 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 3c 62 ction</u></i> <b
10fb0 3e 4d 61 6b 65 53 74 72 69 6e 67 4c 69 73 74 28 >MakeStringList(
10fc0 29 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 66 69 )</b> is specifi
10fd0 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 74 cally intended t
10fe0 6f 20 68 65 6c 70 20 61 6e 64 20 73 69 6d 70 6c o help and simpl
10ff0 69 66 79 20 74 68 69 73 20 74 61 73 6b 20 62 79 ify this task by
11000 20 61 70 70 6c 79 69 6e 67 20 61 20 70 75 72 65 applying a pure
11010 20 53 51 4c 20 61 70 70 72 6f 61 63 68 2e 0d 0a SQL approach...
11020 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 <verbatim>..SELE
11030 43 54 20 4d 61 6b 65 53 74 72 69 6e 67 4c 69 73 CT MakeStringLis
11040 74 28 6e 6f 64 65 5f 69 64 2c 20 27 3b 27 29 0d t(node_id, ';').
11050 0a 46 52 4f 4d 20 28 53 45 4c 45 43 54 20 6e 6f .FROM (SELECT no
11060 64 65 5f 66 72 6f 6d 20 41 53 20 6e 6f 64 65 5f de_from AS node_
11070 69 64 0d 0a 20 20 20 20 20 20 46 52 4f 4d 20 72 id.. FROM r
11080 6f 61 64 73 0d 0a 20 20 20 20 20 20 57 48 45 52 oads.. WHER
11090 45 20 53 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d E ST_Length(geom
110a0 29 20 3e 3d 20 31 30 30 30 30 2e 30 0d 0a 20 20 ) >= 10000.0..
110b0 20 20 20 20 55 4e 49 4f 4e 0d 0a 20 20 20 20 20 UNION..
110c0 20 53 45 4c 45 43 54 20 6e 6f 64 65 5f 74 6f 20 SELECT node_to
110d0 41 53 20 6e 6f 64 65 5f 69 64 0d 0a 20 20 20 20 AS node_id..
110e0 20 20 46 52 4f 4d 20 72 6f 61 64 73 0d 0a 20 20 FROM roads..
110f0 20 20 20 20 57 48 45 52 45 20 53 54 5f 4c 65 6e WHERE ST_Len
11100 67 74 68 28 67 65 6f 6d 29 20 3e 3d 20 31 30 30 gth(geom) >= 100
11110 30 30 2e 30 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 00.0);..--------
11120 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
11130 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
11140 0d 0a 31 32 36 33 30 3b 31 32 36 34 38 3b 31 33 ..12630;12648;13
11150 36 34 35 3b 31 33 36 35 31 3b 37 38 33 35 33 3b 645;13651;78353;
11160 37 39 31 34 32 3b 37 39 34 35 33 3b 37 39 34 35 79142;79453;7945
11170 34 3b 32 38 36 31 34 30 3b 32 38 36 31 35 33 3b 4;286140;286153;
11180 32 38 36 37 36 33 3b 32 38 36 37 37 30 3b 32 39 286763;286770;29
11190 31 34 31 36 3b 32 39 31 34 31 37 0d 0a 0d 0a 0d 1416;291417.....
111a0 0a 53 45 4c 45 43 54 20 4d 61 6b 65 53 74 72 69 .SELECT MakeStri
111b0 6e 67 4c 69 73 74 28 6e 6f 64 65 5f 69 64 2c 20 ngList(node_id,
111c0 27 7c 27 29 0d 0a 46 52 4f 4d 20 28 53 45 4c 45 '|')..FROM (SELE
111d0 43 54 20 6e 6f 64 65 5f 66 72 6f 6d 20 41 53 20 CT node_from AS
111e0 6e 6f 64 65 5f 69 64 0d 0a 20 20 20 20 20 20 46 node_id.. F
111f0 52 4f 4d 20 72 6f 61 64 73 0d 0a 20 20 20 20 20 ROM roads..
11200 20 57 48 45 52 45 20 53 54 5f 4c 65 6e 67 74 68 WHERE ST_Length
11210 28 67 65 6f 6d 29 20 3e 3d 20 31 30 30 30 30 2e (geom) >= 10000.
11220 30 0d 0a 20 20 20 20 20 20 55 4e 49 4f 4e 0d 0a 0.. UNION..
11230 20 20 20 20 20 20 53 45 4c 45 43 54 20 6e 6f 64 SELECT nod
11240 65 5f 74 6f 20 41 53 20 6e 6f 64 65 5f 69 64 0d e_to AS node_id.
11250 0a 20 20 20 20 20 20 46 52 4f 4d 20 72 6f 61 64 . FROM road
11260 73 0d 0a 20 20 20 20 20 20 57 48 45 52 45 20 53 s.. WHERE S
11270 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 3e T_Length(geom) >
11280 3d 20 31 30 30 30 30 2e 30 29 3b 0d 0a 2d 2d 2d = 10000.0);..---
11290 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
112a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
112b0 2d 2d 2d 2d 2d 0d 0a 31 32 36 33 30 7c 31 32 36 -----..12630|126
112c0 34 38 7c 31 33 36 34 35 7c 31 33 36 35 31 7c 37 48|13645|13651|7
112d0 38 33 35 33 7c 37 39 31 34 32 7c 37 39 34 35 33 8353|79142|79453
112e0 7c 37 39 34 35 34 7c 32 38 36 31 34 30 7c 32 38 |79454|286140|28
112f0 36 31 35 33 7c 32 38 36 37 36 33 7c 32 38 36 37 6153|286763|2867
11300 37 30 7c 32 39 31 34 31 36 7c 32 39 31 34 31 37 70|291416|291417
11310 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 59 ..</verbatim>..Y
11320 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 61 6c 6c ou can eventuall
11330 79 20 70 61 73 73 20 61 6e 20 6f 70 74 69 6f 6e y pass an option
11340 61 6c 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 al second argume
11350 6e 74 20 74 6f 20 3c 62 3e 4d 61 6b 65 53 74 72 nt to <b>MakeStr
11360 69 6e 67 4c 69 73 74 28 29 3c 2f 62 3e 20 69 6e ingList()</b> in
11370 20 6f 72 64 65 72 20 74 6f 20 64 65 66 69 6e 65 order to define
11380 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 an alternative
11390 73 65 70 61 72 61 74 6f 72 20 64 69 66 66 65 72 separator differ
113a0 65 6e 74 20 66 72 6f 6d 20 3c 62 3e 63 6f 6d 6d ent from <b>comm
113b0 61 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e a</b>...<br><br>
113c0 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e ..<hr><br>..<h1>
113d0 3c 61 20 6e 61 6d 65 3d 22 69 73 6f 63 68 72 6f <a name="isochro
113e0 6e 65 22 3e 36 20 2d 20 53 6f 6c 76 69 6e 67 20 ne">6 - Solving
113f0 49 73 6f 63 68 72 6f 6e 65 20 70 72 6f 62 6c 65 Isochrone proble
11400 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 3c 61 20 ms</a></h1>..<a
11410 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e href="https://en
11420 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 .wikipedia.org/w
11430 69 6b 69 2f 49 73 6f 63 68 72 6f 6e 65 5f 6d 61 iki/Isochrone_ma
11440 70 22 3e 49 73 6f 63 68 72 6f 6e 65 73 3c 2f 61 p">Isochrones</a
11450 3e 20 61 72 65 20 61 72 65 61 73 20 28 6f 72 20 > are areas (or
11460 63 75 72 76 65 73 29 20 63 6f 6e 6e 65 63 74 69 curves) connecti
11470 6e 67 20 70 6f 69 6e 74 73 20 61 74 20 77 68 69 ng points at whi
11480 63 68 20 73 6f 6d 65 74 68 69 6e 67 20 6f 63 63 ch something occ
11490 75 72 73 20 6f 72 20 61 72 72 69 76 65 73 20 61 urs or arrives a
114a0 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e t the same time.
114b0 3c 62 72 3e 0d 0a 49 73 6f 63 68 72 6f 6e 65 73 <br>..Isochrones
114c0 20 61 72 65 20 75 73 75 61 6c 6c 79 20 72 65 6c are usually rel
114d0 61 74 65 64 20 74 6f 20 4e 65 74 77 6f 72 6b 20 ated to Network
114e0 41 6e 61 6c 79 73 69 73 20 61 6e 64 20 52 6f 75 Analysis and Rou
114f0 74 69 6e 67 20 62 65 63 61 75 73 65 20 74 68 65 ting because the
11500 79 20 61 6c 6c 6f 77 20 74 6f 20 65 61 73 69 6c y allow to easil
11510 79 20 69 64 65 6e 74 69 66 79 20 77 68 69 63 68 y identify which
11520 20 73 70 65 63 69 66 69 63 20 70 6f 72 74 69 6f specific portio
11530 6e 20 6f 66 20 74 68 65 20 4e 65 74 77 6f 72 6b n of the Network
11540 20 63 61 6e 20 62 65 20 72 65 61 63 68 65 64 20 can be reached
11550 73 74 61 72 74 69 6e 67 20 62 79 20 73 6f 6d 65 starting by some
11560 20 3c 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65 3c <b>origin Node<
11570 2f 62 3e 20 73 70 65 6e 64 69 6e 67 20 6e 6f 20 /b> spending no
11580 6d 6f 72 65 20 74 68 61 6e 20 61 20 67 69 76 65 more than a give
11590 6e 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 62 n <b>Cost</b>.<b
115a0 72 3e 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 68 r><br>..As you h
115b0 61 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e ave already seen
115c0 20 77 69 74 68 20 3c 62 3e 6d 75 6c 74 69 2d 64 with <b>multi-d
115d0 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 estination</b> q
115e0 75 65 72 69 65 73 2c 20 74 68 65 20 44 69 6a 6b ueries, the Dijk
115f0 73 74 72 61 27 73 20 41 6c 67 6f 72 69 74 68 6d stra's Algorithm
11600 20 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72 65 robustly ensure
11610 73 20 74 68 61 74 20 77 68 65 6e 20 61 20 64 65 s that when a de
11620 73 74 69 6e 61 74 69 6f 6e 20 69 73 20 72 65 61 stination is rea
11630 63 68 65 64 2c 20 61 6c 6c 20 74 68 65 20 64 65 ched, all the de
11640 73 74 69 6e 61 74 69 6f 6e 73 20 70 72 65 73 65 stinations prese
11650 6e 74 69 6e 67 20 61 20 3c 62 3e 6c 65 73 73 65 nting a <b>lesse
11660 72 20 63 6f 73 74 3c 2f 62 3e 20 68 61 76 65 20 r cost</b> have
11670 61 6c 73 6f 20 62 65 65 6e 20 63 6f 6c 6c 65 63 also been collec
11680 74 65 64 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 61 ted.<br>..This a
11690 6c 6c 6f 77 73 20 74 6f 20 65 66 66 69 63 69 65 llows to efficie
116a0 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e ntly support <b>
116b0 49 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 Isochrone</b> qu
116c0 65 72 69 65 73 2e 0d 0a 59 6f 75 20 73 69 6d 70 eries...You simp
116d0 6c 79 20 68 61 76 65 20 74 6f 20 73 70 65 63 69 ly have to speci
116e0 66 79 20 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f fy a <b>single o
116f0 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 rigin Node</b> a
11700 6e 64 20 61 20 3c 62 3e 43 6f 73 74 20 74 68 72 nd a <b>Cost thr
11710 65 73 68 6f 6c 64 3c 2f 62 3e 2e 3c 62 72 3e 3c eshold</b>.<br><
11720 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e br>..<u>Note</u>
11730 3a 20 65 78 65 63 75 74 69 6e 67 20 61 6e 20 49 : executing an I
11740 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 20 72 sochrone query r
11750 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70 72 6f equires a <b>pro
11760 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f 62 3e cessing time</b>
11770 20 74 68 61 74 20 3c 62 3e 69 73 6e 27 74 3c 2f that <b>isn't</
11780 62 3e 20 74 68 65 20 3c 75 3e 73 75 6d 20 6f 66 b> the <u>sum of
11790 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 all individual
117a0 74 69 6d 69 6e 67 73 20 66 6f 72 20 65 61 63 68 timings for each
117b0 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e destination</u>
117c0 2c 20 62 75 74 20 73 69 6d 70 6c 79 20 69 73 20 , but simply is
117d0 74 68 65 20 3c 75 3e 74 69 6d 65 20 72 65 71 75 the <u>time requ
117e0 69 72 65 64 20 74 6f 20 72 65 61 63 68 20 74 68 ired to reach th
117f0 65 20 6d 6f 73 74 20 63 6f 73 74 6c 79 20 64 65 e most costly de
11800 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2e 3c 62 stination</u>.<b
11810 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a r>..<verbatim>..
11820 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d SELECT Algorithm
11830 2c 20 52 65 71 75 65 73 74 2c 20 52 6f 6c 65 2c , Request, Role,
11840 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 NodeFrom, NodeT
11850 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 o, Cost, Geometr
11860 79 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a y..FROM byfoot..
11870 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d WHERE NodeFrom =
11880 20 31 38 31 39 39 39 20 41 4e 44 20 43 6f 73 74 181999 AND Cost
11890 20 3c 3d 20 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 <= 1000.0;..</v
118a0 65 72 62 61 74 69 6d 3e 0d 0a 59 6f 75 20 63 61 erbatim>..You ca
118b0 6e 20 63 61 6c 6c 20 61 6e 20 3c 62 3e 49 73 6f n call an <b>Iso
118c0 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79 chrone</b> query
118d0 20 61 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 as supported by
118e0 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 <b>VirtualRouti
118f0 6e 67 3c 2f 62 3e 20 62 79 20 73 70 65 63 69 66 ng</b> by specif
11900 79 69 6e 67 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 ying:..<ul>..<li
11910 3e 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e ><b>NodeFrom</b>
11920 3a 20 74 68 65 20 3c 62 3e 3c 69 3e 49 44 3c 2f : the <b><i>ID</
11930 69 3e 3c 2f 62 3e 20 6f 72 20 3c 62 3e 3c 69 3e i></b> or <b><i>
11940 43 6f 64 65 3c 2f 69 3e 3c 2f 62 3e 20 75 6e 69 Code</i></b> uni
11950 71 75 65 6c 79 20 69 64 65 6e 74 69 66 79 69 6e quely identifyin
11960 67 20 74 68 65 20 3c 62 3e 6f 72 69 67 69 6e 20 g the <b>origin
11970 4e 6f 64 65 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a Node</b>.</li>..
11980 3c 6c 69 3e 3c 62 3e 43 6f 73 74 3c 2f 62 3e 3a <li><b>Cost</b>:
11990 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 3c 62 3e the maximum <b>
119a0 43 6f 73 74 20 74 68 72 65 73 68 6f 6c 64 3c 2f Cost threshold</
119b0 62 3e 20 6e 6f 74 20 74 6f 20 62 65 20 65 78 63 b> not to be exc
119c0 65 65 64 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e eeded.<br>..<u>N
119d0 6f 74 65 3c 2f 75 3e 3a 20 61 6e 79 20 76 61 6c ote</u>: any val
119e0 69 64 20 49 73 6f 63 68 72 6f 6e 65 20 71 75 65 id Isochrone que
119f0 72 79 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20 6e ry <b>must</b> n
11a00 65 63 65 73 73 61 72 69 6c 79 20 73 70 65 63 69 ecessarily speci
11a10 66 79 20 61 20 3c 62 3e 3c 3d 3c 2f 62 3e 20 28 fy a <b><=</b> (
11a20 3c 75 3e 3c 69 3e 6c 65 73 73 65 72 20 74 68 61 <u><i>lesser tha
11a30 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 3c 2f 69 n or equal to</i
11a40 3e 3c 2f 75 3e 29 20 63 6f 6d 70 61 72 69 73 6f ></u>) compariso
11a50 6e 20 6f 70 65 72 61 74 6f 72 2e 3c 2f 6c 69 3e n operator.</li>
11a60 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 54 ..</ul>..<br>..T
11a70 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 he following tab
11a80 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 le shows the res
11a90 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 ultset returned
11aa0 62 79 20 74 68 65 20 61 62 6f 76 65 20 49 73 6f by the above Iso
11ab0 63 68 72 6f 6e 65 20 71 75 65 72 79 2e 0d 0a 3c chrone query...<
11ac0 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 br><br>..<table
11ad0 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c border="1" bgcol
11ae0 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c or="#ffffcf" cel
11af0 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c lspacing="4" cel
11b00 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c lpadding="6">..<
11b10 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 tr><th bgcolor="
11b20 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 #d0d0a0">Algorit
11b30 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c hm</th><th bgcol
11b40 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 or="#d0d0a0">Req
11b50 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 uest</th><th bgc
11b60 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
11b70 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ole</th><th bgco
11b80 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f lor="#d0d0a0">No
11b90 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 deFrom</th><th b
11ba0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
11bb0 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 >NodeTo</th><th
11bc0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
11bd0 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 ">Cost</th><th b
11be0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
11bf0 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 2f >Geometry</th></
11c00 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d tr>..<tr>..<tr>.
11c10 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 .<td>Dijkstra</t
11c20 64 3e 3c 74 64 3e 49 73 6f 63 68 72 6f 6e 65 3c d><td>Isochrone<
11c30 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e /td><td>Solution
11c40 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
11c50 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
11c60 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
11c70 68 74 22 3e 31 37 38 37 31 37 3c 2f 74 64 3e 3c ht">178717</td><
11c80 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
11c90 3e 35 37 32 2e 34 35 35 31 34 33 3c 2f 74 64 3e >572.455143</td>
11ca0 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47 <td>BLOB sz=60 G
11cb0 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f EOMETRY</td>..</
11cc0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
11cd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
11ce0 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 74 69 6f </td><td>Solutio
11cf0 6e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 n<td align="righ
11d00 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 t">181999</td><t
11d10 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
11d20 31 37 38 37 31 38 3c 2f 74 64 3e 3c 74 64 20 61 178718</td><td a
11d30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 38 37 lign="right">587
11d40 2e 33 30 33 37 37 39 3c 2f 74 64 3e 3c 74 64 3e .303779</td><td>
11d50 42 4c 4f 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45 BLOB sz=60 GEOME
11d60 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d TRY</td>..</tr>.
11d70 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
11d80 3d 22 63 65 6e 74 65 72 22 20 63 6f 6c 73 70 61 ="center" colspa
11d90 6e 3d 22 37 22 3e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e n="7">..........
11da0 2e 2e 2e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ...</td>..</tr>.
11db0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
11dc0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
11dd0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
11de0 74 22 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e t">Solution</td>
11df0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
11e00 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 ">181999</td><td
11e10 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
11e20 38 34 30 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 84035</td><td al
11e30 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 37 39 2e ign="right">579.
11e40 37 38 36 37 32 34 3c 2f 74 64 3e 3c 74 64 3e 42 786724</td><td>B
11e50 4c 4f 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45 54 LOB sz=60 GEOMET
11e60 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a RY</td>..</tr>..
11e70 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
11e80 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
11e90 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 <td>Solution</td
11ea0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
11eb0 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 t">181999</td><t
11ec0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
11ed0 31 38 34 30 33 36 3c 2f 74 64 3e 3c 74 64 20 61 184036</td><td a
11ee0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 34 32 lign="right">642
11ef0 2e 36 39 31 35 39 37 3c 2f 74 64 3e 3c 74 64 3e .691597</td><td>
11f00 42 4c 4f 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45 BLOB sz=60 GEOME
11f10 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d TRY</td>..</tr>.
11f20 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d .</table>..<br>.
11f30 0a 4c 65 74 27 73 20 71 75 69 63 6b 6c 79 20 65 .Let's quickly e
11f40 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c xamine the resul
11f50 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 tset returned by
11f60 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e 69 73 the above <b>is
11f70 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 ochrone</b> quer
11f80 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 y...<ul>..<li>th
11f90 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f e <b>first row</
11fa0 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 b> of the result
11fb0 73 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20 65 set is someway e
11fc0 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 xceptional, and
11fd0 69 73 20 74 68 65 20 6f 6e 6c 79 20 72 6f 77 20 is the only row
11fe0 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 of the resultset
11ff0 20 70 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e presenting <b>N
12000 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 OT NULL</b> valu
12010 65 73 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 es in the <b>Alg
12020 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 orithm</b>, <b>R
12030 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 2f 62 3e equest</b>, </b>
12040 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 28 61 6e 64 Options</b> (and
12050 20 3c 2f 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f </b>Delimiter</
12060 62 3e 29 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 b>) columns.</li
12070 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 72 6f 77 73 20 >..<li>all rows
12080 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 66 (including the f
12090 69 72 73 74 20 6f 6e 65 29 20 68 61 76 65 20 3c irst one) have <
120a0 62 3e 52 6f 6c 65 20 3d 20 53 6f 6c 75 74 69 6f b>Role = Solutio
120b0 6e 3c 2f 62 3e 2c 20 61 6e 64 20 72 65 70 72 65 n</b>, and repre
120c0 73 65 6e 74 73 20 61 20 73 69 6e 67 6c 65 20 63 sents a single c
120d0 6f 6e 6e 65 63 74 69 6f 6e 20 62 65 74 77 65 65 onnection betwee
120e0 6e 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 n <b>NodeFrom</b
120f0 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c > and <b>NodeTo<
12100 2f 62 3e 2c 20 77 69 74 68 20 74 68 65 20 63 6f /b>, with the co
12110 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62 3e 43 rresponding <b>C
12120 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c ost</b>.</li>..<
12130 6c 69 3e 74 68 65 20 3c 62 3e 47 65 6f 6d 65 74 li>the <b>Geomet
12140 72 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 61 6c ry</b> column al
12150 77 61 79 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 ways corresponds
12160 20 74 6f 20 74 68 65 20 3c 62 3e 32 44 20 50 6f to the <b>2D Po
12170 69 6e 74 3c 2f 62 3e 20 77 68 65 72 65 20 3c 62 int</b> where <b
12180 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 69 73 20 6c >NodeTo</b> is l
12190 6f 63 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f ocated.</li>..</
121a0 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f ul>..<br>..<u>No
121b0 74 65 3c 2f 75 3e 3a 20 3c 62 3e 69 73 6f 63 68 te</u>: <b>isoch
121c0 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 69 65 73 rone</b> queries
121d0 20 61 72 65 20 6e 6f 74 20 61 66 66 65 63 74 65 are not affecte
121e0 64 20 62 79 20 63 6f 6e 66 69 67 75 72 61 62 6c d by configurabl
121f0 65 20 6f 70 74 69 6f 6e 73 2e 0d 0a 3c 62 3e 41 e options...<b>A
12200 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 77 69 6c lgorithm</b> wil
12210 6c 20 62 65 20 61 6c 77 61 79 73 20 61 73 73 75 l be always assu
12220 6d 65 64 20 74 6f 20 62 65 20 3c 62 3e 44 69 6a med to be <b>Dij
12230 73 6b 74 72 61 3c 2f 62 3e 2c 20 61 6e 64 20 74 sktra</b>, and t
12240 68 65 20 63 75 72 72 65 6e 74 20 3c 62 3e 4f 70 he current <b>Op
12250 74 69 6f 6e 73 3c 2f 62 3e 20 73 65 74 74 69 6e tions</b> settin
12260 67 73 20 77 69 6c 6c 20 62 65 20 73 69 6d 70 6c gs will be simpl
12270 79 20 69 67 6e 6f 72 65 64 2e 0d 0a 3c 76 65 72 y ignored...<ver
12280 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 batim>..SELECT S
12290 54 5f 43 6f 6e 63 61 76 65 48 75 6c 6c 28 53 54 T_ConcaveHull(ST
122a0 5f 43 6f 6c 6c 65 63 74 28 47 65 6f 6d 65 74 72 _Collect(Geometr
122b0 79 29 29 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 y))..FROM byfoot
122c0 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d ..WHERE NodeFrom
122d0 20 3d 20 31 38 31 39 39 39 20 41 4e 44 20 43 6f = 181999 AND Co
122e0 73 74 20 3c 3d 20 31 30 30 30 2e 30 3b 0d 0a 3c st <= 1000.0;..<
122f0 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 6e 79 20 /verbatim>..Any
12300 69 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 20 isochrone query
12310 77 69 6c 6c 20 6a 75 73 74 20 72 65 74 75 72 6e will just return
12320 20 61 20 50 6f 69 6e 74 2d 73 65 74 3b 20 69 66 a Point-set; if
12330 20 79 6f 75 20 61 6c 73 6f 20 77 69 73 68 20 74 you also wish t
12340 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 63 6f 72 o obtain the cor
12350 72 65 73 70 6f 6e 64 69 6e 67 20 61 72 65 61 6c responding areal
12360 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 representation
12370 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f you just have to
12380 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 43 6f 6c 6c call <b>ST_Coll
12390 65 63 74 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 ect()</b> in ord
123a0 65 72 20 74 6f 20 67 65 74 20 61 20 6d 6f 6e 6f er to get a mono
123b0 6c 69 74 68 69 63 20 4d 75 6c 74 69 50 6f 69 6e lithic MultiPoin
123c0 74 2c 20 74 68 65 6e 20 63 61 6c 6c 69 6e 67 20 t, then calling
123d0 3c 62 3e 53 54 5f 43 6f 6e 63 61 76 65 48 75 6c <b>ST_ConcaveHul
123e0 6c 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72 l()</b> in order
123f0 20 74 6f 20 67 65 74 20 61 20 50 6f 6c 79 67 6f to get a Polygo
12400 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e n...<br><br><br>
12410 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 ..The map below
12420 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 graphically show
12430 73 20 74 68 65 20 72 65 73 75 6c 74 73 20 6f 66 s the results of
12440 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c 62 the previous <b
12450 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 >isochrone</b> q
12460 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d uery...<br><br>.
12470 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 .<img src="https
12480 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
12490 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 it/gaia-sins/rou
124a0 74 69 6e 67 2d 66 69 67 73 2f 69 73 6f 63 68 72 ting-figs/isochr
124b0 6f 6e 65 2e 6a 70 67 22 20 61 6c 74 3d 22 69 73 one.jpg" alt="is
124c0 6f 63 68 72 6f 6e 65 22 3e 0d 0a 3c 75 6c 3e 0d ochrone">..<ul>.
124d0 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 73 74 61 72 .<li>Yellow star
124e0 3a 20 74 68 65 20 4f 72 69 67 69 6e 20 4e 6f 64 : the Origin Nod
124f0 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 42 6c 75 e.</li>..<li>Blu
12500 65 20 64 6f 74 73 3a 20 61 6c 6c 20 44 65 73 74 e dots: all Dest
12510 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 20 77 69 ination Nodes wi
12520 74 68 69 6e 20 74 68 65 20 67 69 76 65 6e 20 43 thin the given C
12530 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 ost.</li>..<li>W
12540 68 69 74 65 20 6c 69 6e 65 3a 20 74 68 65 20 62 hite line: the b
12550 6f 75 6e 64 61 72 79 20 6f 66 20 74 68 65 20 49 oundary of the I
12560 73 6f 63 68 72 6f 6e 65 2e 20 0d 0a 3c 62 72 3e sochrone. ..<br>
12570 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 <br>..<table bgc
12580 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 olor="#c0ffc0" c
12590 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 ellspacing="10"
125a0 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
125b0 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 72 3e 3c 62 <tr><td>..<br><b
125c0 72 3e 0d 0a 3c 75 3e 3c 62 3e 4e 6f 74 65 3c 2f r>..<u><b>Note</
125d0 62 3e 3c 2f 75 3e 3a 20 69 6e 20 74 68 69 73 20 b></u>: in this
125e0 65 78 61 6d 70 6c 65 20 79 6f 75 27 76 65 20 75 example you've u
125f0 73 65 64 20 74 68 65 20 3c 62 3e 62 79 66 6f 6f sed the <b>byfoo
12600 74 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 2c 20 74 t</b> Network, t
12610 68 61 74 20 69 73 20 62 61 73 65 64 20 6f 6e 20 hat is based on
12620 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 65 78 70 <b>Costs</b> exp
12630 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 ressed in <b>met
12640 65 72 73 3c 2f 62 3e 20 28 67 65 6f 6d 65 74 72 ers</b> (geometr
12650 69 63 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 ic length of eac
12660 68 20 4c 69 6e 6b 29 2e 3c 62 72 3e 0d 0a 54 68 h Link).<br>..Th
12670 69 73 20 4e 65 74 77 6f 72 6b 20 69 73 20 6d 61 is Network is ma
12680 69 6e 6c 79 20 69 6e 74 65 6e 64 65 64 20 66 6f inly intended fo
12690 72 20 3c 62 3e 70 65 64 65 73 74 72 69 61 6e 73 r <b>pedestrians
126a0 3c 2f 62 3e 2c 20 73 6f 20 77 65 20 63 61 6e 20 </b>, so we can
126b0 73 61 66 65 6c 79 20 61 73 73 75 6d 65 20 61 20 safely assume a
126c0 3c 75 3e 3c 69 3e 63 6f 6e 73 74 61 6e 74 20 73 <u><i>constant s
126d0 70 65 65 64 3c 2f 69 3e 3c 2f 75 3e 20 6f 66 20 peed</i></u> of
126e0 61 62 6f 75 74 20 3c 62 3e 34 3c 2f 62 3e 20 74 about <b>4</b> t
126f0 6f 20 3c 62 3e 36 20 6b 6d 2f 68 3c 2f 62 3e 2c o <b>6 km/h</b>,
12700 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c and consequentl
12710 79 20 74 68 65 20 3c 62 3e 49 73 6f 63 68 72 6f y the <b>Isochro
12720 6e 65 3c 2f 62 3e 20 65 66 66 65 63 74 69 76 65 ne</b> effective
12730 6c 79 20 72 65 73 70 65 63 74 73 20 74 68 65 20 ly respects the
12740 3c 75 3e 3c 69 3e 73 61 6d 65 20 74 69 6d 65 3c <u><i>same time<
12750 2f 69 3e 3c 2f 75 3e 20 72 65 71 75 69 73 69 74 /i></u> requisit
12760 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53 70 65 61 e.<br><br>..Spea
12770 6b 69 6e 67 20 69 6e 20 6d 6f 72 65 20 67 65 6e king in more gen
12780 65 72 61 6c 20 74 65 72 6d 73 2c 20 61 6e 20 49 eral terms, an I
12790 73 6f 63 68 72 6f 6e 65 20 63 61 6e 20 62 65 20 sochrone can be
127a0 69 6e 74 65 6e 64 65 64 20 61 73 20 61 20 67 65 intended as a ge
127b0 6e 65 72 69 63 20 73 79 6e 6f 6e 79 6d 20 66 6f neric synonym fo
127c0 72 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 43 6f 73 r <u><i>same Cos
127d0 74 3c 2f 69 3e 3c 2f 75 3e 2c 20 65 76 65 6e 20 t</i></u>, even
127e0 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f when there is no
127f0 20 6f 62 76 69 6f 75 73 20 63 6f 6e 6e 65 63 74 obvious connect
12800 69 6f 6e 20 77 69 74 68 20 3c 62 3e 54 69 6d 65 ion with <b>Time
12810 2e 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a .</b>.<br><br>..
12820 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c </td></tr></tabl
12830 65 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 e>..<hr><br>..<h
12840 31 3e 3c 61 20 6e 61 6d 65 3d 22 74 73 70 22 3e 1><a name="tsp">
12850 37 20 2d 20 53 6f 6c 76 69 6e 67 20 54 53 50 20 7 - Solving TSP
12860 28 74 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 73 (traveling sales
12870 6d 61 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 man) problems</a
12880 3e 3c 2f 68 31 3e 0d 0a 3c 62 3e 54 53 50 3c 2f ></h1>..<b>TSP</
12890 62 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74 74 b> (<a href="htt
128a0 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 ps://en.wikipedi
128b0 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 72 61 76 65 a.org/wiki/Trave
128c0 6c 6c 69 6e 67 5f 73 61 6c 65 73 6d 61 6e 5f 70 lling_salesman_p
128d0 72 6f 62 6c 65 6d 22 3e 54 72 61 76 65 6c 69 6e roblem">Travelin
128e0 67 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62 6c g Salesman Probl
128f0 65 6d 3c 2f 61 3e 29 20 69 73 20 61 20 77 65 6c em</a>) is a wel
12900 6c 20 6b 6e 6f 77 6e 20 4f 70 65 72 61 74 69 6f l known Operatio
12910 6e 73 20 52 65 73 65 61 72 63 68 20 70 72 6f 62 ns Research prob
12920 6c 65 6d 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a lem...<br><br>..
12930 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 <table bgcolor="
12940 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 #c0ffc0" cellspa
12950 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 cing="10" cellpa
12960 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 dding="6"><tr><t
12970 64 3e 0d 0a 3c 68 33 3e 54 68 65 20 54 72 61 76 d>..<h3>The Trav
12980 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50 eling Salesman P
12990 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a 3c 62 3e roblem</h3>..<b>
129a0 3c 69 3e 47 69 76 65 6e 20 61 20 6c 69 73 74 20 <i>Given a list
129b0 6f 66 20 63 69 74 69 65 73 20 61 6e 64 20 74 68 of cities and th
129c0 65 20 64 69 73 74 61 6e 63 65 73 20 62 65 74 77 e distances betw
129d0 65 65 6e 20 65 61 63 68 20 70 61 69 72 20 6f 66 een each pair of
129e0 20 63 69 74 69 65 73 2c 20 77 68 61 74 20 69 73 cities, what is
129f0 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 70 6f the shortest po
12a00 73 73 69 62 6c 65 20 72 6f 75 74 65 20 74 68 61 ssible route tha
12a10 74 20 76 69 73 69 74 73 20 65 61 63 68 20 63 69 t visits each ci
12a20 74 79 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 ty and returns t
12a30 6f 20 74 68 65 20 6f 72 69 67 69 6e 20 63 69 74 o the origin cit
12a40 79 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 y ?</i></b>..<br
12a50 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 ><br>..</td></tr
12a60 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d ></table>..<br>.
12a70 0a 3c 75 3e 4e 6f 74 65 3a 3c 2f 75 3e 20 74 68 .<u>Note:</u> th
12a80 65 20 74 65 72 6d 73 20 3c 69 3e 3c 75 3e 73 61 e terms <i><u>sa
12a90 6c 65 73 6d 61 6e 3c 2f 75 3e 3c 2f 69 3e 20 61 lesman</u></i> a
12aa0 6e 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 nd <i><u>city</u
12ab0 3e 3c 2f 69 3e 20 61 72 65 20 75 6e 69 76 65 72 ></i> are univer
12ac0 73 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 68 sally used for h
12ad0 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e istorical reason
12ae0 73 2c 20 73 6f 20 79 6f 75 20 73 68 6f 75 6c 64 s, so you should
12af0 20 61 76 6f 69 64 20 74 61 6b 69 6e 67 20 74 68 avoid taking th
12b00 65 6d 20 6c 69 74 65 72 61 6c 6c 79 20 61 6e 64 em literally and
12b10 20 74 61 6b 65 20 74 68 65 6d 20 69 6e 20 63 6f take them in co
12b20 6e 74 65 78 74 2e 3c 62 72 3e 0d 0a 54 68 65 20 ntext.<br>..The
12b30 74 65 72 6d 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 term <u><i>sales
12b40 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 69 6e 20 74 man</i></u> in t
12b50 68 69 73 20 73 70 65 63 69 66 69 63 20 63 6f 6e his specific con
12b60 74 65 78 74 20 69 6e 74 65 6e 64 73 20 61 6e 79 text intends any
12b70 20 70 6f 73 73 69 62 6c 65 20 6b 69 6e 64 20 6f possible kind o
12b80 66 20 3c 75 3e 3c 69 3e 6d 6f 76 69 6e 67 20 61 f <u><i>moving a
12b90 67 65 6e 74 3c 2f 69 3e 3c 2f 75 3e 20 28 70 65 gent</i></u> (pe
12ba0 64 65 73 74 72 69 61 6e 2c 20 76 65 68 69 63 6c destrian, vehicl
12bb0 65 2c 20 70 61 73 73 65 6e 67 65 72 20 6f 72 20 e, passenger or
12bc0 77 68 61 74 65 76 65 72 20 65 6c 73 65 29 2c 20 whatever else),
12bd0 65 78 61 63 74 6c 79 20 61 73 20 3c 69 3e 3c 75 exactly as <i><u
12be0 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20 73 69 >city</u></i> si
12bf0 6d 70 6c 79 20 73 74 61 6e 64 73 20 66 6f 72 20 mply stands for
12c00 61 6e 79 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 69 any <i><u>generi
12c10 63 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 c destination</u
12c20 3e 3c 2f 69 3e 20 6f 6e 20 61 20 67 69 76 65 6e ></i> on a given
12c30 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 62 72 3e 3c Network...<br><
12c40 62 72 3e 0d 0a 57 65 20 63 61 6e 20 63 6f 6e 63 br>..We can conc
12c50 65 70 74 75 61 6c 79 20 73 70 6c 69 74 20 54 50 eptualy split TP
12c60 53 20 69 6e 20 74 77 6f 20 68 61 6c 76 65 73 3a S in two halves:
12c70 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6d 70 ..<ol>..<li>comp
12c80 75 74 69 6e 67 20 61 6c 6c 20 64 69 73 74 61 6e uting all distan
12c90 63 65 73 20 62 65 74 77 65 65 6e 20 70 61 69 72 ces between pair
12ca0 73 20 6f 66 20 3c 69 3e 63 69 74 69 65 73 3c 2f s of <i>cities</
12cb0 69 3e 2e 20 54 68 69 73 20 69 73 20 61 20 74 79 i>. This is a ty
12cc0 70 69 63 61 6c 20 3c 62 3e 53 68 6f 72 74 65 73 pical <b>Shortes
12cd0 74 50 61 74 68 3c 2f 62 3e 20 70 72 6f 62 6c 65 tPath</b> proble
12ce0 6d 2c 20 61 6e 64 20 77 65 20 63 61 6e 20 64 75 m, and we can du
12cf0 6c 79 20 75 73 65 20 74 68 65 20 44 69 6a 6b 73 ly use the Dijks
12d00 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d 20 tra's algorithm
12d10 66 6f 72 20 74 68 69 73 2e 3c 2f 6c 69 3e 0d 0a for this.</li>..
12d20 3c 6c 69 3e 74 68 65 6e 20 77 65 20 68 61 76 65 <li>then we have
12d30 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 61 6c to check for al
12d40 6c 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 70 65 l possible <b>pe
12d50 72 6d 75 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 2f rmutations</b> /
12d60 20 3c 62 3e 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 <b>combinations
12d70 3c 2f 62 3e 20 74 6f 20 69 64 65 6e 74 69 66 79 </b> to identify
12d80 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 54 53 50 the optimal TSP
12d90 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d solution.</li>.
12da0 0a 3c 2f 6f 6c 3e 0d 0a 55 6e 68 61 70 70 69 6c .</ol>..Unhappil
12db0 79 20 74 68 65 72 65 20 69 73 20 61 20 70 72 61 y there is a pra
12dc0 63 74 69 63 61 6c 20 64 69 66 66 69 63 75 6c 74 ctical difficult
12dd0 79 20 69 6e 20 73 75 63 68 20 61 20 73 74 72 61 y in such a stra
12de0 69 67 68 74 66 6f 72 77 61 72 64 20 61 70 70 72 ightforward appr
12df0 6f 61 63 68 3b 20 74 68 65 20 6e 75 6d 62 65 72 oach; the number
12e00 20 6f 66 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 of combinations
12e10 20 77 69 6c 6c 20 67 72 6f 77 20 65 78 74 72 65 will grow extre
12e20 6d 65 6c 79 20 66 61 73 74 20 61 73 20 74 68 65 mely fast as the
12e30 20 6e 75 6d 62 65 72 20 6f 66 20 3c 62 3e 3c 69 number of <b><i
12e40 3e 63 69 74 69 65 73 3c 2f 69 3e 3c 2f 62 3e 20 >cities</i></b>
12e50 69 6e 63 72 65 61 73 65 73 2e 3c 62 72 3e 0d 0a increases.<br>..
12e60 53 69 6d 70 6c 79 20 63 6f 6d 70 75 74 69 6e 67 Simply computing
12e70 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 54 53 the complete TS
12e80 50 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 61 P solution for a
12e90 62 6f 75 74 20 74 65 6e 20 63 69 74 69 65 73 20 bout ten cities
12ea0 77 69 6c 6c 20 72 65 71 75 69 72 65 20 61 20 3c will require a <
12eb0 62 3e 76 65 72 79 20 6c 6f 6e 67 20 74 69 6d 65 b>very long time
12ec0 3c 2f 62 3e 20 65 76 65 6e 20 75 73 69 6e 67 20 </b> even using
12ed0 61 20 73 75 70 65 72 63 6f 6d 70 75 74 65 72 2e a supercomputer.
12ee0 3c 62 72 3e 0d 0a 41 6e 64 20 61 74 74 65 6d 70 <br>..And attemp
12ef0 74 69 6e 67 20 74 6f 20 63 6f 6d 70 75 74 65 20 ting to compute
12f00 61 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 20 66 a TSP solution f
12f10 6f 72 20 61 62 6f 75 74 20 68 75 6e 64 72 65 64 or about hundred
12f20 20 63 69 74 69 65 73 20 77 69 6c 6c 20 72 65 71 cities will req
12f30 75 69 72 65 20 61 20 3c 62 3e 70 72 61 63 74 69 uire a <b>practi
12f40 63 61 6c 6c 79 20 69 6e 66 69 6e 69 74 65 3c 2f cally infinite</
12f50 62 3e 20 74 69 6d 65 2e 0d 0a 3c 62 72 3e 3c 62 b> time...<br><b
12f60 72 3e 0d 0a 4e 65 76 65 72 74 68 65 6c 65 73 73 r>..Nevertheless
12f70 2c 20 73 6f 6c 76 69 6e 67 20 54 53 50 20 69 73 , solving TSP is
12f80 20 68 69 67 68 6c 79 20 64 65 73 69 72 61 62 6c highly desirabl
12f90 65 20 66 6f 72 20 6d 61 6e 79 20 61 70 70 6c 69 e for many appli
12fa0 63 61 74 69 6f 6e 20 66 69 65 6c 64 73 3a 20 3c cation fields: <
12fb0 62 3e 6c 6f 67 69 73 74 69 63 73 3c 2f 62 3e 20 b>logistics</b>
12fc0 28 6a 75 73 74 20 74 68 69 6e 6b 20 61 62 6f 75 (just think abou
12fd0 74 20 63 6f 75 72 69 65 72 20 63 6f 6d 70 61 6e t courier compan
12fe0 69 65 73 20 61 73 20 44 48 4c 2c 20 46 65 64 45 ies as DHL, FedE
12ff0 58 2c 20 55 50 53 20 6f 72 20 54 4e 54 29 2c 20 X, UPS or TNT),
13000 3c 62 3e 66 69 65 6c 64 20 6d 61 69 6e 74 65 6e <b>field mainten
13010 61 6e 63 65 3c 2f 62 3e 20 2f 20 3c 62 3e 61 73 ance</b> / <b>as
13020 73 69 73 74 61 6e 63 65 3c 2f 62 3e 2c 20 3c 62 sistance</b>, <b
13030 3e 77 61 73 74 65 20 63 6f 6c 6c 65 63 74 69 6f >waste collectio
13040 6e 3c 2f 62 3e 2c 20 3c 62 3e 73 63 68 6f 6f 6c n</b>, <b>school
13050 62 75 73 3c 2f 62 3e 20 2f 20 3c 62 3e 73 68 61 bus</b> / <b>sha
13060 72 65 64 20 74 61 78 69 20 73 65 72 76 69 63 65 red taxi service
13070 73 3c 2f 62 3e 20 65 74 63 2e 3c 62 72 3e 0d 0a s</b> etc.<br>..
13080 4d 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d 73 20 Many algorithms
13090 68 61 76 65 20 62 65 65 6e 20 69 6e 76 65 6e 74 have been invent
130a0 65 64 20 64 75 72 69 6e 67 20 6c 61 73 74 20 64 ed during last d
130b0 65 63 61 64 65 73 20 69 6e 74 65 6e 64 65 64 20 ecades intended
130c0 74 6f 20 70 72 6f 64 75 63 65 20 70 72 61 63 74 to produce pract
130d0 69 63 61 6c 2c 20 61 6c 74 68 6f 75 67 68 20 61 ical, although a
130e0 70 70 72 6f 78 69 6d 61 74 65 20 2f 20 69 6d 70 pproximate / imp
130f0 65 72 66 65 63 74 2c 20 54 53 50 20 73 6f 6c 75 erfect, TSP solu
13100 74 69 6f 6e 73 20 69 6e 20 61 20 72 65 61 73 6f tions in a reaso
13110 6e 61 62 6c 79 20 73 68 6f 72 74 20 74 69 6d 65 nably short time
13120 2e 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 65 6d 20 ...Many of them
13130 73 74 72 6f 6e 67 6c 79 20 64 65 70 65 6e 64 20 strongly depend
13140 6f 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 on <a href="http
13150 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 s://en.wikipedia
13160 2e 6f 72 67 2f 77 69 6b 69 2f 48 65 75 72 69 73 .org/wiki/Heuris
13170 74 69 63 22 3e 68 65 75 72 69 73 74 69 63 3c 2f tic">heuristic</
13180 61 3e 20 61 6e 64 20 2f 20 6f 72 20 3c 61 20 68 a> and / or <a h
13190 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e ref="https://en.
131a0 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 wikipedia.org/wi
131b0 6b 69 2f 52 61 6e 64 6f 6d 6e 65 73 73 22 3e 72 ki/Randomness">r
131c0 61 6e 64 6f 6d 6e 65 73 73 3c 2f 61 3e 2e 0d 0a andomness</a>...
131d0 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 56 69 72 <br><br>..<b>Vir
131e0 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 tualRouting</b>
131f0 73 75 70 70 6f 72 74 73 20 74 77 6f 20 64 69 66 supports two dif
13200 66 65 72 65 6e 74 20 54 53 50 20 61 6c 67 6f 72 ferent TSP algor
13210 69 74 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c ithms:..<ul>..<l
13220 69 3e 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 i><b>TSP NN</b>
13230 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c (<i>aka</i> <b><
13240 69 3e 4e 65 61 72 65 73 74 20 4e 65 69 67 68 62 i>Nearest Neighb
13250 6f 75 72 3c 2f 69 3e 3c 2f 62 3e 29 3c 62 72 3e our</i></b>)<br>
13260 0d 0a 54 68 69 73 20 3c 61 20 68 72 65 66 3d 22 ..This <a href="
13270 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 https://en.wikip
13280 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 4e 65 edia.org/wiki/Ne
13290 61 72 65 73 74 5f 6e 65 69 67 68 62 6f 75 72 5f arest_neighbour_
132a0 61 6c 67 6f 72 69 74 68 6d 22 3e 66 69 72 73 74 algorithm">first
132b0 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69 algorithm</a> i
132c0 73 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 s straightforwar
132d0 64 2c 20 73 69 6d 70 6c 65 20 61 6e 64 20 76 65 d, simple and ve
132e0 72 79 20 66 61 73 74 3b 20 69 74 20 63 61 6e 20 ry fast; it can
132f0 65 66 66 65 63 74 69 76 65 6c 79 20 73 6f 6c 76 effectively solv
13300 65 20 68 75 67 65 20 54 53 50 20 73 6f 6c 75 74 e huge TSP solut
13310 69 6f 6e 73 20 28 61 20 74 68 6f 75 73 61 6e 64 ions (a thousand
13320 20 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 20 6f <i>cities</i> o
13330 72 20 65 76 65 6e 20 6d 6f 72 65 29 20 69 6e 20 r even more) in
13340 61 20 76 65 72 79 20 73 68 6f 72 74 20 74 69 6d a very short tim
13350 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74 e.<br>..<u>Short
13360 20 64 65 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e description</u>
13370 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 73 74 61 :..<ul>..<li>sta
13380 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 3c rting from the <
13390 75 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f u><i>base city</
133a0 69 3e 3c 2f 75 3e 20 74 68 65 20 3c 75 3e 3c 69 i></u> the <u><i
133b0 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 >salesman</i></u
133c0 3e 20 67 6f 65 73 20 74 6f 20 74 68 65 20 3c 75 > goes to the <u
133d0 3e 3c 69 3e 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e ><i>city</i></u>
133e0 20 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 presenting the
133f0 3c 69 3e 3c 75 3e 6c 65 73 73 65 72 20 63 6f 6e <i><u>lesser con
13400 6e 65 63 74 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e nection cost</u>
13410 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </i>.</li>..<li>
13420 74 68 65 20 61 6c 72 65 61 64 79 20 76 69 73 69 the already visi
13430 74 65 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f ted <i><u>city</
13440 75 3e 3c 2f 69 3e 20 69 73 20 72 65 6d 6f 76 65 u></i> is remove
13450 64 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 2c d from the list,
13460 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 3c 75 and then the <u
13470 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e ><i>salesman</i>
13480 3c 2f 75 3e 20 67 6f 65 73 20 74 6f 20 74 68 65 </u> goes to the
13490 20 6e 65 78 74 20 3c 75 3e 3c 69 3e 63 69 74 79 next <u><i>city
134a0 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e 74 </i></u> present
134b0 69 6e 67 2c 20 61 67 61 69 6e 2c 20 74 68 65 20 ing, again, the
134c0 6e 65 78 74 20 3c 69 3e 3c 75 3e 6c 65 73 73 65 next <i><u>lesse
134d0 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6f 73 r connection cos
134e0 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d t</u></i>.</li>.
134f0 0a 3c 6c 69 3e 74 68 65 20 63 79 63 6c 65 20 63 .<li>the cycle c
13500 6f 6e 74 69 6e 75 65 73 20 75 6e 74 69 6c 20 61 ontinues until a
13510 6c 6c 20 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73 ll <i><u>cities
13520 3c 2f 75 3e 3c 2f 69 3e 20 69 6e 20 74 68 65 20 </u></i> in the
13530 6c 69 73 74 20 68 61 76 65 20 62 65 65 6e 20 76 list have been v
13540 69 73 69 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c isited.</li>..<l
13550 69 3e 66 69 6e 61 6c 6c 79 2c 20 74 68 65 20 3c i>finally, the <
13560 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 u><i>salesman</i
13570 3e 3c 2f 75 3e 20 72 65 74 75 72 6e 73 20 74 6f ></u> returns to
13580 20 68 69 73 2f 68 65 72 20 69 6e 69 74 69 61 6c his/her initial
13590 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 <u><i>base city
135a0 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c 69 3e 0d 0a 3c </i></u></li>..<
135b0 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 /ul>..<u>Note</u
135c0 3e 20 69 74 27 73 20 76 65 72 79 20 75 6e 6c 69 > it's very unli
135d0 6b 65 6c 79 20 74 68 61 74 20 54 53 50 20 4e 4e kely that TSP NN
135e0 20 77 69 6c 6c 20 66 69 6e 64 20 74 68 65 20 3c will find the <
135f0 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e 20 73 6f b>optimal</b> so
13600 6c 75 74 69 6f 6e 2c 20 62 75 74 20 69 74 20 63 lution, but it c
13610 61 6e 20 71 75 69 63 6b 6c 79 20 66 69 6e 64 20 an quickly find
13620 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 some reasonable
13630 3c 62 3e 61 70 70 72 6f 78 69 6d 61 74 65 3c 2f <b>approximate</
13640 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e b> solution (<i>
13650 66 65 77 20 69 73 20 73 75 72 65 6c 79 20 62 65 few is surely be
13660 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 68 69 6e tter than nothin
13670 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a 49 6e 20 g</i>).<br>..In
13680 74 68 65 20 6d 6f 73 74 20 75 6e 6c 75 63 6b 79 the most unlucky
13690 20 63 61 73 65 20 54 53 50 20 4e 4e 20 63 6f 75 case TSP NN cou
136a0 6c 64 20 70 6f 73 73 69 62 6c 79 20 72 65 74 75 ld possibly retu
136b0 72 6e 20 74 68 65 20 3c 62 3e 77 6f 72 73 74 20 rn the <b>worst
136c0 70 6f 73 73 69 62 6c 65 20 73 6f 6c 75 74 69 6f possible solutio
136d0 6e 3c 2f 62 3e 2c 20 62 75 74 20 74 68 65 20 73 n</b>, but the s
136e0 70 65 63 69 66 69 63 20 69 6d 70 6c 65 6d 65 6e pecific implemen
136f0 74 61 74 69 6f 6e 20 61 64 6f 70 74 65 64 20 62 tation adopted b
13700 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 y VirtualRouting
13710 20 63 68 65 63 6b 73 20 61 67 61 69 6e 73 74 20 checks against
13720 74 68 69 73 20 70 6f 73 73 69 62 69 6c 69 74 79 this possibility
13730 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 65 61 63 :..<ul>..<li>eac
13740 68 20 54 53 50 20 4e 4e 20 69 73 20 61 6c 77 61 h TSP NN is alwa
13750 79 73 20 63 6f 6d 70 75 74 65 64 20 74 77 69 63 ys computed twic
13760 65 20 62 79 20 72 61 6e 64 6f 6d 6c 79 20 63 68 e by randomly ch
13770 6f 6f 73 69 6e 67 20 61 20 64 69 66 66 65 72 65 oosing a differe
13780 6e 74 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69 nt <u><i>base ci
13790 74 79 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 74 ty</i></u> and t
137a0 68 65 6e 20 6e 6f 72 6d 61 6c 69 7a 69 6e 67 20 hen normalizing
137b0 74 68 65 20 73 6f 6c 75 74 69 6f 6e 3b 20 74 68 the solution; th
137c0 65 20 62 65 73 74 20 6f 66 20 74 68 65 20 74 77 e best of the tw
137d0 6f 20 73 6f 6c 75 74 69 6f 6e 73 20 69 73 20 74 o solutions is t
137e0 68 65 6e 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c hen returned.</l
137f0 69 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 73 69 6d i>..<li>this sim
13800 70 6c 65 2c 20 62 75 74 20 65 66 66 65 63 74 69 ple, but effecti
13810 76 65 2c 20 70 72 65 63 61 75 74 69 6f 6e 20 65 ve, precaution e
13820 6e 73 75 72 65 73 20 74 68 61 74 20 74 68 65 20 nsures that the
13830 3c 62 3e 77 6f 72 73 74 20 70 6f 73 73 69 62 6c <b>worst possibl
13840 65 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 77 e solution</b> w
13850 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 72 65 74 ill never be ret
13860 75 72 6e 65 64 2c 20 77 69 74 68 20 61 20 6d 6f urned, with a mo
13870 64 65 72 61 74 65 6c 79 20 69 6e 63 72 65 61 73 derately increas
13880 65 64 20 65 78 65 63 75 74 69 6f 6e 20 74 69 6d ed execution tim
13890 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f e.</li>..</ul></
138a0 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 53 50 20 li>..<li><b>TSP
138b0 47 41 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f GA</b> (<i>aka</
138c0 69 3e 20 3c 62 3e 3c 69 3e 47 65 6e 65 74 69 63 i> <b><i>Genetic
138d0 20 41 6c 67 6f 72 69 74 68 6d 3c 2f 69 3e 3c 2f Algorithm</i></
138e0 62 3e 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 3c b>).<br>..This <
138f0 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f a href="https://
13900 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 en.wikipedia.org
13910 2f 77 69 6b 69 2f 47 65 6e 65 74 69 63 5f 61 6c /wiki/Genetic_al
13920 67 6f 72 69 74 68 6d 22 3e 61 6c 74 65 72 6e 61 gorithm">alterna
13930 74 69 76 65 20 61 6c 67 6f 72 69 74 68 6d 3c 2f tive algorithm</
13940 61 3e 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 20 a> is much more
13950 63 6f 6d 70 6c 65 78 20 61 6e 64 20 73 6f 70 68 complex and soph
13960 69 73 74 69 63 61 74 65 64 2c 20 61 6e 64 20 69 isticated, and i
13970 73 20 64 69 72 65 63 74 6c 79 20 69 6e 73 70 69 s directly inspi
13980 72 65 64 20 62 79 20 62 69 6f 6c 6f 67 69 63 61 red by biologica
13990 6c 20 63 6f 6e 63 65 70 74 73 20 73 75 63 68 20 l concepts such
139a0 61 73 20 3c 62 3e 73 65 78 75 61 6c 20 72 65 70 as <b>sexual rep
139b0 72 6f 64 75 63 74 69 6f 6e 3c 2f 62 3e 2c 20 3c roduction</b>, <
139c0 62 3e 67 65 6e 65 74 69 63 20 6d 75 74 61 74 69 b>genetic mutati
139d0 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e ons</b> and <b>n
139e0 61 74 75 72 61 6c 20 73 65 6c 65 63 74 69 6f 6e atural selection
139f0 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 68 </b>.<br>..<u>Sh
13a00 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f 6e 3c ort description<
13a10 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e /u>:..<ul>..<li>
13a20 61 20 66 69 72 73 74 20 69 6e 69 74 69 61 6c 20 a first initial
13a30 73 65 74 20 6f 66 20 73 6f 6c 75 74 69 6f 6e 73 set of solutions
13a40 20 28 3c 69 3e 3c 75 3e 74 68 65 20 70 6f 70 75 (<i><u>the popu
13a50 6c 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29 20 lation</u></i>)
13a60 69 73 20 63 72 65 61 74 65 64 20 62 79 20 75 73 is created by us
13a70 69 6e 67 20 54 53 50 20 4e 4e 20 61 66 74 65 72 ing TSP NN after
13a80 20 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 randomly choosi
13a90 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 62 61 73 ng the <u><i>bas
13aa0 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 61 e city</i></u> a
13ab0 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 6c 69 7a nd then normaliz
13ac0 69 6e 67 20 65 61 63 68 20 73 6f 6c 75 74 69 6f ing each solutio
13ad0 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 n.</li>..<li>the
13ae0 6e 20 64 75 72 69 6e 67 20 65 61 63 68 20 73 74 n during each st
13af0 65 70 20 6f 66 20 74 68 65 20 65 78 65 63 75 74 ep of the execut
13b00 69 6f 6e 20 6c 6f 6f 70 20 28 3c 69 3e 3c 75 3e ion loop (<i><u>
13b10 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 75 3e 3c 2f generation</u></
13b20 69 3e 29 20 70 61 69 72 73 20 6f 66 20 73 6f 6c i>) pairs of sol
13b30 75 74 69 6f 6e 73 20 3c 69 3e 3c 75 3e 73 65 78 utions <i><u>sex
13b40 75 61 6c 6c 79 20 72 65 70 72 6f 64 75 63 65 3c ually reproduce<
13b50 2f 69 3e 3c 2f 75 3e 20 67 69 76 69 6e 67 20 62 /i></u> giving b
13b60 69 72 74 68 20 74 6f 20 3c 75 3e 3c 69 3e 63 68 irth to <u><i>ch
13b70 69 6c 64 72 65 6e 20 73 6f 6c 75 74 69 6f 6e 73 ildren solutions
13b80 3c 2f 69 3e 3c 2f 75 3e 3b 20 72 65 70 72 6f 64 </i></u>; reprod
13b90 75 63 74 69 6f 6e 20 69 73 20 73 75 62 6a 65 63 uction is subjec
13ba0 74 20 74 6f 20 3c 75 3e 3c 69 3e 63 68 72 6f 6d t to <u><i>chrom
13bb0 6f 73 6f 6d 65 20 63 72 6f 73 73 6f 76 65 72 73 osome crossovers
13bc0 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 3c 69 3e </i></u> and <i>
13bd0 3c 75 3e 72 61 6e 64 6f 6d 20 6d 75 74 61 74 69 <u>random mutati
13be0 6f 6e 73 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 ons</u></i>.</li
13bf0 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 65 61 63 68 20 >..<li>for each
13c00 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e <i><u>generation
13c10 3c 2f 75 3e 3c 2f 69 3e 20 61 20 3c 69 3e 3c 75 </u></i> a <i><u
13c20 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65 63 74 69 >natural selecti
13c30 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 28 3c 69 3e 61 on</u></i> (<i>a
13c40 6b 61 20 3c 75 3e 65 6c 69 74 69 73 74 20 73 65 ka <u>elitist se
13c50 6c 65 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29 lection</u></i>)
13c60 20 70 72 6f 63 65 73 73 20 65 6e 73 75 72 65 73 process ensures
13c70 20 74 68 61 74 20 6f 6e 6c 79 20 74 68 65 20 3c that only the <
13c80 69 3e 3c 75 3e 62 65 73 74 20 66 69 74 3c 2f 75 i><u>best fit</u
13c90 3e 3c 2f 69 3e 20 73 6f 6c 75 74 69 6f 6e 73 20 ></i> solutions
13ca0 63 61 6e 20 66 75 72 74 68 65 72 20 70 72 6f 70 can further prop
13cb0 61 67 61 74 65 20 74 68 65 69 72 20 3c 75 3e 3c agate their <u><
13cc0 69 3e 67 65 6e 65 73 3c 2f 69 3e 3c 2f 75 3e 20 i>genes</i></u>
13cd0 74 6f 20 74 68 65 20 6e 65 78 74 20 3c 75 3e 3c to the next <u><
13ce0 69 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 69 3e i>generation</i>
13cf0 3c 2f 75 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </u>.</li>..<li>
13d00 61 66 74 65 72 20 61 20 63 65 72 74 61 69 6e 20 after a certain
13d10 6e 75 6d 62 65 72 20 6f 66 20 3c 69 3e 3c 75 3e number of <i><u>
13d20 67 65 6e 65 72 61 74 69 6f 6e 73 3c 2f 69 3e 3c generations</i><
13d30 2f 75 3e 20 28 6c 65 74 27 73 20 73 61 79 20 61 /u> (let's say a
13d40 62 6f 75 74 20 73 6f 6d 65 20 68 75 6e 64 72 65 bout some hundre
13d50 64 74 68 20 69 74 65 72 61 74 69 6f 6e 73 29 20 dth iterations)
13d60 74 68 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 20 73 the <b>optimal s
13d70 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 28 6f 72 20 olution</b> (or
13d80 61 74 20 6c 65 61 73 74 20 61 20 3c 62 3e 66 61 at least a <b>fa
13d90 69 72 6c 79 20 67 6f 6f 64 20 73 75 62 2d 6f 70 irly good sub-op
13da0 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f timal solution</
13db0 62 3e 29 20 73 68 6f 75 6c 64 20 66 69 6e 61 6c b>) should final
13dc0 6c 79 20 65 6d 65 72 67 65 2c 20 61 6e 64 20 73 ly emerge, and s
13dd0 6f 20 74 68 65 20 6c 6f 6f 70 20 63 61 6e 20 65 o the loop can e
13de0 78 69 74 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e xit.</li>..</ul>
13df0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 4e 6f </li>..<li><u>No
13e00 74 65 3c 2f 75 3e 3a 20 54 53 50 20 47 41 20 69 te</u>: TSP GA i
13e10 73 20 75 73 75 61 6c 6c 79 20 65 78 70 65 63 74 s usually expect
13e20 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 62 ed to identify b
13e30 65 74 74 65 72 20 73 6f 6c 75 74 69 6f 6e 73 20 etter solutions
13e40 74 68 61 6e 20 54 53 50 20 4e 4e 20 63 61 6e 20 than TSP NN can
13e50 64 6f 2c 20 62 75 74 20 69 74 20 77 69 6c 6c 20 do, but it will
13e60 73 75 72 65 6c 79 20 72 65 71 75 69 72 65 20 6d surely require m
13e70 75 63 68 20 6d 6f 72 65 20 74 69 6d 65 20 74 6f uch more time to
13e80 20 63 6f 6d 70 6c 65 74 65 2e 3c 2f 6c 69 3e 20 complete.</li>
13e90 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 ..</ul>..<br><br
13ea0 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20 65 78 61 >..Let's now exa
13eb0 6d 69 6e 65 20 61 20 70 72 61 63 74 69 63 61 6c mine a practical
13ec0 20 65 78 61 6d 70 6c 65 20 6f 66 20 54 53 50 20 example of TSP
13ed0 73 6f 6c 76 69 6e 67 20 75 73 69 6e 67 20 56 69 solving using Vi
13ee0 72 74 75 61 6c 52 6f 75 74 69 6e 67 2e 20 0d 0a rtualRouting. ..
13ef0 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 <verbatim>..UPDA
13f00 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65 TE byfoot SET Re
13f10 71 75 65 73 74 20 3d 20 27 54 53 50 27 3b 0d 0a quest = 'TSP';..
13f20 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 ..SELECT Algorit
13f30 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 hm, Request, Opt
13f40 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c ions, Delimiter,
13f50 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 RouteId, RouteR
13f60 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f ow, Role, LinkRo
13f70 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e wid, NodeFrom, N
13f80 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f odeTo, Cost, Geo
13f90 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f metry, Name..FRO
13fa0 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 M byfoot..WHERE
13fb0 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 NodeFrom = 17873
13fc0 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 1 AND NodeTo = '
13fd0 31 38 33 32 38 36 2c 31 38 31 39 39 39 2c 31 38 183286,181999,18
13fe0 34 30 33 30 2c 31 38 33 38 38 32 2c 31 37 38 37 4030,183882,1787
13ff0 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 54';..</verbatim
14000 3e 0d 0a 41 20 56 69 72 74 75 61 6c 52 6f 75 74 >..A VirtualRout
14010 69 6e 67 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 71 ing <b>TSP</b> q
14020 75 65 72 79 20 68 61 73 20 74 68 65 20 73 61 6d uery has the sam
14030 65 20 69 64 65 6e 74 69 63 61 6c 20 66 6f 72 6d e identical form
14040 20 6f 66 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 of a <b>multi-d
14050 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 estination</b> q
14060 75 65 72 79 3b 20 74 68 65 20 3c 69 3e 3c 75 3e uery; the <i><u>
14070 62 61 73 65 20 63 69 74 79 3c 75 3e 3c 2f 69 3e base city<u></i>
14080 20 69 73 20 61 6c 77 61 79 73 20 65 78 70 65 63 is always expec
14090 74 65 64 20 74 6f 20 63 6f 72 72 65 73 70 6f 6e ted to correspon
140a0 64 20 74 6f 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d d to <b>NodeFrom
140b0 3c 2f 62 3e 20 61 6e 64 20 61 6c 6c 20 6f 74 68 </b> and all oth
140c0 65 72 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73 3c er <i><u>cities<
140d0 2f 75 3e 3c 2f 69 3e 20 74 6f 20 62 65 20 76 69 /u></i> to be vi
140e0 73 69 74 65 64 20 61 72 65 20 65 78 70 65 63 74 sited are expect
140f0 65 64 20 74 6f 20 62 65 20 65 6e 75 6d 65 72 61 ed to be enumera
14100 74 65 64 20 69 6e 74 6f 20 61 20 3c 62 3e 6d 75 ted into a <b>mu
14110 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 3c lti-destination<
14120 2f 62 3e 20 6c 69 73 74 20 61 73 73 69 67 6e 65 /b> list assigne
14130 64 20 74 6f 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f d to <b>NodeTo</
14140 62 3e 2e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e b>...<u>Note</u>
14150 3a 20 79 6f 75 20 6d 75 73 74 20 65 78 70 6c 69 : you must expli
14160 63 69 74 6c 79 20 73 65 74 20 74 68 65 20 63 75 citly set the cu
14170 72 72 65 6e 74 20 3c 62 3e 52 65 71 75 65 73 74 rrent <b>Request
14180 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 53 50 3c 2f </b> as <b>TSP</
14190 62 3e 2c 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 b>, <b>TSP NN</b
141a0 3e 20 6f 72 20 3c 62 3e 54 53 50 20 47 41 3c 2f > or <b>TSP GA</
141b0 62 3e 20 28 54 53 50 20 61 6e 64 20 54 53 50 20 b> (TSP and TSP
141c0 4e 4e 20 61 72 65 20 73 79 6e 6f 6e 79 6d 73 29 NN are synonyms)
141d0 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 ...<br><br>..<ta
141e0 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 ble border="1" b
141f0 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 gcolor="#ffffcf"
14200 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 cellspacing="4"
14210 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
14220 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c >..<tr><th bgcol
14230 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 or="#d0d0a0">Alg
14240 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 orithm</th><th b
14250 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
14260 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 >Request</th><th
14270 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
14280 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 0">Options</th><
14290 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
142a0 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 0a0">Delimiter</
142b0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
142c0 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64 #d0d0a0">RouteId
142d0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
142e0 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 ="#d0d0a0">Route
142f0 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f Row</th><th bgco
14300 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
14310 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c le</th><th bgcol
14320 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e or="#d0d0a0">Lin
14330 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 kRowid</th><th b
14340 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
14350 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 >NodeFrom</th><t
14360 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
14370 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c a0">NodeTo</th><
14380 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
14390 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 0a0">Cost</th><t
143a0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
143b0 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 a0">Geometry</th
143c0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
143d0 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0d0a0">Name</th>
143e0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
143f0 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 >Dijkstra</td><t
14400 64 3e 54 53 50 20 4e 4e 3c 2f 74 64 3e 3c 74 64 d>TSP NN</td><td
14410 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 >Full</td><td>,
14420 26 23 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 [dec=44, hex
14430 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 =2c]</td><td
14440 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
14450 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14460 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
14470 3e 54 53 50 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 >TSP Solution</t
14480 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14490 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
144a0 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
144b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
144c0 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
144d0 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 35 34 2e gn="right">1254.
144e0 34 33 33 39 33 33 3c 2f 74 64 3e 3c 74 64 3e 42 433933</td><td>B
144f0 4c 4f 42 20 73 7a 3d 32 30 30 30 20 47 45 4f 4d LOB sz=2000 GEOM
14500 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c ETRY</td><td>NUL
14510 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
14520 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
14530 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14540 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14550 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 NULL<td align="r
14560 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 ight">1</td><td
14570 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
14580 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 /td><td>Route</t
14590 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
145a0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
145b0 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
145c0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
145d0 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4030</td><td ali
145e0 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 gn="right">176.3
145f0 36 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 64755</td><td>BL
14600 4f 42 20 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54 OB sz=304 GEOMET
14610 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c RY</td><td>NULL<
14620 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
14630 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
14640 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14650 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
14660 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
14670 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c ="right">2</td><
14680 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14690 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >1</td><td>Link<
146a0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
146b0 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 ight">224014</td
146c0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
146d0 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 t">178731</td><t
146e0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
146f0 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 182885</td><td a
14700 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e lign="right">94.
14710 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 812424</td><td>N
14720 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
14730 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f PIETRO ARETINO</
14740 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
14750 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
14760 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14770 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14780 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
14790 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
147a0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
147b0 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e ight">2</td><td>
147c0 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
147d0 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38 36 gn="right">22486
147e0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
147f0 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f "right">182885</
14800 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14810 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e ght">182043</td>
14820 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14830 22 3e 33 37 2e 30 39 35 32 38 37 3c 2f 74 64 3e ">37.095287</td>
14840 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14850 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 >VIA MARGARITONE
14860 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
14870 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
14880 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14890 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
148a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
148b0 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e n="right">2</td>
148c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
148d0 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
148e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
148f0 72 69 67 68 74 22 3e 32 32 36 30 37 30 3c 2f 74 right">226070</t
14900 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14910 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c ht">182043</td><
14920 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14930 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 >184030</td><td
14940 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 34 align="right">44
14950 2e 34 35 37 30 34 34 3c 2f 74 64 3e 3c 74 64 3e .457044</td><td>
14960 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 50 49 41 NULL</td><td>PIA
14970 5a 5a 41 20 53 41 4e 54 27 41 47 4f 53 54 49 4e ZZA SANT'AGOSTIN
14980 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c O</td>..</tr>..<
14990 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
149a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
149b0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
149c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
149d0 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 gn="right">2</td
149e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
149f0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
14a00 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
14a10 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
14a20 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 ight">184030</td
14a30 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
14a40 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 t">181999</td><t
14a50 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14a60 31 33 39 2e 31 31 34 39 33 38 3c 2f 74 64 3e 3c 139.114938</td><
14a70 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 39 36 20 47 td>BLOB sz=496 G
14a80 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e EOMETRY</td><td>
14a90 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
14aa0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
14ab0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14ac0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14ad0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
14ae0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c align="right">3<
14af0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
14b00 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e ight">1</td><td>
14b10 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
14b20 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 36 30 37 gn="right">22607
14b30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
14b40 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f "right">184030</
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 31 38 32 36 32 39 3c 2f 74 64 3e ght">182629</td>
14b70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14b80 22 3e 35 35 2e 36 38 39 30 30 39 3c 2f 74 64 3e ">55.689009</td>
14b90 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14ba0 3e 56 49 41 20 47 49 55 53 45 50 50 45 20 47 41 >VIA GIUSEPPE GA
14bb0 52 49 42 41 4c 44 49 3c 2f 74 64 3e 0d 0a 3c 2f RIBALDI</td>..</
14bc0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
14bd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
14be0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14bf0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14c00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14c10 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >3</td><td align
14c20 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c ="right">2</td><
14c30 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
14c40 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
14c50 35 35 31 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 5512</td><td ali
14c60 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 gn="right">18262
14c70 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 9</td><td align=
14c80 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 3c 2f "right">182933</
14c90 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14ca0 67 68 74 22 3e 33 34 2e 31 38 34 31 39 34 3c 2f ght">34.184194</
14cb0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14cc0 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 <td>CORSO ITALIA
14cd0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
14ce0 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
14cf0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14d00 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14d10 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
14d20 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e n="right">3</td>
14d30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14d40 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
14d50 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14d60 72 69 67 68 74 22 3e 32 32 35 35 31 31 3c 2f 74 right">225511</t
14d70 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14d80 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c ht">182933</td><
14d90 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14da0 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 >181999</td><td
14db0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 39 align="right">49
14dc0 2e 32 34 31 37 33 35 3c 2f 74 64 3e 3c 74 64 3e .241735</td><td>
14dd0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 NULL</td><td>COR
14de0 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a SO ITALIA</td>..
14df0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
14e00 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
14e10 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
14e20 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
14e30 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
14e40 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">3</td><td ali
14e50 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
14e60 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c ><td>Route</td><
14e70 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
14e80 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
14e90 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1999</td><td ali
14ea0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 gn="right">18328
14eb0 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
14ec0 22 72 69 67 68 74 22 3e 32 31 37 2e 36 37 32 38 "right">217.6728
14ed0 38 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 85</td><td>BLOB
14ee0 73 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 3c sz=688 GEOMETRY<
14ef0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
14f00 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
14f10 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14f20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
14f30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
14f40 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
14f50 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 ight">4</td><td
14f60 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c align="right">1<
14f70 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
14f80 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
14f90 74 22 3e 32 32 32 36 33 35 3c 2f 74 64 3e 3c 74 t">222635</td><t
14fa0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14fb0 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 181999</td><td a
14fc0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 lign="right">181
14fd0 39 39 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 998</td><td alig
14fe0 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e 36 32 n="right">101.62
14ff0 39 37 35 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 9750</td><td>NUL
15000 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 L</td><td>CORSO
15010 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 ITALIA</td>..</t
15020 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
15030 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
15040 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
15050 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
15060 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15070 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
15080 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
15090 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
150a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
150b0 37 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 780</td><td alig
150c0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 38 n="right">181998
150d0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
150e0 72 69 67 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 right">183560</t
150f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
15100 68 74 22 3e 37 33 2e 37 33 33 35 37 32 3c 2f 74 ht">73.733572</t
15110 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
15120 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49 td>VIA DELL'ANFI
15130 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 TEATRO</td>..</t
15140 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
15150 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
15160 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
15170 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 ><td>NULL<td ali
15180 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 gn="right">4</td
15190 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
151a0 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">3</td><td>Lin
151b0 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
151c0 22 72 69 67 68 74 22 3e 32 32 35 38 32 37 3c 2f "right">225827</
151d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
151e0 67 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e ght">183560</td>
151f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
15200 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
15210 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
15220 32 2e 33 30 39 35 36 34 3c 2f 74 64 3e 3c 74 64 2.309564</td><td
15230 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
15240 41 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 A DELL'ANFITEATR
15250 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c O</td>..</tr>..<
15260 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
15270 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
15280 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15290 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
152a0 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 gn="right">4</td
152b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
152c0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
152d0 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
152e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
152f0 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 ight">183286</td
15300 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
15310 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 t">178754</td><t
15320 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15330 33 37 38 2e 33 31 33 36 38 34 3c 2f 74 64 3e 3c 378.313684</td><
15340 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 td>BLOB sz=272 G
15350 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e EOMETRY</td><td>
15360 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
15370 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
15380 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
15390 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
153a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
153b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c align="right">5<
153c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
153d0 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e ight">1</td><td>
153e0 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
153f0 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 gn="right">22441
15400 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
15410 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
15420 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15430 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e ght">178880</td>
15440 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
15450 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 ">136.372057</td
15460 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
15470 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e d>VIA MARGARITON
15480 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
15490 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
154a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
154b0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
154c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
154d0 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 gn="right">5</td
154e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
154f0 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">2</td><td>Lin
15500 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
15510 22 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c 2f "right">219171</
15520 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15530 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e ght">178880</td>
15540 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
15550 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 ">178732</td><td
15560 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 align="right">9
15570 33 2e 32 38 35 35 33 38 3c 2f 74 64 3e 3c 74 64 3.285538</td><td
15580 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
15590 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 A FRANCESCO CRIS
155a0 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a PI</td>..</tr>..
155b0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
155c0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
155d0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
155e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
155f0 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 ign="right">5</t
15600 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
15610 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">3</td><td>Li
15620 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
15630 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c ="right">219058<
15640 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
15650 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 ight">178732</td
15660 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
15670 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 t">178754</td><t
15680 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15690 31 34 38 2e 36 35 36 30 38 39 3c 2f 74 64 3e 3c 148.656089</td><
156a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
156b0 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 VIA FRANCESCO CR
156c0 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e ISPI</td>..</tr>
156d0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
156e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
156f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
15700 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
15710 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c align="right">5<
15720 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
15730 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e ight">0</td><td>
15740 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 Route</td><td>NU
15750 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
15760 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c ="right">178754<
15770 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
15780 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 ight">183882</td
15790 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
157a0 74 22 3e 31 38 38 2e 32 31 36 38 33 31 3c 2f 74 t">188.216831</t
157b0 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 30 d><td>BLOB sz=40
157c0 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 0 GEOMETRY</td><
157d0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
157e0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
157f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
15800 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
15810 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
15820 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15830 3e 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >6</td><td align
15840 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c ="right">1</td><
15850 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
15860 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
15870 34 35 33 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4538</td><td ali
15880 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 gn="right">17875
15890 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
158a0 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f "right">181972</
158b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
158c0 67 68 74 22 3e 35 30 2e 39 30 30 36 36 33 3c 2f ght">50.900663</
158d0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
158e0 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 <td>VIA ANTONIO
158f0 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d GUADAGNOLI</td>.
15900 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
15910 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
15920 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
15930 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
15940 64 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 d>..<td align="r
15950 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20 ight">6</td><td
15960 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
15970 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
15980 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
15990 74 22 3e 32 32 34 35 33 37 3c 2f 74 64 3e 3c 74 t">224537</td><t
159a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
159b0 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 181972</td><td a
159c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
159d0 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 000</td><td alig
159e0 6e 3d 22 72 69 67 68 74 22 3e 38 36 2e 33 30 31 n="right">86.301
159f0 30 35 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 051</td><td>NULL
15a00 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c </td><td>VIA DEL
15a10 20 4e 49 4e 46 45 4f 3c 2f 74 64 3e 0d 0a 3c 2f NINFEO</td>..</
15a20 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
15a30 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
15a40 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
15a50 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
15a60 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15a70 3e 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >6</td><td align
15a80 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
15a90 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
15aa0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
15ab0 35 35 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 5527</td><td ali
15ac0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 gn="right">18200
15ad0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
15ae0 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f "right">183882</
15af0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15b00 67 68 74 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f ght">51.015117</
15b10 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
15b20 3c 74 64 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45 <td>VIA LICIO NE
15b30 4e 43 45 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 NCETTI</td>..</t
15b40 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
15b50 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
15b60 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
15b70 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
15b80 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15b90 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
15ba0 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
15bb0 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
15bc0 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 NULL<td align="r
15bd0 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 ight">183882</td
15be0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
15bf0 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 t">178731</td><t
15c00 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15c10 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 154.750839</td><
15c20 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 td>BLOB sz=240 G
15c30 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e EOMETRY</td><td>
15c40 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
15c50 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
15c60 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
15c70 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
15c80 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
15c90 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c align="right">7<
15ca0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
15cb0 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e ight">1</td><td>
15cc0 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
15cd0 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 32 gn="right">22552
15ce0 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 7</td><td align=
15cf0 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f "right">183882</
15d00 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15d10 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e ght">182000</td>
15d20 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
15d30 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e ">51.015117</td>
15d40 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
15d50 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 >VIA LICIO NENCE
15d60 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d TTI</td>..</tr>.
15d70 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
15d80 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
15d90 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
15da0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
15db0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f lign="right">7</
15dc0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15dd0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c ght">2</td><td>L
15de0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
15df0 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 36 n="right">222636
15e00 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
15e10 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 right">182000</t
15e20 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
15e30 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
15e40 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15e50 3e 31 30 33 2e 37 33 35 37 32 32 3c 2f 74 64 3e >103.735722</td>
15e60 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
15e70 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 >VIA PIETRO ARET
15e80 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d INO</td>..</tr>.
15e90 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d .</table>..<br>.
15ea0 0a 4c 65 74 27 73 20 6e 6f 77 20 71 75 69 63 6b .Let's now quick
15eb0 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 ly examine the r
15ec0 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 esultset returne
15ed0 64 20 62 79 20 61 6e 79 20 54 53 50 20 71 75 65 d by any TSP que
15ee0 72 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 ry:..<ul>..<li>t
15ef0 68 65 20 67 65 6e 65 72 61 6c 20 6c 61 79 6f 75 he general layou
15f00 74 20 69 73 20 6d 6f 72 65 20 6f 72 20 6c 65 73 t is more or les
15f10 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 79 6f s the same as yo
15f20 75 27 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 u've already see
15f30 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 n in the case of
15f40 20 3c 62 3e 53 68 6f 72 74 65 73 74 50 61 74 68 <b>ShortestPath
15f50 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e 3c 2f 6c </b> queries.</l
15f60 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 i>..<li>the <b>f
15f70 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 irst row</b> of
15f80 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 69 73 the resultset is
15f90 20 73 6f 6d 65 77 61 79 20 65 78 63 65 70 74 69 someway excepti
15fa0 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74 68 65 onal, and is the
15fb0 20 6f 6e 6c 79 20 72 6f 77 20 6f 66 20 74 68 65 only row of the
15fc0 20 72 65 73 75 6c 74 73 65 74 20 70 72 65 73 65 resultset prese
15fd0 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c nting <b>NOT NUL
15fe0 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 69 6e 20 L</b> values in
15ff0 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d the <b>Algorithm
16000 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 </b>, <b>Request
16010 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 </b>, <b>Options
16020 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 6c 69 </b> and <b>Deli
16030 6d 69 74 65 72 3c 2f 62 3e 20 63 6f 6c 75 6d 6e miter</b> column
16040 73 2e 3c 62 72 3e 0d 0a 49 74 20 63 6f 6e 74 61 s.<br>..It conta
16050 69 6e 73 20 74 68 65 20 3c 62 3e 54 53 50 20 73 ins the <b>TSP s
16060 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 61 73 20 61 olution</b> as a
16070 20 77 68 6f 6c 65 3a 20 63 6f 6c 75 6d 6e 20 3c whole: column <
16080 62 3e 43 6f 73 74 3c 2f 62 3e 20 69 73 20 74 68 b>Cost</b> is th
16090 65 20 3c 75 3e 74 6f 74 61 6c 20 63 6f 73 74 3c e <u>total cost<
160a0 2f 75 3e 20 61 6e 64 20 63 6f 6c 75 6d 6e 20 3c /u> and column <
160b0 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 69 b>Geometry</b> i
160c0 73 20 74 68 65 20 3c 75 3e 6f 76 65 72 61 6c 6c s the <u>overall
160d0 20 73 6f 6c 75 74 69 6f 6e 20 70 61 74 68 3c 2f solution path</
160e0 75 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f u>.</li>..<li>co
160f0 6c 75 6d 6e 73 20 3c 62 3e 52 6f 75 74 65 49 64 lumns <b>RouteId
16100 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 52 6f 75 74 </b> and <b>Rout
16110 65 52 6f 77 3c 2f 62 3e 20 68 61 76 65 20 74 68 eRow</b> have th
16120 65 20 73 61 6d 65 20 69 6e 74 65 72 70 72 65 74 e same interpret
16130 61 74 69 6f 6e 20 61 73 20 69 6e 20 3c 62 3e 6d ation as in <b>m
16140 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e ulti-destination
16150 20 53 68 6f 72 74 65 73 74 50 61 74 68 3c 2f 62 ShortestPath</b
16160 3e 20 71 75 65 72 69 65 73 2c 20 62 75 74 20 69 > queries, but i
16170 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20 n this specific
16180 63 61 73 65 20 65 61 63 68 20 3c 75 3e 3c 69 3e case each <u><i>
16190 72 6f 75 74 65 3c 2f 69 3e 3c 2f 75 3e 20 63 6f route</i></u> co
161a0 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 20 63 rresponds to a c
161b0 6f 6e 6e 65 63 74 69 6f 6e 20 62 65 74 77 65 65 onnection betwee
161c0 6e 20 74 77 6f 20 3c 69 3e 3c 75 3e 63 69 74 69 n two <i><u>citi
161d0 65 73 3c 2f 75 3e 3c 2f 69 3e 2e 3c 62 72 3e 0d es</u></i>.<br>.
161e0 0a 41 6c 6c 20 3c 69 3e 3c 75 3e 72 6f 75 74 65 .All <i><u>route
161f0 73 3c 2f 75 3e 3c 2f 69 3e 20 61 72 65 20 6f 72 s</u></i> are or
16200 64 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c dered accordingl
16210 79 20 74 6f 20 74 68 65 20 72 75 6e 6e 69 6e 67 y to the running
16220 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 sequence of the
16230 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 20 3c TSP solution. <
16240 62 3e 52 6f 75 74 65 49 64 3d 30 3c 2f 62 3e 20 b>RouteId=0</b>
16250 69 64 65 6e 74 69 66 69 65 73 20 74 68 65 20 6f identifies the o
16260 76 65 72 61 6c 6c 20 54 53 50 20 73 6f 6c 75 74 verall TSP solut
16270 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e ion.</li>..</ul>
16280 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 <br><br>..<verba
16290 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 tim>..UPDATE byf
162a0 6f 6f 74 20 53 45 54 20 52 65 71 75 65 73 74 20 oot SET Request
162b0 3d 20 27 54 53 50 20 47 41 27 3b 0d 0a 0d 0a 53 = 'TSP GA';....S
162c0 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c ELECT Algorithm,
162d0 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e Request, Option
162e0 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f s, Delimiter, Ro
162f0 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c uteId, RouteRow,
16300 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 Role, LinkRowid
16310 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 , NodeFrom, Node
16320 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 To, Cost, Geomet
16330 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 ry, Name..FROM b
16340 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 yfoot..WHERE Nod
16350 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 eFrom = 178731 A
16360 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 ND NodeTo = '183
16370 32 38 36 2c 31 38 31 39 39 39 2c 31 38 34 30 33 286,181999,18403
16380 30 2c 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 0,183882,178754'
16390 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a ;..</verbatim>..
163a0 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 67 If you wish to g
163b0 65 74 20 61 20 3c 62 3e 54 53 50 20 47 41 3c 2f et a <b>TSP GA</
163c0 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 79 6f 75 20 b> solution you
163d0 73 69 6d 70 6c 65 20 68 61 76 65 20 74 6f 20 73 simple have to s
163e0 65 74 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 et <b>Request</b
163f0 3e 20 61 73 20 3c 62 3e 54 53 50 20 47 41 3c 2f > as <b>TSP GA</
16400 62 3e 3b 20 61 6e 64 20 79 6f 75 20 63 61 6e 20 b>; and you can
16410 73 65 74 20 61 67 61 69 6e 20 3c 62 3e 52 65 71 set again <b>Req
16420 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 uest</b> as <b>T
16430 53 50 3c 2f 62 3e 20 6f 72 20 3c 62 3e 54 53 50 SP</b> or <b>TSP
16440 20 4e 4e 3c 2f 62 3e 20 74 6f 20 72 65 76 65 72 NN</b> to rever
16450 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20 73 69 t back to the si
16460 6d 70 6c 65 72 20 2f 20 66 61 73 74 65 72 20 61 mpler / faster a
16470 6c 67 6f 72 69 74 68 6d 2e 0d 0a 3c 62 72 3e 0d lgorithm...<br>.
16480 0a 41 6c 73 6f 20 69 6e 20 74 68 65 20 63 61 73 .Also in the cas
16490 65 20 6f 66 20 54 53 50 20 79 6f 75 20 63 61 6e e of TSP you can
164a0 20 65 76 65 6e 74 75 61 6c 6c 79 20 61 63 74 69 eventually acti
164b0 76 61 74 65 20 74 68 65 20 3c 62 3e 4f 70 74 69 vate the <b>Opti
164c0 6f 6e 73 3c 2f 62 3e 20 61 6c 72 65 61 64 79 20 ons</b> already
164d0 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 74 68 65 explained in the
164e0 20 53 68 6f 72 74 65 73 74 50 61 74 68 20 65 78 ShortestPath ex
164f0 61 6d 70 6c 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e amples.<br>..<u>
16500 4e 6f 74 65 3c 2f 75 3e 3a 54 53 50 20 70 72 6f Note</u>:TSP pro
16510 62 6c 65 6d 73 20 77 69 6c 6c 20 61 6c 77 61 79 blems will alway
16520 73 20 69 6d 70 6c 79 20 75 73 69 6e 67 20 74 68 s imply using th
16530 65 20 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c e <b>Dijkstra's<
16540 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d 2c 20 65 /b> algorithm, e
16550 76 65 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 ven when the alt
16560 65 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f ernative <b>A*</
16570 62 3e 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 b> algorithm is
16580 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 currently select
16590 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d ed...<verbatim>.
165a0 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 .UPDATE byfoot S
165b0 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 ET Request = 'TS
165c0 50 27 2c 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e P', Options = 'N
165d0 4f 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c O LINKS';....SEL
165e0 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 ECT Algorithm, R
165f0 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c equest, Options,
16600 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 Delimiter, Rout
16610 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 eId, RouteRow, R
16620 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 ole, LinkRowid,
16630 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f NodeFrom, NodeTo
16640 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 , Cost, Geometry
16650 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 , Name..FROM byf
16660 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 oot..WHERE NodeF
16670 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 rom = 178731 AND
16680 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 NodeTo = '18328
16690 36 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 6,181999,184030,
166a0 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 183882,178754';.
166b0 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 .</verbatim>..Th
166c0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c e following tabl
166d0 65 20 73 68 6f 77 73 20 61 20 70 61 72 74 69 61 e shows a partia
166e0 6c 20 72 65 73 75 6c 74 73 65 74 20 74 68 61 74 l resultset that
166f0 20 69 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 is returned by
16700 74 68 65 20 73 61 6d 65 20 54 53 50 20 71 75 65 the same TSP que
16710 72 79 20 75 73 65 64 20 69 6e 20 74 68 65 20 70 ry used in the p
16720 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 revious example
16730 61 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74 after enabling t
16740 68 65 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f he <b>NO LINKS</
16750 62 3e 20 6f 70 74 69 6f 6e 2e 20 3c 62 72 3e 3c b> option. <br><
16760 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 br>..<table bord
16770 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 er="1" bgcolor="
16780 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 #ffffcf" cellspa
16790 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 cing="4" cellpad
167a0 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c ding="6">..<tr><
167b0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
167c0 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 0a0">Algorithm</
167d0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
167e0 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 #d0d0a0">Request
167f0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
16800 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f ="#d0d0a0">Optio
16810 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ns</th><th bgcol
16820 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c or="#d0d0a0">Del
16830 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 imiter</th><th b
16840 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
16850 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 >RouteId</th><th
16860 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
16870 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 0">RouteRow</th>
16880 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
16890 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c d0a0">Role</th><
168a0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
168b0 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 0a0">LinkRowid</
168c0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
168d0 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f #d0d0a0">NodeFro
168e0 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f m</th><th bgcolo
168f0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
16900 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c To</th><th bgcol
16910 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 or="#d0d0a0">Cos
16920 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
16930 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d r="#d0d0a0">Geom
16940 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 etry</th><th bgc
16950 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
16960 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c ame</th></tr>..<
16970 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 tr>..<td>Dijkstr
16980 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e a</td><td>TSP NN
16990 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b </td><td>No Link
169a0 73 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 s</td><td>, [
169b0 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 ;dec=44, hex=2c&
169c0 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 #93;</td><td ali
169d0 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
169e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
169f0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 t">0</td><td>TSP
16a00 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 Solution</td><t
16a10 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
16a20 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
16a30 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
16a40 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
16a50 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
16a60 72 69 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39 right">1254.4339
16a70 33 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 33</td><td>BLOB
16a80 73 7a 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59 sz=2000 GEOMETRY
16a90 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
16aa0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
16ab0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
16ac0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
16ad0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
16ae0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
16af0 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">1</td><td alig
16b00 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
16b10 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
16b20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
16b30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
16b40 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
16b50 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 n="right">184030
16b60 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
16b70 72 69 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 right">176.36475
16b80 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 5</td><td>BLOB s
16b90 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f z=304 GEOMETRY</
16ba0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
16bb0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
16bc0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
16bd0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
16be0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 L</td><td>NULL<t
16bf0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
16c00 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
16c10 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
16c20 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
16c30 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
16c40 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 gn="right">18403
16c50 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
16c60 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f "right">181999</
16c70 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
16c80 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33 38 3c ght">139.114938<
16c90 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
16ca0 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 496 GEOMETRY</td
16cb0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
16cc0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
16cd0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
16ce0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
16cf0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
16d00 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
16d10 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">3</td><td ali
16d20 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
16d30 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c ><td>Route</td><
16d40 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
16d50 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
16d60 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1999</td><td ali
16d70 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 gn="right">18328
16d80 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
16d90 22 72 69 67 68 74 22 3e 32 31 37 2e 36 37 32 38 "right">217.6728
16da0 38 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 85</td><td>BLOB
16db0 73 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 3c sz=688 GEOMETRY<
16dc0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
16dd0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
16de0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
16df0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
16e00 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
16e10 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
16e20 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 ight">4</td><td
16e30 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
16e40 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 /td><td>Route</t
16e50 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
16e60 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16e70 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
16e80 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
16e90 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8754</td><td ali
16ea0 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 gn="right">378.3
16eb0 31 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 13684</td><td>BL
16ec0 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 OB sz=272 GEOMET
16ed0 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c RY</td><td>NULL<
16ee0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
16ef0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
16f00 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
16f10 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
16f20 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
16f30 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c ="right">5</td><
16f40 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16f50 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
16f60 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
16f70 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
16f80 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c ht">178754</td><
16f90 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16fa0 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 >183882</td><td
16fb0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
16fc0 38 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 8.216831</td><td
16fd0 3e 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f >BLOB sz=400 GEO
16fe0 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 METRY</td><td>NU
16ff0 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
17000 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
17010 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
17020 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
17030 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
17040 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 ign="right">6</t
17050 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
17060 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
17070 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
17080 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
17090 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 right">183882</t
170a0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
170b0 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
170c0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
170d0 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e >154.750839</td>
170e0 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 <td>BLOB sz=240
170f0 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 GEOMETRY</td><td
17100 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
17110 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 >..</table>..<br
17120 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d ><br><br>..The m
17130 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63 ap below graphic
17140 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 70 ally shows the p
17150 72 65 76 69 6f 75 73 20 3c 62 3e 54 53 50 3c 2f revious <b>TSP</
17160 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 b> queries...<br
17170 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d ><br>..<img src=
17180 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
17190 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
171a0 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f ns/routing-figs/
171b0 74 73 70 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 tsp1.jpg" alt="f
171c0 69 67 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 ig4">..<ul>..<li
171d0 3e 52 65 64 20 73 74 61 72 3a 20 74 68 65 20 3c >Red star: the <
171e0 75 3e 3c 69 3e 62 61 73 65 2d 63 69 74 79 3c 2f u><i>base-city</
171f0 69 3e 3c 2f 75 3e 20 28 66 72 6f 6d 20 77 68 65 i></u> (from whe
17200 72 65 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c re the <u><i>sal
17210 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 62 esman</i></u>) b
17220 65 67 69 6e 73 20 68 69 73 2f 68 65 72 20 74 72 egins his/her tr
17230 69 70 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 ip.</li>..<li>Gr
17240 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 3c 75 een dots: the <u
17250 3e 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 3c 2f ><i>cities</i></
17260 75 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 u> to be visited
17270 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c .</li>..<li>Yell
17280 6f 77 20 6c 69 6e 65 3a 20 74 68 65 20 54 53 50 ow line: the TSP
17290 20 73 6f 6c 75 74 69 6f 6e 20 28 74 68 61 74 20 solution (that
172a0 69 73 20 61 6c 77 61 79 73 20 61 20 63 69 72 63 is always a circ
172b0 75 6c 61 72 20 70 61 74 68 29 2e 3c 2f 6c 69 3e ular path).</li>
172c0 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 ..</ul><br>..<ta
172d0 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 ble bgcolor="#ff
172e0 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e b060" cellspacin
172f0 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 g="10" cellpaddi
17300 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d ng="6"><tr><td>.
17310 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f .<h3>Warning: ho
17320 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 68 w to correctly h
17330 61 6e 64 6c 69 6e 67 20 54 53 50 20 72 65 73 75 andling TSP resu
17340 6c 74 73 65 74 73 20 77 69 74 68 20 73 70 61 74 ltsets with spat
17350 69 61 6c 69 74 65 5f 67 75 69 3c 2f 68 33 3e 0d ialite_gui</h3>.
17360 0a 59 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 65 .You should neve
17370 72 20 66 6f 72 67 65 74 20 6f 72 20 6f 76 65 72 r forget or over
17380 6c 6f 6f 6b 20 74 68 61 74 20 62 6f 74 68 20 3c look that both <
17390 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 61 6e 64 b>TSP NN</b> and
173a0 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 61 <b>TSP GA</b> a
173b0 72 65 20 3c 75 3e 3c 69 3e 68 65 75 72 69 73 74 re <u><i>heurist
173c0 69 63 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 69 ic algorithms</i
173d0 3e 3c 2f 75 3e 20 68 65 61 76 69 6c 79 20 72 65 ></u> heavily re
173e0 6c 79 69 6e 67 20 6f 6e 20 3c 75 3e 3c 69 3e 72 lying on <u><i>r
173f0 61 6e 64 6f 6d 3c 69 3e 3c 2f 75 3e 20 63 68 6f andom<i></u> cho
17400 69 63 65 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 ices.<br>..This
17410 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 68 61 76 could easily hav
17420 65 20 74 68 65 20 70 72 61 63 74 69 63 61 6c 20 e the practical
17430 63 6f 6e 73 65 71 75 65 6e 63 65 20 74 68 61 74 consequence that
17440 20 72 65 73 6f 6c 76 69 6e 67 20 74 77 69 63 65 resolving twice
17450 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20 74 (or even more t
17460 69 6d 65 73 29 20 74 68 65 20 73 61 6d 65 20 69 imes) the same i
17470 64 65 6e 74 69 63 61 6c 20 54 53 50 20 71 75 65 dentical TSP que
17480 72 79 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 ry could eventua
17490 6c 6c 79 20 72 65 74 75 72 6e 20 64 69 66 66 65 lly return diffe
174a0 72 65 6e 74 20 72 65 73 75 6c 74 73 65 74 73 2e rent resultsets.
174b0 3c 62 72 3e 0d 0a 54 68 65 72 65 20 69 73 20 6e <br>..There is n
174c0 6f 74 68 69 6e 67 20 69 6e 74 72 69 6e 73 69 63 othing intrinsic
174d0 61 6c 6c 79 20 77 72 6f 6e 67 20 69 6e 20 74 68 ally wrong in th
174e0 69 73 2c 20 69 74 20 73 69 6d 70 6c 79 20 69 73 is, it simply is
174f0 20 61 20 64 69 72 65 63 74 20 63 6f 6e 73 65 71 a direct conseq
17500 75 65 6e 63 65 20 6f 66 20 75 73 69 6e 67 20 3c uence of using <
17510 75 3e 3c 69 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c u><i>randomness<
17520 2f 69 3e 3c 2f 75 3e 3b 20 77 65 20 61 72 65 20 /i></u>; we are
17530 73 69 6d 70 6c 79 20 62 61 72 67 61 69 6e 69 6e simply bargainin
17540 67 20 3c 62 3e 65 78 61 63 74 6e 65 73 73 3c 2f g <b>exactness</
17550 62 3e 20 61 6e 64 20 3c 62 3e 72 65 70 72 6f 64 b> and <b>reprod
17560 75 63 69 62 69 6c 69 74 79 3c 2f 62 3e 20 66 6f ucibility</b> fo
17570 72 20 3c 62 3e 71 75 69 63 6b 6e 65 73 73 3c 2f r <b>quickness</
17580 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e b>.<br><br>..<b>
17590 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f spatialite_gui</
175a0 62 3e 20 6f 6e 20 69 74 73 20 6f 77 6e 20 61 64 b> on its own ad
175b0 6f 70 74 73 20 61 20 3c 62 3e 70 61 67 65 64 20 opts a <b>paged
175c0 73 74 72 61 74 65 67 79 3c 2f 62 3e 20 77 68 65 strategy</b> whe
175d0 6e 20 73 68 6f 77 69 6e 67 20 68 75 67 65 20 72 n showing huge r
175e0 65 73 75 6c 74 73 65 74 73 3b 20 74 68 69 73 20 esultsets; this
175f0 72 65 71 75 69 72 65 73 20 72 65 70 65 61 74 69 requires repeati
17600 6e 67 20 74 68 65 20 69 6e 69 74 69 61 6c 20 53 ng the initial S
17610 51 4c 20 71 75 65 72 79 20 65 61 63 68 20 74 69 QL query each ti
17620 6d 65 20 74 68 61 74 20 61 20 3c 62 3e 6e 65 77 me that a <b>new
17630 20 70 61 67 65 20 6f 66 20 35 30 30 20 72 6f 77 page of 500 row
17640 73 3c 2f 62 3e 20 68 61 73 20 74 6f 20 62 65 20 s</b> has to be
17650 73 68 6f 77 6e 20 6f 6e 20 74 68 65 20 63 75 72 shown on the cur
17660 72 65 6e 74 20 77 69 6e 64 6f 77 20 70 61 6e 65 rent window pane
17670 6c 2e 3c 62 72 3e 0d 0a 54 68 65 73 65 20 74 77 l.<br>..These tw
17680 6f 20 74 68 69 6e 67 73 20 64 6f 6e 27 74 20 67 o things don't g
17690 6f 20 74 6f 67 65 74 68 65 72 20 77 65 6c 6c 3b o together well;
176a0 20 73 6f 20 64 6f 6e 27 74 20 62 65 20 73 75 72 so don't be sur
176b0 70 72 69 73 65 64 20 77 68 65 6e 20 65 76 65 6e prised when even
176c0 74 75 61 6c 6c 79 20 64 69 73 63 6f 76 65 72 69 tually discoveri
176d0 6e 67 20 74 68 61 74 20 3c 62 3e 73 70 61 74 69 ng that <b>spati
176e0 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 77 69 alite_gui</b> wi
176f0 6c 6c 20 62 65 68 61 76 65 20 62 69 7a 61 72 72 ll behave bizarr
17700 65 6c 79 20 77 68 69 6c 65 20 70 72 65 73 65 6e ely while presen
17710 74 69 6e 67 20 73 6f 6d 65 20 72 65 73 75 6c 74 ting some result
17720 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 set returned by
17730 61 20 54 53 50 20 71 75 65 72 79 2e 20 0d 0a 3c a TSP query. ..<
17740 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 verbatim>..UPDAT
17750 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65 71 E byfoot SET Req
17760 75 65 73 74 20 3d 20 27 54 53 50 27 3b 0d 0a 0d uest = 'TSP';...
17770 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20 6d 79 .CREATE TABLE my
17780 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 41 53 _tsp_solution AS
17790 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 ..SELECT Algorit
177a0 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 hm, Request, Opt
177b0 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c ions, Delimiter,
177c0 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 RouteId, RouteR
177d0 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f ow, Role, LinkRo
177e0 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e wid, NodeFrom, N
177f0 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f odeTo, Cost, Geo
17800 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f metry, Name..FRO
17810 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 M byfoot..WHERE
17820 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 NodeFrom = 17873
17830 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 1 AND NodeTo = '
17840 31 38 33 32 38 36 2c 31 38 31 39 39 39 2c 31 38 183286,181999,18
17850 34 30 33 30 2c 31 38 33 38 38 32 2c 31 37 38 37 4030,183882,1787
17860 35 34 27 3b 0d 0a 0d 0a 2e 2e 2e 20 20 3c 6e 6f 54';....... <no
17870 77 20 71 75 65 72 79 20 22 6d 79 5f 74 73 70 5f w query "my_tsp_
17880 73 6f 6c 75 74 69 6f 6e 22 20 75 73 69 6e 67 20 solution" using
17890 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3e 20 spatialite_gui>
178a0 20 2e 2e 2e 0d 0a 0d 0a 44 52 4f 50 20 54 41 42 .......DROP TAB
178b0 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 LE my_tsp_soluti
178c0 6f 6e 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e on;..</verbatim>
178d0 0d 0a 3c 75 3e 48 69 6e 74 3c 2f 75 3e 3a 20 72 ..<u>Hint</u>: r
178e0 65 73 6f 6c 76 69 6e 67 20 74 68 69 73 20 70 75 esolving this pu
178f0 7a 7a 6c 69 6e 67 20 69 73 73 75 65 20 69 73 20 zzling issue is
17900 68 6f 77 65 76 65 72 20 62 61 73 69 63 61 6c 6c however basicall
17910 79 20 73 69 6d 70 6c 65 3a 0d 0a 3c 6f 6c 3e 0d y simple:..<ol>.
17920 0a 3c 6c 69 3e 79 6f 75 20 73 69 6d 70 6c 79 20 .<li>you simply
17930 68 61 76 65 20 74 6f 20 74 61 6b 65 20 61 20 3c have to take a <
17940 62 3e 73 74 61 74 69 63 20 73 6e 61 70 73 68 6f b>static snapsho
17950 74 3c 2f 62 3e 20 6f 66 20 79 6f 75 72 20 54 53 t</b> of your TS
17960 50 20 72 65 73 75 6c 74 73 65 74 20 62 79 20 75 P resultset by u
17970 73 69 6e 67 20 74 68 65 20 3c 62 3e 43 52 45 41 sing the <b>CREA
17980 54 45 20 54 41 42 4c 45 20 3c 69 3e 6e 61 6d 65 TE TABLE <i>name
17990 3c 2f 69 3e 20 41 53 20 3c 69 3e 54 53 50 20 71 </i> AS <i>TSP q
179a0 75 65 72 79 3c 69 3e 3c 2f 62 3e 2e 3c 2f 6c 69 uery<i></b>.</li
179b0 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 79 6f 75 20 >..<li>then you
179c0 63 61 6e 20 66 72 65 65 6c 79 20 65 78 61 6d 69 can freely exami
179d0 6e 65 20 74 68 65 20 61 62 6f 76 65 20 73 6e 61 ne the above sna
179e0 70 73 68 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 pshot.</li>..<li
179f0 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20 79 6f 75 >and finally you
17a00 20 63 61 6e 20 64 75 6c 79 20 3c 62 3e 44 52 4f can duly <b>DRO
17a10 50 3c 2f 62 3e 20 74 68 65 20 73 6e 61 70 73 68 P</b> the snapsh
17a20 6f 74 20 6f 6e 63 65 20 69 74 27 73 20 6e 6f 20 ot once it's no
17a30 6c 6f 6e 67 65 72 20 75 73 65 66 75 6c 2e 20 28 longer useful. (
17a40 6f 72 20 75 73 65 20 3c 62 3e 43 52 45 41 54 45 or use <b>CREATE
17a50 20 54 45 4d 50 4f 52 41 52 59 20 54 41 42 4c 45 TEMPORARY TABLE
17a60 20 6e 61 6d 65 20 41 53 20 3c 69 3e 54 53 50 20 name AS <i>TSP
17a70 71 75 65 72 79 3c 2f 69 3e 3c 2f 62 3e 2c 20 77 query</i></b>, w
17a80 68 65 72 65 20 74 68 65 20 54 41 42 4c 45 20 77 here the TABLE w
17a90 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 61 ill be removed a
17aa0 74 20 74 68 65 20 73 65 73 73 69 6f 6e 20 65 6e t the session en
17ab0 64 29 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a d)</li>..</ol>..
17ac0 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 </td></tr>..</ta
17ad0 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 ble>..<br>..<tab
17ae0 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 le bgcolor="#c0f
17af0 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 fc0" cellspacing
17b00 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e ="10" cellpaddin
17b10 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a g="6"><tr><td>..
17b20 3c 68 33 3e 4d 6f 72 65 20 61 62 6f 75 74 20 4c <h3>More about L
17b30 69 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e inear Referencin
17b40 67 20 61 6e 64 20 56 69 72 74 75 61 6c 52 6f 75 g and VirtualRou
17b50 74 69 6e 67 20 4c 69 6e 65 73 74 72 69 6e 67 73 ting Linestrings
17b60 3c 2f 68 33 3e 20 0d 0a 59 6f 75 20 68 61 76 65 </h3> ..You have
17b70 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e already seen in
17b80 20 61 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d a previous exam
17b90 70 6c 65 20 74 68 61 74 20 61 6c 6c 20 4c 49 4e ple that all LIN
17ba0 45 53 54 52 49 4e 47 73 20 63 72 65 61 74 65 64 ESTRINGs created
17bb0 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 by VirtualRouti
17bc0 6e 67 20 73 75 70 70 6f 72 74 20 74 68 65 20 3c ng support the <
17bd0 62 3e 4d 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e 6d b>M</b> (<b><i>m
17be0 65 61 73 75 72 65 3c 2f 69 3e 3c 2f 62 3e 29 20 easure</i></b>)
17bf0 63 6f 6f 72 64 69 6e 61 74 65 20 69 6e 74 65 6e coordinate inten
17c00 64 65 64 20 61 73 20 61 20 3c 62 3e 70 72 6f 67 ded as a <b>prog
17c10 72 65 73 73 69 76 65 20 63 6f 73 74 3c 2f 62 3e ressive cost</b>
17c20 20 66 6f 72 20 65 61 63 68 20 76 65 72 74 65 78 for each vertex
17c30 2e 20 41 6e 64 20 79 6f 75 20 61 6c 72 65 61 64 . And you alread
17c40 79 20 6b 6e 6f 77 20 74 68 65 20 74 68 65 79 20 y know the they
17c50 63 61 6e 20 73 75 70 70 6f 72 74 20 3c 62 3e 3c can support <b><
17c60 69 3e 6c 69 6e 65 61 72 20 72 65 66 65 72 65 6e i>linear referen
17c70 63 69 6e 67 3c 2f 69 3e 3c 2f 62 3e 20 28 3c 62 cing</i></b> (<b
17c80 3e 4c 52 3c 2f 62 3e 29 20 53 51 4c 20 66 75 6e >LR</b>) SQL fun
17c90 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 4e 6f 77 ctions.<br>..Now
17ca0 20 6c 65 74 27 73 20 64 69 67 20 69 6e 20 66 75 let's dig in fu
17cb0 72 74 68 65 72 2e 0d 0a 3c 68 33 3e 54 72 61 6a rther...<h3>Traj
17cc0 65 63 74 6f 72 79 20 6f 62 6a 65 63 74 73 3c 2f ectory objects</
17cd0 68 33 3e 0d 0a 41 20 3c 62 3e 54 72 61 6a 65 63 h3>..A <b>Trajec
17ce0 74 6f 72 79 3c 2f 62 3e 20 69 73 20 61 6e 79 20 tory</b> is any
17cf0 4c 69 6e 65 73 74 72 69 6e 67 20 73 75 70 70 6f Linestring suppo
17d00 72 74 69 6e 67 20 3c 62 3e 4d 20 63 6f 6f 72 64 rting <b>M coord
17d10 69 6e 61 74 65 73 3c 2f 62 3e 20 77 69 74 68 20 inates</b> with
17d20 61 20 63 6f 6e 74 69 6e 75 6f 75 73 6c 79 20 69 a continuously i
17d30 6e 63 72 65 61 73 69 6e 67 20 74 72 65 6e 64 2e ncreasing trend.
17d40 3c 62 72 3e 0d 0a 49 6e 20 73 69 6d 70 6c 65 72 <br>..In simpler
17d50 20 77 6f 72 64 73 2c 20 74 68 65 20 3c 62 3e 4d words, the <b>M
17d60 2d 76 61 6c 75 65 3c 2f 62 3e 20 6f 66 20 65 61 -value</b> of ea
17d70 63 68 20 76 65 72 74 65 78 20 28 65 78 63 65 70 ch vertex (excep
17d80 74 20 74 68 65 20 6c 61 73 74 20 6f 6e 65 29 20 t the last one)
17d90 6d 75 73 74 20 62 65 20 3c 62 3e 6c 65 73 73 65 must be <b>lesse
17da0 72 3c 2f 62 3e 20 74 68 61 6e 20 74 68 65 20 4d r</b> than the M
17db0 2d 56 61 6c 75 65 20 6f 66 20 74 68 65 20 6e 65 -Value of the ne
17dc0 78 74 20 76 65 72 74 65 78 2e 0d 0a 3c 76 65 72 xt vertex...<ver
17dd0 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a batim>..SELECT *
17de0 20 46 52 4f 4d 20 6d 79 5f 74 73 70 5f 73 6f 6c FROM my_tsp_sol
17df0 75 74 69 6f 6e 20 57 48 45 52 45 20 53 54 5f 49 ution WHERE ST_I
17e00 73 56 61 6c 69 64 54 72 61 6a 65 63 74 6f 72 79 sValidTrajectory
17e10 28 67 65 6f 6d 65 74 72 79 29 20 3d 20 31 3b 0d (geometry) = 1;.
17e20 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
17e30 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 ----..1..</verba
17e40 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e tim>..As you can
17e50 20 65 61 73 69 6c 79 20 63 68 65 63 6b 20 62 79 easily check by
17e60 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53 54 5f 49 calling <b>ST_I
17e70 73 56 61 6c 69 64 54 72 61 6a 65 63 74 6f 72 79 sValidTrajectory
17e80 28 29 3c 2f 62 3e 20 65 76 65 72 79 20 4c 69 6e ()</b> every Lin
17e90 65 73 74 72 69 6e 67 20 63 72 65 61 74 65 64 20 estring created
17ea0 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e by VirtualRoutin
17eb0 67 20 69 73 20 61 20 3c 62 3e 76 61 6c 69 64 20 g is a <b>valid
17ec0 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62 3e 2e 0d Trajectory</b>..
17ed0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
17ee0 45 43 54 20 53 54 5f 54 72 61 6a 65 63 74 6f 72 ECT ST_Trajector
17ef0 79 49 6e 74 65 72 70 6f 6c 61 74 65 50 6f 69 6e yInterpolatePoin
17f00 74 28 47 65 6f 6d 65 74 72 79 2c 20 31 30 30 2e t(Geometry, 100.
17f10 30 29 0d 0a 46 52 4f 4d 20 6d 79 5f 74 73 70 5f 0)..FROM my_tsp_
17f20 73 6f 6c 75 74 69 6f 6e 0d 0a 57 48 45 52 45 20 solution..WHERE
17f30 52 6f 75 74 65 49 64 20 3d 20 30 3b 0d 0a 3c 2f RouteId = 0;..</
17f40 76 65 72 62 61 74 69 6d 3e 0d 0a 53 6f 20 79 6f verbatim>..So yo
17f50 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 63 u just have to c
17f60 61 6c 6c 20 3c 62 3e 53 54 5f 54 72 61 6a 65 63 all <b>ST_Trajec
17f70 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61 74 65 50 toryInterpolateP
17f80 6f 69 6e 74 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 oint()</b> in or
17f90 64 65 72 20 74 6f 20 63 72 65 61 74 65 20 61 20 der to create a
17fa0 50 4f 49 4e 54 20 70 72 65 63 69 73 65 6c 79 20 POINT precisely
17fb0 6c 6f 63 61 74 65 64 20 6f 6e 20 74 68 65 20 4c located on the L
17fc0 69 6e 65 73 74 72 69 6e 67 20 61 74 20 74 68 65 inestring at the
17fd0 20 67 69 76 65 6e 20 3c 62 3e 63 6f 73 74 3c 2f given <b>cost</
17fe0 62 3e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 68 72 b>...<br><br><hr
17ff0 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 73 ><br><br>..The s
18000 69 64 65 20 6d 61 70 20 67 72 61 70 68 69 63 61 ide map graphica
18010 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 65 73 lly shows the es
18020 74 69 6d 61 74 65 64 20 70 6f 73 69 74 69 6f 6e timated position
18030 73 20 65 76 65 72 79 20 31 30 30 6d 20 61 73 73 s every 100m ass
18040 75 6d 69 6e 67 20 74 68 65 20 73 61 6d 65 20 70 uming the same p
18050 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 79 20 ath returned by
18060 74 68 65 20 6c 61 74 65 73 74 20 54 53 50 20 71 the latest TSP q
18070 75 65 72 79 2e 0d 0a 3c 2f 74 64 3e 3c 74 64 3e uery...</td><td>
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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
207a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
207b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
207c0 20 20 20 20 20 20 20 0d 0a 3c 69 6d 67 20 73 72 ..<img sr
207d0 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 c="https://www.g
207e0 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d aia-gis.it/gaia-
207f0 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 sins/routing-fig
20800 73 2f 74 73 70 32 2e 6a 70 67 22 20 61 6c 74 3d s/tsp2.jpg" alt=
20810 22 66 69 67 35 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f "fig5">..</td></
20820 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 tr></table>..<br
20830 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d ><br>..<hr><br>.
20840 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 70 32 .<h1><a name="p2
20850 70 22 3e 38 20 2d 20 53 6f 6c 76 69 6e 67 20 50 p">8 - Solving P
20860 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 70 72 oint-to-Point pr
20870 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d oblems</a></h1>.
20880 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 .A <b>Point-to-P
20890 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79 20 69 oint</b> query i
208a0 73 20 76 65 72 79 20 73 69 6d 69 6c 61 72 20 74 s very similar t
208b0 6f 20 61 20 6d 6f 73 74 20 75 73 75 61 6c 20 3c o a most usual <
208c0 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 b>single-destina
208d0 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 tion Shortest Pa
208e0 74 68 3c 2f 62 3e 20 71 75 65 72 79 2c 20 65 78 th</b> query, ex
208f0 63 65 70 74 20 74 68 61 74 3a 0d 0a 3c 75 6c 3e cept that:..<ul>
20900 0d 0a 3c 6c 69 3e 41 20 63 6c 61 73 73 69 63 20 ..<li>A classic
20910 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 Shortest Path qu
20920 65 72 79 20 72 65 71 75 69 72 65 73 20 74 6f 20 ery requires to
20930 73 70 65 63 69 66 79 20 61 20 3c 62 3e 4e 6f 64 specify a <b>Nod
20940 65 46 72 6f 6d 3c 2f 62 3e 20 28 3c 75 3e 3c 69 eFrom</b> (<u><i
20950 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 29 >origin</i></u>)
20960 20 61 6e 64 20 61 20 3c 62 3e 4e 6f 64 65 54 6f and a <b>NodeTo
20970 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 64 65 73 74 </b> (<u><i>dest
20980 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 29 ination</i></u>)
20990 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 50 6f .</li>..<li>A Po
209a0 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 int-to-Point que
209b0 72 79 20 68 61 73 20 61 20 6d 6f 72 65 20 72 65 ry has a more re
209c0 6c 61 78 65 64 20 72 65 71 75 69 72 65 6d 65 6e laxed requiremen
209d0 74 2c 20 61 6e 64 20 6a 75 73 74 20 72 65 71 75 t, and just requ
209e0 69 72 65 73 20 74 6f 20 73 70 65 63 69 66 79 20 ires to specify
209f0 61 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f a <b>PointFrom</
20a00 62 3e 20 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e b> (<u><i>origin
20a10 3c 2f 69 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 20 </i></u>) and a
20a20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 28 <b>PointTo</b> (
20a30 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f <u><i>destinatio
20a40 6e 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c 62 72 3e 0d n</i></u>).<br>.
20a50 0a 42 6f 74 68 20 3c 62 3e 50 6f 69 6e 74 73 3c .Both <b>Points<
20a60 2f 62 3e 20 63 61 6e 20 62 65 20 66 72 65 65 6c /b> can be freel
20a70 79 20 70 6f 73 69 74 69 6f 6e 65 64 20 65 76 65 y positioned eve
20a80 72 79 77 68 65 72 65 20 6f 6e 20 61 20 6d 61 70 rywhere on a map
20a90 2c 20 61 6e 64 20 61 72 65 20 6e 6f 74 20 72 65 , and are not re
20aa0 71 75 69 72 65 64 20 74 6f 20 70 72 65 63 69 73 quired to precis
20ab0 65 6c 79 20 69 6e 74 65 72 73 65 63 74 20 65 69 ely intersect ei
20ac0 74 68 65 72 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f ther a <b>Node</
20ad0 62 3e 20 6e 6f 72 20 61 20 3c 62 3e 4c 69 6e 6b b> nor a <b>Link
20ae0 3c 2f 62 3e 20 6f 66 20 74 68 65 20 75 6e 64 65 </b> of the unde
20af0 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e rlaying Network.
20b00 3c 62 72 3e 0d 0a 54 68 65 20 50 6f 69 6e 74 2d <br>..The Point-
20b10 74 6f 2d 50 6f 69 6e 74 27 73 20 3c 75 3e 3c 69 to-Point's <u><i
20b20 3e 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69 63 3c >internal logic<
20b30 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c 20 74 68 65 /i></u> will the
20b40 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 n automatically
20b50 69 64 65 6e 74 69 66 79 20 28 69 66 20 70 6f 73 identify (if pos
20b60 73 69 62 6c 65 29 20 74 68 65 20 61 70 70 72 6f sible) the appro
20b70 70 72 69 61 74 65 20 4e 6f 64 65 73 20 66 6f 72 priate Nodes for
20b80 20 63 6f 6d 70 75 74 69 6e 67 20 61 20 53 68 6f computing a Sho
20b90 72 74 65 73 74 20 50 61 74 68 20 73 6f 6c 75 74 rtest Path solut
20ba0 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 ion.<br>..<u>Not
20bb0 65 3c 2f 75 3e 3a 20 74 68 65 20 74 77 6f 20 50 e</u>: the two P
20bc0 6f 69 6e 74 73 20 3c 62 3e 6d 75 73 74 3c 2f 62 oints <b>must</b
20bd0 3e 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 3c > use the same <
20be0 62 3e 53 52 49 44 3c 2f 62 3e 20 6f 66 20 74 68 b>SRID</b> of th
20bf0 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74 e underlying Net
20c00 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c work.</li>..</ul
20c10 3e 0d 0a 3c 68 33 3e 48 6f 77 20 69 74 20 77 6f >..<h3>How it wo
20c20 72 6b 73 20 69 6e 20 70 72 61 63 74 69 63 65 3c rks in practice<
20c30 2f 68 33 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e /h3>..<ol>..<li>
20c40 61 20 66 69 72 73 74 20 3c 75 3e 3c 69 3e 73 70 a first <u><i>sp
20c50 61 74 69 61 6c 20 73 65 61 72 63 68 3c 2f 69 3e atial search</i>
20c60 3c 2f 75 3e 20 62 61 73 65 64 20 6f 6e 20 74 68 </u> based on th
20c70 65 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f e <b>PointFrom</
20c80 62 3e 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 20 b> will attempt
20c90 74 6f 20 69 64 65 6e 74 69 66 79 20 61 6c 6c 20 to identify all
20ca0 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 66 61 6c <b>Links</b> fal
20cb0 6c 69 6e 67 20 77 69 74 68 69 6e 20 61 20 67 69 ling within a gi
20cc0 76 65 6e 20 3c 62 3e 74 6f 6c 65 72 61 6e 63 65 ven <b>tolerance
20cd0 20 72 61 64 69 75 73 3c 2f 62 3e 20 66 72 6f 6d radius</b> from
20ce0 20 74 68 65 20 50 6f 69 6e 74 2e 3c 2f 6c 69 3e the Point.</li>
20cf0 0d 0a 3c 6c 69 3e 61 20 73 65 63 6f 6e 64 20 73 ..<li>a second s
20d00 69 6d 69 6c 61 72 20 73 70 61 74 69 61 6c 20 73 imilar spatial s
20d10 65 61 72 63 68 20 77 69 6c 6c 20 61 74 74 65 6d earch will attem
20d20 70 74 20 74 6f 20 69 64 65 6e 74 69 66 79 20 61 pt to identify a
20d30 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 ll <b>Links</b>
20d40 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 3c related to the <
20d50 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c 2f b>PointTo</b>.</
20d60 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 3c 62 3e li>..<li>all <b>
20d70 4e 6f 64 65 73 3c 2f 62 3e 20 62 65 6c 6f 6e 67 Nodes</b> belong
20d80 69 6e 67 20 74 6f 20 61 6e 79 20 3c 62 3e 4c 69 ing to any <b>Li
20d90 6e 6b 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 nk</b> identifie
20da0 64 20 62 79 20 74 68 65 20 66 69 72 73 74 20 73 d by the first s
20db0 70 61 74 69 61 6c 20 73 65 61 72 63 68 20 77 69 patial search wi
20dc0 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 ll be considered
20dd0 20 61 73 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e as possible <b>
20de0 4e 6f 64 65 46 72 6f 6d 20 63 61 6e 64 69 64 61 NodeFrom candida
20df0 74 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c tes</b>.</li>..<
20e00 6c 69 3e 61 6e 64 20 73 79 6d 6d 65 74 72 69 63 li>and symmetric
20e10 61 6c 6c 79 2c 20 61 6c 6c 20 3c 62 3e 4e 6f 64 ally, all <b>Nod
20e20 65 73 3c 2f 62 3e 20 62 65 6c 6f 6e 67 69 6e 67 es</b> belonging
20e30 20 74 6f 20 61 6e 79 20 3c 62 3e 4c 69 6e 6b 3c to any <b>Link<
20e40 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 64 20 62 /b> identified b
20e50 79 20 74 68 65 20 73 65 63 6f 6e 64 20 73 70 61 y the second spa
20e60 74 69 61 6c 20 73 65 61 72 63 68 20 77 69 6c 6c tial search will
20e70 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 61 be considered a
20e80 73 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 4e 6f s possible <b>No
20e90 64 65 54 6f 20 63 61 6e 64 69 64 61 74 65 73 3c deTo candidates<
20ea0 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 /b>.</li>..<li>a
20eb0 20 66 75 6c 6c 20 70 65 72 6d 75 74 61 74 69 6f full permutatio
20ec0 6e 20 6f 66 20 61 6c 6c 20 53 68 6f 72 74 65 73 n of all Shortes
20ed0 74 20 50 61 74 68 20 73 6f 6c 75 74 69 6f 6e 73 t Path solutions
20ee0 20 63 6f 6e 6e 65 63 74 69 6e 67 20 6f 6e 65 20 connecting one
20ef0 74 68 65 20 46 72 6f 6d 20 63 61 6e 64 69 64 61 the From candida
20f00 74 65 73 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 tes to one of th
20f10 65 20 54 6f 20 63 61 6e 64 69 64 61 74 65 73 20 e To candidates
20f20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20 63 6f 6d will be then com
20f30 70 75 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 puted.</li>..<li
20f40 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20 74 68 65 >and finally the
20f50 20 3c 62 3e 6f 70 74 69 6d 61 6c 20 50 6f 69 6e <b>optimal Poin
20f60 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f 6c 75 74 t-to-Point solut
20f70 69 6f 6e 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 ion</b> will be
20f80 73 65 6c 65 63 74 65 64 20 62 79 20 69 64 65 6e selected by iden
20f90 74 69 66 79 69 6e 67 20 77 68 69 63 68 20 73 70 tifying which sp
20fa0 65 63 69 66 69 63 20 63 61 6e 64 69 64 61 74 65 ecific candidate
20fb0 20 70 72 65 73 65 6e 74 73 20 74 68 65 20 3c 62 presents the <b
20fc0 3e 6c 65 73 73 65 72 20 43 6f 73 74 3c 2f 62 3e >lesser Cost</b>
20fd0 20 6f 66 20 74 68 65 6d 20 61 6c 6c 2e 3c 2f 6c of them all.</l
20fe0 69 3e 0d 0a 3c 2f 6f 6c 3e 3c 62 72 3e 0d 0a 3c i>..</ol><br>..<
20ff0 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 table bgcolor="#
21000 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 ffb060" cellspac
21010 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 ing="10" cellpad
21020 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 ding="6"><tr><td
21030 3e 0d 0a 3c 68 33 3e 42 65 20 61 77 61 72 65 3c >..<h3>Be aware<
21040 2f 68 33 3e 0d 0a 41 74 74 65 6d 70 74 69 6e 67 /h3>..Attempting
21050 20 74 6f 20 73 6f 6c 76 65 20 50 6f 69 6e 74 2d to solve Point-
21060 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 to-Point queries
21070 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 72 strictly requir
21080 65 73 20 74 68 61 74 20 61 6e 20 61 70 70 72 6f es that an appro
21090 70 72 69 61 74 65 20 3c 62 3e 53 70 61 74 69 61 priate <b>Spatia
210a0 6c 20 49 6e 64 65 78 3c 2f 62 3e 20 74 6f 20 65 l Index</b> to e
210b0 66 66 65 63 74 69 76 65 6c 79 20 73 75 70 70 6f ffectively suppo
210c0 72 74 20 61 6c 6c 20 4c 69 6e 6b 73 20 6f 66 20 rt all Links of
210d0 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 the underlaying
210e0 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 49 66 Network.<br>..If
210f0 20 73 75 63 68 20 61 20 70 72 65 2d 72 65 71 75 such a pre-requ
21100 69 72 65 6d 65 6e 74 20 69 73 20 6e 6f 74 20 66 irement is not f
21110 75 6c 66 69 6c 6c 65 64 20 74 68 65 20 61 62 6f ulfilled the abo
21120 76 65 20 6d 65 6e 74 69 6f 6e 65 64 20 3c 75 3e ve mentioned <u>
21130 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61 72 63 <i>spatial searc
21140 68 65 73 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c hes</i></u> will
21150 20 66 61 69 6c 20 6d 69 73 65 72 61 62 6c 79 2c fail miserably,
21160 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c and consequentl
21170 79 20 61 6c 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 y all Point-to-P
21180 6f 69 6e 74 20 71 75 65 72 69 65 73 20 77 69 6c oint queries wil
21190 6c 20 62 65 20 75 6e 61 62 6c 65 20 74 6f 20 69 l be unable to i
211a0 64 65 6e 74 69 66 79 20 61 6e 79 20 70 6f 73 73 dentify any poss
211b0 69 62 6c 65 20 43 61 6e 64 69 64 61 74 65 20 74 ible Candidate t
211c0 6f 20 62 65 20 65 76 61 6c 75 61 74 65 64 2e 0d o be evaluated..
211d0 0a 3c 68 33 3e 41 6c 77 61 79 73 20 72 65 6d 65 .<h3>Always reme
211e0 6d 62 65 72 3c 2f 68 33 3e 0d 0a 43 61 72 65 66 mber</h3>..Caref
211f0 75 6c 6c 79 20 63 68 65 63 6b 20 69 66 20 61 6e ully check if an
21200 20 61 70 70 72 6f 70 72 69 61 74 65 20 53 70 61 appropriate Spa
21210 74 69 61 6c 20 49 6e 64 65 78 20 61 6c 6c 72 65 tial Index allre
21220 61 64 79 20 65 78 69 73 74 73 20 62 65 66 6f 72 ady exists befor
21230 65 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 e attempting to
21240 65 78 65 63 75 74 65 20 61 6e 79 20 50 6f 69 6e execute any Poin
21250 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79 t-to-Point query
21260 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 ...<br><br>..</t
21270 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d d></tr></table>.
21280 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 .<br>..<table bg
21290 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 color="#c0ffc0"
212a0 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 cellspacing="10"
212b0 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
212c0 3e 3c 74 72 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 ><tr><td align="
212d0 63 65 6e 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d center" colspan=
212e0 22 32 22 3e 0d 0a 3c 68 32 3e 42 61 73 69 63 20 "2">..<h2>Basic
212f0 63 6f 6e 63 65 70 74 73 2c 20 74 65 63 68 6e 69 concepts, techni
21300 63 61 6c 20 64 65 74 61 69 6c 73 20 61 6e 64 20 cal details and
21310 72 65 6c 61 74 65 64 20 67 6c 6f 73 73 61 72 79 related glossary
21320 3c 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 </h2>..</td></tr
21330 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 54 68 65 >..<tr><td>..The
21340 20 73 69 64 65 20 66 69 67 75 72 65 20 73 68 6f side figure sho
21350 77 73 20 61 20 68 79 70 6f 74 68 65 74 69 63 61 ws a hypothetica
21360 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 l Point-to-Point
21370 20 73 6f 6c 75 74 69 6f 6e 20 61 6c 6d 6f 73 74 solution almost
21380 20 70 72 65 63 69 73 65 6c 79 20 62 61 73 65 64 precisely based
21390 20 6f 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e on the followin
213a0 67 20 73 65 71 75 65 6e 63 65 20 6f 66 20 4e 6f g sequence of No
213b0 64 65 73 3a 3c 62 72 3e 0d 0a 3c 62 3e 3c 69 3e des:<br>..<b><i>
213c0 4e 31 2d 4e 32 2d 4e 33 2d 4e 34 2d 4e 35 2d 4e N1-N2-N3-N4-N5-N
213d0 36 2d 4e 37 2d 4e 38 2d 4e 39 2d 4e 31 30 2d 4e 6-N7-N8-N9-N10-N
213e0 31 31 2d 4e 31 32 2d 4e 31 33 2d 4e 31 34 2d 4e 11-N12-N13-N14-N
213f0 31 35 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e 15</i></b>..<br>
21400 3c 62 72 3e 0d 0a 48 6f 77 65 76 65 72 2c 20 61 <br>..However, a
21410 73 20 79 6f 75 20 63 61 6e 20 73 65 65 2c 20 74 s you can see, t
21420 68 65 72 65 20 61 72 65 20 74 77 6f 20 6e 6f 74 here are two not
21430 69 63 65 61 62 6c 65 20 65 78 63 65 70 74 69 6f iceable exceptio
21440 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 54 ns:..<ul>..<li>T
21450 68 65 20 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20 he <b>first</b>
21460 4c 69 6e 6b 20 28 63 6f 6e 6e 65 63 74 69 6e 67 Link (connecting
21470 20 3c 62 3e 4e 31 3c 2f 62 3e 20 74 6f 20 3c 62 <b>N1</b> to <b
21480 3e 4e 32 3c 2f 62 3e 29 20 69 73 20 6e 6f 74 20 >N2</b>) is not
21490 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65 71 75 69 completely requi
214a0 72 65 64 20 62 79 20 74 68 65 20 53 6f 6c 75 74 red by the Solut
214b0 69 6f 6e 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 61 ion.<br>..Just a
214c0 20 73 6d 61 6c 6c 20 70 6f 72 74 69 6f 6e 20 28 small portion (
214d0 64 72 61 77 6e 20 69 6e 20 72 65 64 29 20 6f 66 drawn in red) of
214e0 20 74 68 69 73 20 4c 69 6e 6b 20 69 73 20 65 66 this Link is ef
214f0 66 65 63 74 69 76 65 6c 79 20 72 65 71 75 69 72 fectively requir
21500 65 64 2e 3c 62 72 3e 0d 0a 54 68 65 20 72 65 6d ed.<br>..The rem
21510 61 69 6e 69 6e 67 20 70 61 72 74 20 28 64 72 61 aining part (dra
21520 77 6e 20 69 6e 20 67 72 61 79 29 20 69 73 6e 27 wn in gray) isn'
21530 74 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 65 t covered by the
21540 20 53 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d Solution.</li>.
21550 0a 3c 6c 69 3e 45 78 61 63 74 6c 79 20 74 68 65 .<li>Exactly the
21560 20 73 61 6d 65 20 69 73 20 74 72 75 65 20 66 6f same is true fo
21570 72 20 74 68 65 20 3c 62 3e 6c 61 73 74 3c 2f 62 r the <b>last</b
21580 3e 20 4c 69 6e 6b 20 63 6f 6e 6e 65 63 74 69 6e > Link connectin
21590 67 20 3c 62 3e 4e 31 34 3c 2f 62 3e 20 74 6f 20 g <b>N14</b> to
215a0 3c 62 3e 4e 31 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e <b>N15</b>.</li>
215b0 0d 0a 3c 6c 69 3e 54 68 61 74 27 73 20 6e 6f 74 ..<li>That's not
215c0 20 61 6c 6c 3a 20 74 68 65 72 65 20 61 72 65 20 all: there are
215d0 74 77 6f 20 73 68 6f 72 74 20 73 65 67 6d 65 6e two short segmen
215e0 74 73 20 28 64 72 61 77 6e 20 69 6e 20 67 72 65 ts (drawn in gre
215f0 65 6e 29 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c en) connecting <
21600 62 3e 50 66 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 b>Pfrom</b> and
21610 3c 62 3e 50 74 6f 3c 2f 62 3e 20 28 3c 69 3e 6f <b>Pto</b> (<i>o
21620 72 69 67 69 6e 3c 2f 69 3e 20 61 6e 64 20 3c 69 rigin</i> and <i
21630 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e >destination</i>
21640 20 50 6f 69 6e 74 73 29 20 72 65 73 70 65 63 74 Points) respect
21650 69 76 65 6c 79 20 74 6f 20 74 68 65 20 3c 62 3e ively to the <b>
21660 66 69 72 73 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 first</b> and <b
21670 3e 6c 61 73 74 3c 2f 62 3e 20 70 61 72 74 69 61 >last</b> partia
21680 6c 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c l Links.</li>..<
21690 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 41 6c 6c 20 /ul>..<br>..All
216a0 74 68 69 73 20 69 73 6e 27 74 20 73 75 72 70 72 this isn't surpr
216b0 69 73 69 6e 67 2c 20 73 69 6e 63 65 20 69 74 20 ising, since it
216c0 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20 6d 6f simply is the mo
216d0 73 74 20 6f 62 76 69 6f 75 73 20 64 69 72 65 63 st obvious direc
216e0 74 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 t consequence of
216f0 20 74 68 65 20 76 65 72 79 20 62 61 73 69 63 20 the very basic
21700 61 73 73 75 6d 70 74 69 6f 6e 73 20 61 74 20 74 assumptions at t
21710 68 65 20 62 61 73 69 73 20 6f 66 20 50 6f 69 6e he basis of Poin
21720 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 t-to-Point queri
21730 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4e es:..<ul>..<li>N
21740 65 69 74 68 65 72 20 74 68 65 20 3c 62 3e 50 6f either the <b>Po
21750 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 6e 6f 72 20 intFrom</b> nor
21760 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f the <b>PointTo</
21770 62 3e 20 61 72 65 20 72 65 71 75 69 72 65 64 20 b> are required
21780 74 6f 20 65 78 61 63 74 6c 79 20 69 6e 74 65 72 to exactly inter
21790 73 65 63 74 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f sect a <b>Node</
217a0 62 3e 2e 3c 62 72 3e 0d 0a 43 6f 6e 73 65 71 75 b>.<br>..Consequ
217b0 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 66 69 72 ently the <b>fir
217c0 73 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 st</b> and <b>la
217d0 73 74 3c 2f 62 3e 20 4c 69 6e 6b 73 20 6f 66 20 st</b> Links of
217e0 74 68 65 20 6f 76 65 72 61 6c 6c 20 50 6f 69 6e the overall Poin
217f0 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 t-to-Point Solut
21800 69 6f 6e 20 63 6f 75 6c 64 20 6f 6e 6c 79 20 62 ion could only b
21810 65 20 70 61 72 74 69 61 6c 6c 79 20 69 6e 76 6f e partially invo
21820 6c 76 65 64 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69 lved.<br>..In Vi
21830 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72 rtualRouting jar
21840 67 6f 6e 20 74 68 65 73 65 20 74 77 6f 20 3c 75 gon these two <u
21850 3e 3c 69 3e 73 70 65 63 69 61 6c 20 69 74 65 6d ><i>special item
21860 73 3c 2f 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65 s</i></u> are re
21870 73 70 65 63 74 69 76 65 6c 79 20 63 61 6c 6c 65 spectively calle
21880 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 d:..<ul>..<li><b
21890 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 >Partial Link (S
218a0 74 61 72 74 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a tart)</b></li>..
218b0 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c <li><b>Partial L
218c0 69 6e 6b 20 28 45 6e 64 29 3c 2f 62 3e 3c 2f 6c ink (End)</b></l
218d0 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d i>..</ul></li> .
218e0 0a 3c 6c 69 3e 42 6f 74 68 20 74 68 65 20 3c 62 .<li>Both the <b
218f0 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 61 >PointFrom</b> a
21900 6e 64 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 nd the <b>PointT
21910 6f 3c 2f 62 3e 20 63 61 6e 20 6c 65 67 69 74 69 o</b> can legiti
21920 6d 61 74 65 6c 79 20 68 61 76 65 20 62 65 65 6e mately have been
21930 20 61 74 20 61 6e 79 20 61 72 62 69 74 72 61 72 at any arbitrar
21940 79 20 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20 61 y position and a
21950 72 65 20 6e 65 76 65 72 20 72 65 71 75 69 72 65 re never require
21960 64 20 74 6f 20 65 78 61 63 74 6c 79 20 69 6e 74 d to exactly int
21970 65 72 73 65 63 74 20 61 20 3c 62 3e 4c 69 6e 6b ersect a <b>Link
21980 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 </b>.<br>..This
21990 63 61 6e 20 65 61 73 69 6c 79 20 69 6d 70 6c 79 can easily imply
219a0 20 74 68 61 74 20 61 6e 20 3c 75 3e 3c 69 3e 65 that an <u><i>e
219b0 78 74 72 61 20 73 68 6f 72 74 20 6c 65 67 3c 2f xtra short leg</
219c0 69 3e 3c 2f 75 3e 20 63 6f 75 6c 64 20 62 65 20 i></u> could be
219d0 72 65 71 75 69 72 65 64 20 69 6e 20 6f 72 64 65 required in orde
219e0 72 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 68 65 r to connect the
219f0 20 46 72 6f 6d 2f 54 6f 20 50 6f 69 6e 74 73 20 From/To Points
21a00 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e to the correspon
21a10 64 69 6e 67 20 4c 69 6e 6b 73 2e 3c 62 72 3e 0d ding Links.<br>.
21a20 0a 49 6e 20 56 69 72 75 74 61 6c 52 6f 75 74 69 .In VirutalRouti
21a30 6e 67 20 6a 61 72 67 6f 6e 20 74 68 65 73 65 20 ng jargon these
21a40 74 77 6f 20 3c 75 3e 3c 69 3e 73 70 65 63 69 61 two <u><i>specia
21a50 6c 20 69 74 65 6d 73 3c 2f 69 3e 3c 2f 75 3e 20 l items</i></u>
21a60 61 72 65 20 72 65 73 70 65 63 74 69 76 65 6c 79 are respectively
21a70 20 63 61 6c 6c 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a called:..<ul>..
21a80 3c 6c 69 3e 3c 62 3e 49 6e 67 72 65 73 73 20 50 <li><b>Ingress P
21a90 61 74 68 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c ath</b></li>..<l
21aa0 69 3e 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68 i><b>Egress Path
21ab0 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e </b></li>..</ul>
21ac0 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 75 3e 4e </li> ..<li><u>N
21ad0 6f 74 65 3c 2f 75 3e 3a 20 6e 6f 6e 65 20 6f 66 ote</u>: none of
21ae0 20 74 68 65 6d 20 61 72 65 20 73 74 72 69 63 74 them are strict
21af0 6c 79 20 6d 61 6e 64 61 74 6f 72 79 20 69 74 65 ly mandatory ite
21b00 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 ms:..<ul>..<li>t
21b10 68 65 20 3c 62 3e 49 6e 67 72 65 73 73 3c 2f 62 he <b>Ingress</b
21b20 3e 20 61 6e 64 2f 6f 72 20 3c 62 3e 45 67 72 65 > and/or <b>Egre
21b30 73 73 20 50 61 74 68 73 3c 2f 62 3e 20 61 72 65 ss Paths</b> are
21b40 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 77 68 not required wh
21b50 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e en the correspon
21b60 64 69 6e 67 20 50 6f 69 6e 74 20 65 78 61 63 74 ding Point exact
21b70 6c 79 20 69 6e 74 65 72 73 65 63 74 73 20 61 20 ly intersects a
21b80 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e Link.</li>..<li>
21b90 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 <b>Partial Links
21ba0 3c 2f 62 3e 20 28 65 69 74 68 65 72 20 3c 62 3e </b> (either <b>
21bb0 28 53 74 61 72 74 29 3c 2f 62 3e 20 6f 72 20 3c (Start)</b> or <
21bc0 62 3e 28 45 6e 64 29 3c 2f 62 3e 29 20 61 72 65 b>(End)</b>) are
21bd0 20 6e 65 76 65 72 20 72 65 71 75 69 72 65 64 20 never required
21be0 77 68 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 when the corresp
21bf0 6f 6e 64 69 6e 67 20 50 6f 69 6e 74 20 65 78 61 onding Point exa
21c00 63 74 6c 79 20 6d 61 74 63 68 65 73 20 61 20 4e ctly matches a N
21c10 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e ode.</li>..</ul>
21c20 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f </li>..</ul>..</
21c30 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 td>..<td>..<img
21c40 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 src="https://www
21c50 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 .gaia-gis.it/gai
21c60 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 a-sins/routing-f
21c70 69 67 73 2f 70 32 70 2d 73 74 72 75 63 74 2e 70 igs/p2p-struct.p
21c80 6e 67 22 20 61 6c 74 3d 22 70 32 70 2d 73 74 72 ng" alt="p2p-str
21c90 75 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 uct">..</td></tr
21ca0 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 41 20 6d >..<tr><td>..A m
21cb0 6f 72 65 20 63 6f 6d 70 72 65 68 65 6e 73 69 76 ore comprehensiv
21cc0 65 20 61 6e 64 20 64 65 74 61 69 6c 65 64 20 65 e and detailed e
21cd0 78 70 6c 61 6e 61 74 69 6f 6e 20 62 61 73 65 64 xplanation based
21ce0 20 6f 6e 20 74 68 65 20 73 69 64 65 20 66 69 67 on the side fig
21cf0 75 72 65 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e ure:..<ul>..<li>
21d00 3c 62 3e 4c 31 3c 2f 62 3e 20 69 73 20 61 20 4c <b>L1</b> is a L
21d10 69 6e 6b 20 63 6f 6e 6e 65 63 74 69 6e 67 20 4e ink connecting N
21d20 6f 64 65 73 20 3c 62 3e 4e 31 3c 2f 62 3e 20 61 odes <b>N1</b> a
21d30 6e 64 20 3c 62 3e 4e 32 3c 2f 62 3e 2e 3c 2f 6c nd <b>N2</b>.</l
21d40 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 74 3c 2f 62 i>..<li><b>Pt</b
21d50 3e 20 69 73 20 6f 6e 65 20 62 65 74 77 65 65 6e > is one between
21d60 20 50 6f 69 6e 74 46 72 6f 6d 20 6f 72 20 50 6f PointFrom or Po
21d70 69 6e 74 54 6f 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 intTo.</li>..</u
21d80 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 6f 6c 3e 0d 0a l>..<br>..<ol>..
21d90 3c 6c 69 3e 54 68 65 20 50 6f 69 6e 74 2d 74 6f <li>The Point-to
21da0 2d 50 6f 69 6e 74 20 69 6e 74 65 72 6e 61 6c 20 -Point internal
21db0 6c 6f 67 69 63 20 77 69 6c 6c 20 73 74 61 72 74 logic will start
21dc0 20 62 79 20 69 64 65 6e 74 69 66 79 69 6e 67 20 by identifying
21dd0 3c 62 3e 69 3c 2f 62 3e 2c 0d 0a 74 68 61 74 20 <b>i</b>,..that
21de0 69 73 20 74 68 65 20 50 6f 69 6e 74 20 69 6e 74 is the Point int
21df0 65 72 73 65 63 74 69 6e 67 20 3c 62 3e 4c 31 3c ersecting <b>L1<
21e00 2f 62 3e 20 61 6e 64 20 70 72 65 73 65 6e 74 69 /b> and presenti
21e10 6e 67 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 64 ng the minimum d
21e20 69 73 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20 istance between
21e30 74 68 65 20 4c 69 6e 6b 20 61 6e 64 20 3c 62 3e the Link and <b>
21e40 50 74 3c 2f 62 3e 0d 0a 28 63 6f 72 72 65 73 70 Pt</b>..(corresp
21e50 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 72 65 onding to the re
21e60 73 75 6c 74 20 72 65 74 75 72 6e 65 64 20 62 79 sult returned by
21e70 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 3c 62 3e calling the <b>
21e80 53 54 5f 4c 69 6e 65 5f 4c 6f 63 61 74 65 5f 50 ST_Line_Locate_P
21e90 6f 69 6e 74 28 29 3c 2f 62 3e 20 53 51 4c 20 66 oint()</b> SQL f
21ea0 75 6e 63 74 69 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a unction).</li>..
21eb0 3c 6c 69 3e 4e 6f 77 20 74 68 65 20 4c 69 6e 6b <li>Now the Link
21ec0 20 3c 62 3e 4c 31 3c 2f 62 3e 20 77 69 6c 6c 20 <b>L1</b> will
21ed0 62 65 20 73 70 6c 69 74 20 69 6e 20 74 77 6f 20 be split in two
21ee0 68 61 6c 76 65 73 20 3c 62 3e 4c 31 2d 61 3c 2f halves <b>L1-a</
21ef0 62 3e 20 61 6e 64 20 3c 62 3e 4c 31 2d 62 3c 2f b> and <b>L1-b</
21f00 62 3e 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 b> accordingly t
21f10 6f 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f o the position o
21f20 66 20 3c 62 3e 69 3c 2f 62 3e 0d 0a 28 63 6f 72 f <b>i</b>..(cor
21f30 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 responding to th
21f40 65 20 72 65 73 75 6c 74 73 20 72 65 74 75 72 6e e results return
21f50 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 ed by calling th
21f60 65 20 3c 62 3e 53 54 5f 4c 69 6e 65 5f 53 75 62 e <b>ST_Line_Sub
21f70 73 74 72 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c string()</b> SQL
21f80 20 66 75 6e 63 74 69 6f 6e 29 2e 3c 62 72 3e 0d function).<br>.
21f90 0a 42 6f 74 68 20 68 61 6c 76 65 73 20 77 69 6c .Both halves wil
21fa0 6c 20 6e 6f 77 20 62 65 20 63 6f 6e 73 69 64 65 l now be conside
21fb0 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c 65 20 red as possible
21fc0 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 <b>Partial Links
21fd0 20 28 53 74 61 72 74 29 20 63 61 6e 64 69 64 61 (Start) candida
21fe0 74 65 73 3c 2f 62 3e 20 6c 65 61 64 69 6e 67 20 tes</b> leading
21ff0 72 65 73 70 65 63 74 69 76 65 6c 79 20 74 6f 20 respectively to
22000 3c 62 3e 4e 31 3c 2f 62 3e 20 6f 72 20 3c 62 3e <b>N1</b> or <b>
22010 4e 32 3c 2f 62 3e 3b 0d 0a 64 69 72 65 63 74 69 N2</b>;..directi
22020 6f 6e 73 20 77 69 6c 6c 20 62 65 20 61 75 74 6f ons will be auto
22030 6d 61 74 69 63 61 6c 6c 79 20 69 6e 76 65 72 74 matically invert
22040 65 64 20 61 73 20 72 65 71 75 69 72 65 64 2c 20 ed as required,
22050 62 75 74 20 6f 6e 6c 79 20 69 66 20 74 68 65 72 but only if ther
22060 65 20 61 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 2d e are no <b>one-
22070 77 61 79 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 way</b> restrict
22080 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 28 74 68 65 20 ions.<br>..(the
22090 64 69 72 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20 directions will
220a0 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69 6e 76 be obviously inv
220b0 65 72 74 65 64 20 69 6e 20 74 68 65 20 63 61 73 erted in the cas
220c0 65 20 6f 66 20 3c 62 3e 50 61 72 74 69 61 6c 20 e of <b>Partial
220d0 4c 69 6e 6b 73 20 28 45 6e 64 29 3c 2f 62 3e 20 Links (End)</b>
220e0 2f 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 29 / <b>NodeTo</b>)
220f0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 6e 64 20 66 </li>..<li>And f
22100 69 6e 61 6c 6c 79 20 61 20 73 74 72 61 69 67 68 inally a straigh
22110 74 20 73 65 67 6d 65 6e 74 20 3c 62 3e 70 3c 2f t segment <b>p</
22120 62 3e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 b> connecting <b
22130 3e 50 74 3c 2f 62 3e 20 74 6f 20 3c 62 3e 69 3c >Pt</b> to <b>i<
22140 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 /b> will be cons
22150 74 72 75 63 74 65 64 2e 0d 0a 53 6f 20 3c 62 3e tructed...So <b>
22160 70 3c 2f 62 3e 20 65 78 61 63 74 6c 79 20 63 6f p</b> exactly co
22170 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 rresponds to the
22180 20 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 74 68 <b>Ingress Path
22190 3c 2f 62 3e 20 69 66 20 3c 62 3e 50 74 3c 2f 62 </b> if <b>Pt</b
221a0 3e 20 69 73 20 3c 62 3e 50 6f 69 6e 74 46 72 6f > is <b>PointFro
221b0 6d 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 28 74 68 65 m</b>.<br>..(the
221c0 20 64 69 72 65 63 74 69 6f 6e 20 73 68 6f 75 6c direction shoul
221d0 64 20 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69 d be obviously i
221e0 6e 76 65 72 74 65 64 20 69 6e 20 74 68 65 20 63 nverted in the c
221f0 61 73 65 20 6f 66 20 74 68 65 20 3c 62 3e 45 67 ase of the <b>Eg
22200 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 20 2f 20 ress Path</b> /
22210 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 29 3c <b>PointTo</b>)<
22220 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 /li>..</ol>..</t
22230 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73 d>..<td>..<img s
22240 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
22250 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
22260 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 -sins/routing-fi
22270 67 73 2f 73 70 6c 69 74 2d 6c 69 6e 6b 2e 70 6e gs/split-link.pn
22280 67 22 20 61 6c 74 3d 22 70 32 70 2d 73 74 72 75 g" alt="p2p-stru
22290 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e ct">..</td></tr>
222a0 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e ..</table>..<br>
222b0 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 ..<table bgcolor
222c0 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73 ="#ffb060" cells
222d0 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c pacing="10" cell
222e0 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e padding="6"><tr>
222f0 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e <td>..<h3>Warnin
22300 67 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52 g</h3>..VirtualR
22310 6f 75 74 69 6e 67 20 77 68 65 6e 20 73 6f 6c 76 outing when solv
22320 69 6e 67 20 61 20 50 6f 69 6e 74 2d 74 6f 2d 50 ing a Point-to-P
22330 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 roblem requires
22340 61 20 70 72 65 63 69 73 65 20 65 73 74 69 6d 61 a precise estima
22350 74 69 6f 6e 20 6f 66 20 3c 62 3e 43 6f 73 74 73 tion of <b>Costs
22360 3c 2f 62 3e 20 72 65 6c 61 74 65 64 20 74 6f 20 </b> related to
22370 3c 62 3e 49 6e 67 72 65 73 73 3c 2f 62 3e 20 61 <b>Ingress</b> a
22380 6e 64 20 3c 62 3e 45 67 72 65 73 73 20 50 61 74 nd <b>Egress Pat
22390 68 73 3c 2f 62 3e 20 61 6e 64 20 74 6f 20 3c 62 hs</b> and to <b
223a0 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 3c 2f >Partial Links</
223b0 62 3e 2e 3c 62 72 3e 0d 0a 42 75 74 20 56 69 72 b>.<br>..But Vir
223c0 74 75 61 6c 52 6f 75 74 69 6e 67 20 69 73 20 63 tualRouting is c
223d0 6f 6d 70 6c 65 74 65 6c 79 20 75 6e 61 62 6c 65 ompletely unable
223e0 20 74 6f 20 63 6f 6d 70 75 74 65 20 63 6f 6d 70 to compute comp
223f0 6c 65 78 20 28 61 6e 64 20 75 6e 73 70 65 63 69 lex (and unspeci
22400 66 69 65 64 29 20 43 6f 73 74 20 66 6f 72 6d 75 fied) Cost formu
22410 6c 61 73 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 las, and consequ
22420 65 6e 74 6c 79 20 69 74 20 77 69 6c 6c 20 73 69 ently it will si
22430 6d 70 6c 79 20 61 73 73 75 6d 65 20 61 20 43 6f mply assume a Co
22440 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 st corresponding
22450 20 74 6f 20 74 68 65 20 47 65 6f 6d 65 74 72 69 to the Geometri
22460 63 20 4c 65 6e 67 74 68 20 6f 66 20 73 75 63 68 c Length of such
22470 20 69 74 65 6d 73 2e 3c 62 72 3e 3c 62 72 3e 0d items.<br><br>.
22480 0a 3c 62 3e 43 6f 6e 63 6c 75 73 69 6f 6e 3c 2f .<b>Conclusion</
22490 62 3e 3a 20 6f 6e 6c 79 20 4e 65 74 77 6f 72 6b b>: only Network
224a0 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 43 6f s based on <b>Co
224b0 73 74 73 3c 2f 62 3e 20 63 6f 72 72 65 73 70 6f sts</b> correspo
224c0 6e 64 69 6e 67 20 74 6f 20 3c 62 3e 47 65 6f 6d nding to <b>Geom
224d0 65 74 72 69 63 20 4c 65 6e 67 74 68 73 3c 2f 62 etric Lengths</b
224e0 3e 20 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c > can effectivel
224f0 79 20 73 75 70 70 6f 72 74 20 50 6f 69 6e 74 2d y support Point-
22500 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 to-Point queries
22510 2e 3c 62 72 3e 0d 0a 41 6e 79 20 64 69 66 66 65 .<br>..Any diffe
22520 72 65 6e 74 20 4e 65 74 77 6f 72 6b 20 63 6f 6e rent Network con
22530 66 69 67 75 72 61 74 69 6f 6e 20 77 69 6c 6c 20 figuration will
22540 73 75 72 65 6c 79 20 6c 65 61 64 20 74 6f 20 77 surely lead to w
22550 72 6f 6e 67 20 61 6e 64 20 69 6e 63 6f 6e 73 69 rong and inconsi
22560 73 74 65 6e 74 20 72 65 73 75 6c 74 73 2e 0d 0a stent results...
22570 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c <br><br>..</td><
22580 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 /tr></table>..<b
22590 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f r><br>..Let's no
225a0 77 20 65 78 61 6d 69 6e 65 20 61 20 70 72 61 63 w examine a prac
225b0 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 20 6f 66 tical example of
225c0 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 Point-to-Point
225d0 73 6f 6c 76 69 6e 67 20 75 73 69 6e 67 20 56 69 solving using Vi
225e0 72 74 75 61 6c 52 6f 75 74 69 6e 67 2e 0d 0a 3c rtualRouting...<
225f0 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 verbatim>..SELEC
22600 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 T Algorithm, Req
22610 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 uest, Options, R
22620 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 outeId, RouteRow
22630 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 , Role, LinkRowi
22640 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 d, NodeFrom, Nod
22650 65 54 6f 2c 20 50 6f 69 6e 74 46 72 6f 6d 2c 20 eTo, PointFrom,
22660 50 6f 69 6e 74 54 6f 2c 20 54 6f 6c 65 72 61 6e PointTo, Toleran
22670 63 65 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 ce, Cost, Geomet
22680 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 ry, Name..FROM b
22690 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 50 6f 69 yfoot..WHERE Poi
226a0 6e 74 46 72 6f 6d 20 3d 20 28 53 45 4c 45 43 54 ntFrom = (SELECT
226b0 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 geom FROM house
226c0 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e _nr_vw WHERE mun
226d0 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45 icipality = 'ARE
226e0 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73 ZZO' AND address
226f0 20 3d 20 27 56 49 41 20 44 45 27 27 20 43 45 4e = 'VIA DE'' CEN
22700 43 49 20 31 33 27 29 0d 0a 20 20 20 20 41 4e 44 CI 13').. AND
22710 20 50 6f 69 6e 74 54 6f 20 3d 20 28 53 45 4c 45 PointTo = (SELE
22720 43 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 CT geom FROM hou
22730 73 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d se_nr_vw WHERE m
22740 75 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41 unicipality = 'A
22750 52 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 REZZO' AND addre
22760 73 73 20 3d 20 27 56 49 41 20 41 4e 54 4f 4e 49 ss = 'VIA ANTONI
22770 4f 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f O GUADAGNOLI 19/
22780 42 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d B');..</verbatim
22790 3e 0d 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f >..A <b>Point-to
227a0 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79 -Point</b> query
227b0 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 66 6f has the same fo
227c0 72 6d 20 6f 66 20 61 20 3c 62 3e 73 69 6e 67 6c rm of a <b>singl
227d0 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 e-destination Sh
227e0 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 62 3e 20 ortest Path</b>
227f0 71 75 65 72 79 2c 20 65 78 63 65 70 74 20 74 68 query, except th
22800 61 74 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f at <b>NodeFrom</
22810 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f b> and <b>NodeTo
22820 3c 2f 62 3e 20 61 72 65 20 6e 6f 77 20 72 65 70 </b> are now rep
22830 6c 61 63 65 64 20 62 79 20 3c 62 3e 50 6f 69 6e laced by <b>Poin
22840 74 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 tFrom</b> and <b
22850 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c 62 72 >PointTo</b>.<br
22860 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
22870 74 68 65 20 73 61 6d 70 6c 65 20 44 42 2d 66 69 the sample DB-fi
22880 6c 65 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 48 le supports <b>H
22890 6f 75 73 65 20 4e 75 6d 62 65 72 73 3c 2f 62 3e ouse Numbers</b>
228a0 2c 20 73 6f 20 79 6f 75 20 63 61 6e 20 64 69 72 , so you can dir
228b0 65 63 74 6c 79 20 75 73 65 20 48 6f 75 73 65 20 ectly use House
228c0 4e 75 6d 62 65 72 20 63 6f 6f 72 64 69 6e 61 74 Number coordinat
228d0 65 73 20 61 73 20 72 65 66 65 72 65 6e 63 65 20 es as reference
228e0 50 6f 69 6e 74 73 2e 0d 0a 3c 62 72 3e 3c 62 72 Points...<br><br
228f0 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 >..The following
22900 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 table shows the
22910 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 resultset retur
22920 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 ned by the above
22930 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 Point-to-Point
22940 71 75 65 72 79 2e 3c 62 72 3e 3c 62 72 3e 0d 0a query.<br><br>..
22950 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 <table border="1
22960 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 " bgcolor="#ffff
22970 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d cf" cellspacing=
22980 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "4" cellpadding=
22990 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 "6">..<tr><th bg
229a0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
229b0 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 Algorithm</th><t
229c0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
229d0 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e a0">Request</th>
229e0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
229f0 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 d0a0">Options</t
22a00 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
22a10 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c d0d0a0">RouteId<
22a20 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
22a30 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 "#d0d0a0">RouteR
22a40 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ow</th><th bgcol
22a50 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c or="#d0d0a0">Rol
22a60 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f e</th><th bgcolo
22a70 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b r="#d0d0a0">Link
22a80 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 Rowid</th><th bg
22a90 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
22aa0 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 NodeFrom</th><th
22ab0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
22ac0 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 0">NodeTo</th><t
22ad0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
22ae0 61 30 22 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 a0">PointFrom</t
22af0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
22b00 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c d0d0a0">PointTo<
22b10 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
22b20 22 23 64 30 64 30 61 30 22 3e 54 6f 6c 65 72 61 "#d0d0a0">Tolera
22b30 6e 63 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f nce</th><th bgco
22b40 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f lor="#d0d0a0">Co
22b50 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
22b60 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f or="#d0d0a0">Geo
22b70 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 metry</th><th bg
22b80 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
22b90 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a Name</th></tr>..
22ba0 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 <tr>..<td>Dijkst
22bb0 72 61 3c 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74 ra</td><td>Point
22bc0 32 50 6f 69 6e 74 20 50 61 74 68 3c 2f 74 64 3e 2Point Path</td>
22bd0 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 <td>Full</td><td
22be0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
22bf0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22c00 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
22c10 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c >Point2Point Sol
22c20 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 ution</td><td>NU
22c30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
22c40 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22c50 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 20 ><td>BLOB sz=68
22c60 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 GEOMETRY</td><td
22c70 3e 42 4c 4f 42 20 73 7a 3d 36 38 20 47 45 4f 4d >BLOB sz=68 GEOM
22c80 45 54 52 59 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 ETRY</td><td ali
22c90 67 6e 3d 22 72 69 67 68 74 22 3e 32 30 2e 30 30 gn="right">20.00
22ca0 30 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 0000</td><td ali
22cb0 67 6e 3d 22 72 69 67 68 74 22 3e 36 35 32 2e 38 gn="right">652.8
22cc0 31 35 31 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 15139</td><td>BL
22cd0 4f 42 20 73 7a 3d 31 35 35 32 20 47 45 4f 4d 45 OB sz=1552 GEOME
22ce0 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c TRY</td><td>NULL
22cf0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
22d00 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
22d10 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22d20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
22d30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
22d40 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
22d50 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 49 ght">1</td><td>I
22d60 6e 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e ngress Path</td>
22d70 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22d80 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
22d90 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
22da0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22db0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22dc0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
22dd0 32 2e 33 30 31 36 38 37 3c 2f 74 64 3e 3c 74 64 2.301687</td><td
22de0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
22df0 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
22e00 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
22e10 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
22e20 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22e30 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
22e40 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22e50 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
22e60 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 >Partial Link (S
22e70 74 61 72 74 29 3c 2f 74 64 3e 3c 74 64 20 61 6c tart)</td><td al
22e80 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 32 ign="right">2242
22e90 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 64</td><td>NULL<
22ea0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
22eb0 69 67 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 ight">182630</td
22ec0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22ed0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22ee0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
22ef0 6e 3d 22 72 69 67 68 74 22 3e 34 36 2e 30 38 32 n="right">46.082
22f00 37 36 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 761</td><td>NULL
22f10 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 27 </td><td>VIA DE'
22f20 20 43 45 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 CENCI</td>..</t
22f30 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
22f40 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
22f50 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22f60 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
22f70 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">0</td><td ali
22f80 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
22f90 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
22fa0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
22fb0 32 32 33 37 35 38 3c 2f 74 64 3e 3c 74 64 20 61 223758</td><td a
22fc0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
22fd0 36 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 630</td><td alig
22fe0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 39 n="right">182629
22ff0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
23000 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
23010 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
23020 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 34 align="right">24
23030 2e 31 39 38 31 31 35 3c 2f 74 64 3e 3c 74 64 3e .198115</td><td>
23040 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 NULL</td><td>COR
23050 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a SO ITALIA</td>..
23060 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
23070 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
23080 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
23090 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
230a0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 ight">0</td><td
230b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c align="right">4<
230c0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</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 32 32 35 35 31 32 3c 2f 74 64 3e 3c 74 t">225512</td><t
230f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
23100 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 182629</td><td a
23110 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
23120 39 33 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 933</td><td>NULL
23130 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
23140 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
23150 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
23160 3e 33 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c >34.184194</td><
23170 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
23180 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 CORSO ITALIA</td
23190 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
231a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
231b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
231c0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
231d0 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
231e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
231f0 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >5</td><td>Link<
23200 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
23210 69 67 68 74 22 3e 32 32 35 35 31 31 3c 2f 74 64 ight">225511</td
23220 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
23230 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 t">182933</td><t
23240 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
23250 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 3e 4e 181999</td><td>N
23260 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
23270 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
23280 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
23290 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74 ht">49.241735</t
232a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
232b0 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c td>CORSO ITALIA<
232c0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
232d0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
232e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
232f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
23300 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
23310 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
23320 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">6</td><td>Li
23330 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
23340 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 35 3c ="right">222635<
23350 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
23360 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 ight">181999</td
23370 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
23380 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 t">181998</td><t
23390 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
233a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
233b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
233c0 72 69 67 68 74 22 3e 31 30 31 2e 36 32 39 37 35 right">101.62975
233d0 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 0</td><td>NULL</
233e0 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 td><td>CORSO ITA
233f0 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d LIA</td>..</tr>.
23400 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
23410 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
23420 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
23430 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
23440 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
23450 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 "right">7</td><t
23460 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
23470 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
23480 37 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 780</td><td alig
23490 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 38 n="right">181998
234a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
234b0 72 69 67 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 right">183560</t
234c0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
234d0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
234e0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
234f0 67 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e 37 33 gn="right">73.73
23500 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 3572</td><td>NUL
23510 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 L</td><td>VIA DE
23520 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 LL'ANFITEATRO</t
23530 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
23540 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
23550 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
23560 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
23570 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
23580 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
23590 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">8</td><td>Link
235a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
235b0 72 69 67 68 74 22 3e 32 32 35 38 32 37 3c 2f 74 right">225827</t
235c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
235d0 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c ht">183560</td><
235e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
235f0 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e >183286</td><td>
23600 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
23610 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
23620 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
23630 67 68 74 22 3e 34 32 2e 33 30 39 35 36 34 3c 2f ght">42.309564</
23640 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
23650 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 <td>VIA DELL'ANF
23660 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f ITEATRO</td>..</
23670 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
23680 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
23690 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
236a0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
236b0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">0</td><td al
236c0 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 ign="right">9</t
236d0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
236e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
236f0 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64 20 >224897</td><td
23700 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
23710 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3286</td><td ali
23720 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 32 gn="right">18312
23730 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
23740 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
23750 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
23760 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 align="right">7
23770 32 2e 34 34 34 36 30 39 3c 2f 74 64 3e 3c 74 64 2.444609</td><td
23780 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
23790 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 A MARGARITONE</t
237a0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
237b0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
237c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
237d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
237e0 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
237f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
23800 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e ">10</td><td>Lin
23810 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
23820 22 72 69 67 68 74 22 3e 32 32 34 32 33 32 3c 2f "right">224232</
23830 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
23840 67 68 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e ght">183128</td>
23850 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
23860 22 3e 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 ">182890</td><td
23870 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
23880 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
23890 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
238a0 69 67 68 74 22 3e 31 30 33 2e 36 31 32 32 32 31 ight">103.612221
238b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
238c0 64 3e 3c 74 64 3e 56 49 41 20 4e 49 43 43 4f 4c d><td>VIA NICCOL
238d0 4f 27 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d O' ARETINO</td>.
238e0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
238f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
23900 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
23910 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
23920 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
23930 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
23940 31 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 1</td><td>Partia
23950 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 74 64 l Link (End)</td
23960 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
23970 74 22 3e 32 32 34 30 31 39 3c 2f 74 64 3e 3c 74 t">224019</td><t
23980 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
23990 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 182890</td><td>N
239a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
239b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
239c0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
239d0 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
239e0 74 22 3e 39 35 2e 37 36 30 32 32 32 3c 2f 74 64 t">95.760222</td
239f0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
23a00 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 d>VIA ANTONIO GU
23a10 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c ADAGNOLI</td>..<
23a20 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
23a30 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
23a40 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
23a50 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
23a60 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 ght">0</td><td a
23a70 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c lign="right">12<
23a80 2f 74 64 3e 3c 74 64 3e 45 67 72 65 73 73 20 50 /td><td>Egress P
23a90 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ath</td><td>NULL
23aa0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
23ab0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
23ac0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
23ad0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
23ae0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
23af0 22 72 69 67 68 74 22 3e 37 2e 33 31 36 37 30 39 "right">7.316709
23b00 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
23b10 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
23b20 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e .</tr>..</table>
23b30 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f ..<br>..Let's no
23b40 77 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e w quickly examin
23b50 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 e the resultset
23b60 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 returned by the
23b70 61 62 6f 76 65 20 3c 62 3e 50 6f 69 6e 74 2d 74 above <b>Point-t
23b80 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 o-Point</b> quer
23b90 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 y:..<ul>..<li>th
23ba0 65 20 67 65 6e 65 72 61 6c 20 6c 61 79 6f 75 74 e general layout
23bb0 20 69 73 20 61 6c 6d 6f 73 74 20 65 78 61 63 74 is almost exact
23bc0 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 79 ly the same as y
23bd0 6f 75 27 76 65 20 61 6c 72 65 61 64 79 20 73 65 ou've already se
23be0 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f en in the case o
23bf0 66 20 53 68 6f 72 74 65 73 74 50 61 74 68 20 71 f ShortestPath q
23c00 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c ueries.</li>..<l
23c10 69 3e 69 6e 20 74 68 65 20 73 70 65 63 69 66 69 i>in the specifi
23c20 63 20 63 61 73 65 20 6f 66 20 50 6f 69 6e 74 2d c case of Point-
23c30 74 6f 2d 50 6f 69 6e 74 20 74 68 65 20 3c 62 3e to-Point the <b>
23c40 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 first row</b> of
23c50 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 the resultset w
23c60 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 ill always conta
23c70 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 in the following
23c80 73 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 s <b>NOT NULL</b
23c90 3e 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e > columns:..<ul>
23ca0 0d 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64 65 46 72 6f ..<li><b>NodeFro
23cb0 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 m</b> and <b>Nod
23cc0 65 54 6f 3c 2f 62 3e 3a 20 74 68 65 20 74 77 6f eTo</b>: the two
23cd0 20 47 65 6f 6d 65 74 72 69 65 73 20 64 65 66 69 Geometries defi
23ce0 6e 69 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 6f ning the <u><i>o
23cf0 72 69 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 20 61 6e rigin</i></u> an
23d00 64 20 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 d <u><i>destinat
23d10 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 20 50 6f 69 6e ion</i></u> Poin
23d20 74 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 ts.</li>..<li><b
23d30 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 >Tolerance</b>:
23d40 74 68 65 20 6d 61 78 69 6d 75 6d 20 64 69 73 74 the maximum dist
23d50 61 6e 63 65 20 61 6c 6c 6f 77 65 64 20 62 65 74 ance allowed bet
23d60 77 65 65 6e 20 74 68 65 20 72 65 66 65 72 65 6e ween the referen
23d70 63 65 64 20 50 6f 69 6e 74 73 20 61 6e 64 20 43 ced Points and C
23d80 61 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73 2e 3c andidate Links.<
23d90 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e /li>..</ul></li>
23da0 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 6c ..<li>the <b>Rol
23db0 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 63 61 6e e</b> column can
23dc0 20 61 73 73 75 6d 65 20 6f 6e 65 20 6f 66 20 74 assume one of t
23dd0 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c he following val
23de0 75 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e ues:..<ul>..<li>
23df0 3c 62 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53 <b>Point2Point S
23e00 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 3a 20 74 68 65 olution</b>: the
23e10 20 68 65 61 64 65 72 20 72 6f 77 20 73 75 6d 6d header row summ
23e20 61 72 69 7a 69 6e 67 20 74 68 65 20 53 6f 6c 75 arizing the Solu
23e30 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e tion as a whole.
23e40 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 ..<ul>..<li><b>P
23e50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 ointFrom</b>, <b
23e60 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64 >PointTo</b> and
23e70 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 <b>Tolerance</b
23e80 3e 20 63 6f 6c 75 6d 6e 73 20 77 69 6c 6c 20 68 > columns will h
23e90 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c ave <b>NOT NULL<
23ea0 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 6c 79 20 /b> values only
23eb0 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f in the header ro
23ec0 77 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f w.</li>..</ul></
23ed0 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e 67 72 li>..<li><b>Ingr
23ee0 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20 ess Path</b>: a
23ef0 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 6e 74 straight segment
23f00 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20 connecting the
23f10 4f 72 69 67 69 6e 20 50 6f 69 6e 74 20 74 6f 20 Origin Point to
23f20 74 68 65 20 66 69 72 73 74 20 4c 69 6e 6b 2e 3c the first Link.<
23f30 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72 /li>..<li><b>Egr
23f40 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20 ess Path</b>: a
23f50 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 6e 74 straight segment
23f60 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20 connecting the
23f70 6c 61 73 74 20 4c 69 6e 6b 20 74 6f 20 74 68 65 last Link to the
23f80 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 50 6f 69 Destination Poi
23f90 6e 74 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 62 nt...<ul>..<li>b
23fa0 6f 74 68 20 74 68 65 20 49 6e 67 72 65 73 73 20 oth the Ingress
23fb0 61 6e 64 20 74 68 65 20 45 67 72 65 73 73 20 50 and the Egress P
23fc0 61 74 68 20 72 6f 77 73 20 77 69 6c 6c 20 61 6c ath rows will al
23fd0 77 61 79 73 20 68 61 76 65 20 3c 62 3e 4e 55 4c ways have <b>NUL
23fe0 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20 L</b> values on
23ff0 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e <b>LinkRowid</b>
24000 2c 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 , <b>NodeFrom</b
24010 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c > and <b>NodeTo<
24020 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 /b> columns.</li
24030 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c >..</ul></li>..<
24040 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 li><b>Partial Li
24050 6e 6b 20 28 53 74 61 72 74 29 3c 2f 62 3e 3a 20 nk (Start)</b>:
24060 74 68 65 20 70 61 72 74 69 61 6c 20 73 65 63 74 the partial sect
24070 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74 ion of the first
24080 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c Link...<ul>..<l
24090 69 3e 74 68 69 73 20 73 70 65 63 69 66 69 63 20 i>this specific
240a0 72 6f 77 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 row will always
240b0 68 61 76 65 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f have a <b>NULL</
240c0 62 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20 b> value on the
240d0 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 <b>NodeFrom</b>
240e0 63 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f column.</li>..</
240f0 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 ul></li>..<li><b
24100 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45 >Partial Link (E
24110 6e 64 29 3c 2f 62 3e 3a 20 74 68 65 20 70 61 72 nd)</b>: the par
24120 74 69 61 6c 20 73 65 63 74 69 6f 6e 20 6f 66 20 tial section of
24130 74 68 65 20 6c 61 73 74 20 4c 69 6e 6b 2e 0d 0a the last Link...
24140 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 73 <ul>..<li>this s
24150 70 65 63 69 66 69 63 20 72 6f 77 20 77 69 6c 6c pecific row will
24160 20 61 6c 77 61 79 73 20 68 61 76 65 20 61 20 3c always have a <
24170 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 b>NULL</b> value
24180 20 6f 6e 20 74 68 65 20 3c 62 3e 4e 6f 64 65 54 on the <b>NodeT
24190 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c o</b> column.</l
241a0 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
241b0 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 3a <li><b>Link</b>:
241c0 20 61 6e 79 20 6f 74 68 65 72 20 4c 69 6e 6b 20 any other Link
241d0 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20 required by the
241e0 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 Point-to-Point S
241f0 6f 6c 75 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a olution...<ul>..
24200 3c 6c 69 3e 61 6c 6c 20 74 68 65 73 65 20 72 6f <li>all these ro
24210 77 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 ws will always h
24220 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c ave <b>NOT NULL<
24230 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20 3c 62 /b> values on <b
24240 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e 2c 20 >LinkRowid</b>,
24250 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 <b>NodeFrom</b>
24260 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 and <b>NodeTo</b
24270 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d > columns.</li>.
24280 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 .</ul></li>..</u
24290 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a l></li>..</ul>..
242a0 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 <br><br><br>..<b
242b0 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c >Point-to-Point<
242c0 2f 62 3e 20 71 75 65 72 69 65 73 20 63 61 6e 20 /b> queries can
242d0 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 2c 20 62 be customized, b
242e0 75 74 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 ut the configura
242f0 74 69 6f 6e 20 72 75 6c 65 73 20 64 69 66 66 65 tion rules diffe
24300 72 20 73 6c 69 67 68 74 6c 79 20 66 72 6f 6d 20 r slightly from
24310 77 68 61 74 20 79 6f 75 20 68 61 76 65 20 61 6c what you have al
24320 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 ready seen in th
24330 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 e previous examp
24340 6c 65 73 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e les...<ul>..<li>
24350 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e <b>Algorithm</b>
24360 3a 20 6f 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 : only <b>Dijkst
24370 72 61 3c 2f 62 3e 20 69 73 20 73 75 70 70 6f 72 ra</b> is suppor
24380 74 65 64 20 62 79 20 3c 62 3e 50 6f 69 6e 74 2d ted by <b>Point-
24390 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 2c 20 61 6e to-Point</b>, an
243a0 64 20 77 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63 d will be implic
243b0 69 74 6c 79 20 61 73 73 75 6d 65 64 20 65 76 65 itly assumed eve
243c0 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72 n when the alter
243d0 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e native <b>A*</b>
243e0 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75 algorithm is cu
243f0 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 rrently selected
24400 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 20 62 .<br>..This is b
24410 65 63 61 75 73 65 20 74 68 65 20 69 6e 74 65 72 ecause the inter
24420 6e 61 6c 20 6c 6f 67 69 63 20 6f 66 20 50 6f 69 nal logic of Poi
24430 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 72 65 71 75 nt-to-Point requ
24440 69 72 65 73 20 6d 75 6c 74 69 2d 64 65 73 74 69 ires multi-desti
24450 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 20 69 nation queries i
24460 6e 20 6f 72 64 65 72 20 74 6f 20 65 76 61 6c 75 n order to evalu
24470 61 74 65 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 ate all possible
24480 20 43 61 6e 64 69 64 61 74 65 20 53 6f 6c 75 74 Candidate Solut
24490 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e ions.</li>..<li>
244a0 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20 <b>Options</b>:
244b0 74 68 65 20 75 73 75 61 6c 20 3c 62 3e 46 55 4c the usual <b>FUL
244c0 4c 3c 2f 62 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45 L</b>, <b>SIMPLE
244d0 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b </b>, <b>NO LINK
244e0 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 S</b> and <b>NO
244f0 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61 GEOMETRIES</b> a
24500 72 65 20 73 75 70 70 6f 72 74 65 64 20 61 6e 64 re supported and
24510 20 77 69 6c 6c 20 68 61 76 65 20 74 68 65 20 73 will have the s
24520 61 6d 65 20 65 66 66 65 63 74 20 61 73 20 69 6e ame effect as in
24530 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 single-destinat
24540 69 6f 6e 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 ion queries.</li
24550 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61 >..<li><b>Tolera
24560 6e 63 65 3c 2f 62 3e 3a 20 74 68 69 73 20 73 65 nce</b>: this se
24570 74 74 69 6e 67 20 69 73 20 73 70 65 63 69 66 69 tting is specifi
24580 63 20 74 6f 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f c to Point-to-Po
24590 69 6e 74 2c 20 61 6e 64 20 64 65 66 69 6e 65 73 int, and defines
245a0 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c the maximum all
245b0 6f 77 61 62 6c 65 20 64 69 73 74 61 6e 63 65 20 owable distance
245c0 62 65 74 77 65 65 6e 20 61 20 72 65 66 65 72 65 between a refere
245d0 6e 63 65 20 50 6f 69 6e 74 20 61 6e 64 20 43 61 nce Point and Ca
245e0 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73 2e 3c 62 ndidate Links.<b
245f0 72 3e 0d 0a 49 74 20 64 65 66 61 75 6c 74 73 20 r>..It defaults
24600 74 6f 20 3c 62 3e 32 30 2e 30 6d 3c 2f 62 3e 20 to <b>20.0m</b>
24610 69 66 20 6e 6f 74 20 65 78 70 6c 69 63 69 74 6c if not explicitl
24620 79 20 73 65 74 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 y set.</li>..</u
24630 6c 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a l>..<verbatim>..
24640 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 UPDATE byfoot SE
24650 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 T Options = 'NO
24660 47 45 4f 4d 45 54 52 49 45 53 27 2c 20 54 6f 6c GEOMETRIES', Tol
24670 65 72 61 6e 63 65 20 3d 20 32 35 2e 35 3b 0d 0a erance = 25.5;..
24680 0d 0a 53 45 4c 45 43 54 20 52 65 71 75 65 73 74 ..SELECT Request
24690 2c 20 4f 70 74 69 6f 6e 73 2c 20 54 6f 6c 65 72 , Options, Toler
246a0 61 6e 63 65 2c 20 52 6f 75 74 65 52 6f 77 2c 20 ance, RouteRow,
246b0 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c Role, LinkRowid,
246c0 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 NodeFrom, NodeT
246d0 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 o, Cost, Geometr
246e0 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 y, Name..FROM by
246f0 66 6f 6f 74 0d 0a 57 48 45 52 45 20 50 6f 69 6e foot..WHERE Poin
24700 74 46 72 6f 6d 20 3d 20 28 53 45 4c 45 43 54 20 tFrom = (SELECT
24710 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f geom FROM house_
24720 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e 69 nr_vw WHERE muni
24730 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45 5a cipality = 'AREZ
24740 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73 20 ZO' AND address
24750 3d 20 27 56 49 41 20 44 45 27 27 20 43 45 4e 43 = 'VIA DE'' CENC
24760 49 20 31 33 27 29 0d 0a 20 20 20 20 41 4e 44 20 I 13').. AND
24770 50 6f 69 6e 74 54 6f 20 3d 20 28 53 45 4c 45 43 PointTo = (SELEC
24780 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 T geom FROM hous
24790 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75 e_nr_vw WHERE mu
247a0 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52 nicipality = 'AR
247b0 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73 EZZO' AND addres
247c0 73 20 3d 20 27 56 49 41 20 41 4e 54 4f 4e 49 4f s = 'VIA ANTONIO
247d0 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 43 GUADAGNOLI 19/C
247e0 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e ');..</verbatim>
247f0 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 ..The following
24800 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 table shows the
24810 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e resultset return
24820 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 ed by the above
24830 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 Point-to-Point q
24840 75 65 72 79 20 61 66 74 65 72 20 73 65 6c 65 63 uery after selec
24850 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 20 ting <b>Options
24860 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 = 'NO GEOMETRIES
24870 27 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c '</b> and <b>Tol
24880 65 72 61 6e 63 65 20 3d 20 32 35 2e 35 3c 2f 62 erance = 25.5</b
24890 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c ><br><br>..<tabl
248a0 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 e border="1" bgc
248b0 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 olor="#ffffcf" c
248c0 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 ellspacing="4" c
248d0 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d ellpadding="6">.
248e0 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 .<tr><th bgcolor
248f0 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 ="#d0d0a0">Reque
24900 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
24910 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 or="#d0d0a0">Opt
24920 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ions</th><th bgc
24930 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 54 olor="#d0d0a0">T
24940 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c 74 68 olerance</th><th
24950 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
24960 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 0">RouteRow</th>
24970 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
24980 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c d0a0">Role</th><
24990 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
249a0 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 0a0">LinkRowid</
249b0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
249c0 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f #d0d0a0">NodeFro
249d0 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f m</th><th bgcolo
249e0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
249f0 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c To</th><th bgcol
24a00 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 or="#d0d0a0">Cos
24a10 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
24a20 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d r="#d0d0a0">Geom
24a30 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 etry</th><th bgc
24a40 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
24a50 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c ame</th></tr>..<
24a60 74 72 3e 0d 0a 3c 74 64 3e 50 6f 69 6e 74 32 50 tr>..<td>Point2P
24a70 6f 69 6e 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 oint Path</td><t
24a80 64 3e 4e 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c d>No Geometries<
24a90 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24aa0 69 67 68 74 22 3e 32 35 2e 35 30 30 30 30 30 3c ight">25.500000<
24ab0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24ac0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e ight">0</td><td>
24ad0 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c 75 Point2Point Solu
24ae0 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c tion</td><td>NUL
24af0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
24b00 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
24b10 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24b20 22 3e 36 35 31 2e 30 36 37 30 38 32 3c 2f 74 64 ">651.067082</td
24b30 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
24b40 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
24b50 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
24b60 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
24b70 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
24b80 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
24b90 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 49 6e 67 t">1</td><td>Ing
24ba0 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74 ress Path</td><t
24bb0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
24bc0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
24bd0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
24be0 72 69 67 68 74 22 3e 32 2e 33 30 31 36 38 37 3c right">2.301687<
24bf0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
24c00 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
24c10 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
24c20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
24c30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
24c40 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24c50 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e ight">2</td><td>
24c60 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 Partial Link (St
24c70 61 72 74 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 art)</td><td ali
24c80 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 32 36 gn="right">22426
24c90 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
24ca0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
24cb0 67 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e ght">182630</td>
24cc0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24cd0 22 3e 34 36 2e 30 38 32 37 36 31 3c 2f 74 64 3e ">46.082761</td>
24ce0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
24cf0 3e 56 49 41 20 44 45 27 20 43 45 4e 43 49 3c 2f >VIA DE' CENCI</
24d00 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
24d10 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
24d20 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
24d30 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
24d40 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
24d50 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
24d60 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
24d70 32 32 33 37 35 38 3c 2f 74 64 3e 3c 74 64 20 61 223758</td><td a
24d80 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
24d90 36 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 630</td><td alig
24da0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 39 n="right">182629
24db0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
24dc0 72 69 67 68 74 22 3e 32 34 2e 31 39 38 31 31 35 right">24.198115
24dd0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
24de0 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c d><td>CORSO ITAL
24df0 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a IA</td>..</tr>..
24e00 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
24e10 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
24e20 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
24e30 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
24e40 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
24e50 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
24e60 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c ht">225512</td><
24e70 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
24e80 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 >182629</td><td
24e90 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
24ea0 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2933</td><td ali
24eb0 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31 38 gn="right">34.18
24ec0 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4194</td><td>NUL
24ed0 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 L</td><td>CORSO
24ee0 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 ITALIA</td>..</t
24ef0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
24f00 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
24f10 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
24f20 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
24f30 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">5</td><td>Lin
24f40 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
24f50 22 72 69 67 68 74 22 3e 32 32 35 35 31 31 3c 2f "right">225511</
24f60 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
24f70 67 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e ght">182933</td>
24f80 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24f90 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 ">181999</td><td
24fa0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
24fb0 39 2e 32 34 31 37 33 35 3c 2f 74 64 3e 3c 74 64 9.241735</td><td
24fc0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f >NULL</td><td>CO
24fd0 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d RSO ITALIA</td>.
24fe0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
24ff0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
25000 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
25010 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
25020 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 right">6</td><td
25030 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
25040 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 ign="right">2258
25050 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 00</td><td align
25060 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c ="right">181999<
25070 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
25080 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 ight">178880</td
25090 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
250a0 74 22 3e 39 35 2e 35 39 32 32 30 34 3c 2f 74 64 t">95.592204</td
250b0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
250c0 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 d>VIA FRANCESCO
250d0 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 CRISPI</td>..</t
250e0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
250f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
25100 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
25110 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
25120 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">7</td><td>Lin
25130 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
25140 22 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c 2f "right">219171</
25150 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
25160 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e ght">178880</td>
25170 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
25180 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 ">178732</td><td
25190 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 align="right">9
251a0 33 2e 32 38 35 35 33 38 3c 2f 74 64 3e 3c 74 64 3.285538</td><td
251b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
251c0 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 A FRANCESCO CRIS
251d0 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a PI</td>..</tr>..
251e0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
251f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
25200 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
25210 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 align="right">8
25220 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
25230 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
25240 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c ht">219058</td><
25250 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
25260 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 >178732</td><td
25270 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
25280 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8754</td><td ali
25290 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36 gn="right">148.6
252a0 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 56089</td><td>NU
252b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 LL</td><td>VIA F
252c0 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c RANCESCO CRISPI<
252d0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
252e0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
252f0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
25300 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
25310 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 ign="right">9</t
25320 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c 69 d><td>Partial Li
25330 6e 6b 20 28 45 6e 64 29 3c 2f 74 64 3e 3c 74 64 nk (End)</td><td
25340 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
25350 32 34 30 31 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 24019</td><td al
25360 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 ign="right">1828
25370 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 90</td><td>NULL<
25380 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
25390 69 67 68 74 22 3e 31 35 30 2e 32 36 30 36 34 31 ight">150.260641
253a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
253b0 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 d><td>VIA ANTONI
253c0 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 O GUADAGNOLI</td
253d0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
253e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
253f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
25400 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
25410 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e ="right">10</td>
25420 3c 74 64 3e 45 67 72 65 73 73 20 50 61 74 68 3c <td>Egress Path<
25430 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
25440 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
25450 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
25460 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 32 lign="right">7.2
25470 36 34 31 31 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 64118</td><td>NU
25480 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
25490 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 /td>..</tr>..</t
254a0 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d able>..<br><br>.
254b0 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 67 .The map below g
254c0 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 raphically shows
254d0 20 74 68 65 20 74 77 6f 20 50 6f 69 6e 74 2d 74 the two Point-t
254e0 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e o-Point Solution
254f0 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 s returned by th
25500 65 20 70 72 65 76 69 6f 75 73 20 71 75 65 72 69 e previous queri
25510 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c es...<br><br>..<
25520 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f img src="https:/
25530 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 /www.gaia-gis.it
25540 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 /gaia-sins/routi
25550 6e 67 2d 66 69 67 73 2f 70 6f 69 6e 74 2d 74 6f ng-figs/point-to
25560 2d 70 6f 69 6e 74 2e 6a 70 67 22 20 61 6c 74 3d -point.jpg" alt=
25570 22 70 6f 69 6e 74 2d 74 6f 2d 70 6f 69 6e 74 22 "point-to-point"
25580 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 >..<ul>..<li>the
25590 20 67 72 65 65 6e 20 6c 69 6e 65 20 63 6f 72 72 green line corr
255a0 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 66 esponds to the f
255b0 69 72 73 74 20 73 6f 6c 75 74 69 6f 6e 20 28 3c irst solution (<
255c0 69 3e 50 6f 69 6e 74 54 6f 20 3d 20 56 49 41 20 i>PointTo = VIA
255d0 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 42 3c GUADAGNOLI 19/B<
255e0 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e /i>).</li>..<li>
255f0 74 68 65 20 79 65 6c 6c 6f 77 20 6c 69 6e 65 20 the yellow line
25600 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 corresponds to t
25610 68 65 20 73 65 63 6f 6e 64 20 73 6f 6c 75 74 69 he second soluti
25620 6f 6e 20 28 3c 69 3e 50 6f 69 6e 74 54 6f 20 3d on (<i>PointTo =
25630 20 56 49 41 20 47 55 41 44 41 47 4e 4f 4c 49 20 VIA GUADAGNOLI
25640 31 39 2f 43 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 19/C</i>).</li>.
25650 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 .</ul>..<br>..<u
25660 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 50 6f 69 6e 74 >Note</u>: Point
25670 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 -to-Point querie
25680 73 20 61 72 65 20 76 65 72 79 20 73 65 6e 73 69 s are very sensi
25690 74 69 76 65 2c 20 61 6e 64 20 61 20 76 65 72 79 tive, and a very
256a0 20 62 6c 61 6e 64 20 73 68 69 66 74 20 61 66 66 bland shift aff
256b0 65 63 74 69 6e 67 20 74 68 65 20 70 6f 73 69 74 ecting the posit
256c0 69 6f 6e 20 6f 66 20 61 20 72 65 66 65 72 65 6e ion of a referen
256d0 63 65 20 50 6f 69 6e 74 20 63 6f 75 6c 64 20 65 ce Point could e
256e0 61 73 69 6c 79 20 63 61 75 73 65 20 64 72 61 6d asily cause dram
256f0 61 74 69 63 20 63 68 61 6e 67 65 73 20 69 6e 20 atic changes in
25700 74 68 65 20 53 6f 6c 75 74 69 6f 6e 27 73 20 50 the Solution's P
25710 61 74 68 20 28 61 73 20 69 73 20 69 6e 20 74 68 ath (as is in th
25720 69 73 20 63 61 73 65 29 2e 0d 0a 3c 62 72 3e 3c is case)...<br><
25730 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c br>..<hr><br>..<
25740 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f a href="https://
25750 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
25760 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61 74 69 61 fossil/libspatia
25770 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34 lite/wiki?name=4
25780 2e 33 2e 30 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f .3.0-doc">back</
25790 61 3e 0a 5a 20 31 38 66 36 65 31 31 35 38 36 30 a>.Z 18f6e115860
257a0 39 63 37 64 37 30 31 66 31 63 65 62 30 39 62 61 9c7d701f1ceb09ba
257b0 65 66 65 34 33 0a efe43.