Wiki page
[VirtualRouting] by
sandro
2018-04-25 10:36:27.
0000: 44 20 32 30 31 38 2d 30 34 2d 32 35 54 31 30 3a D 2018-04-25T10:
0010: 33 36 3a 32 37 2e 39 37 34 0a 4c 20 56 69 72 74 36:27.974.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 33 65 33 ualRouting.P 3e3
0030: 36 66 32 34 33 36 30 35 36 32 33 33 34 61 64 35 6f24360562334ad5
0040: 66 38 61 36 62 65 39 63 65 32 39 65 37 31 33 63 f8a6be9ce29e713c
0050: 35 65 32 38 32 0a 55 20 73 61 6e 64 72 6f 0a 57 5e282.U sandro.W
0060: 20 31 35 31 33 32 35 0a 3c 61 20 68 72 65 66 3d 151325.<a href=
0070: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
0080: 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f a-gis.it/fossil/
0090: 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 libspatialite/wi
00a0: 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f ki?name=4.3.0-do
00b0: 63 22 3e 62 61 63 6b 3c 2f 61 3e 3c 68 72 3e 3c c">back</a><hr><
00c0: 62 72 3e 0d 0a 3c 68 31 3e 54 61 62 6c 65 20 6f br>..<h1>Table o
00d0: 66 20 43 6f 6e 74 65 6e 74 73 3c 2f 68 31 3e 0d f Contents</h1>.
00e0: 0a 31 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 69 .1 - <a href="#i
00f0: 6e 74 72 6f 22 3e 49 6e 74 72 6f 64 75 63 74 69 ntro">Introducti
0100: 6f 6e 3c 2f 61 3e 3c 62 72 3e 0d 0a 32 20 2d 20 on</a><br>..2 -
0110: 3c 61 20 68 72 65 66 3d 22 23 73 61 6d 70 6c 65 <a href="#sample
0120: 22 3e 54 68 65 20 73 61 6d 70 6c 65 2f 74 65 73 ">The sample/tes
0130: 74 20 44 42 3c 2f 61 3e 3c 62 72 3e 0d 0a 33 20 t DB</a><br>..3
0140: 2d 20 3c 61 20 68 72 65 66 3d 22 23 63 72 65 61 - <a href="#crea
0150: 74 65 22 3e 43 72 65 61 74 69 6e 67 20 56 69 72 te">Creating Vir
0160: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c tualRouting Tabl
0170: 65 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 34 20 2d 20 es</a><br>..4 -
0180: 3c 61 20 68 72 65 66 3d 22 23 66 72 6f 6d 5f 74 <a href="#from_t
0190: 6f 22 3e 53 6f 6c 76 69 6e 67 20 63 6c 61 73 73 o">Solving class
01a0: 69 63 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 ic Shortest Path
01b0: 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 problems</a><br
01c0: 3e 0d 0a 35 20 2d 20 3c 61 20 68 72 65 66 3d 22 >..5 - <a href="
01d0: 23 6d 75 6c 74 69 22 3e 53 6f 6c 76 69 6e 67 20 #multi">Solving
01e0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f multi-destinatio
01f0: 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 n Shortest Path
0200: 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e problems</a><br>
0210: 0d 0a 36 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 ..6 - <a href="#
0220: 69 73 6f 63 68 72 6f 6e 65 22 3e 53 6f 6c 76 69 isochrone">Solvi
0230: 6e 67 20 49 73 6f 63 68 72 6f 6e 65 20 70 72 6f ng Isochrone pro
0240: 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 37 blems</a><br>..7
0250: 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 74 73 70 - <a href="#tsp
0260: 22 3e 53 6f 6c 76 69 6e 67 20 54 53 50 20 28 74 ">Solving TSP (t
0270: 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 73 6d 61 raveling salesma
0280: 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c n) problems</a><
0290: 62 72 3e 0d 0a 38 20 2d 20 3c 61 20 68 72 65 66 br>..8 - <a href
02a0: 3d 22 23 70 32 70 22 3e 53 6f 6c 76 69 6e 67 20 ="#p2p">Solving
02b0: 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 70 Point-to-Point p
02c0: 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e 0d roblems</a><br>.
02d0: 0a 3c 62 72 3e 3c 68 72 3e 0d 0a 3c 68 31 3e 3c .<br><hr>..<h1><
02e0: 61 20 6e 61 6d 65 3d 22 69 6e 74 72 6f 22 3e 31 a name="intro">1
02f0: 20 2d 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c - Introduction<
0300: 2f 61 3e 3c 2f 68 31 3e 0d 0a 50 72 65 76 69 6f /a></h1>..Previo
0310: 75 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 53 us versions of S
0320: 70 61 74 69 61 4c 69 74 65 20 74 72 61 64 69 74 patiaLite tradit
0330: 69 6f 6e 61 6c 6c 79 20 73 75 70 70 6f 72 74 65 ionally supporte
0340: 64 20 61 20 3c 62 3e 70 75 72 65 20 53 51 4c 20 d a <b>pure SQL
0350: 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65 3c 2f routing module</
0360: 62 3e 20 74 68 61 74 20 77 61 73 20 6e 61 6d 65 b> that was name
0370: 64 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 d <a href="https
0380: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
0390: 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61 it/fossil/libspa
03a0: 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d tialite/wiki?nam
03b0: 65 3d 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b e=VirtualNetwork
03c0: 2b 72 65 6c 6f 61 64 65 64 22 3e 56 69 72 74 75 +reloaded">Virtu
03d0: 61 6c 4e 65 74 77 6f 72 6b 3c 2f 61 3e 2e 3c 62 alNetwork</a>.<b
03e0: 72 3e 3c 62 72 3e 0d 0a 53 69 6e 63 65 20 76 65 r><br>..Since ve
03f0: 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f rsion <b>5.0.0</
0400: 62 3e 20 61 20 62 72 61 6e 64 20 6e 65 77 20 3c b> a brand new <
0410: 62 3e 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65 b>routing module
0420: 3c 2f 62 3e 20 28 6d 6f 72 65 20 61 64 76 61 6e </b> (more advan
0430: 63 65 64 20 61 6e 64 20 73 6f 70 68 69 73 74 69 ced and sophisti
0440: 63 61 74 65 64 29 20 69 73 20 61 76 61 69 6c 61 cated) is availa
0450: 62 6c 65 2c 20 74 68 61 74 20 69 73 20 63 61 6c ble, that is cal
0460: 6c 65 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f led <b>VirtualRo
0470: 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a uting</b>.<br>..
0480: 54 68 65 20 6e 6f 77 20 6f 62 73 6f 6c 65 74 65 The now obsolete
0490: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f <b>VirtualNetwo
04a0: 72 6b 3c 2f 62 3e 20 69 73 20 73 74 69 6c 6c 20 rk</b> is still
04b0: 73 75 70 70 6f 72 74 65 64 20 62 79 20 76 65 72 supported by ver
04c0: 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f 62 sion <b>5.0.0</b
04d0: 3e 20 73 6f 20 61 73 20 74 6f 20 6e 6f 74 20 63 > so as to not c
04e0: 61 75 73 65 20 61 6e 20 61 62 72 75 70 74 20 62 ause an abrupt b
04f0: 72 65 61 6b 20 74 6f 20 61 6c 72 65 61 64 79 20 reak to already
0500: 65 78 69 73 74 69 6e 67 20 61 70 70 6c 69 63 61 existing applica
0510: 74 69 6f 6e 73 2c 20 62 75 74 20 77 69 6c 6c 20 tions, but will
0520: 70 72 65 73 75 6d 61 62 6c 79 20 62 65 20 64 69 presumably be di
0530: 73 63 6f 6e 74 69 6e 75 65 64 20 69 6e 20 66 75 scontinued in fu
0540: 74 75 72 65 20 76 65 72 73 69 6f 6e 73 2e 3c 62 ture versions.<b
0550: 72 3e 0d 0a 55 73 69 6e 67 20 3c 62 3e 56 69 72 r>..Using <b>Vir
0560: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 tualRouting</b>
0570: 69 6e 73 74 65 61 64 20 6f 66 20 3c 62 3e 56 69 instead of <b>Vi
0580: 72 74 75 61 6c 4e 65 74 77 69 72 6b 3c 2f 62 3e rtualNetwirk</b>
0590: 20 69 73 20 77 61 72 6d 6c 79 20 72 65 63 6f 6d is warmly recom
05a0: 6d 65 6e 64 65 64 20 66 6f 72 20 61 6e 79 20 6e mended for any n
05b0: 65 77 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 20 ew development.
05c0: 0d 0a 3c 68 32 3e 54 68 65 6f 72 65 74 69 63 61 ..<h2>Theoretica
05d0: 6c 20 66 6f 75 6e 64 61 74 69 6f 6e 73 20 2d 20 l foundations -
05e0: 61 6e 20 75 6c 74 72 61 2d 71 75 69 63 6b 20 72 an ultra-quick r
05f0: 65 63 61 6c 6c 3c 2f 68 32 3e 0d 0a 41 6c 6c 20 ecall</h2>..All
0600: 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 <b>Routing algor
0610: 69 74 68 6d 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b ithms</b> (<i>ak
0620: 61 3c 2f 69 3e 20 3c 62 3e 53 68 6f 72 74 65 73 a</i> <b>Shortes
0630: 74 20 50 61 74 68 3c 2f 62 3e 20 61 6c 67 6f 72 t Path</b> algor
0640: 69 74 68 6d 73 29 20 61 72 65 20 62 61 73 65 64 ithms) are based
0650: 20 6f 6e 20 74 68 65 20 6d 61 74 68 65 6d 61 74 on the mathemat
0660: 69 63 73 20 6f 66 20 74 68 65 20 3c 61 20 68 72 ics of the <a hr
0670: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 ef="https://en.w
0680: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b ikipedia.org/wik
0690: 69 2f 47 72 61 70 68 5f 74 68 65 6f 72 79 22 3e i/Graph_theory">
06a0: 47 72 61 70 68 20 74 68 65 6f 72 79 3c 2f 61 3e Graph theory</a>
06b0: 20 6f 72 20 74 6f 20 62 65 20 6d 6f 72 65 20 70 or to be more p
06c0: 72 65 63 69 73 65 3a 20 6f 6e 20 3c 62 3e 57 65 recise: on <b>We
06d0: 69 67 68 74 65 64 20 47 72 61 70 68 73 3c 2f 62 ighted Graphs</b
06e0: 3e 2e 0d 0a 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 >...<br>..<img s
06f0: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
0700: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
0710: 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 -sins/routing-fi
0720: 67 73 2f 6e 65 74 77 6f 72 6b 2e 70 6e 67 22 20 gs/network.png"
0730: 61 6c 74 3d 22 6e 65 74 77 6f 72 6b 22 3e 0d 0a alt="network">..
0740: 3c 62 72 3e 0d 0a 41 20 74 6f 70 6f 6c 6f 67 69 <br>..A topologi
0750: 63 61 6c 6c 79 20 76 61 6c 69 64 20 3c 62 3e 4e cally valid <b>N
0760: 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73 20 61 20 etwork</b> is a
0770: 64 61 74 61 73 65 74 20 74 68 61 74 20 66 75 6c dataset that ful
0780: 66 69 6c 6c 73 20 74 68 65 20 66 6f 6c 6c 6f 77 fills the follow
0790: 69 6e 67 20 72 65 71 75 69 72 65 6d 65 6e 74 73 ing requirements
07a0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 6c 6c :..<ul>..<li>All
07b0: 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 64 61 items in the da
07c0: 74 61 73 65 74 20 61 72 65 20 63 61 6c 6c 65 64 taset are called
07d0: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 28 3c <b>Links</b> (<
07e0: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 41 72 63 i>aka</i> <b>Arc
07f0: 73 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 72 65 20 s</b>), and are
0800: 65 78 70 65 63 74 65 64 20 74 6f 20 72 65 70 72 expected to repr
0810: 65 73 65 6e 74 20 73 6f 6d 65 20 6f 72 69 65 6e esent some orien
0820: 74 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a ted connection j
0830: 6f 69 6e 69 6e 67 20 74 77 6f 20 3c 62 3e 4e 6f oining two <b>No
0840: 64 65 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 des</b>.<br>..<u
0850: 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 69 6e >Example</u>: in
0860: 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 75 72 the above figur
0870: 65 20 4c 69 6e 6b 20 3c 62 3e 4c 33 3c 2f 62 3e e Link <b>L3</b>
0880: 20 63 6f 6e 6e 65 63 74 73 20 4e 6f 64 65 73 20 connects Nodes
0890: 3c 62 3e 4e 32 3c 2f 62 3e 20 61 6e 64 20 3c 62 <b>N2</b> and <b
08a0: 3e 4e 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c >N5</b>.</li>..<
08b0: 6c 69 3e 54 68 65 72 65 66 6f 72 65 20 61 6c 6c li>Therefore all
08c0: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72 <b>Links</b> ar
08d0: 65 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65 e always expecte
08e0: 64 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 d to explicitly
08f0: 72 65 66 65 72 65 6e 63 65 20 61 20 3c 62 3e 53 reference a <b>S
0900: 74 61 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c tart-Node</b> (<
0910: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64 i>aka</i> <b>Nod
0920: 65 2d 46 72 6f 6d 3c 2f 62 3e 29 20 61 6e 64 20 e-From</b>) and
0930: 61 6e 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f an <b>End-Node</
0940: 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c b> (<i>aka</i> <
0950: 62 3e 4e 6f 64 65 2d 54 6f 3c 2f 62 3e 29 2e 0d b>Node-To</b>)..
0960: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4c 69 6e 6b 73 .<ul>..<li>Links
0970: 20 61 72 65 20 61 6c 77 61 79 73 20 3c 62 3e 6f are always <b>o
0980: 72 69 65 6e 74 65 64 3c 2f 62 3e 2c 20 61 6e 64 riented</b>, and
0990: 20 74 68 65 69 72 20 6e 61 74 75 72 61 6c 20 64 their natural d
09a0: 69 72 65 63 74 69 6f 6e 20 69 73 20 3c 62 3e 46 irection is <b>F
09b0: 72 6f 6d 2d 54 6f 3c 2f 62 3e 3a 0d 0a 3c 75 6c rom-To</b>:..<ul
09c0: 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 20 3c 62 3e >..<li>in an <b>
09d0: 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f unidirectional</
09e0: 62 3e 20 4e 65 74 77 6f 72 6b 20 65 61 63 68 20 b> Network each
09f0: 4c 69 6e 6b 20 69 73 20 61 6e 20 3c 62 3e 6f 6e Link is an <b>on
0a00: 65 2d 77 61 79 3c 2f 62 3e 20 63 6f 6e 6e 65 63 e-way</b> connec
0a10: 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 49 66 20 74 68 tion.<br>..If th
0a20: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 e connection is
0a30: 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 to be available
0a40: 69 6e 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 in the opposite
0a50: 64 69 72 65 63 74 69 6f 6e 2c 20 61 20 73 65 63 direction, a sec
0a60: 6f 6e 64 20 4c 69 6e 6b 20 6d 75 73 74 20 62 65 ond Link must be
0a70: 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 63 6c explicitly decl
0a80: 61 72 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 ared.<br>..<u>Ex
0a90: 61 6d 70 6c 65 3c 2f 75 3e 3a 20 4c 69 6e 6b 20 ample</u>: Link
0aa0: 3c 62 3e 58 31 3c 2f 62 3e 20 67 6f 65 73 20 66 <b>X1</b> goes f
0ab0: 72 6f 6d 20 4e 6f 64 65 20 3c 62 3e 41 3c 2f 62 rom Node <b>A</b
0ac0: 3e 20 74 6f 20 4e 6f 64 65 20 3c 62 3e 42 3c 2f > to Node <b>B</
0ad0: 62 3e 2c 20 61 6e 64 20 4c 69 6e 6b 20 3c 62 3e b>, and Link <b>
0ae0: 58 32 3c 2f 62 3e 20 67 6f 65 73 20 66 72 6f 6d X2</b> goes from
0af0: 20 4e 6f 64 65 20 3c 62 3e 42 3c 2f 62 3e 20 74 Node <b>B</b> t
0b00: 6f 20 4e 6f 64 65 20 3c 62 3e 41 3c 2f 62 3e 2e o Node <b>A</b>.
0b10: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 20 </li>..<li>in a
0b20: 3c 62 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c <b>bidirectional
0b30: 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 20 61 6c 6c </b> Network all
0b40: 20 4c 69 6e 6b 73 20 61 72 65 20 61 73 73 75 6d Links are assum
0b50: 65 64 20 74 6f 20 65 73 74 61 62 6c 69 73 68 20 ed to establish
0b60: 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 20 a connection in
0b70: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 2e both directions.
0b80: 3c 62 72 3e 0d 0a 44 65 66 69 6e 69 74 69 6e 67 <br>..Definiting
0b90: 20 61 6e 20 3c 62 3e 6f 6e 65 2d 77 61 79 20 63 an <b>one-way c
0ba0: 6f 6e 6e 65 63 74 69 6f 6e 3c 2f 62 3e 20 72 65 onnection</b> re
0bb0: 71 75 69 72 65 73 20 61 6e 20 61 70 70 72 6f 70 quires an approp
0bc0: 72 69 61 74 65 20 61 74 74 72 69 62 75 74 65 20 riate attribute
0bd0: 74 6f 20 62 65 20 73 65 74 20 28 73 65 65 20 62 to be set (see b
0be0: 65 6c 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 elow).</li>..</u
0bf0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 65 l></li>..<li>The
0c00: 20 3c 62 3e 53 74 61 72 74 2d 3c 2f 62 3e 20 61 <b>Start-</b> a
0c10: 6e 64 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f nd <b>End-Node</
0c20: 62 3e 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 b> could eventua
0c30: 6c 6c 79 20 62 65 20 74 68 65 20 73 61 6d 65 2c lly be the same,
0c40: 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 and in this cas
0c50: 65 20 77 65 27 6c 6c 20 68 61 76 65 20 61 20 3c e we'll have a <
0c60: 62 3e 73 65 6c 66 2d 63 6c 6f 73 65 64 3c 2f 62 b>self-closed</b
0c70: 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c > Link.</li>..<l
0c80: 69 3e 4e 65 74 77 6f 72 6b 27 73 20 4c 69 6e 6b i>Network's Link
0c90: 73 20 3c 62 3e 63 61 6e 3c 2f 62 3e 20 65 76 65 s <b>can</b> eve
0ca0: 6e 74 75 61 6c 6c 79 20 64 65 66 69 6e 65 20 61 ntually define a
0cb0: 20 6c 69 6e 65 61 72 20 47 65 6f 6d 65 74 72 79 linear Geometry
0cc0: 20 28 3c 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c (<b>LINESTRING<
0cd0: 2f 62 3e 29 20 67 6f 69 6e 67 20 66 72 6f 6d 20 /b>) going from
0ce0: 74 68 65 20 3c 62 3e 53 74 61 72 74 2d 4e 6f 64 the <b>Start-Nod
0cf0: 65 3c 2f 62 3e 20 74 6f 20 74 68 65 20 3c 62 3e e</b> to the <b>
0d00: 45 6e 64 2d 4e 6f 64 65 3c 2f 62 3e 2c 20 62 75 End-Node</b>, bu
0d10: 74 20 74 68 69 73 20 69 73 20 61 6e 20 6f 70 74 t this is an opt
0d20: 69 6f 6e 61 6c 20 66 65 61 74 75 72 65 2c 20 6e ional feature, n
0d30: 6f 74 20 61 20 6d 61 6e 64 61 74 6f 72 79 20 72 ot a mandatory r
0d40: 65 71 75 69 72 65 6d 65 6e 74 2e 3c 2f 6c 69 3e equirement.</li>
0d50: 0d 0a 3c 6c 69 3e 57 68 61 74 20 69 73 20 61 62 ..<li>What is ab
0d60: 73 6f 6c 75 74 65 6c 79 20 72 65 71 75 69 72 65 solutely require
0d70: 64 20 69 73 20 74 68 61 74 20 65 61 63 68 20 3c d is that each <
0d80: 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 6d 75 73 74 20 b>Link</b> must
0d90: 65 78 70 6c 69 63 69 74 6c 79 20 72 65 66 65 72 explicitly refer
0da0: 65 6e 63 65 20 69 74 73 20 3c 62 3e 4e 6f 64 65 ence its <b>Node
0db0: 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 s</b>.</li>..</u
0dc0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 4e l></li>..<li>A N
0dd0: 65 74 77 6f 72 6b 20 73 75 70 70 6f 72 74 69 6e etwork supportin
0de0: 67 20 47 65 6f 6d 65 74 72 69 65 73 20 69 73 20 g Geometries is
0df0: 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 a <b>Spatial Net
0e00: 77 6f 72 6b 3c 2f 62 3e 3b 20 6f 74 68 65 72 77 work</b>; otherw
0e10: 69 73 65 20 61 20 4e 65 74 77 6f 72 6b 20 6c 61 ise a Network la
0e20: 63 6b 69 6e 67 20 61 6e 79 20 47 65 6f 6d 65 74 cking any Geomet
0e30: 72 79 20 69 73 20 61 20 3c 62 3e 4c 6f 67 69 63 ry is a <b>Logic
0e40: 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 2e 0d al Network</b>..
0e50: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 .<ul>..<li>In a
0e60: 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f <b>Spatial Netwo
0e70: 72 6b 3c 2f 62 3e 20 61 6c 6c 20 4c 69 6e 6b 73 rk</b> all Links
0e80: 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20 68 61 76 <b>must</b> hav
0e90: 65 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e e a correspondin
0ea0: 67 20 47 65 6f 6d 65 74 72 79 2e 3c 2f 6c 69 3e g Geometry.</li>
0eb0: 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62 3e 4c 6f ..<li>In a <b>Lo
0ec0: 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 gical Network</b
0ed0: 3e 20 61 6c 6c 20 4c 69 6e 6b 73 20 3c 62 3e 61 > all Links <b>a
0ee0: 72 65 20 73 74 72 69 63 74 6c 79 20 66 6f 72 62 re strictly forb
0ef0: 69 64 64 65 6e 3c 2f 62 3e 20 74 6f 20 68 61 76 idden</b> to hav
0f00: 65 20 61 6e 79 20 47 65 6f 6d 65 74 72 79 2e 3c e any Geometry.<
0f10: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c /li>..<li>In a <
0f20: 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 b>Spatial Networ
0f30: 6b 3c 2f 62 3e 20 62 6f 74 68 20 74 68 65 20 3c k</b> both the <
0f40: 62 3e 53 74 61 72 74 50 6f 69 6e 74 3c 2f 62 3e b>StartPoint</b>
0f50: 20 61 6e 64 20 3c 62 3e 45 6e 64 50 6f 69 6e 74 and <b>EndPoint
0f60: 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e </b> of each Lin
0f70: 6b 27 73 20 3c 62 3e 4c 49 4e 45 53 54 52 49 4e k's <b>LINESTRIN
0f80: 47 3c 2f 62 3e 20 61 72 65 20 61 6c 77 61 79 73 G</b> are always
0f90: 20 65 78 70 65 63 74 65 64 20 74 6f 20 65 78 61 expected to exa
0fa0: 63 74 6c 79 20 63 6f 69 6e 63 69 64 65 20 77 69 ctly coincide wi
0fb0: 74 68 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e th the correspon
0fc0: 64 69 6e 67 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 ding <b>Nodes</b
0fd0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f >.</li>..</ul></
0fe0: 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62 li>..<li>In a <b
0ff0: 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b >Spatial Network
1000: 3c 2f 62 3e 20 61 6c 6c 20 72 65 66 65 72 65 6e </b> all referen
1010: 63 65 73 20 74 6f 20 74 68 65 20 73 61 6d 65 20 ces to the same
1020: 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 20 62 79 20 64 <b>Node</b> by d
1030: 69 66 66 65 72 65 6e 74 20 4c 69 6e 6b 73 20 3c ifferent Links <
1040: 62 3e 6d 75 73 74 3c 2f 62 3e 20 62 65 20 61 6e b>must</b> be an
1050: 20 65 78 61 63 74 20 6d 61 74 63 68 2e 3c 62 72 exact match.<br
1060: 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 >..<u>Example</u
1070: 3e 3a 20 4e 6f 64 65 20 3c 62 3e 4e 35 3c 2f 62 >: Node <b>N5</b
1080: 3e 20 69 73 20 73 68 61 72 65 64 20 62 79 20 4c > is shared by L
1090: 69 6e 6b 73 20 3c 62 3e 4c 33 3c 2f 62 3e 2c 20 inks <b>L3</b>,
10a0: 3c 62 3e 4c 36 3c 2f 62 3e 2c 20 3c 62 3e 4c 37 <b>L6</b>, <b>L7
10b0: 3c 2f 62 3e 2c 20 3c 62 3e 4c 39 3c 2f 62 3e 20 </b>, <b>L9</b>
10c0: 61 6e 64 20 3c 62 3e 4c 31 30 3c 2f 62 3e 2c 20 and <b>L10</b>,
10d0: 73 6f 20 61 6c 6c 20 74 68 65 69 72 20 63 6f 72 so all their cor
10e0: 72 65 73 70 6f 6e 64 69 6e 67 20 4c 49 4e 45 53 responding LINES
10f0: 54 52 49 4e 47 53 20 61 72 65 20 65 78 70 65 63 TRINGS are expec
1100: 74 65 64 20 74 6f 20 68 61 76 65 20 74 68 65 20 ted to have the
1110: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 78 corresponding ex
1120: 74 72 65 6d 69 74 79 20 28 3c 62 3e 53 74 61 72 tremity (<b>Star
1130: 74 2d 3c 2f 62 3e 20 6f 72 20 3c 62 3e 45 6e 64 t-</b> or <b>End
1140: 2d 3c 2f 62 3e 2c 20 64 65 70 65 6e 64 69 6e 67 -</b>, depending
1150: 20 6f 6e 20 74 68 65 20 6f 72 69 65 6e 74 61 74 on the orientat
1160: 69 6f 6e 29 20 70 6f 69 6e 74 73 20 74 68 61 74 ion) points that
1170: 20 6d 75 73 74 20 65 78 61 63 74 6c 79 20 6d 61 must exactly ma
1180: 74 63 68 20 74 68 65 20 6f 74 68 65 72 2e 3c 62 tch the other.<b
1190: 72 3e 0d 0a 41 20 3c 62 3e 74 6f 70 6f 6c 6f 67 r>..A <b>topolog
11a0: 69 63 61 6c 20 69 6e 63 6f 6e 73 69 73 74 65 6e ical inconsisten
11b0: 63 79 3c 2f 62 3e 20 65 78 69 73 74 73 20 69 66 cy</b> exists if
11c0: 20 61 6e 79 20 6f 66 20 74 68 65 73 65 20 63 6f any of these co
11d0: 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 nditions are not
11e0: 20 73 61 74 69 73 66 69 65 64 2c 20 77 68 69 63 satisfied, whic
11f0: 68 20 6c 65 61 64 73 20 74 6f 20 61 6e 20 3c 62 h leads to an <b
1200: 3e 69 6e 76 61 6c 69 64 3c 2f 62 3e 20 4e 65 74 >invalid</b> Net
1210: 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e work.</li>..<li>
1220: 41 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 Accordingly to t
1230: 68 65 20 61 62 6f 76 65 20 70 72 65 6d 69 73 65 he above premise
1240: 73 2c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 s, <b>Nodes</b>
1250: 61 72 65 20 6e 65 76 65 72 20 65 78 70 65 63 74 are never expect
1260: 65 64 20 74 6f 20 62 65 20 65 78 70 6c 69 63 69 ed to be explici
1270: 74 6c 79 20 64 65 63 6c 61 72 65 64 20 69 6e 20 tly declared in
1280: 61 20 73 65 70 61 72 61 74 65 20 54 61 62 6c 65 a separate Table
1290: 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 69 .<br>..Just a si
12a0: 6e 67 6c 65 20 54 61 62 6c 65 20 64 65 63 6c 61 ngle Table decla
12b0: 72 69 6e 67 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b ring all <b>Link
12c0: 73 3c 2f 62 3e 20 69 73 20 72 65 71 75 69 72 65 s</b> is require
12d0: 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 75 d in order to fu
12e0: 6c 6c 79 20 64 65 66 69 6e 65 20 61 20 74 6f 70 lly define a top
12f0: 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64 ologically valid
1300: 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 41 Network.<br>..A
1310: 6c 6c 20 74 68 65 20 4e 6f 64 65 73 20 63 61 6e ll the Nodes can
1320: 20 74 68 65 6e 20 62 65 20 65 61 73 69 6c 79 20 then be easily
1330: 65 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 74 extracted from t
1340: 68 65 20 4c 69 6e 6b 27 73 20 64 65 66 69 6e 69 he Link's defini
1350: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 63 6f tions and the co
1360: 6f 72 64 69 6e 61 74 65 73 20 66 6f 72 20 65 61 ordinates for ea
1370: 63 68 20 4e 6f 64 65 20 63 61 6e 20 62 65 20 64 ch Node can be d
1380: 69 72 65 63 74 6c 79 20 73 65 74 20 62 79 20 65 irectly set by e
1390: 78 74 72 61 63 74 69 6e 67 20 74 68 65 20 65 78 xtracting the ex
13a0: 74 72 65 6d 65 20 50 6f 69 6e 74 20 6f 66 20 74 treme Point of t
13b0: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 he corresponding
13c0: 20 4c 69 6e 65 73 74 72 69 6e 67 73 2e 3c 62 72 Linestrings.<br
13d0: 3e 0d 0a 49 66 20 61 6e 79 20 6d 69 73 6d 61 74 >..If any mismat
13e0: 63 68 20 69 73 20 64 65 74 65 63 74 65 64 20 74 ch is detected t
13f0: 68 65 20 4e 65 74 77 6f 72 6b 20 77 69 6c 6c 20 he Network will
1400: 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 2e 3c become invalid.<
1410: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 3c 62 3e 4c /li>..<li>A <b>L
1420: 69 6e 6b 3c 2f 62 3e 20 6d 61 79 20 6c 65 67 69 ink</b> may legi
1430: 74 69 6d 61 74 65 6c 79 20 73 65 6c 66 2d 69 6e timately self-in
1440: 74 65 72 73 65 63 74 20 69 74 73 65 6c 66 20 28 tersect itself (
1450: 65 2e 67 2e 20 66 6f 72 6d 69 6e 67 20 61 20 6c e.g. forming a l
1460: 6f 6f 70 29 2c 20 61 73 20 73 68 6f 77 6e 20 69 oop), as shown i
1470: 6e 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 75 n the above figu
1480: 72 65 20 62 79 20 4c 69 6e 6b 20 3c 62 3e 4c 31 re by Link <b>L1
1490: 35 3c 2f 62 3e 20 28 6f 72 61 6e 67 65 20 73 70 5</b> (orange sp
14a0: 6f 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 ot).</li>..<li>T
14b0: 77 6f 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 wo <b>Links</b>
14c0: 6d 61 79 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 may legitimately
14d0: 20 69 6e 74 65 72 73 65 63 74 20 77 68 65 72 65 intersect where
14e0: 20 6e 6f 20 4e 6f 64 65 20 65 78 69 73 74 73 2c no Node exists,
14f0: 20 61 73 20 65 78 65 6d 70 6c 69 66 69 65 64 20 as exemplified
1500: 6f 6e 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 on the above fig
1510: 75 72 65 20 62 79 20 4c 69 6e 6b 73 20 3c 62 3e ure by Links <b>
1520: 4c 34 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 37 L4</b> and <b>L7
1530: 3c 2f 62 3e 20 28 67 72 65 65 6e 20 73 70 6f 74 </b> (green spot
1540: 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 75 73 75 ).<br>..This usu
1550: 61 6c 6c 79 20 68 61 70 70 65 6e 73 20 77 68 65 ally happens whe
1560: 6e 20 6f 6e 65 20 6f 66 20 74 68 65 20 74 77 6f n one of the two
1570: 20 4c 69 6e 6b 73 20 6f 76 65 72 70 61 73 73 65 Links overpasse
1580: 73 20 74 68 65 20 6f 74 68 65 72 2c 20 6f 72 20 s the other, or
1590: 77 68 65 72 65 20 73 6f 6d 65 20 74 65 63 68 6e where some techn
15a0: 69 63 61 6c 20 72 65 73 74 72 69 63 74 69 6f 6e ical restriction
15b0: 20 65 78 69 73 74 73 20 28 65 2e 67 2e 20 74 77 exists (e.g. tw
15c0: 6f 20 69 6e 73 75 6c 61 74 65 64 20 77 69 72 65 o insulated wire
15d0: 73 20 69 6e 20 61 6e 20 45 6c 65 63 74 72 69 63 s in an Electric
15e0: 61 6c 20 4e 65 74 77 6f 72 6b 29 2e 3c 2f 6c 69 al Network).</li
15f0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 73 3c >..<li><b>Links<
1600: 2f 62 3e 20 61 72 65 6e 27 74 20 73 74 72 69 63 /b> aren't stric
1610: 74 6c 79 20 72 65 71 75 69 72 65 64 20 74 6f 20 tly required to
1620: 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 be associated wi
1630: 74 68 20 61 6e 79 20 73 70 65 63 69 66 69 63 20 th any specific
1640: 61 74 74 72 69 62 75 74 65 2c 20 62 75 74 20 74 attribute, but t
1650: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 74 74 he following att
1660: 72 69 62 75 74 65 73 20 61 72 65 20 61 6c 6d 6f ributes are almo
1670: 73 74 20 75 6e 69 76 65 72 73 61 6c 6c 79 20 73 st universally s
1680: 75 70 70 6f 72 74 65 64 3a 0d 0a 3c 75 6c 3e 0d upported:..<ul>.
1690: 0a 3c 6c 69 3e 61 20 3c 62 3e 6e 61 6d 65 3c 2f .<li>a <b>name</
16a0: 62 3e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 b> identifying t
16b0: 68 65 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c 75 he Link.<br>..<u
16c0: 3e 45 78 61 6d 70 6c 65 73 3c 2f 75 3e 3a 20 74 >Examples</u>: t
16d0: 68 65 20 3c 69 3e 72 6f 61 64 20 74 6f 70 6f 6e he <i>road topon
16e0: 79 6d 3c 2f 69 3e 20 69 6e 20 61 20 3c 62 3e 72 ym</i> in a <b>r
16f0: 6f 61 64 20 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2c oad network</b>,
1700: 20 6f 72 20 74 68 65 20 3c 69 3e 72 69 76 65 72 or the <i>river
1710: 20 6e 61 6d 65 3c 2f 69 3e 20 69 6e 20 61 6e 20 name</i> in an
1720: 3c 62 3e 68 79 64 72 6f 67 72 61 70 68 69 63 20 <b>hydrographic
1730: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69 network</b>.</li
1740: 3e 0d 0a 3c 6c 69 3e 6f 6e 65 20 28 6f 72 20 65 >..<li>one (or e
1750: 76 65 6e 20 6d 6f 72 65 29 20 61 70 70 72 6f 70 ven more) approp
1760: 72 69 61 74 65 20 3c 62 3e 63 6f 73 74 20 76 61 riate <b>cost va
1770: 6c 75 65 3c 2f 62 3e 28 73 29 2e 3c 62 72 3e 0d lue</b>(s).<br>.
1780: 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a .<u>Example</u>:
1790: 20 74 68 65 20 3c 69 3e 74 69 6d 65 3c 2f 69 3e the <i>time</i>
17a0: 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 required to tra
17b0: 76 65 72 73 65 20 74 68 65 20 4c 69 6e 6b 20 28 verse the Link (
17c0: 6d 61 79 20 62 65 20 64 69 73 74 69 6e 67 75 69 may be distingui
17d0: 73 68 65 64 20 62 65 74 77 65 65 6e 20 70 65 64 shed between ped
17e0: 65 73 74 72 69 61 6e 73 2c 20 62 69 63 79 63 6c estrians, bicycl
17f0: 65 73 2c 20 63 61 72 73 2c 20 6c 6f 72 72 69 65 es, cars, lorrie
1800: 73 20 61 6e 64 20 73 6f 20 6f 6e 29 2e 3c 2f 6c s and so on).</l
1810: 69 3e 0d 0a 3c 6c 69 3e 61 20 70 61 69 72 20 6f i>..<li>a pair o
1820: 66 20 3c 62 3e 62 6f 6f 6c 65 61 6e 20 66 6c 61 f <b>boolean fla
1830: 67 73 3c 2f 62 3e 20 28 3c 62 3e 66 72 6f 6d 2d gs</b> (<b>from-
1840: 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 74 6f to</b> and <b>to
1850: 2d 66 72 6f 6d 3c 2f 62 3e 29 20 61 72 65 20 69 -from</b>) are i
1860: 6e 74 65 6e 64 65 6e 64 20 74 6f 20 73 70 65 63 ntendend to spec
1870: 69 66 79 20 69 66 20 74 68 65 20 4c 69 6e 6b 20 ify if the Link
1880: 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 can be traversed
1890: 20 6f 6e 20 62 6f 74 68 20 64 69 72 65 63 74 69 on both directi
18a0: 6f 6e 73 20 6f 72 20 6a 75 73 74 20 69 6e 20 6f ons or just in o
18b0: 6e 65 20 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f ne (<b>one-way</
18c0: 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e b>).</li>..</ul>
18d0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 53 70 </li>..<li><u>Sp
18e0: 65 63 69 61 6c 20 63 61 73 65 3c 2f 75 3e 3a 20 ecial case</u>:
18f0: 61 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 20 4c a <b>forbidden L
1900: 69 6e 6b 3c 2f 62 3e 20 69 73 20 61 6e 79 20 70 ink</b> is any p
1910: 65 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 4c erfectly valid L
1920: 69 6e 6b 20 74 68 61 74 20 66 6f 72 20 61 6e 79 ink that for any
1930: 20 67 6f 6f 64 20 72 65 61 73 6f 6e 20 63 61 6e good reason can
1940: 20 6e 65 76 65 72 20 62 65 20 74 72 61 76 65 72 never be traver
1950: 73 65 64 20 69 6e 20 62 6f 74 68 20 64 69 72 65 sed in both dire
1960: 63 74 69 6f 6e 73 2e 20 50 72 61 63 74 69 63 61 ctions. Practica
1970: 6c 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 75 6c l examples:..<ul
1980: 3e 0d 0a 3c 6c 69 3e 52 6f 61 64 20 4e 65 74 77 >..<li>Road Netw
1990: 6f 72 6b 73 3a 20 69 74 20 63 6f 75 6c 64 20 62 orks: it could b
19a0: 65 20 75 73 65 66 75 6c 20 72 65 70 72 65 73 65 e useful represe
19b0: 6e 74 69 6e 67 20 3c 62 3e 70 65 64 65 73 74 72 nting <b>pedestr
19c0: 69 61 6e 20 73 74 72 65 65 74 73 3c 2f 62 3e 20 ian streets</b>
19d0: 61 6e 64 20 3c 62 3e 62 69 63 79 63 6c 65 20 6c and <b>bicycle l
19e0: 61 6e 65 73 3c 2f 62 3e 2c 20 62 75 74 20 74 68 anes</b>, but th
19f0: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 e corresponding
1a00: 4c 69 6e 6b 73 20 77 69 6c 6c 20 62 65 20 61 6c Links will be al
1a10: 77 61 79 73 20 66 6f 72 62 69 64 64 65 6e 20 74 ways forbidden t
1a20: 6f 20 63 61 72 20 63 69 72 63 75 6c 61 74 69 6f o car circulatio
1a30: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c n.</li>..<li>Tel
1a40: 63 6f 6d 20 2f 20 45 6c 65 63 74 72 69 63 61 6c com / Electrical
1a50: 20 4e 65 74 77 6f 72 6b 73 3a 20 73 65 76 65 72 Networks: sever
1a60: 61 6c 20 4c 69 6e 6b 73 20 28 3c 62 3e 77 69 72 al Links (<b>wir
1a70: 65 73 3c 2f 62 3e 29 20 63 6f 75 6c 64 20 62 65 es</b>) could be
1a80: 20 70 68 79 73 69 63 61 6c 6c 79 20 69 6e 73 74 physically inst
1a90: 61 6c 6c 65 64 20 62 75 74 20 74 65 6d 70 6f 72 alled but tempor
1aa0: 61 72 69 6c 79 20 3c 62 3e 6f 75 74 2d 6f 66 2d arily <b>out-of-
1ab0: 73 65 72 76 69 63 65 3c 2f 62 3e 20 66 6f 72 20 service</b> for
1ac0: 74 65 63 68 6e 69 63 61 6c 20 72 65 61 73 6f 6e technical reason
1ad0: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f s.</li>..</ul></
1ae0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e li>..</ul>..<h4>
1af0: 4c 6f 67 69 63 61 6c 20 63 6f 6e 63 6c 75 73 69 Logical conclusi
1b00: 6f 6e 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f ons</h4>..Any to
1b10: 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 pologically vali
1b20: 64 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e d <b>Network</b>
1b30: 20 28 69 72 72 65 73 70 65 63 74 69 76 65 20 6f (irrespective o
1b40: 66 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20 f whether it is
1b50: 61 20 3c 62 3e 53 70 61 74 69 61 6c 3c 2f 62 3e a <b>Spatial</b>
1b60: 20 6f 72 20 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f or <b>Logical</
1b70: 62 3e 20 74 79 70 65 29 20 69 73 20 61 20 76 61 b> type) is a va
1b80: 6c 69 64 20 3c 62 3e 47 72 61 70 68 3c 2f 62 3e lid <b>Graph</b>
1b90: 2e 3c 62 72 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b .<br>..A Network
1ba0: 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 75 allowing the su
1bb0: 70 70 6f 72 74 20 28 64 69 72 65 63 74 20 6f 72 pport (direct or
1bc0: 20 69 6e 64 69 72 65 63 74 29 20 6f 66 20 73 6f indirect) of so
1bd0: 6d 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c me appropriate <
1be0: 62 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e b>cost value</b>
1bf0: 20 69 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 57 is a valid <b>W
1c00: 65 69 67 68 74 65 64 20 47 72 61 70 68 3c 2f 62 eighted Graph</b
1c10: 3e 2c 20 61 6e 64 20 63 61 6e 20 63 6f 6e 73 65 >, and can conse
1c20: 71 75 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 quently support
1c30: 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 <b>Routing algor
1c40: 69 74 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a ithms</b>.<br>..
1c50: 41 6c 6c 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f All Routing algo
1c60: 72 69 74 68 6d 73 20 61 72 65 20 69 6e 74 65 6e rithms are inten
1c70: 64 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 ded to identify
1c80: 74 68 65 20 3c 62 3e 53 68 6f 72 74 65 73 74 20 the <b>Shortest
1c90: 50 61 74 68 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f Path</b> solutio
1ca0: 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 77 6f n connecting two
1cb0: 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e <b>Nodes</b> in
1cc0: 20 61 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67 a <b>weighted g
1cd0: 72 61 70 68 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 raph</b> (<i>aka
1ce0: 3c 2f 69 3e 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c </i> <b>Network<
1cf0: 2f 62 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c /b>).<br><br>..<
1d00: 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 b><u>Note</u></b
1d10: 3e 3a 20 74 68 65 20 74 65 72 6d 20 3c 62 3e 3c >: the term <b><
1d20: 69 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c i>Shortest Path<
1d30: 2f 69 3e 3c 2f 62 3e 20 63 61 6e 20 62 65 20 65 /i></b> can be e
1d40: 61 73 69 6c 79 20 6d 69 73 75 6e 64 65 72 73 74 asily misunderst
1d50: 6f 6f 64 2e 3c 62 72 3e 0d 0a 44 75 65 20 74 6f ood.<br>..Due to
1d60: 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 historical reas
1d70: 6f 6e 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d ons the most com
1d80: 6d 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 mon application
1d90: 66 69 65 6c 64 20 66 6f 72 20 52 6f 75 74 69 6e field for Routin
1da0: 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 69 73 20 g algorithms is
1db0: 72 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e 52 6f related to <b>Ro
1dc0: 61 64 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c ad Networks</b>,
1dd0: 20 62 75 74 20 61 6c 73 6f 20 6d 61 6e 79 20 6f but also many o
1de0: 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 4e 65 ther kinds of Ne
1df0: 74 77 6f 72 6b 73 20 65 78 69 73 74 3a 0d 0a 3c tworks exist:..<
1e00: 75 6c 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f 67 72 ul>..<li>Hydrogr
1e10: 61 70 68 69 63 20 4e 65 74 77 6f 72 6b 73 2e 3c aphic Networks.<
1e20: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20 /li>..<li>Gas /
1e30: 57 61 74 65 72 20 2f 20 4f 69 6c 20 4e 65 74 77 Water / Oil Netw
1e40: 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e orks.</li>..<li>
1e50: 45 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f Electrical Netwo
1e60: 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 rks.</li>..<li>T
1e70: 65 6c 65 63 6f 6d 75 6e 69 63 61 74 69 6f 6e 20 elecomunication
1e80: 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a Networks.</li>..
1e90: 3c 6c 69 3e 53 6f 63 69 61 6c 20 6f 72 20 45 63 <li>Social or Ec
1ea0: 6f 6e 6f 6d 69 63 61 6c 20 4e 65 74 77 6f 72 6b onomical Network
1eb0: 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 72 s representing r
1ec0: 65 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74 elationships bet
1ed0: 77 65 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73 ween individuals
1ee0: 20 6f 72 20 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f or companies.</
1ef0: 6c 69 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65 6d 69 li>..<li>Epidemi
1f00: 6f 6c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b ological Network
1f10: 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 s representing t
1f20: 68 65 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f he propagation o
1f30: 66 20 69 6e 66 65 63 74 69 76 65 20 64 69 73 65 f infective dise
1f40: 61 73 65 73 20 62 65 74 77 65 65 6e 20 69 6e 64 ases between ind
1f50: 69 76 69 64 75 61 6c 73 20 6f 72 20 67 72 6f 75 ividuals or grou
1f60: 70 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c ps.</li>..</ul><
1f70: 2f 6c 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 /li> ..<br>..In
1f80: 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 63 61 all the above ca
1f90: 73 65 73 20 77 65 20 63 65 72 74 61 69 6e 6c 79 ses we certainly
1fa0: 20 68 61 76 65 20 76 61 6c 69 64 20 4e 65 74 77 have valid Netw
1fb0: 6f 72 6b 73 20 73 75 70 70 6f 72 74 69 6e 67 20 orks supporting
1fc0: 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 Routing algorith
1fd0: 6e 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20 ns, but not all
1fe0: 6f 66 20 74 68 65 6d 20 63 61 6e 20 69 6d 70 6c of them can impl
1ff0: 79 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 y something like
2000: 20 61 20 3c 69 3e 73 70 61 74 69 61 6c 20 64 69 a <i>spatial di
2010: 73 74 61 6e 63 65 3c 2f 69 3e 20 28 3c 69 3e 67 stance</i> (<i>g
2020: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c eometric length<
2030: 2f 69 3e 29 20 6f 72 20 61 20 3c 69 3e 74 72 61 /i>) or a <i>tra
2040: 76 65 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72 vel time</i>.<br
2050: 3e 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 67 >..In the most g
2060: 65 6e 65 72 61 6c 20 61 63 63 65 70 74 69 6f 6e eneral acception
2070: 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 63 61 <b>costs</b> ca
2080: 6e 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 n be represented
2090: 20 62 79 20 61 6e 79 20 72 65 61 73 6f 6e 61 62 by any reasonab
20a0: 6c 65 20 70 68 79 73 69 63 61 6c 20 71 75 61 6e le physical quan
20b0: 74 69 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20 tity.<br>..So a
20c0: 6d 6f 72 65 20 67 65 6e 65 72 61 6c 69 7a 65 64 more generalized
20d0: 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 61 definition is a
20e0: 73 73 75 6d 69 6e 67 20 74 68 61 74 20 52 6f 75 ssuming that Rou
20f0: 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 ting algorithms
2100: 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 are intended to
2110: 69 64 65 6e 74 69 66 79 20 3c 62 3e 6c 65 73 73 identify <b>less
2120: 65 72 20 63 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75 er cost</b> solu
2130: 74 69 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e 77 65 tions on a <b>we
2140: 69 67 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e ighted graph</b>
2150: 2e 3c 62 72 3e 0d 0a 54 68 65 20 65 78 61 63 74 .<br>..The exact
2160: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 interpretation
2170: 6f 66 20 74 68 65 20 69 6e 76 6f 6c 76 65 64 20 of the involved
2180: 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 28 3c 69 <b>costs</b> (<i
2190: 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65 69 67 >aka</i> <b>weig
21a0: 68 74 73 3c 2f 62 3e 29 20 73 74 72 69 63 74 6c hts</b>) strictl
21b0: 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 y depends on the
21c0: 20 76 65 72 79 20 73 70 65 63 69 66 69 63 20 6e very specific n
21d0: 61 74 75 72 65 20 6f 66 20 65 61 63 68 20 4e 65 ature of each Ne
21e0: 74 77 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20 twork...<h3>The
21f0: 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 Dijkstra's algor
2200: 69 74 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69 73 20 ithm</h3>..This
2210: 77 65 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20 68 72 well known <a hr
2220: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 ef="https://en.w
2230: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b ikipedia.org/wik
2240: 69 2f 44 69 6a 6b 73 74 72 61 25 32 37 73 5f 61 i/Dijkstra%27s_a
2250: 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 67 6f 72 69 lgorithm">algori
2260: 74 68 6d 3c 2f 61 3e 20 69 73 6e 27 74 20 6e 65 thm</a> isn't ne
2270: 63 65 73 73 61 72 69 6c 79 20 74 68 65 20 66 61 cessarily the fa
2280: 73 74 65 73 74 20 6f 6e 65 2c 20 62 75 74 20 69 stest one, but i
2290: 74 20 61 6c 77 61 79 73 20 65 6e 73 75 72 65 73 t always ensures
22a0: 20 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74 <b>full correct
22b0: 6e 65 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d ness</b>:..<ul>.
22c0: 0a 3c 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f .<li>Any Node-to
22d0: 2d 4e 6f 64 65 20 63 6f 6e 6e 65 63 74 69 6f 6e -Node connection
22e0: 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 44 identified by D
22f0: 69 6a 6b 73 74 72 61 27 73 20 69 73 20 63 65 72 ijkstra's is cer
2300: 74 61 69 6e 6c 79 20 65 6e 73 75 72 65 64 20 74 tainly ensured t
2310: 6f 20 62 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c o be <b>optimal<
2320: 2f 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 /b>.<br>..In oth
2330: 65 72 20 77 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e er words, no con
2340: 6e 65 74 63 74 69 6f 6e 20 70 72 65 73 65 6e 74 netction present
2350: 69 6e 67 20 61 20 6c 6f 77 65 72 20 63 6f 73 74 ing a lower cost
2360: 20 63 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 6c can conceptuall
2370: 79 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c y exist.</li>..<
2380: 6c 69 3e 57 68 65 6e 20 44 69 6a 73 6a 74 72 61 li>When Dijsjtra
2390: 27 73 20 66 61 69 6c 73 20 74 6f 20 69 64 65 6e 's fails to iden
23a0: 74 69 66 79 20 61 20 73 6f 6c 75 74 69 6f 6e 20 tify a solution
23b0: 74 68 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e this surely mean
23c0: 73 20 74 68 61 74 20 6e 6f 20 73 6f 6c 75 74 69 s that no soluti
23d0: 6f 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 3c on is possible.<
23e0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 /li>..</ul>..<h3
23f0: 3e 54 68 65 20 41 2a 20 61 6c 67 6f 72 69 74 68 >The A* algorith
2400: 6d 3c 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74 m</h3>..Many alt
2410: 65 72 6e 61 74 69 76 65 20 52 6f 75 74 69 6e 67 ernative Routing
2420: 20 61 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65 algorithms have
2430: 20 62 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64 been invented d
2440: 75 72 69 6e 67 20 74 68 65 20 79 65 61 72 73 2e uring the years.
2450: 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d 20 61 <br>..All them a
2460: 72 65 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 re based on heur
2470: 69 73 74 69 63 20 61 73 73 75 6d 70 74 69 6f 6e istic assumption
2480: 73 20 61 6e 64 20 61 72 65 20 69 6e 74 65 6e 64 s and are intend
2490: 65 64 20 74 6f 20 62 65 20 66 61 73 74 65 72 20 ed to be faster
24a0: 74 68 61 6e 20 44 69 6a 6b 73 74 72 61 27 73 2c than Dijkstra's,
24b0: 20 62 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 but none of the
24c0: 6d 20 63 61 6e 20 65 6e 73 75 72 65 20 3c 62 3e m can ensure <b>
24d0: 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73 full correctness
24e0: 3c 2f 62 3e 20 61 73 20 44 69 6a 6b 73 74 72 61 </b> as Dijkstra
24f0: 27 73 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68 's does.<br>..Th
2500: 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 e <a href="https
2510: 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e ://en.wikipedia.
2520: 6f 72 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 61 72 org/wiki/A*_sear
2530: 63 68 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 41 2a ch_algorithm">A*
2540: 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 61 algorithm</a> a
2550: 70 70 6c 69 65 73 20 61 20 6d 69 6c 64 20 68 65 pplies a mild he
2560: 75 72 69 73 74 69 63 20 6f 70 74 69 6d 69 7a 61 uristic optimiza
2570: 74 69 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 62 65 tion, and can be
2580: 20 61 20 72 65 61 6c 69 73 74 69 63 20 61 6c 74 a realistic alt
2590: 65 72 6e 61 74 69 76 65 20 74 6f 20 44 69 6a 6b ernative to Dijk
25a0: 73 74 72 61 27 73 20 69 6e 20 6d 61 6e 79 20 63 stra's in many c
25b0: 61 73 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c ases.<br><br>..<
25c0: 68 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 hr>..<h1><a name
25d0: 3d 22 73 61 6d 70 6c 65 22 3e 32 20 2d 20 54 68 ="sample">2 - Th
25e0: 65 20 73 61 6d 70 6c 65 2f 74 65 73 74 20 44 42 e sample/test DB
25f0: 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61 </a></h1>..You a
2600: 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 66 re expected to f
2610: 6f 6c 6c 6f 77 20 74 68 65 20 63 75 72 72 65 6e ollow the curren
2620: 74 20 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 74 t tutorial about
2630: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 <b>VirtualRouti
2640: 6e 67 3c 2f 62 3e 20 62 79 20 64 69 72 65 63 74 ng</b> by direct
2650: 6c 79 20 74 65 73 74 69 6e 67 20 61 6c 6c 20 53 ly testing all S
2660: 51 4c 20 71 75 65 72 69 65 73 20 64 69 73 63 75 QL queries discu
2670: 73 73 65 64 20 20 62 65 6c 6f 77 20 77 69 74 68 ssed below with
2680: 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 the <a href="ht
2690: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 tps://www.gaia-g
26a0: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f is.it/gaia-sins/
26b0: 72 6f 75 74 69 6e 67 2d 73 61 6d 70 6c 65 2d 35 routing-sample-5
26c0: 2e 30 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c 65 2f .0.0.7z">sample/
26d0: 74 65 73 74 20 44 42 20 74 68 61 74 20 79 6f 75 test DB that you
26e0: 20 63 61 6e 20 64 6f 77 6e 6c 6f 61 64 20 66 72 can download fr
26f0: 6f 6d 20 68 65 72 65 3c 2f 61 3e 3c 62 72 3e 3c om here</a><br><
2700: 62 72 3e 0d 0a 54 68 65 20 73 61 6d 70 6c 65 20 br>..The sample
2710: 44 42 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 DB contains the
2720: 66 75 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e 65 74 full <b>road net
2730: 77 6f 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62 3e 54 work</b> of <b>T
2740: 75 73 63 61 6e 79 20 52 65 67 69 6f 6e 20 28 49 uscany Region (I
2750: 74 61 6c 79 29 3c 2f 62 3e 20 28 3c 61 20 68 72 taly)</b> (<a hr
2760: 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 ef="http://www50
2770: 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 2.regione.toscan
2780: 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 a.it/geoscopio/d
2790: 6f 77 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f 73 74 ownload/grafo_st
27a0: 72 61 64 61 6c 65 2f 69 74 65 72 6e 65 74 2e 7a radale/iternet.z
27b0: 69 70 22 3e 49 74 65 72 2e 4e 65 74 20 64 61 74 ip">Iter.Net dat
27c0: 61 73 65 74 3c 2f 61 3e 29 20 6b 69 6e 64 6c 79 aset</a>) kindly
27d0: 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 released under
27e0: 74 68 65 20 3c 62 3e 43 43 2d 42 59 2d 53 41 20 the <b>CC-BY-SA
27f0: 34 2e 30 3c 2f 62 3e 20 6c 69 63 65 6e 63 65 20 4.0</b> licence
2800: 74 65 72 6d 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 74 terms.<br>..Allt
2810: 68 6f 75 67 68 20 74 68 65 20 63 6f 6e 74 65 6e hough the conten
2820: 74 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 ts stored in the
2830: 20 73 61 6d 70 6c 65 20 64 61 74 61 62 61 73 65 sample database
2840: 20 68 61 76 65 20 62 65 65 6e 20 72 65 61 72 72 have been rearr
2850: 61 6e 67 65 64 2c 20 69 74 20 69 73 20 73 74 69 anged, it is sti
2860: 6c 6c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 ll subject to th
2870: 65 20 69 6e 69 74 69 61 6c 20 3c 62 3e 43 43 2d e initial <b>CC-
2880: 42 59 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 63 6c BY-SA 4.0</b> cl
2890: 61 75 73 65 73 20 28 3c 69 3e 64 65 72 69 76 65 auses (<i>derive
28a0: 64 20 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a 3c 62 d work</i>)...<b
28b0: 72 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c r><br>..<ul>..<l
28c0: 69 3e 61 6c 6c 20 72 6f 61 64 20 6e 61 6d 65 73 i>all road names
28d0: 20 61 72 65 20 73 74 6f 72 65 64 20 77 69 74 68 are stored with
28e0: 69 6e 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 in the <b>topony
28f0: 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c 62 72 ms</b> Table.<br
2900: 3e 0d 0a 73 69 6e 63 65 20 74 68 65 20 73 61 6d >..since the sam
2910: 65 20 72 6f 61 64 20 6e 61 6d 65 73 20 63 6f 75 e road names cou
2920: 6c 64 20 62 65 20 75 73 65 64 20 69 6e 20 64 69 ld be used in di
2930: 66 66 65 72 65 6e 74 20 4d 75 6e 69 63 69 70 61 fferent Municipa
2940: 6c 69 74 69 65 73 2c 20 74 68 65 20 3c 62 3e 74 lities, the <b>t
2950: 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c oponyms</b> Tabl
2960: 65 20 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72 e relationally r
2970: 65 66 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62 eferences the <b
2980: 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c >municipalities<
2990: 2f 62 3e 20 54 61 62 6c 65 20 28 76 69 61 20 3c /b> Table (via <
29a0: 62 3e 50 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20 b>PRIMARY</b> /
29b0: 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f <b>FOREIGN KEY</
29c0: 62 3e 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 b> relationships
29d0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 ).</li>..<li>the
29e0: 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70 <b>roads</b> Sp
29f0: 61 74 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74 atial Table cont
2a00: 61 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e 33 38 ains about <b>38
2a10: 30 2c 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c 0,000</b> Links,
2a20: 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c and has the fol
2a30: 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d lowing columns:.
2a40: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 .<ul>..<li><b>id
2a50: 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 </b>: unique ide
2a60: 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 ntifier of each
2a70: 4c 69 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59 Link (<b>PRIMARY
2a80: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d KEY</b>).</li>.
2a90: 0a 3c 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f .<li><b>node_fro
2aa0: 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64 m</b> and <b>nod
2ab0: 65 5f 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69 e_to</b>: Node i
2ac0: 64 65 6e 74 69 66 69 65 72 73 2e 0d 0a 54 68 65 dentifiers...The
2ad0: 20 6f 72 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e original Iter.N
2ae0: 65 74 20 64 61 74 61 73 65 74 20 61 64 6f 70 74 et dataset adopt
2af0: 73 20 76 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63 s very long an c
2b00: 6f 6d 70 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65 omplex alphanume
2b10: 72 69 63 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20 ric Node codes;
2b20: 74 68 65 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 the integer Node
2b30: 20 49 44 73 20 77 65 72 65 20 6f 62 74 61 69 6e IDs were obtain
2b40: 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 ed by calling th
2b50: 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 e <b>CreateRouti
2b60: 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 ngNodes()</b> SQ
2b70: 4c 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 75 L function discu
2b80: 73 73 65 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77 ssed in a follow
2b90: 69 6e 67 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69 ing section.</li
2ba0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70 >..<li><b>id_top
2bb0: 6f 6e 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69 onym</b>: relati
2bc0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74 onal reference t
2bd0: 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 o the correspond
2be0: 69 6e 67 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f ing road name co
2bf0: 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 ntained into the
2c00: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e <b>toponyms</b>
2c10: 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49 Table (<b>FOREI
2c20: 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 GN KEY</b>).</li
2c30: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f >..<li><b>speed_
2c40: 6b 6d 68 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74 kmh</b>: the est
2c50: 69 6d 61 74 65 64 20 61 76 65 72 61 67 65 20 73 imated average s
2c60: 70 65 65 64 20 73 75 70 70 6f 72 74 65 64 20 62 peed supported b
2c70: 79 20 74 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72 y the Link, expr
2c80: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68 essed in <b>km/h
2c90: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f </b>.<br>..<u>No
2ca0: 74 65 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74 te</u>: <b>negat
2cb0: 69 76 65 3c 2f 62 3e 20 73 70 65 65 64 73 20 69 ive</b> speeds i
2cc0: 6e 74 65 6e 64 20 61 20 66 6f 72 62 69 64 64 65 ntend a forbidde
2cd0: 6e 20 4c 69 6e 6b 20 28 61 73 20 69 74 20 63 6f n Link (as it co
2ce0: 75 6c 64 20 62 65 20 74 68 65 20 63 61 73 65 20 uld be the case
2cf0: 6f 66 20 70 65 64 65 73 74 72 69 61 6e 20 73 74 of pedestrian st
2d00: 72 65 65 74 73 20 6f 72 20 62 69 63 79 63 6c 65 reets or bicycle
2d10: 20 6c 61 6e 65 73 20 65 78 6c 75 64 69 6e 67 20 lanes exluding
2d20: 6d 6f 74 6f 72 20 76 65 68 69 63 6c 65 73 29 2e motor vehicles).
2d30: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6f 6e </li>..<li><b>on
2d40: 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 3e 20 eway_fromto</b>
2d50: 61 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f and <b>oneway_to
2d60: 66 72 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c 65 61 from</b>: boolea
2d70: 6e 20 66 6c 61 67 73 20 64 65 74 65 72 6d 69 6e n flags determin
2d80: 65 20 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e 20 e if a Link can
2d90: 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20 be traversed in
2da0: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20 both directions
2db0: 6f 72 20 6a 75 73 74 20 69 6e 20 61 20 73 69 6e or just in a sin
2dc0: 67 6c 65 20 64 69 72 65 63 74 69 6f 6e 20 28 3c gle direction (<
2dd0: 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c b>one-way</b>).<
2de0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e br>..<u>Note</u>
2df0: 3a 20 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63 6c : all Links decl
2e00: 61 72 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79 5f aring <b>oneway_
2e10: 66 72 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64 fromto=0</b> and
2e20: 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f <b>oneway_tofro
2e30: 6d 3d 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74 65 m=0</b> are inte
2e40: 6e 64 65 64 20 74 6f 20 62 65 20 61 6c 77 61 79 nded to be alway
2e50: 73 20 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c 69 s forbidden.</li
2e60: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f >..<li><b>cost</
2e70: 62 3e 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c b>: the <b>time<
2e80: 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e /b> expressed in
2e90: 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20 <b>seconds</b>
2ea0: 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 76 required to trav
2eb0: 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c erse each Link.<
2ec0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c br>..<u>Note #1<
2ed0: 2f 75 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77 65 /u> all costs we
2ee0: 72 65 20 63 61 6c 63 75 6c 61 74 65 64 20 61 63 re calculated ac
2ef0: 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 cordingly to the
2f00: 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 75 following formu
2f10: 6c 61 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28 28 la: <b>cost = ((
2f20: 53 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 ST_Length(geom)
2f30: 2f 20 31 30 30 30 2e 30 29 20 2f 20 73 70 65 65 / 1000.0) / spee
2f40: 64 5f 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30 3c d_kmh) * 3600.0<
2f50: 2f 62 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 /b><br>..<u>Note
2f60: 20 23 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38 #2</u> all <b>8
2f70: 36 2c 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73 74 6,400.0</b> cost
2f80: 20 76 61 6c 75 65 73 20 28 65 71 75 69 76 61 6c values (equival
2f90: 65 6e 74 20 74 6f 20 31 20 64 61 79 29 20 69 6d ent to 1 day) im
2fa0: 70 6c 79 20 61 6e 20 3c 62 3e 69 6e 66 69 6e 69 ply an <b>infini
2fb0: 74 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 74 68 tive cost</b> th
2fc0: 75 73 20 69 6e 74 65 6e 64 69 6e 67 20 61 20 3c us intending a <
2fd0: 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 b>forbidden</b>
2fe0: 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e Link.</li>..<li>
2ff0: 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c <b>geom</b>: a <
3000: 62 3e 33 44 20 4c 69 6e 65 73 74 72 69 6e 67 3c b>3D Linestring<
3010: 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 /b> representing
3020: 20 74 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66 the Geometry of
3030: 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d each Link.<br>.
3040: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 .<u>Note</u>: th
3050: 65 20 6f 72 69 67 69 6e 61 6c 20 3c 62 3e 49 74 e original <b>It
3060: 65 72 2e 4e 65 74 3c 2f 62 3e 20 64 61 74 61 73 er.Net</b> datas
3070: 65 74 20 69 73 20 6a 75 73 74 20 3c 62 3e 32 44 et is just <b>2D
3080: 3c 2f 62 3e 3b 20 65 6c 65 76 61 74 69 6f 6e 73 </b>; elevations
3090: 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64 (<b>Z</b> coord
30a0: 69 6e 61 74 65 73 29 20 77 65 72 65 20 69 6e 74 inates) were int
30b0: 65 72 70 6f 6c 61 74 65 64 20 62 79 20 64 72 61 erpolated by dra
30c0: 70 69 6e 67 20 74 68 65 20 64 61 74 61 73 65 74 ping the dataset
30d0: 20 6f 76 65 72 20 61 6e 20 3c 61 20 68 72 65 66 over an <a href
30e0: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e ="http://www502.
30f0: 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e regione.toscana.
3100: 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77 it/geoscopio/dow
3110: 6e 6c 6f 61 64 2f 61 6c 74 69 6d 65 74 72 69 61 nload/altimetria
3120: 2f 64 61 5f 63 74 72 31 30 6b 2f 67 62 2f 44 54 /da_ctr10k/gb/DT
3130: 4d 5f 4f 72 6f 67 72 61 66 69 63 6f 2e 37 7a 22 M_Orografico.7z"
3140: 3e 6f 72 6f 67 72 61 70 68 69 63 20 44 45 4d 20 >orographic DEM
3150: 28 31 30 6d 20 58 20 31 30 6d 20 63 65 6c 6c 73 (10m X 10m cells
3160: 29 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c )</a></li>..</ul
3170: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 ></li>..<li>the
3180: 3c 62 3e 72 6f 61 64 73 5f 76 77 3c 2f 62 3e 20 <b>roads_vw</b>
3190: 53 70 61 74 69 61 6c 20 56 69 65 77 20 72 65 73 Spatial View res
31a0: 6f 6c 76 65 73 20 61 6c 6c 20 72 65 6c 61 74 69 olves all relati
31b0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20 onal references
31c0: 62 65 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73 between <b>roads
31d0: 3c 2f 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d </b>, <b>toponym
31e0: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e s</b> and <b>mun
31f0: 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c icipalities</b>,
3200: 20 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 thus allowing f
3210: 6f 72 20 65 61 73 69 65 72 20 53 51 4c 20 71 75 or easier SQL qu
3220: 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 eries.</li>..<li
3230: 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 >the <b>house_nr
3240: 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62 </b> Spatial Tab
3250: 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75 le contains abou
3260: 74 20 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f t <b>1,480,000</
3270: 62 3e 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 b> House Numbers
3280: 2c 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f , and has the fo
3290: 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a llowing columns:
32a0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 ..<ul>..<li><b>i
32b0: 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 d</b>: unique id
32c0: 65 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 entifier of each
32d0: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c House Number (<
32e0: 62 3e 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62 b>PRIMARY KEY</b
32f0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 >).</li>..<li><b
3300: 3e 69 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65 >id_road</b>: re
3310: 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e lational referen
3320: 63 65 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 ce to the corres
3330: 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e ponding Link con
3340: 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 tained into the
3350: 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62 <b>roads</b> Tab
3360: 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b le (<b>FOREIGN K
3370: 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c EY</b>).</li>..<
3380: 6c 69 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a li><b>label</b>:
3390: 20 74 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62 the textual lab
33a0: 65 6c 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79 el fully qualify
33b0: 69 6e 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e ing each House N
33c0: 75 6d 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 umber.</li>..<li
33d0: 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 ><b>geom</b>: a
33e0: 3c 62 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 <b>3D Point</b>
33f0: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 representing the
3400: 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63 Geometry of eac
3410: 68 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c h House Number.<
3420: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c br>..<u>Note #1<
3430: 2f 75 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69 /u>: also in thi
3440: 73 20 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61 s case all eleva
3450: 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 tions (<b>Z</b>
3460: 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72 coordinates) wer
3470: 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 e interpolated b
3480: 79 20 64 72 61 70 69 6e 67 20 74 68 65 20 64 61 y draping the da
3490: 74 61 73 65 74 20 6f 76 65 72 20 74 68 65 20 73 taset over the s
34a0: 61 6d 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65 ame DEM as above
34b0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 .<br>..<u>Note #
34c0: 32 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 2</u>: strictly
34d0: 73 70 65 61 63 6b 69 6e 67 20 74 68 65 20 48 6f speacking the Ho
34e0: 75 73 65 20 4e 75 6d 62 65 72 73 20 61 72 65 20 use Numbers are
34f0: 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 not part of the
3500: 52 6f 61 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68 Road Network; th
3510: 65 79 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 ey are included
3520: 69 6e 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65 in the sample/te
3530: 73 74 20 64 61 74 61 62 61 73 65 20 61 73 20 75 st database as u
3540: 73 65 66 75 6c 20 65 78 61 6d 70 6c 65 73 20 65 seful examples e
3550: 78 70 6c 61 69 6e 65 64 20 6c 61 74 65 72 20 69 xplained later i
3560: 6e 20 74 68 69 73 20 74 65 78 74 2e 3c 2f 6c 69 n this text.</li
3570: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c >..</ul></li>..<
3580: 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f li>the <b>house_
3590: 6e 72 5f 76 77 3c 2f 62 3e 20 53 70 61 74 69 61 nr_vw</b> Spatia
35a0: 6c 20 56 69 65 77 20 72 65 73 6f 6c 76 65 73 20 l View resolves
35b0: 61 6c 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 all relational r
35c0: 65 66 65 72 65 6e 63 65 73 20 62 65 74 77 65 65 eferences betwee
35d0: 6e 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62 n <b>house_nr</b
35e0: 3e 2c 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c >, <b>roads</b>,
35f0: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e <b>toponyms</b>
3600: 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61 and <b>municipa
3610: 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73 lities</b>, thus
3620: 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61 allowing for ea
3630: 73 69 65 72 20 53 51 4c 20 71 75 65 72 69 65 73 sier SQL queries
3640: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c .</li>..</ul>..<
3650: 62 72 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e br>.. <hr>..<h1>
3660: 3c 61 20 6e 61 6d 65 3d 22 63 72 65 61 74 65 22 <a name="create"
3670: 3e 33 20 2d 20 43 72 65 61 74 69 6e 67 20 56 69 >3 - Creating Vi
3680: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 rtualRouting Tab
3690: 6c 65 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c les</a></h1>..Al
36a0: 6c 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 l VirtualRouting
36b0: 20 71 75 65 72 69 65 73 20 61 72 65 20 62 61 73 queries are bas
36c0: 65 64 20 6f 6e 20 61 20 73 70 65 63 69 66 69 63 ed on a specific
36d0: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 <b>VirtualRouti
36e0: 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 2c 20 61 6e ng Table</b>, an
36f0: 64 20 69 6e 20 74 75 72 6e 2c 20 74 68 65 20 56 d in turn, the V
3700: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 irtualRouting Ta
3710: 62 6c 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20 ble is based on
3720: 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 a corresponding
3730: 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54 <b>Binary Data T
3740: 61 62 6c 65 3c 2f 62 3e 20 77 68 69 63 68 2c 20 able</b> which,
3750: 74 61 6b 65 6e 20 74 6f 67 65 61 74 68 65 72 2c taken togeather,
3760: 20 69 73 20 61 6e 20 65 66 66 69 63 69 65 6e 74 is an efficient
3770: 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 representation
3780: 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e of the underlyin
3790: 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a g Network.<br>..
37a0: 53 6f 20 77 65 27 6c 6c 20 73 74 61 72 74 20 66 So we'll start f
37b0: 69 72 73 74 20 62 79 20 63 72 65 61 74 69 6e 67 irst by creating
37c0: 20 74 68 65 73 65 20 74 61 62 6c 65 73 2e 3c 62 these tables.<b
37d0: 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6f 6c 64 2c r><br>..The old,
37e0: 20 61 6e 64 20 6e 6f 77 20 73 75 70 65 72 73 65 and now superse
37f0: 64 65 64 2c 20 3c 62 3e 56 69 72 74 75 61 6c 4e ded, <b>VirtualN
3800: 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 71 75 69 etwork</b> requi
3810: 72 65 64 20 74 68 65 20 75 73 65 20 6f 66 20 61 red the use of a
3820: 20 73 65 70 61 72 61 74 65 20 43 4c 49 20 74 6f separate CLI to
3830: 6f 6c 20 28 3c 62 3e 73 70 61 74 69 61 6c 69 74 ol (<b>spatialit
3840: 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69 e_network</b>) i
3850: 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65 n order to prope
3860: 72 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 rly initialize a
3870: 20 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 VirtualNetwork
3880: 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20 63 6f Table and its co
3890: 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 mpanion Binary D
38a0: 61 74 61 20 54 61 62 6c 65 3b 0d 0a 61 6c 74 65 ata Table;..alte
38b0: 72 6e 61 74 69 76 65 6c 79 20 3c 62 3e 73 70 61 rnatively <b>spa
38c0: 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 tialite_gui</b>
38d0: 73 75 70 70 6f 72 74 65 64 20 61 20 3c 62 3e 47 supported a <b>G
38e0: 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20 66 6f UI wizard</b> fo
38f0: 72 20 74 68 65 20 73 61 6d 65 20 74 61 73 6b 2e r the same task.
3900: 20 53 69 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c Since version <
3910: 62 3e 35 2e 30 2e 30 3c 2f 62 3e 2c 20 53 70 61 b>5.0.0</b>, Spa
3920: 74 69 61 4c 69 74 65 20 20 73 75 70 70 6f 72 74 tiaLite support
3930: 73 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 61 s this functiona
3940: 6c 69 74 79 20 64 69 72 65 63 74 6c 79 2c 20 77 lity directly, w
3950: 69 74 68 20 74 68 65 20 3c 62 3e 43 72 65 61 74 ith the <b>Creat
3960: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 eRouting()</b> S
3970: 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 QL function...<v
3980: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 erbatim>..SELECT
3990: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27 CreateRouting('
39a0: 62 79 66 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62 byfoot_data', 'b
39b0: 79 66 6f 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76 yfoot', 'roads_v
39c0: 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c w', 'node_from',
39d0: 20 27 6e 6f 64 65 74 6f 27 2c 20 27 67 65 6f 6d 'nodeto', 'geom
39e0: 27 2c 20 4e 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c ', NULL);....SEL
39f0: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e ECT CreateRoutin
3a00: 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 g_GetLastError()
3a10: 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ;..-------------
3a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3a30: 2d 2d 2d 2d 2d 2d 2d 0d 0a 54 6f 4e 6f 64 65 20 -------..ToNode
3a40: 43 6f 6c 75 6d 6e 20 22 6e 6f 64 65 74 6f 22 20 Column "nodeto"
3a50: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69 is not defined i
3a60: 6e 20 74 68 65 20 49 6e 70 75 74 20 54 61 62 6c n the Input Tabl
3a70: 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a e..</verbatim>..
3a80: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 <u>Note</u>: thi
3a90: 73 20 66 69 72 73 74 20 71 75 65 72 79 20 28 62 s first query (b
3aa0: 61 73 65 64 20 6f 6e 20 74 68 65 20 3c 69 3e 6d ased on the <i>m
3ab0: 69 6e 69 6d 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 inimal form</i>
3ac0: 6f 66 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 of <b>CreateRout
3ad0: 69 6e 67 3c 2f 62 3e 29 20 3c 62 3e 3c 69 3e 3c ing</b>) <b><i><
3ae0: 75 3e 64 65 6c 69 62 65 72 61 74 65 6c 79 3c 2f u>deliberately</
3af0: 75 3e 3c 2f 69 3e 3c 2f 62 3e 20 63 6f 6e 74 61 u></i></b> conta
3b00: 69 6e 73 20 61 6e 20 69 6e 74 65 6e 64 65 64 20 ins an intended
3b10: 65 72 72 6f 72 20 63 61 75 73 69 6e 67 20 61 20 error causing a
3b20: 66 61 69 6c 75 72 65 20 74 6f 20 20 72 61 69 73 failure to rais
3b30: 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 3c e an exception.<
3b40: 62 72 3e 0d 0a 43 72 65 61 74 65 52 6f 75 74 69 br>..CreateRouti
3b50: 6e 67 28 29 20 63 61 6e 20 66 61 69 6c 20 66 6f ng() can fail fo
3b60: 72 20 6d 75 6c 74 69 70 6c 65 20 72 65 61 73 6f r multiple reaso
3b70: 6e 73 2c 20 61 6e 64 20 62 79 20 63 61 6c 6c 69 ns, and by calli
3b80: 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 ng <b>CreateRout
3b90: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 ing_GetLastError
3ba0: 28 29 3c 2f 62 3e 20 79 6f 75 20 63 61 6e 20 65 ()</b> you can e
3bb0: 61 73 69 6c 79 20 69 64 65 6e 74 69 66 79 20 74 asily identify t
3bc0: 68 65 20 65 78 61 63 74 20 72 65 61 73 6f 6e 20 he exact reason
3bd0: 77 68 79 20 74 68 65 20 6d 6f 73 74 20 72 65 63 why the most rec
3be0: 65 6e 74 20 63 61 6c 6c 20 74 6f 20 43 72 65 61 ent call to Crea
3bf0: 74 65 52 6f 75 74 69 6e 67 28 29 20 66 61 69 6c teRouting() fail
3c00: 65 64 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 ed.<br>..<verbat
3c10: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 im>..SELECT Crea
3c20: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 6f 6f teRouting('byfoo
3c30: 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f 6f 74 t_data', 'byfoot
3c40: 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 ', 'roads_vw', '
3c50: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 node_from', 'nod
3c60: 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e e_to', 'geom', N
3c70: 55 4c 4c 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20 ULL, 'toponym',
3c80: 31 2c 20 31 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 1, 1);..--------
3c90: 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d 0a 53 45 4c 45 -----..1....SELE
3ca0: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 CT CreateRouting
3cb0: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3b _GetLastError();
3cc0: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
3cd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3ce0: 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c 4c 0d 0a 3c 2f ------..NULL..</
3cf0: 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69 73 20 verbatim>..This
3d00: 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 20 77 second attempt w
3d10: 69 6c 6c 20 73 75 63 63 65 65 64 2c 20 77 69 74 ill succeed, wit
3d20: 68 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 h CreateRouting(
3d30: 29 20 72 65 74 75 72 6e 69 6e 67 20 3c 62 3e 31 ) returning <b>1
3d40: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e </b> (<i>aka</i>
3d50: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 2c 20 61 <b>TRUE</b>), a
3d60: 6e 64 20 61 73 20 79 6f 75 20 63 61 6e 20 65 61 nd as you can ea
3d70: 73 69 6c 79 20 63 68 65 63 6b 20 6e 6f 77 20 74 sily check now t
3d80: 68 65 20 44 61 74 61 62 61 73 65 20 63 6f 6e 74 he Database cont
3d90: 61 69 6e 73 20 74 77 6f 20 6e 65 77 20 54 61 62 ains two new Tab
3da0: 6c 65 73 3a 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f les: <b>byfoot</
3db0: 62 3e 20 61 6e 64 20 3c 62 3e 62 79 66 6f 6f 74 b> and <b>byfoot
3dc0: 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a _data</b>.<br>..
3dd0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 66 74 <u>Note</u>: aft
3de0: 65 72 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 er a successful
3df0: 63 61 6c 6c 20 74 6f 20 43 72 65 61 74 65 52 6f call to CreateRo
3e00: 75 74 69 6e 67 28 29 20 3c 62 3e 43 72 65 61 74 uting() <b>Creat
3e10: 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 eRouting_GetLast
3e20: 45 72 72 6f 72 28 29 3c 2f 62 3e 20 77 69 6c 6c Error()</b> will
3e30: 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 3c always return <
3e40: 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 62 72 3e 3c b>NULL</b>.<br><
3e50: 62 72 3e 0d 0a 4c 65 74 27 73 20 6c 6f 6f 6b 2c br>..Let's look,
3e60: 20 69 6e 20 6d 6f 72 65 20 64 65 74 61 69 6c 2c in more detail,
3e70: 20 6f 66 20 74 68 65 20 3c 69 3e 6d 69 6e 69 6d of the <i>minim
3e80: 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43 al form</i> of C
3e90: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3b 20 reateRouting();
3ea0: 61 6e 64 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 and the meaning
3eb0: 6f 66 20 65 61 63 68 20 61 72 67 75 6d 65 6e 74 of each argument
3ec0: 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e :..<ol>..<li><i>
3ed0: 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f 69 3e 3a byfoot_data</i>:
3ee0: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 the name of the
3ef0: 20 4e 65 74 77 6f 72 6b 20 42 69 6e 61 72 79 20 Network Binary
3f00: 44 61 74 61 20 54 61 62 6c 65 20 74 6f 20 62 65 Data Table to be
3f10: 20 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a created.</li>..
3f20: 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 3c 2f 69 <li><i>byfoot</i
3f30: 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 >: the name of t
3f40: 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e he VirtualRoutin
3f50: 67 20 54 61 62 6c 65 20 74 6f 20 62 65 20 63 72 g Table to be cr
3f60: 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 eated.</li>..<li
3f70: 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 3c 2f 69 3e ><i>roads_vw</i>
3f80: 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 : the name of th
3f90: 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 54 61 62 e <b>Spatial Tab
3fa0: 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 53 70 61 le</b> or <b>Spa
3fb0: 74 69 61 6c 20 56 69 65 77 3c 2f 62 3e 20 72 65 tial View</b> re
3fc0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 75 presenting the u
3fd0: 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72 nderlying Networ
3fe0: 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c k.<br>..<u>Note<
3ff0: 2f 75 3e 3a 20 69 6e 20 74 68 69 73 20 63 61 73 /u>: in this cas
4000: 65 20 77 65 20 61 63 74 75 61 6c 6c 79 20 75 73 e we actually us
4010: 65 64 20 61 20 53 70 61 74 69 61 6c 20 56 69 65 ed a Spatial Vie
4020: 77 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e w.</li>..<li><i>
4030: 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e node_from</i>: n
4040: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d ame of the colum
4050: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 n (in the above
4060: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 Table or View) e
4070: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 xpected to conta
4080: 69 6e 20 3c 62 3e 6e 6f 64 65 2d 66 72 6f 6d 3c in <b>node-from<
4090: 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e /b> values.</li>
40a0: 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f ..<li><i>node_to
40b0: 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 </i>: name of th
40c0: 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 e column (in the
40d0: 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 above Table or
40e0: 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 View) expected t
40f0: 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f 64 o contain <b>nod
4100: 65 2d 74 6f 3c 2f 62 3e 20 76 61 6c 75 65 73 2e e-to</b> values.
4110: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 </li>..<li><i>ge
4120: 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 om</i>: name of
4130: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 the column (in t
4140: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f he above Table o
4150: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 r View) expected
4160: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 4c to contain <b>L
4170: 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c inestrings</b>.<
4180: 62 72 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73 65 br>..In the case
4190: 20 6f 66 20 61 20 3c 62 3e 4c 6f 67 69 63 61 6c of a <b>Logical
41a0: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 3a 20 61 20 Network</b>: a
41b0: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 73 68 6f <b>NULL</b> sho
41c0: 75 6c 64 20 62 65 20 70 61 73 73 65 64 2e 2e 3c uld be passed..<
41d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c /li>..<li><i>NUL
41e0: 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 L</i>: name of t
41f0: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 he column (in th
4200: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 e above Table or
4210: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 View) expected
4220: 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 63 6f to contain <b>co
4230: 73 74 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 st</b> values.<b
4240: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65 r>..In this case
4250: 20 77 65 20 68 61 76 65 20 70 61 73 73 65 64 20 we have passed
4260: 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 a <b>NULL</b> va
4270: 6c 75 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 lue, and consequ
4280: 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 63 6f 73 ently the <b>cos
4290: 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 t</b> of each Li
42a0: 6e 6b 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d nk will be assum
42b0: 65 64 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 ed to be represe
42c0: 6e 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 67 nted by the <b>g
42d0: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c eometric length<
42e0: 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65 /b> of the corre
42f0: 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 65 73 74 72 sponding Linestr
4300: 69 6e 67 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 ing.<br>..<u>Not
4310: 65 20 23 31 3c 2f 75 3e 3a 20 69 6e 20 74 68 65 e #1</u>: in the
4320: 20 63 61 73 65 20 6f 66 20 4e 65 74 77 6f 72 6b case of Network
4330: 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 6c 6f s based on <b>lo
4340: 6e 67 69 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64 ngitudes</b> and
4350: 20 3c 62 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62 <b>latitudes</b
4360: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 > (<i>aka</i> <b
4370: 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e 20 >geographic</b>
4380: 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d Reference System
4390: 73 29 20 74 68 65 20 67 65 6f 6d 65 74 72 79 20 s) the geometry
43a0: 6c 65 6e 67 74 68 20 6f 66 20 61 6c 6c 20 4c 69 length of all Li
43b0: 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 nestrings will b
43c0: 65 20 70 72 65 63 69 73 65 6c 79 20 3c 62 3e 6d e precisely <b>m
43d0: 65 61 73 75 72 65 64 20 6f 6e 20 74 68 65 20 65 easured on the e
43e0: 6c 6c 69 70 73 6f 69 64 3c 2f 62 3e 20 62 79 20 llipsoid</b> by
43f0: 61 70 70 6c 79 69 6e 67 20 74 68 65 20 6d 6f 73 applying the mos
4400: 74 20 61 63 63 75 72 61 74 65 20 3c 62 3e 67 65 t accurate <b>ge
4410: 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c 61 73 3c odesic formulas<
4420: 2f 62 3e 20 61 6e 64 20 77 69 6c 6c 20 63 6f 6e /b> and will con
4430: 73 65 71 75 65 6e 74 6c 79 20 62 65 20 65 78 70 sequently be exp
4440: 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 ressed in <b>met
4450: 65 72 73 3c 2f 62 3e 2e 20 49 6e 20 61 6e 79 20 ers</b>. In any
4460: 6f 74 68 65 72 20 63 61 73 65 20 28 3c 62 3e 70 other case (<b>p
4470: 72 6f 6a 65 63 74 65 64 3c 2f 62 3e 20 52 65 66 rojected</b> Ref
4480: 65 72 65 6e 63 65 20 53 79 73 74 65 6d 73 29 20 erence Systems)
4490: 6c 65 6e 67 74 68 73 20 77 69 6c 6c 20 62 65 20 lengths will be
44a0: 65 78 70 72 65 73 73 65 64 20 69 6e 20 74 68 65 expressed in the
44b0: 20 3c 62 3e 6d 65 61 73 75 72 65 20 75 6e 69 74 <b>measure unit
44c0: 3c 2f 62 3e 20 64 65 66 69 6e 65 64 20 62 79 20 </b> defined by
44d0: 74 68 65 20 52 65 66 65 72 65 6e 63 65 20 53 79 the Reference Sy
44e0: 73 74 65 6d 20 28 65 2e 67 2e 20 3c 62 3e 6d 65 stem (e.g. <b>me
44f0: 74 65 72 73 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e ters</b> for <b>
4500: 55 54 4d 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 UTM</b> projecti
4510: 6f 6e 73 20 61 6e 64 20 3c 62 3e 66 65 65 74 3c ons and <b>feet<
4520: 2f 62 3e 20 66 6f 72 20 3c 62 3e 4e 41 44 2d 66 /b> for <b>NAD-f
4530: 74 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 6f 6e t</b> projection
4540: 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 s).<br>..<u>Note
4550: 20 23 32 3c 2f 75 3e 3a 20 74 68 65 20 3c 62 3e #2</u>: the <b>
4560: 67 65 6f 6d 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 geom-column</b>
4570: 61 6e 64 20 3c 62 3e 63 6f 73 74 2d 63 6f 6c 75 and <b>cost-colu
4580: 6d 6e 3c 2f 62 3e 20 61 72 67 75 6d 65 6e 74 73 mn</b> arguments
4590: 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 are never allow
45a0: 65 64 20 74 6f 20 62 65 20 3c 62 3e 4e 55 4c 4c ed to be <b>NULL
45b0: 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65 </b> at the same
45c0: 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 time.</li>..<li
45d0: 3e 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a ><i>toponym</i>:
45e0: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c name of the col
45f0: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 umn (in the abov
4600: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 e Table or View)
4610: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e expected to con
4620: 74 61 69 6e 20 3c 62 3e 72 6f 61 64 2d 6e 61 6d tain <b>road-nam
4630: 65 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 72 e</b> values.<br
4640: 3e 0d 0a 49 74 20 63 6f 75 6c 64 20 62 65 20 6c >..It could be l
4650: 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20 egitimately set
4660: 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 to <b>NULL</b> i
4670: 66 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20 f all Links are
4680: 61 6e 6f 6e 79 6d 6f 75 73 2e 3c 2f 6c 69 3e 0d anonymous.</li>.
4690: 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 61 .<li><i>1</i>: a
46a0: 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e boolean flag in
46b0: 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69 66 tended to specif
46c0: 79 20 69 66 20 74 68 65 20 4e 65 74 77 6f 72 6b y if the Network
46d0: 20 6d 75 73 74 20 73 75 70 70 6f 72 74 20 74 68 must support th
46e0: 65 20 3c 62 3e 41 2a 20 61 6c 67 6f 72 69 74 68 e <b>A* algorith
46f0: 6d 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 73 65 m</b> or not (se
4700: 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e t to <b>TRUE</b>
4710: 20 62 79 20 64 65 66 61 75 6c 74 29 2e 3c 2f 6c by default).</l
4720: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e i>..<li><i>1</i>
4730: 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 : a boolean flag
4740: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 intended to spe
4750: 63 69 66 79 20 69 66 20 61 6c 6c 20 4e 65 74 77 cify if all Netw
4760: 6f 72 6b 27 73 20 4c 69 6e 6b 73 20 61 72 65 20 ork's Links are
4770: 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 3c 62 assumed to be <b
4780: 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f >bidirectional</
4790: 62 3e 20 6f 72 20 6e 6f 74 20 28 61 73 73 75 6d b> or not (assum
47a0: 65 64 20 74 6f 20 62 65 20 3c 62 3e 54 52 55 45 ed to be <b>TRUE
47b0: 3c 2f 62 3e 20 62 79 20 64 65 66 61 75 6c 74 29 </b> by default)
47c0: 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 6f 6c 3e 0d 0a .</li> ..</ol>..
47d0: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 <table bgcolor="
47e0: 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 #c0ffc0" cellspa
47f0: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 cing="10" cellpa
4800: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 dding="6"><tr><t
4810: 64 3e 0d 0a 3c 68 33 3e 54 65 63 68 6e 69 63 61 d>..<h3>Technica
4820: 6c 20 6e 6f 74 65 3c 2f 68 33 3e 0d 0a 54 68 65 l note</h3>..The
4830: 20 69 6e 74 65 72 6e 61 6c 20 65 6e 63 6f 64 69 internal encodi
4840: 6e 67 20 61 64 6f 70 74 65 64 20 62 79 20 74 68 ng adopted by th
4850: 65 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 e <b>Binary Data
4860: 20 54 61 62 6c 65 3c 2f 62 3e 20 69 73 20 75 6e Table</b> is un
4870: 63 68 61 6e 67 65 64 20 61 6e 64 20 69 73 20 74 changed and is t
4880: 68 65 20 73 61 6d 65 20 66 6f 72 20 62 6f 74 68 he same for both
4890: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f <b>VirtualNetwo
48a0: 6b 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 56 69 72 k</b> and <b>Vir
48b0: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 2e tualRouting</b>.
48c0: 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 73 61 <br>..You can sa
48d0: 66 65 6c 79 20 62 61 73 65 20 61 20 3c 62 3e 56 fely base a <b>V
48e0: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 irtualRouting Ta
48f0: 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 65 ble</b> on any e
4900: 78 69 73 74 69 6e 67 20 42 69 6e 61 72 79 20 44 xisting Binary D
4910: 61 74 61 0d 0a 54 61 62 6c 65 20 63 72 65 61 74 ata..Table creat
4920: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 73 70 61 ed by the <b>spa
4930: 74 69 61 6c 69 74 65 2d 6e 65 74 77 6f 72 6b 3c tialite-network<
4940: 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 2c 20 65 78 /b> CLI tool, ex
4950: 61 63 74 6c 79 20 61 73 20 79 6f 75 20 63 61 6e actly as you can
4960: 20 62 61 73 65 20 61 20 3c 62 3e 56 69 72 74 75 base a <b>Virtu
4970: 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 3c alNetwork Table<
4980: 2f 62 3e 20 6f 6e 20 61 6e 79 20 42 69 6e 61 72 /b> on any Binar
4990: 79 20 44 61 74 61 20 54 61 62 6c 65 20 63 72 65 y Data Table cre
49a0: 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 43 ated by the <b>C
49b0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f reateRouting()</
49c0: 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e b> SQL function.
49d0: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 43 52 ..<verbatim>..CR
49e0: 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 EATE VIRTUAL TAB
49f0: 4c 45 20 74 65 73 74 5f 6e 65 74 77 6f 72 6b 20 LE test_network
4a00: 55 53 49 4e 47 20 56 69 72 74 75 61 6c 4e 65 74 USING VirtualNet
4a10: 77 6f 72 6b 28 27 73 6f 6d 65 5f 64 61 74 61 5f work('some_data_
4a20: 74 61 62 6c 65 27 29 3b 0d 0a 0d 0a 43 52 45 41 table');....CREA
4a30: 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 TE VIRTUAL TABLE
4a40: 20 74 65 73 74 5f 72 6f 75 74 69 6e 67 20 55 53 test_routing US
4a50: 49 4e 47 20 56 69 72 74 75 61 6c 52 6f 75 74 69 ING VirtualRouti
4a60: 6e 67 28 27 73 6f 6d 65 5f 64 61 74 61 5f 74 61 ng('some_data_ta
4a70: 62 6c 65 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 ble');..</verbat
4a80: 69 6d 3e 0d 0a 49 6e 20 6f 72 64 65 72 20 74 6f im>..In order to
4a90: 20 6d 61 6e 75 61 6c 6c 79 20 63 72 65 61 74 65 manually create
4aa0: 20 79 6f 75 72 20 56 69 72 74 75 61 6c 20 54 61 your Virtual Ta
4ab0: 62 6c 65 73 20 79 6f 75 20 6a 75 73 74 20 68 61 bles you just ha
4ac0: 76 65 20 74 6f 20 65 78 65 63 75 74 65 20 61 6e ve to execute an
4ad0: 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e appropriate <b>
4ae0: 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 CREATE VIRTUAL T
4af0: 41 42 4c 45 20 2e 2e 2e 20 55 53 49 4e 47 20 56 ABLE ... USING V
4b00: 69 72 74 75 61 6c 2e 2e 2e 20 28 2e 2e 2e 29 3c irtual... (...)<
4b10: 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0d 0a /b> statement...
4b20: 3c 68 34 3e 57 61 72 6e 69 6e 67 3c 2f 68 34 3e <h4>Warning</h4>
4b30: 0d 0a 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 ..In the case of
4b40: 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 <b>Spatial Netw
4b50: 6f 72 6b 73 3c 2f 62 3e 20 62 61 73 65 64 20 6f orks</b> based o
4b60: 6e 20 61 6e 79 20 3c 62 3e 67 65 6f 67 72 61 70 n any <b>geograp
4b70: 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 hic</b> Referenc
4b80: 65 20 53 79 73 74 65 6d 20 28 75 73 69 6e 67 20 e System (using
4b90: 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73 3c 2f 62 <b>longitudes</b
4ba0: 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69 74 75 64 > and <b>latitud
4bb0: 65 73 3c 2f 62 3e 29 20 74 68 65 72 65 20 69 73 es</b>) there is
4bc0: 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 64 69 an important di
4bd0: 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e fference between
4be0: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62 Binary Data Tab
4bf0: 6c 65 73 20 63 72 65 61 74 65 64 20 62 79 20 74 les created by t
4c00: 68 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 he <b>spatialite
4c10: 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 47 55 49 _network</b> GUI
4c20: 20 74 6f 6f 6c 20 61 6e 64 20 20 42 69 6e 61 72 tool and Binar
4c30: 79 20 44 61 74 61 20 54 61 62 6c 65 73 20 63 72 y Data Tables cr
4c40: 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e eated by the <b>
4c50: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c CreateRouting()<
4c60: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e /b> SQL function
4c70: 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74 73 3c 2f when <b>costs</
4c80: 62 3e 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c b> are implicitl
4c90: 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 67 y based on the g
4ca0: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 20 eometric length
4cb0: 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73 20 4c 69 of the Link's Li
4cc0: 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c 3e 0d nestring:..<ul>.
4cd0: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 70 61 74 .<li>the <b>spat
4ce0: 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f ialite_network</
4cf0: 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28 61 6e 64 b> CLI tool (and
4d00: 20 74 68 65 20 3c 62 3e 47 55 49 20 77 69 7a 61 the <b>GUI wiza
4d10: 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65 6e 74 rd</b> implement
4d20: 65 64 20 62 79 20 70 72 65 76 69 6f 75 73 20 76 ed by previous v
4d30: 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e 73 70 ersions of <b>sp
4d40: 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e atialite_gui</b>
4d50: 29 20 63 6f 6d 70 75 74 65 20 74 68 65 20 4c 69 ) compute the Li
4d60: 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 nestring's lengt
4d70: 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e 67 75 6c h as an <b>angul
4d80: 61 72 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20 ar distance</b>
4d90: 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e expressed in <b>
4da0: 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 degrees</b>.</li
4db0: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 43 72 >..<li>the <b>Cr
4dc0: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 eateRouting()</b
4dd0: 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 63 > SQL function c
4de0: 6f 6d 70 75 74 65 73 20 74 68 65 20 4c 69 6e 65 omputes the Line
4df0: 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 68 20 string's length
4e00: 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61 72 20 64 as a <b>linear d
4e10: 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78 70 72 istance</b> expr
4e20: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 72 essed in <b>metr
4e30: 65 73 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 es</b> by applyi
4e40: 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 ng the most accu
4e50: 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 rate <b>geodesic
4e60: 20 66 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20 6f 6e formulas</b> on
4e70: 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64 2e 3c the ellipsoid.<
4e80: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 /li>..</ul>..</t
4e90: 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 3c d></tr></table><
4ea0: 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 br><br>..<verbat
4eb0: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 im>..SELECT Crea
4ec0: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 63 61 72 teRouting('bycar
4ed0: 5f 64 61 74 61 27 2c 20 27 62 79 63 61 72 27 2c _data', 'bycar',
4ee0: 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e 6f 'roads_vw', 'no
4ef0: 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f de_from', 'node_
4f00: 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 27 63 6f to', 'geom', 'co
4f10: 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20 st', 'toponym',
4f20: 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79 5f 66 72 1, 1, 'oneway_fr
4f30: 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61 79 5f 74 omto', 'oneway_t
4f40: 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d 2d 2d ofrom', 0);..---
4f50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4f60: 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d -..1..</verbatim
4f70: 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c 69 6e 67 >..After calling
4f80: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e <b>CreateRoutin
4f90: 67 28 29 3c 2f 62 3e 20 63 6f 72 72 65 63 74 6c g()</b> correctl
4fa0: 79 2c 20 20 74 68 65 20 44 61 74 61 62 61 73 65 y, the Database
4fb0: 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 66 75 contains two fu
4fc0: 72 74 68 65 72 20 54 61 62 6c 65 73 3a 20 3c 62 rther Tables: <b
4fd0: 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e 64 20 3c >bycar</b> and <
4fe0: 62 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f 62 3e b>bycar_data</b>
4ff0: 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69 6d 65 .<br>..This time
5000: 20 79 6f 75 27 76 65 20 75 73 65 64 20 74 68 65 you've used the
5010: 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20 66 6f 72 <i>complete for
5020: 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 52 m</i> of CreateR
5030: 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27 73 20 outing(); let's
5040: 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65 70 74 see in more dept
5050: 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 h all the argume
5060: 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65 nts and their me
5070: 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c aning:..<ol>..<l
5080: 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61 74 61 3c i><i>bycar_data<
5090: 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f /i>: same as abo
50a0: 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 ve.</li>..<li><i
50b0: 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73 61 6d 65 >bycar</i>: same
50c0: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d as above.</li>.
50d0: 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 .<li><i>roads_vw
50e0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 </i>: same as ab
50f0: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ove.</li>..<li><
5100: 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a i>node_from</i>:
5110: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c same as above.<
5120: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 /li>..<li><i>nod
5130: 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 e_to</i>: same a
5140: 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c s above.</li>..<
5150: 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20 li><i>geom</i>:
5160: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f same as above.</
5170: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63 6f 73 74 li>..<li><i>cost
5180: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 </i>: same as ab
5190: 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73 20 63 61 ove...In this ca
51a0: 73 65 20 77 65 20 68 61 76 65 20 72 65 66 65 72 se we have refer
51b0: 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d 6e 20 70 enced a column p
51c0: 72 65 6c 6f 61 64 65 64 20 77 69 74 68 20 76 61 reloaded with va
51d0: 6c 75 65 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 lues correspondi
51e0: 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e 74 69 6d ng to the <b>tim
51f0: 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65 64 20 69 e</b> measured i
5200: 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e n <b>seconds</b>
5210: 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 required to tra
5220: 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e verse each Link.
5230: 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 69 3e 74 </li> ..<li><i>t
5240: 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73 61 6d 65 oponym</i>: same
5250: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d as above.</li>.
5260: 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 73 .<li><i>1</i>: s
5270: 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 3c 69 ame as above (<i
5280: 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f 69 3e 29 >A* enabled</i>)
5290: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 .</li>..<li><i>1
52a0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 </i>: same as ab
52b0: 6f 76 65 20 28 3c 69 3e 62 69 64 69 72 65 63 74 ove (<i>bidirect
52c0: 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f 69 3e 29 ional Links</i>)
52d0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6f .</li>..<li><i>o
52e0: 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 69 3e neway_fromto</i>
52f0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f : name of the co
5300: 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f lumn (in the abo
5310: 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 ve Table or View
5320: 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f ) expected to co
5330: 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20 66 6c ntain boolean fl
5340: 61 67 73 20 73 70 65 63 69 66 79 69 6e 67 20 69 ags specifying i
5350: 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 61 6e 20 f each Link can
5360: 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20 be traversed in
5370: 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f the <b>from-to</
5380: 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f 72 20 b> direction or
5390: 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c not.</li>..<li><
53a0: 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 3c i>oneway_tofrom<
53b0: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 /i>: name of the
53c0: 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 column (in the
53d0: 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 above Table or V
53e0: 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f iew) expected to
53f0: 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e contain boolean
5400: 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e flags specifyin
5410: 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 g if each Link c
5420: 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20 an be traversed
5430: 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d 66 72 6f in the <b>to-fro
5440: 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 m</b> direction
5450: 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a 3c 75 3e or not.<br>..<u>
5460: 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 62 6f 74 Note #1</u>: bot
5470: 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e h <b>from-to</b>
5480: 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c and <b>to-from<
5490: 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73 /b> column names
54a0: 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 6d 61 can be legitima
54b0: 74 65 6c 79 20 73 65 74 20 61 73 20 3c 62 3e 4e tely set as <b>N
54c0: 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f 20 3c 62 ULL</b> if no <b
54d0: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65 73 >one-way</b> res
54e0: 74 72 69 63 74 69 6f 6e 73 20 61 70 70 6c 79 20 trictions apply
54f0: 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 4e to the current N
5500: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e etwork.<br>..<u>
5510: 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 4e 65 74 Note #2</u>: Net
5520: 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 3c 62 3e works of the <b>
5530: 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f unidirectional</
5540: 62 3e 20 74 79 70 65 20 61 72 65 20 6e 65 76 65 b> type are neve
5550: 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 72 65 66 r enabled to ref
5560: 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 2d 77 61 erence <b>one-wa
5570: 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 28 74 y</b> columns (t
5580: 68 65 79 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 hey should alway
5590: 73 20 62 65 20 73 65 74 20 74 6f 20 3c 62 3e 4e s be set to <b>N
55a0: 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a ULL</b>).</li>..
55b0: 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a 20 61 20 <li><i>0</i>: a
55c0: 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e 74 boolean flag int
55d0: 65 6e 64 69 6e 67 20 61 6e 20 3c 62 3e 6f 76 65 ending an <b>ove
55e0: 72 77 72 69 74 65 20 61 75 74 68 6f 72 69 7a 61 rwrite authoriza
55f0: 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d tion</b>...<ul>.
5600: 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 6f 20 3c .<li>If set to <
5610: 62 3e 46 41 4c 53 45 3c 2f 62 3e 20 61 6e 20 65 b>FALSE</b> an e
5620: 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65 xception will be
5630: 20 72 61 69 73 65 64 20 69 66 20 74 68 65 20 3c raised if the <
5640: 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 b>Binary Data Ta
5650: 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20 74 ble</b> and/or t
5660: 68 65 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 he <b>VirtualRou
5670: 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 20 61 ting Table</b> a
5680: 6c 72 65 61 64 79 20 65 78 69 73 74 2e 3c 2f 6c lready exist.</l
5690: 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 i>..<li>If set t
56a0: 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 65 76 o <b>TRUE</b> ev
56b0: 65 6e 74 75 61 6c 6c 79 20 65 78 69 73 74 69 6e entually existin
56c0: 67 20 54 61 62 6c 65 73 20 77 69 6c 6c 20 62 65 g Tables will be
56d0: 2c 20 74 6f 20 61 76 6f 69 64 20 65 72 72 6f 72 , to avoid error
56e0: 73 2c 20 64 72 6f 70 70 65 64 20 62 65 66 6f 72 s, dropped befor
56f0: 65 20 73 74 61 72 74 69 6e 67 20 74 68 65 20 65 e starting the e
5700: 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c 62 3e 43 xecution of <b>C
5710: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f reateRouting()</
5720: 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c b>.</li>..</ul><
5730: 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 72 /li>..</ol>..<br
5740: 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f >..<table bgcolo
5750: 72 3d 22 23 66 66 66 66 63 30 22 20 63 65 6c 6c r="#ffffc0" cell
5760: 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c spacing="10" cel
5770: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 lpadding="6"><tr
5780: 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 69 67 68 6c ><td>..<h3>Highl
5790: 69 67 68 74 3a 20 77 68 65 72 65 20 79 6f 75 20 ight: where you
57a0: 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f 75 27 76 65 are</h3>..You've
57b0: 20 6a 75 73 74 20 63 72 65 61 74 65 64 20 74 77 just created tw
57c0: 6f 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 o VirtualRouting
57d0: 20 54 61 62 6c 65 73 20 62 61 73 65 64 20 6f 6e Tables based on
57e0: 20 64 69 66 66 65 72 65 6e 74 20 73 65 74 74 69 different setti
57f0: 6e 67 73 3b 20 62 6f 74 68 20 74 68 65 6d 20 61 ngs; both them a
5800: 72 65 20 70 65 72 66 65 63 74 6c 79 20 76 61 6c re perfectly val
5810: 69 64 20 61 6e 64 20 72 65 61 73 6f 6e 61 62 6c id and reasonabl
5820: 65 2c 20 62 75 74 20 74 68 65 79 20 61 72 65 20 e, but they are
5830: 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 64 69 66 intended for dif
5840: 66 65 72 65 6e 74 20 70 75 72 70 6f 73 65 73 3a ferent purposes:
5850: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 ..<ul>..<li><b>b
5860: 79 66 6f 6f 74 3c 2f 62 3e 20 69 73 20 73 70 65 yfoot</b> is spe
5870: 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e 64 cifically intend
5880: 65 64 20 66 6f 72 20 3c 62 3e 70 65 64 65 73 74 ed for <b>pedest
5890: 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e rians</b>:..<ul>
58a0: 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69 6e 6b 73 20 ..<li>all Links
58b0: 61 72 65 20 61 6c 77 61 79 73 20 61 73 73 75 6d are always assum
58c0: 65 64 20 74 6f 20 62 65 20 61 63 63 65 73 73 69 ed to be accessi
58d0: 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64 ble in <b>both d
58e0: 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 3b 20 74 irections</b>; t
58f0: 68 65 72 65 20 61 72 65 20 6e 6f 20 3c 62 3e 6f here are no <b>o
5900: 6e 65 2d 77 61 79 73 3c 2f 62 3e 20 61 6e 64 20 ne-ways</b> and
5910: 6e 6f 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c no <b>forbidden<
5920: 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d /b> Links.</li>.
5930: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 63 6f 73 74 .<li>the <b>cost
5940: 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e </b> of each Lin
5950: 6b 20 69 73 20 64 69 72 65 63 74 6c 79 20 72 65 k is directly re
5960: 70 72 65 73 65 6e 74 65 64 20 62 79 20 69 74 73 presented by its
5970: 20 67 65 6f 6d 65 74 72 69 63 20 3c 62 3e 6c 65 geometric <b>le
5980: 6e 67 74 68 3c 2f 62 3e 2c 20 77 68 69 63 68 20 ngth</b>, which
5990: 69 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 is consistent wi
59a0: 74 68 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f th the assumptio
59b0: 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f 73 74 20 63 n of an almost c
59c0: 6f 6e 73 74 61 6e 74 20 73 70 65 65 64 20 73 75 onstant speed su
59d0: 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6d 6d 75 bstantially immu
59e0: 6e 65 20 66 72 6f 6d 20 61 64 76 65 72 73 65 20 ne from adverse
59f0: 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 road conditions
5a00: 61 6e 64 20 74 72 61 66 66 69 63 20 63 6f 6e 67 and traffic cong
5a10: 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f estion.</li>..</
5a20: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 ul></li>..<li><b
5a30: 3e 62 79 63 61 72 3c 2f 62 3e 20 69 73 20 73 70 >bycar</b> is sp
5a40: 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e ecifically inten
5a50: 64 65 64 20 66 6f 72 20 3c 62 3e 6d 6f 74 6f 72 ded for <b>motor
5a60: 20 76 65 68 69 63 6c 65 73 3c 2f 62 3e 3a 0d 0a vehicles</b>:..
5a70: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61 6e 79 20 4c <ul>..<li>many L
5a80: 69 6e 6b 73 20 61 72 65 20 65 78 70 65 63 74 65 inks are expecte
5a90: 64 20 74 6f 20 62 65 20 61 63 63 65 73 73 69 62 d to be accessib
5aa0: 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64 69 le in <b>both di
5ab0: 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 20 62 75 74 rections</b> but
5ac0: 20 6f 74 68 65 72 73 20 63 6f 75 6c 64 20 65 61 others could ea
5ad0: 73 69 6c 79 20 62 65 20 73 75 62 6a 65 63 74 20 sily be subject
5ae0: 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 to <b>one-way</b
5af0: 3e 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f > restrictions o
5b00: 72 20 65 76 65 6e 20 62 65 20 63 6f 6d 70 6c 65 r even be comple
5b10: 74 65 6c 79 20 3c 62 3e 66 6f 72 62 69 64 64 65 tely <b>forbidde
5b20: 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 n</b>.</li>..<li
5b30: 3e 74 68 65 20 63 6f 73 74 20 6f 66 20 65 61 63 >the cost of eac
5b40: 68 20 4c 69 6e 6b 20 69 73 20 65 78 70 72 65 73 h Link is expres
5b50: 73 65 64 20 61 73 20 61 6e 20 65 73 74 69 6d 61 sed as an estima
5b60: 74 65 64 20 3c 62 3e 74 72 61 76 65 6c 20 74 69 ted <b>travel ti
5b70: 6d 65 3c 2f 62 3e 2c 20 62 65 63 61 75 73 65 20 me</b>, because
5b80: 74 68 65 20 65 78 70 65 63 74 65 64 20 73 70 65 the expected spe
5b90: 65 64 73 20 63 61 6e 20 67 72 65 61 74 6c 79 20 eds can greatly
5ba0: 76 61 72 79 20 61 63 63 6f 72 64 69 6e 67 6c 79 vary accordingly
5bb0: 20 74 6f 20 73 70 65 63 69 66 69 63 20 72 6f 61 to specific roa
5bc0: 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 74 72 d conditions, tr
5bd0: 61 66 66 69 63 20 63 6f 6e 67 65 73 74 69 6f 6e affic congestion
5be0: 20 61 6e 64 20 6c 65 67 61 6c 20 72 65 67 75 6c and legal regul
5bf0: 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f ations.</li>..</
5c00: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d ul></li>..</ul>.
5c10: 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f 6e 63 6c 75 .<br>..<u>Conclu
5c20: 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20 73 69 6e 67 sion</u>: a sing
5c30: 6c 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e le VirtualRoutin
5c40: 67 20 54 61 62 6c 65 20 63 61 6e 6e 6f 74 20 61 g Table cannot a
5c50: 64 65 71 75 61 74 65 6c 79 20 73 75 70 70 6f 72 dequately suppor
5c60: 74 20 61 6c 6c 20 72 65 71 75 69 72 65 6d 65 6e t all requiremen
5c70: 74 73 20 61 6e 64 20 65 78 70 65 63 74 61 74 69 ts and expectati
5c80: 6f 6e 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 ons of different
5c90: 20 75 73 65 72 73 2e 3c 62 72 3e 0d 0a 44 65 66 users.<br>..Def
5ca0: 69 6e 69 6e 67 20 6d 6f 72 65 20 52 6f 75 74 69 ining more Routi
5cb0: 6e 67 20 54 61 62 6c 65 73 20 77 69 74 68 20 64 ng Tables with d
5cc0: 69 66 66 65 72 65 6e 74 20 73 65 74 74 69 6e 67 ifferent setting
5cd0: 73 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 4e s for the same N
5ce0: 65 74 77 6f 72 6b 20 75 73 75 61 6c 6c 79 20 69 etwork usually i
5cf0: 73 20 61 20 67 6f 6f 64 20 64 65 73 69 67 6e 20 s a good design
5d00: 63 68 6f 69 63 65 20 6c 65 61 64 69 6e 67 20 74 choice leading t
5d10: 6f 20 6d 6f 72 65 20 72 65 61 6c 69 73 74 69 63 o more realistic
5d20: 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e 0d 0a 3c results.<br>..<
5d30: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 /td></tr>..</tab
5d40: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c le>..<br><br>..<
5d50: 68 33 3e 55 74 69 6c 69 74 79 20 66 75 6e 63 74 h3>Utility funct
5d60: 69 6f 6e 20 66 6f 72 20 61 75 74 6f 6d 61 74 69 ion for automati
5d70: 63 61 6c 6c 79 20 73 65 74 74 69 6e 67 20 4e 6f cally setting No
5d80: 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f 64 65 54 deFrom and NodeT
5d90: 6f 20 49 44 73 3c 2f 68 33 3e 0d 0a 49 74 20 63 o IDs</h3>..It c
5da0: 6f 75 6c 64 20 68 61 70 70 65 6e 20 74 68 61 74 ould happen that
5db0: 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 a <b>Spatial Ne
5dc0: 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 70 72 65 73 twork</b> repres
5dd0: 65 6e 74 61 74 69 6f 6e 20 69 73 20 74 6f 70 6f entation is topo
5de0: 6c 6f 67 69 63 61 6c 6c 79 20 63 6f 6e 73 69 73 logically consis
5df0: 74 65 6e 74 2c 20 62 75 74 20 63 6f 6d 70 6c 65 tent, but comple
5e00: 74 65 6c 79 20 6c 61 63 6b 69 6e 67 20 6f 66 20 tely lacking of
5e10: 61 6e 79 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c any <b>NodeFrom<
5e20: 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 /b> and <b>NodeT
5e30: 6f 3c 2f 62 3e 20 64 65 66 69 6e 69 74 69 6f 6e o</b> definition
5e40: 73 2e 3c 62 72 3e 0d 0a 49 6e 20 73 75 63 68 20 s.<br>..In such
5e50: 61 20 63 61 73 65 20 79 6f 75 20 63 61 6e 20 73 a case you can s
5e60: 75 63 63 65 73 73 66 75 6c 6c 79 20 72 65 62 75 uccessfully rebu
5e70: 69 6c 64 20 74 68 65 20 6d 69 73 73 69 6e 67 20 ild the missing
5e80: 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f NodeFrom and No
5e90: 64 65 54 6f 20 64 65 66 69 6e 69 74 69 6f 6e 73 deTo definitions
5ea0: 20 66 72 6f 6d 20 61 20 76 61 6c 69 64 20 4e 65 from a valid Ne
5eb0: 74 77 6f 72 6b 20 62 79 20 63 61 6c 6c 69 6e 67 twork by calling
5ec0: 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f the <b>CreateRo
5ed0: 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e utingNodes()</b>
5ee0: 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a SQL function...
5ef0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 <verbatim>..SELE
5f00: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 CT CreateRouting
5f10: 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20 27 74 61 62 Nodes(NULL, 'tab
5f20: 6c 65 5f 6e 61 6d 65 27 2c 20 27 67 65 6f 6d 27 le_name', 'geom'
5f30: 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 , 'node_from', '
5f40: 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a 5f 5f 5f 5f node_to');..____
5f50: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f ________________
5f60: 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c 2f 76 65 72 62 _____..1..</verb
5f70: 61 74 69 6d 3e 0d 0a 4c 65 74 27 73 20 65 78 61 atim>..Let's exa
5f80: 6d 69 6e 65 20 61 6c 6c 20 61 72 67 75 6d 65 6e mine all argumen
5f90: 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65 61 ts and their mea
5fa0: 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 ning:..<ol>..<li
5fb0: 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e 61 ><i>NULL</i>: na
5fc0: 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e 41 74 74 me of the <b>Att
5fd0: 61 63 68 65 64 2d 44 42 3c 2f 62 3e 20 63 6f 6e ached-DB</b> con
5fe0: 74 61 69 6e 69 6e 67 20 74 68 65 20 53 70 61 74 taining the Spat
5ff0: 69 61 6c 20 54 61 62 6c 65 2e 3c 62 72 3e 0d 0a ial Table.<br>..
6000: 49 74 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 It can be legiti
6010: 6d 61 74 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 mately set to <b
6020: 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61 6e 64 20 69 >NULL</b>, and i
6030: 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 n this case the
6040: 3c 62 3e 4d 41 49 4e 3c 2f 62 3e 20 44 42 20 69 <b>MAIN</b> DB i
6050: 73 20 61 73 73 75 6d 65 64 2e 3c 2f 6c 69 3e 0d s assumed.</li>.
6060: 0a 3c 6c 69 3e 3c 69 3e 74 61 62 6c 65 5f 6e 61 .<li><i>table_na
6070: 6d 65 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 me</i>: name of
6080: 74 68 65 20 53 70 61 74 69 61 6c 20 54 61 62 6c the Spatial Tabl
6090: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e e.</li>..<li><i>
60a0: 67 65 6f 6d 3c 2f 6c 69 3e 3a 20 6e 61 6d 65 20 geom</li>: name
60b0: 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 28 of the column ((
60c0: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 in the above Tab
60d0: 6c 65 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20 3c le) containing <
60e0: 62 3e 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 b>Linestrings</b
60f0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e >.</li>..<li><i>
6100: 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e node_from</i>: n
6110: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d ame of the colum
6120: 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f n to be added to
6130: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 the above Table
6140: 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77 and populated w
6150: 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65 20 ith appropriate
6160: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 <b>NodeFrom</b>
6170: 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c IDs.</li>..<li><
6180: 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e i>node_to</i>: n
6190: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d ame of the colum
61a0: 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f n to be added to
61b0: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 the above Table
61c0: 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77 and populated w
61d0: 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65 20 ith appropriate
61e0: 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 49 44 <b>NodeTo</b> ID
61f0: 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c s.<br>..<u>Note<
6200: 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e 4e 6f 64 /u>: both <b>Nod
6210: 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 eFrom</b> and <b
6220: 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 >NodeTo</b> colu
6230: 6d 6e 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 mns should not b
6240: 65 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e 65 e already define
6250: 64 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 d in the above T
6260: 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c able.</li>..</ol
6270: 3e 0d 0a 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 >..<b>CreateRout
6280: 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 77 ingNodes()</b> w
6290: 69 6c 6c 20 72 65 74 75 72 6e 20 3c 62 3e 31 3c ill return <b>1<
62a0: 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 /b> (<i>aka</i>
62b0: 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 20 6f 6e 20 <b>TRUE</b>) on
62c0: 73 75 63 63 65 73 73 3b 20 61 6e 20 65 78 63 65 success; an exce
62d0: 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61 ption will be ra
62e0: 69 73 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 2e ised on failure.
62f0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 <br>..<u>Note</u
6300: 3e 3a 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 >: you can call
6310: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 <b>CreateRouting
6320: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3c _GetLastError()<
6330: 2f 62 3e 20 73 6f 20 74 6f 20 70 72 65 63 69 73 /b> so to precis
6340: 65 6c 79 20 69 64 65 6e 74 69 66 79 20 74 68 65 ely identify the
6350: 20 63 61 75 73 65 20 61 63 63 6f 75 6e 74 69 6e cause accountin
6360: 67 20 66 6f 72 20 66 61 69 6c 75 72 65 2e 3c 62 g for failure.<b
6370: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 r><br><br>..<tab
6380: 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 le bgcolor="#c0f
6390: 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 fc0" cellspacing
63a0: 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e ="10" cellpaddin
63b0: 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a g="6"><tr><td>..
63c0: 3c 68 33 3e 48 61 6e 64 6c 69 6e 67 20 64 79 6e <h3>Handling dyn
63d0: 61 6d 69 63 20 4e 65 74 77 6f 72 6b 73 3c 2f 68 amic Networks</h
63e0: 33 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20 63 6f 3>..A Network co
63f0: 75 6c 64 20 62 65 20 73 75 62 6a 65 63 74 20 74 uld be subject t
6400: 6f 20 72 61 74 68 65 72 20 66 72 65 71 75 65 6e o rather frequen
6410: 74 20 63 68 61 6e 67 65 73 2c 20 73 75 63 68 20 t changes, such
6420: 61 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6e as:..<ul>..<li>n
6430: 65 77 20 4c 69 6e 6b 73 20 6e 65 65 64 20 74 6f ew Links need to
6440: 20 62 65 20 61 64 64 65 64 2e 3c 2f 6c 69 3e 0d be added.</li>.
6450: 0a 3c 6c 69 3e 6f 62 73 6f 6c 65 74 65 20 4c 69 .<li>obsolete Li
6460: 6e 6b 73 20 61 72 65 20 72 65 71 75 69 72 65 64 nks are required
6470: 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 2e 3c to be removed.<
6480: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 74 68 65 72 20 /li>..<li>other
6490: 4c 69 6e 6b 73 20 6d 61 79 20 72 65 63 65 69 76 Links may receiv
64a0: 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 43 6f e a different Co
64b0: 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 6e st.</li>..<li>on
64c0: 65 2d 77 61 79 73 20 63 6f 75 6c 64 20 62 65 20 e-ways could be
64d0: 72 65 76 65 72 73 65 64 2c 20 74 68 65 20 64 69 reversed, the di
64e0: 73 63 69 70 6c 69 6e 65 20 6f 66 20 70 65 64 65 scipline of pede
64f0: 73 74 72 69 61 6e 20 61 72 65 61 73 20 63 6f 75 strian areas cou
6500: 6c 64 20 62 65 20 6d 6f 64 69 66 69 65 64 20 61 ld be modified a
6510: 6e 64 20 73 6f 20 6f 6e 2e 3c 2f 6c 69 3e 0d 0a nd so on.</li>..
6520: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 3c 62 72 3e 0d 0a </ul></li><br>..
6530: 41 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 A VirtualRouting
6540: 20 54 61 62 6c 65 20 69 73 20 61 6c 77 61 79 73 Table is always
6550: 20 62 61 73 65 64 20 6f 6e 20 61 20 63 6f 6d 70 based on a comp
6560: 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 anion Binary Dat
6570: 61 20 54 61 62 6c 65 2c 20 74 68 61 74 20 69 73 a Table, that is
6580: 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79 20 3c intrinsically <
6590: 62 3e 73 74 61 74 69 63 3c 2f 62 3e 2c 20 61 6e b>static</b>, an
65a0: 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 79 d consequently y
65b0: 6f 75 20 61 72 65 20 72 65 71 75 69 72 65 64 20 ou are required
65c0: 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62 6f 74 to re-create bot
65d0: 68 20 6f 66 20 74 68 65 6d 20 66 72 6f 6d 20 74 h of them from t
65e0: 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 6e 20 6f ime to time in o
65f0: 72 64 65 72 20 74 6f 20 73 75 70 70 6f 72 74 20 rder to support
6600: 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 61 6e 67 all recent chang
6610: 65 73 20 61 66 66 65 63 74 69 6e 67 20 74 68 65 es affecting the
6620: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 underlaying Net
6630: 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20 6f work.<br>..The o
6640: 70 74 69 6d 61 6c 20 66 72 65 71 75 65 6e 63 79 ptimal frequency
6650: 20 66 6f 72 20 74 68 65 20 72 65 66 72 65 73 68 for the refresh
6660: 69 6e 67 20 6f 66 20 74 68 65 20 74 68 65 20 52 ing of the the R
6670: 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 64 65 outing Tables de
6680: 70 65 6e 64 73 20 20 73 74 72 69 63 74 6c 79 20 pends strictly
6690: 6f 6e 20 74 68 65 20 73 70 65 63 69 66 69 63 20 on the specific
66a0: 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 62 75 requirements, bu
66b0: 74 20 74 68 65 73 65 20 74 77 6f 20 6f 76 65 72 t these two over
66c0: 61 6c 6c 20 61 70 70 72 6f 61 63 68 65 73 20 61 all approaches a
66d0: 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61 64 6f 70 re commonly adop
66e0: 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e ted:..<ol>..<li>
66f0: 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65 6e 63 79 <b>low frequency
6700: 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65 refresh</b>: be
6710: 73 74 20 66 69 74 20 66 6f 72 20 73 6c 6f 77 6c st fit for slowl
6720: 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f y evolving Netwo
6730: 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69 rks.<br>..In thi
6740: 73 20 63 61 73 65 20 72 65 2d 63 72 65 61 74 69 s case re-creati
6750: 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 54 ng the Network T
6760: 61 62 6c 65 73 20 6f 6e 63 65 20 61 20 6d 6f 6e ables once a mon
6770: 74 68 20 2f 20 77 65 65 6b 20 2f 20 64 61 79 20 th / week / day
6780: 63 6f 75 6c 64 20 62 65 20 72 65 61 73 6f 6e 61 could be reasona
6790: 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a 52 65 63 bly enough...Rec
67a0: 72 65 61 74 69 6e 67 20 74 68 65 20 54 61 62 6c reating the Tabl
67b0: 65 73 20 66 72 6f 6d 20 73 63 72 61 74 63 68 20 es from scratch
67c0: 75 73 75 61 6c 6c 79 20 72 65 71 75 69 72 65 73 usually requires
67d0: 20 73 65 76 65 72 61 6c 20 73 65 63 6f 6e 64 73 several seconds
67e0: 20 28 6f 72 20 65 76 65 6e 20 6c 65 73 73 2c 20 (or even less,
67f0: 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 depending on the
6800: 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69 6e 6b 73 number of Links
6810: 29 2e 3c 62 72 3e 0d 0a 41 6e 20 6f 70 74 69 6f ).<br>..An optio
6820: 6e 61 6c 20 72 65 66 72 65 73 68 20 61 63 74 69 nal refresh acti
6830: 76 69 74 79 20 63 6f 75 6c 64 20 62 65 20 70 6c vity could be pl
6840: 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74 72 61 anned at low tra
6850: 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e 67 2e ffic hours (e.g.
6860: 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69 67 68 during the nigh
6870: 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65 61 74 t), and <b>Creat
6880: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 63 eRouting()</b> c
6890: 6f 75 6c 64 20 62 65 20 6f 70 74 69 6f 6e 61 6c ould be optional
68a0: 6c 79 20 63 61 6c 6c 65 64 20 62 79 20 65 6e 61 ly called by ena
68b0: 62 6c 69 6e 67 20 74 68 65 20 6f 76 65 72 77 72 bling the overwr
68c0: 69 74 65 20 6f 70 74 69 6f 6e 2e 3c 2f 6c 69 3e ite option.</li>
68d0: 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75 6d 2d ..<li><b>medium-
68e0: 68 69 67 68 20 66 72 65 71 75 65 6e 63 79 20 72 high frequency r
68f0: 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65 73 74 efresh</b>: best
6900: 20 66 69 74 20 66 6f 72 20 73 77 69 66 74 6c 79 fit for swiftly
6910: 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f 72 evolving Networ
6920: 6b 73 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72 65 61 ks.<br>..Re-crea
6930: 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b ting the Network
6940: 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 70 65 72 Tables once per
6950: 20 68 6f 75 72 20 28 6f 72 20 65 76 65 6e 20 6d hour (or even m
6960: 6f 72 65 20 66 72 65 71 75 65 6e 74 6c 79 29 20 ore frequently)
6970: 63 6f 75 6c 64 20 62 65 20 73 74 72 69 63 74 6c could be strictl
6980: 79 20 72 65 71 75 69 72 65 64 2c 20 61 6e 64 20 y required, and
6990: 66 72 65 71 75 65 6e 74 20 3c 62 3e 6f 75 74 20 frequent <b>out
69a0: 6f 66 20 73 65 72 76 69 63 65 3c 2f 62 3e 20 70 of service</b> p
69b0: 65 72 69 6f 64 73 20 77 68 69 6c 65 20 77 61 69 eriods while wai
69c0: 74 69 6e 67 20 66 6f 72 20 74 68 65 20 72 65 66 ting for the ref
69d0: 72 65 73 68 20 70 72 6f 63 65 73 73 20 74 6f 20 resh process to
69e0: 63 6f 6d 70 6c 65 74 65 20 63 6f 75 6c 64 20 65 complete could e
69f0: 61 73 69 6c 79 20 62 65 63 6f 6d 65 20 75 6e 61 asily become una
6a00: 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 3e 0d 0a cceptable.<br>..
6a10: 49 6e 20 73 75 63 68 20 63 61 73 65 73 20 79 6f In such cases yo
6a20: 75 20 63 6f 75 6c 64 20 61 64 6f 70 74 20 61 20 u could adopt a
6a30: 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 <b>multi-threade
6a40: 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e 3a 0d d strategy</b>:.
6a50: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 .<ul>..<li><b>th
6a60: 72 65 61 64 20 23 31 3c 2f 62 3e 20 28 3c 69 3e read #1</b> (<i>
6a70: 74 68 65 20 72 65 61 64 65 72 3c 2f 69 3e 29 3a the reader</i>):
6a80: 20 74 68 69 73 20 66 69 72 73 74 20 74 68 72 65 this first thre
6a90: 61 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 ad is intended t
6aa0: 6f 20 73 65 72 76 69 63 65 20 61 6e 79 20 69 6e o service any in
6ab0: 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e 67 20 72 coming Routing r
6ac0: 65 71 75 65 73 74 2e 20 49 74 20 77 69 6c 6c 20 equest. It will
6ad0: 62 65 20 61 6c 77 61 79 73 20 61 63 74 69 76 65 be always active
6ae0: 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61 72 67 65 , and will targe
6af0: 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 56 t a well known V
6b00: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 irtualRouting Ta
6b10: 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e 6d 79 5f ble (e.g. <b>my_
6b20: 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 61 73 65 routing</b> base
6b30: 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f 75 74 69 d on <b>my_routi
6b40: 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e 3c 2f 6c ng_data</b>).</l
6b50: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72 65 61 i>..<li><b>threa
6b60: 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e 74 68 65 d #2</b> (<i>the
6b70: 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a 20 74 68 writer</i>): th
6b80: 69 73 20 73 65 63 6f 6e 64 20 74 68 72 65 61 64 is second thread
6b90: 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e 64 65 is just intende
6ba0: 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62 d to re-create b
6bb0: 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c oth Network Tabl
6bc0: 65 73 20 61 74 20 70 72 65 64 65 66 69 6e 65 64 es at predefined
6bd0: 20 69 6e 74 65 72 76 61 6c 73 2c 20 61 6e 64 20 intervals, and
6be0: 69 74 20 77 69 6c 6c 20 73 6c 65 65 70 20 74 68 it will sleep th
6bf0: 65 20 6e 65 78 74 20 69 6e 74 65 72 76 61 6c 2e e next interval.
6c00: 3c 62 72 3e 0d 0a 41 74 20 65 61 63 68 20 69 6e <br>..At each in
6c10: 74 65 72 76 61 6c 20 61 20 63 6f 70 79 20 6f 66 terval a copy of
6c20: 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 both Network Ta
6c30: 62 6c 65 73 2c 20 77 69 6c 6c 20 62 65 20 6d 61 bles, will be ma
6c40: 64 65 20 61 6e 64 2c 20 77 68 65 6e 20 63 6f 6d de and, when com
6c50: 70 6c 65 61 74 65 64 2c 20 77 69 6c 6c 20 6f 76 pleated, will ov
6c60: 65 72 77 72 69 74 65 20 74 68 65 20 6f 72 69 67 erwrite the orig
6c70: 69 6e 61 6c 20 54 61 62 6c 65 73 20 28 61 63 74 inal Tables (act
6c80: 69 76 61 74 69 6e 67 20 61 20 73 65 6d 61 70 68 ivating a semaph
6c90: 6f 72 65 20 64 75 72 69 6e 67 20 74 68 69 73 20 ore during this
6ca0: 73 68 6f 72 74 2d 74 69 6d 65 64 20 6c 61 73 74 short-timed last
6cb0: 20 73 74 65 70 20 69 73 20 68 69 67 68 6c 79 20 step is highly
6cc0: 72 65 63 6f 6d 6d 65 6e 64 65 64 29 2e 3c 62 72 recommended).<br
6cd0: 3e 0d 0a 53 6f 6d 65 74 68 69 6e 67 20 6c 69 6b >..Something lik
6ce0: 65 20 74 68 69 73 20 70 73 65 75 64 6f 2d 63 6f e this pseudo-co
6cf0: 64 65 20 65 78 65 6d 70 6c 69 66 69 65 73 3a 0d de exemplifies:.
6d00: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
6d10: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e ECT CreateRoutin
6d20: 67 28 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e g('new_my_routin
6d30: 67 5f 64 61 74 61 27 2c 20 27 6e 65 77 5f 6d 79 g_data', 'new_my
6d40: 5f 72 6f 75 74 69 6e 67 27 2c 20 2e 2e 2e 29 3b _routing', ...);
6d50: 0d 0a 0d 0a 2d 2d 3e 20 73 74 61 72 74 20 74 68 ....--> start th
6d60: 65 20 73 65 6d 61 70 68 6f 72 65 20 73 6f 20 74 e semaphore so t
6d70: 6f 20 6c 6f 63 6b 20 74 68 65 20 6f 74 68 65 72 o lock the other
6d80: 20 74 68 72 65 61 64 0d 0a 0d 0a 42 45 47 49 4e thread....BEGIN
6d90: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d 79 ;..DROP TABLE my
6da0: 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 _routing;..DROP
6db0: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67 TABLE my_routing
6dc0: 5f 64 61 74 61 3b 0d 0a 53 45 4c 45 43 54 20 43 _data;..SELECT C
6dd0: 6c 6f 6e 65 54 61 62 6c 65 28 27 4d 41 49 4e 27 loneTable('MAIN'
6de0: 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e , 'new_my_routin
6df0: 67 5f 64 61 74 61 27 2c 20 27 6d 79 5f 72 6f 75 g_data', 'my_rou
6e00: 74 69 6e 67 5f 64 61 74 61 27 2c 20 30 29 3b 0d ting_data', 0);.
6e10: 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 .CREATE VIRTUAL
6e20: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67 TABLE my_routing
6e30: 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 52 6f USING VirtualRo
6e40: 75 74 69 6e 67 28 27 6d 79 5f 72 6f 75 74 69 6e uting('my_routin
6e50: 67 5f 64 61 74 61 27 29 3b 0d 0a 44 52 4f 50 20 g_data');..DROP
6e60: 54 41 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 TABLE new_my_rou
6e70: 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41 42 4c ting;..DROP TABL
6e80: 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 E new_my_routing
6e90: 5f 64 61 74 61 3b 0d 0a 43 4f 4d 4d 49 54 3b 0d _data;..COMMIT;.
6ea0: 0a 0d 0a 2d 2d 3e 20 72 65 6d 6f 76 65 20 74 68 ...--> remove th
6eb0: 65 20 73 65 6d 61 70 68 6f 72 65 0d 0a 3c 2f 76 e semaphore..</v
6ec0: 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 erbatim>..<u>Not
6ed0: 65 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 e</u>: strictly
6ee0: 72 65 73 70 65 63 74 69 6e 67 20 74 68 65 20 61 respecting the a
6ef0: 62 6f 76 65 20 73 65 71 75 65 6e 63 65 20 6f 66 bove sequence of
6f00: 20 53 51 4c 20 6f 70 65 72 61 74 69 6f 6e 73 20 SQL operations
6f10: 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 72 65 is absolutely re
6f20: 71 75 69 72 65 64 2e 3c 2f 6c 69 3e 20 0d 0a 3c quired.</li> ..<
6f30: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e /ul></li>..</ol>
6f40: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f ..</td></tr>..</
6f50: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 table>..<br>..<t
6f60: 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 able bgcolor="#f
6f70: 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 fb060" cellspaci
6f80: 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 ng="10" cellpadd
6f90: 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e ing="6"><tr><td>
6fa0: 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 ..<h3>Warning: h
6fb0: 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 ow to correctly
6fc0: 64 72 6f 70 20 4e 65 74 77 6f 72 6b 20 54 61 62 drop Network Tab
6fd0: 6c 65 73 3c 2f 68 33 3e 0d 0a 57 68 65 6e 20 64 les</h3>..When d
6fe0: 72 6f 70 70 69 6e 67 20 61 20 56 69 72 74 75 61 ropping a Virtua
6ff0: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 61 lRouting Table a
7000: 6e 64 20 69 74 73 20 63 6f 6d 70 61 6e 69 6f 6e nd its companion
7010: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62 Binary Data Tab
7020: 6c 65 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 le strictly resp
7030: 65 63 74 69 6e 67 20 74 68 65 20 63 6f 72 72 65 ecting the corre
7040: 63 74 20 73 65 71 75 65 6e 63 65 20 6f 66 20 53 ct sequence of S
7050: 51 4c 20 63 6f 6d 6d 61 6e 64 73 20 69 73 20 65 QL commands is e
7060: 73 73 65 6e 74 69 61 6c 2e 3c 62 72 3e 0d 0a 46 ssential.<br>..F
7070: 61 69 6c 69 6e 67 20 74 6f 20 73 74 72 69 63 74 ailing to strict
7080: 6c 79 20 72 65 73 70 65 63 74 20 74 68 65 20 65 ly respect the e
7090: 78 70 65 63 74 65 64 20 73 65 71 75 65 6e 63 65 xpected sequence
70a0: 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 63 61 75 will surely cau
70b0: 73 65 20 79 6f 75 20 73 65 76 65 72 61 6c 20 74 se you several t
70c0: 72 6f 75 62 6c 65 73 20 61 6e 64 20 73 65 76 65 roubles and seve
70d0: 72 65 20 68 65 61 64 61 63 68 65 73 2c 20 61 6e re headaches, an
70e0: 64 20 77 69 6c 6c 20 70 6f 73 73 69 62 6c 79 20 d will possibly
70f0: 6c 65 61 64 20 74 6f 20 61 20 63 6f 6d 70 6c 65 lead to a comple
7100: 74 65 6c 79 20 63 6f 72 72 75 70 74 65 64 20 64 tely corrupted d
7110: 61 74 61 62 61 73 65 2e 2e 0d 0a 3c 6f 6c 3e 0d atabase....<ol>.
7120: 0a 3c 6c 69 3e 66 69 72 73 74 20 44 52 4f 50 20 .<li>first DROP
7130: 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 the VirtualRouti
7140: 6e 67 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a ng Table.</li>..
7150: 3c 6c 69 3e 74 68 65 20 63 6f 6d 70 61 6e 69 6f <li>the companio
7160: 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 n Binary Data Ta
7170: 62 6c 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 ble can only be
7180: 73 61 66 65 6c 79 20 44 52 4f 50 65 64 20 61 66 safely DROPed af
7190: 74 65 72 20 74 68 65 20 56 69 72 74 75 61 6c 52 ter the VirtualR
71a0: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 68 61 73 outing Table has
71b0: 20 62 65 65 6e 20 72 65 6d 6f 76 65 64 2e 3c 2f been removed.</
71c0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 42 65 20 77 li>..<li><u>Be w
71d0: 61 72 6e 65 64 3c 2f 75 3e 3a 20 69 66 20 79 6f arned</u>: if yo
71e0: 75 20 44 52 4f 50 20 74 68 65 20 42 69 6e 61 72 u DROP the Binar
71f0: 79 20 44 61 74 61 20 54 61 62 6c 65 20 66 69 72 y Data Table fir
7200: 73 74 2c 20 74 68 65 20 56 69 72 74 75 61 6c 52 st, the VirtualR
7210: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 77 69 6c outing Table wil
7220: 6c 20 62 65 20 3c 62 3e 6f 72 70 68 61 6e 65 64 l be <b>orphaned
7230: 3c 2f 62 3e 20 61 6e 64 20 63 61 6e 20 6e 6f 20 </b> and can no
7240: 6c 6f 6e 67 65 72 20 62 65 20 44 52 4f 50 65 64 longer be DROPed
7250: 20 21 3c 62 72 3e 0d 0a 3c 62 3e 42 65 20 77 61 !<br>..<b>Be wa
7260: 72 6e 65 64 20 21 21 3c 2f 62 3e 3c 2f 6c 69 3e rned !!</b></li>
7270: 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f ..</ol>..</td></
7280: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
7290: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 br><br>..<hr><br
72a0: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 >..<h1><a name="
72b0: 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53 6f 6c from_to">4 - Sol
72c0: 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53 68 6f ving classic Sho
72d0: 72 74 65 73 74 20 50 61 74 68 20 70 72 6f 62 6c rtest Path probl
72e0: 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 54 68 ems</a></h1>..Th
72f0: 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63 20 53 e most classic S
7300: 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f hortest Path pro
7310: 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 74 6f blem requires to
7320: 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 6f 70 identify the op
7330: 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e timal connection
7340: 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62 3e 4f between an <b>O
7350: 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 rigin Node</b> a
7360: 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e 61 74 nd a <b>Destinat
7370: 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 62 72 ion Node</b>.<br
7380: 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69 6c 79 >..We can easily
7390: 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63 68 20 translate such
73a0: 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f 20 61 a problem into a
73b0: 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75 65 72 simple SQL quer
73c0: 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f 6d 65 y targeting some
73d0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 VirtualRouting
73e0: 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61 74 69 Table...<verbati
73f0: 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d 0a 46 m>..SELECT * ..F
7400: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 ROM byfoot..WHER
7410: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 E NodeFrom = 178
7420: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 731 AND NodeTo =
7430: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 183286;..</verb
7440: 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f atim>..<table bo
7450: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 rder="1" bgcolor
7460: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 ="#ffffcf" cells
7470: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 pacing="4" cellp
7480: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 adding="6">..<tr
7490: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
74a0: 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 0d0a0">Algorithm
74b0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
74c0: 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 ="#d0d0a0">Reque
74d0: 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
74e0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 or="#d0d0a0">Opt
74f0: 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ions</th><th bgc
7500: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44 olor="#d0d0a0">D
7510: 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 elimiter</th><th
7520: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
7530: 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 0">RouteId</th><
7540: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
7550: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 0a0">RouteRow</t
7560: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
7570: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 d0d0a0">Role</th
7580: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
7590: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 0d0a0">LinkRowid
75a0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
75b0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 ="#d0d0a0">NodeF
75c0: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f rom</th><th bgco
75d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f lor="#d0d0a0">No
75e0: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 deTo</th><th bgc
75f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50 olor="#d0d0a0">P
7600: 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 ointFrom</th><th
7610: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
7620: 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c 0">PointTo</th><
7630: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
7640: 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 0a0">Tolerance</
7650: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
7660: 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 #d0d0a0">Cost</t
7670: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
7680: 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 d0d0a0">Geometry
7690: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
76a0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c ="#d0d0a0">Name<
76b0: 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d /th></tr>..<tr>.
76c0: 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 .<td>Dijkstra</t
76d0: 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 50 d><td>Shortest P
76e0: 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c ath</td><td>Full
76f0: 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b </td><td>, [
7700: 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 dec=44, hex=2c&#
7710: 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 93;</td><td alig
7720: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
7730: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
7740: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
7750: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
7760: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7770: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
7780: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
7790: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
77a0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
77b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
77c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
77d0: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 ight">300.912208
77e0: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
77f0: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =272 GEOMETRY</t
7800: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
7810: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
7820: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
7830: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
7840: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
7850: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
7860: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">0</td><td al
7870: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
7880: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
7890: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
78a0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 >224014</td><td
78b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
78c0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
78d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 gn="right">18288
78e0: 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 5</td><td>NULL</
78f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
7900: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
7910: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 align="right">9
7920: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 4.812424</td><td
7930: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
7940: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f A PIETRO ARETINO
7950: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
7960: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
7970: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7980: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
7990: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
79a0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
79b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
79c0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">2</td><td>Link
79d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
79e0: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 right">224446</t
79f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
7a00: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c ht">182885</td><
7a10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
7a20: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 3e >178880</td><td>
7a30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
7a40: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
7a50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7a60: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f ght">69.727726</
7a70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
7a80: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 <td>VIA MARGARIT
7a90: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ONE</td>..</tr>.
7aa0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
7ab0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
7ac0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7ad0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
7ae0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
7af0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7b00: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c ght">3</td><td>L
7b10: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
7b20: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 n="right">224414
7b30: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
7b40: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 right">178880</t
7b50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
7b60: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c ht">183286</td><
7b70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
7b80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
7b90: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
7ba0: 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30 "right">136.3720
7bb0: 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 57</td><td>NULL<
7bc0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
7bd0: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
7be0: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
7bf0: 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b br>..Let's quick
7c00: 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 ly examine the r
7c10: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 esultset returne
7c20: 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 52 d by the above R
7c30: 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d 0a 3c outing query:..<
7c40: 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e ul>..<li>the <b>
7c50: 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 28 3c first row</b> (<
7c60: 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64 65 72 i>aka</i> header
7c70: 20 72 6f 77 29 20 68 61 73 20 61 20 73 70 65 63 row) has a spec
7c80: 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61 74 69 ial interpretati
7c90: 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e on, and is inten
7ca0: 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69 7a 65 ded to summarize
7cb0: 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 the travel solu
7cc0: 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e tion as a whole.
7cd0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 74 </li>..<li>all t
7ce0: 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e 67 20 he <b>following
7cf0: 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65 73 65 rows</b> represe
7d00: 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69 6e 6b nt a single Link
7d10: 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 75 69 required to bui
7d20: 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e 20 ld the solution
7d30: 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b 20 4c (optima path); L
7d40: 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72 65 64 inks are ordered
7d50: 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 accordingly to
7d60: 74 68 65 20 74 72 61 76 65 6c 20 64 69 72 65 63 the travel direc
7d70: 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 tion connecting
7d80: 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 20 74 the Origin and t
7d90: 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 2e 3c he Destination.<
7da0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e /li>..<li>column
7db0: 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f s <b>Algorithm</
7dc0: 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f b>, <b>Request</
7dd0: 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f b>, <b>Options</
7de0: 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 b>, <b>Delimiter
7df0: 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 72 </b>, <b>PointFr
7e00: 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 om</b>, <b>Point
7e10: 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c 65 72 To</b>, <b>Toler
7e20: 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e ance</b> and <b>
7e30: 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61 72 65 Geometry</b> are
7e40: 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c always set to <
7e50: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 65 78 63 65 70 b>NULL</b> excep
7e60: 74 20 74 68 61 74 20 69 6e 20 74 68 65 20 66 69 t that in the fi
7e70: 72 73 74 20 72 6f 77 20 6f 66 20 74 68 65 20 72 rst row of the r
7e80: 65 73 75 6c 74 73 65 74 3a 0d 0a 3c 75 6c 3e 0d esultset:..<ul>.
7e90: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 41 .<li>column <b>A
7ea0: 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 61 63 63 lgorithm</b> acc
7eb0: 6f 75 6e 74 73 20 66 6f 72 20 74 68 65 20 52 6f ounts for the Ro
7ec0: 75 74 69 6e 67 20 41 6c 67 6f 72 69 74 68 6d 20 uting Algorithm
7ed0: 75 73 65 64 20 62 79 20 74 68 65 20 63 75 72 72 used by the curr
7ee0: 65 6e 74 20 71 75 65 72 79 20 28 3c 69 3e 44 69 ent query (<i>Di
7ef0: 6a 6b 73 74 72 61 27 73 3c 2f 69 3e 20 6f 72 20 jkstra's</i> or
7f00: 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e <i>A*</i>).</li>
7f10: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e ..<li>column <b>
7f20: 52 65 71 75 65 73 74 3c 2f 62 3e 20 73 70 65 63 Request</b> spec
7f30: 69 66 69 65 73 20 74 68 65 20 65 78 61 63 74 20 ifies the exact
7f40: 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20 63 75 nature of the cu
7f50: 72 72 65 6e 74 20 71 75 65 72 79 20 28 69 6e 20 rrent query (in
7f60: 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63 61 this specific ca
7f70: 73 65 20 3c 69 3e 53 68 6f 72 74 65 73 74 20 50 se <i>Shortest P
7f80: 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a ath</i>).</li>..
7f90: 3c 6c 69 3e 77 65 27 6c 6c 20 69 67 6e 6f 72 65 <li>we'll ignore
7fa0: 20 66 6f 72 20 6e 6f 77 20 63 6f 6c 75 6d 6e 73 for now columns
7fb0: 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 2c <b>Options</b>,
7fc0: 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 <b>Delimiter</b
7fd0: 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c >, <b>PointFrom<
7fe0: 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c /b>, <b>PointTo<
7ff0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c 65 72 /b> and <b>Toler
8000: 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 65 69 72 20 ance</b>: their
8010: 72 65 73 70 65 63 74 69 76 65 20 6d 65 61 6e 69 respective meani
8020: 6e 67 73 20 77 69 6c 6c 20 62 65 20 65 78 70 6c ngs will be expl
8030: 61 69 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 ained in followi
8040: 6e 67 20 70 61 72 61 67 72 61 70 68 73 2e 3c 2f ng paragraphs.</
8050: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 li>..<li>column
8060: 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 <b>Geometry</b>
8070: 63 6f 6e 74 61 69 6e 73 20 61 20 3c 62 3e 4c 49 contains a <b>LI
8080: 4e 45 53 54 52 49 4e 47 3c 2f 62 3e 20 72 65 70 NESTRING</b> rep
8090: 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 resentation of t
80a0: 68 65 20 77 68 6f 6c 65 20 74 72 61 76 65 6c 20 he whole travel
80b0: 73 6f 6c 75 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c solution.<br>..<
80c0: 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 6f 6e 20 3c u>Note</u>: on <
80d0: 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 b>Logical Networ
80e0: 6b 73 3c 2f 62 3e 20 28 6e 6f 74 20 73 75 70 70 ks</b> (not supp
80f0: 6f 72 74 69 6e 67 20 47 65 6f 6d 65 74 72 69 65 orting Geometrie
8100: 73 29 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f s) <b>Geometry</
8110: 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 b> will always b
8120: 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 2f e <b>NULL</b>.</
8130: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
8140: 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 67 6e 6f 72 .<li>we'll ignor
8150: 65 20 66 6f 72 20 6e 6f 77 20 63 6f 6c 75 6d 6e e for now column
8160: 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 3b <b>RouteId</b>;
8170: 20 69 74 73 20 6d 65 61 6e 69 6e 67 20 77 69 6c its meaning wil
8180: 6c 20 62 65 20 65 78 70 6c 61 69 6e 65 64 20 69 l be explained i
8190: 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 72 61 n following para
81a0: 67 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c graphs.</li>..<l
81b0: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 i>column <b>Rout
81c0: 65 52 6f 77 3c 2f 62 3e 20 73 69 6d 70 6c 79 20 eRow</b> simply
81d0: 69 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 69 is the progressi
81e0: 76 65 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 ve number of the
81f0: 20 72 6f 77 20 69 6e 20 74 68 65 20 74 72 61 76 row in the trav
8200: 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 28 61 6c 77 el solution (alw
8210: 61 79 73 20 3c 62 3e 30 3c 2f 62 3e 20 69 6e 20 ays <b>0</b> in
8220: 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 29 2e the header row).
8230: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d </li>..<li>colum
8240: 6e 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20 63 61 n <b>Role</b> ca
8250: 6e 20 62 65 20 3c 69 3e 52 6f 75 74 65 3c 2f 69 n be <i>Route</i
8260: 3e 20 28 68 65 61 64 65 72 20 72 6f 77 29 20 6f > (header row) o
8270: 72 20 3c 69 3e 4c 69 6e 6b 3c 2f 69 3e 20 28 61 r <i>Link</i> (a
8280: 6c 6c 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 ll following row
8290: 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f s).</li>..<li>co
82a0: 6c 75 6d 6e 20 3c 62 3e 4c 69 6e 6b 52 6f 77 69 lumn <b>LinkRowi
82b0: 64 3c 2f 62 3e 20 72 65 66 65 72 65 6e 63 65 73 d</b> references
82c0: 20 74 68 65 20 3c 62 3e 52 4f 57 49 44 3c 2f 62 the <b>ROWID</b
82d0: 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 > of the corresp
82e0: 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 28 61 6c 77 onding Link (alw
82f0: 61 79 73 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 ays set to <b>NU
8300: 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68 65 20 68 65 LL</b> in the he
8310: 61 64 65 72 20 72 6f 77 29 2e 3c 2f 6c 69 3e 0d ader row).</li>.
8320: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4e .<li>column <b>N
8330: 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 odeFrom</b> and
8340: 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 68 61 <b>NodeTo</b> ha
8350: 76 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 ve the following
8360: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 3a interpretation:
8370: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 ..<ul>..<li>in t
8380: 68 65 20 68 65 61 64 65 72 20 72 6f 77 20 74 68 he header row th
8390: 65 79 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f ey correspond to
83a0: 20 68 65 20 3c 62 3e 4f 72 69 67 69 6e 3c 2f 62 he <b>Origin</b
83b0: 3e 20 61 6e 64 20 3c 62 3e 44 65 73 74 69 6e 61 > and <b>Destina
83c0: 74 69 6f 6e 3c 2f 62 3e 20 4e 6f 64 65 73 2e 3c tion</b> Nodes.<
83d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6c 6c /li>..<li>in all
83e0: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 the following r
83f0: 6f 77 73 20 74 68 65 79 20 61 72 65 20 69 6e 74 ows they are int
8400: 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69 66 79 ended to specify
8410: 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 6f the direction o
8420: 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c 69 f the current Li
8430: 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c nk.</li>..</ul><
8440: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e /li>..<li>column
8450: 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 20 68 61 73 <b>Cost</b> has
8460: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 the following i
8470: 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 3a 0d 0a nterpretation:..
8480: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 <ul>..<li>in the
8490: 20 68 65 61 64 65 72 20 74 6f 77 20 69 74 20 63 header tow it c
84a0: 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 orresponds to th
84b0: 65 20 3c 62 3e 74 6f 74 61 6c 20 63 6f 73 74 3c e <b>total cost<
84c0: 2f 62 3e 20 6f 66 20 74 68 65 20 74 72 61 76 65 /b> of the trave
84d0: 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 l.</li>..<li>in
84e0: 61 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e all the followin
84f0: 67 20 72 6f 77 73 20 69 74 20 72 65 70 72 65 73 g rows it repres
8500: 65 6e 74 73 20 74 68 65 20 73 70 65 63 69 66 69 ents the specifi
8510: 63 20 63 6f 73 74 20 6f 66 20 74 68 65 20 63 75 c cost of the cu
8520: 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e rrent Link.</li>
8530: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c ..</ul></li>..<l
8540: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4e 61 6d 65 i>column <b>Name
8550: 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20 74 68 </b> contains th
8560: 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 e description of
8570: 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c 69 6e the current Lin
8580: 6b 20 28 75 73 75 61 6c 6c 79 20 61 20 72 6f 61 k (usually a roa
8590: 64 20 6e 61 6d 65 29 2c 20 61 6e 64 20 69 73 20 d name), and is
85a0: 61 6c 77 61 79 73 20 3c 62 3e 4e 55 4c 4c 3c 2f always <b>NULL</
85b0: 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 b> in the header
85c0: 20 72 6f 77 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f row.<br>..<u>No
85d0: 74 65 3c 2f 75 3e 20 69 74 20 63 6f 75 6c 64 20 te</u> it could
85e0: 62 65 20 61 6c 77 61 79 73 20 62 65 20 3c 62 3e be always be <b>
85f0: 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 74 68 65 20 NULL</b> if the
8600: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 VirtualRouting T
8610: 61 62 6c 65 20 64 6f 65 73 20 6e 6f 74 20 73 75 able does not su
8620: 70 70 6f 72 74 73 20 6e 61 6d 65 73 2e 3c 2f 6c pports names.</l
8630: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
8640: 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d </ul>..<br><br>.
8650: 0a 54 65 73 74 69 6e 67 20 74 68 65 20 72 65 74 .Testing the ret
8660: 75 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a urn connection j
8670: 75 73 74 20 72 65 71 75 69 72 65 73 20 73 77 61 ust requires swa
8680: 70 70 69 6e 67 20 74 68 65 20 4f 72 69 67 69 6e pping the Origin
8690: 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e 61 and the Destina
86a0: 74 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20 65 78 tion; in this ex
86b0: 61 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a 75 73 ample you'll jus
86c0: 74 20 72 65 71 75 65 73 74 20 74 68 65 20 6d 65 t request the me
86d0: 61 6e 69 6e 67 66 75 6c 20 63 6f 6c 75 6d 6e 73 aningful columns
86e0: 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 :..<verbatim>..S
86f0: 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 ELECT RouteRow,
8700: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c Role, LinkRowid,
8710: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 NodeFrom, NodeT
8720: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 o, Cost, Geometr
8730: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 y, Name..FROM by
8740: 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 foot..WHERE Node
8750: 54 6f 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 To = 178731 AND
8760: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 NodeFrom = 18328
8770: 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 6;..</verbatim>.
8780: 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 .<table border="
8790: 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 1" bgcolor="#fff
87a0: 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 fcf" cellspacing
87b0: 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 ="4" cellpadding
87c0: 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 ="6">..<tr><th b
87d0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
87e0: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 >RouteRow</th><t
87f0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
8800: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 a0">Role</th><th
8810: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
8820: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 0">LinkRowid</th
8830: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
8840: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 0d0a0">NodeFrom<
8850: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
8860: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f "#d0d0a0">NodeTo
8870: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
8880: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c ="#d0d0a0">Cost<
8890: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
88a0: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 "#d0d0a0">Geomet
88b0: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ry</th><th bgcol
88c0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d or="#d0d0a0">Nam
88d0: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 e</th></tr>..<tr
88e0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
88f0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
8900: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
8910: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
8920: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
8930: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8940: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
8950: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8960: 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 ">300.912208</td
8970: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 ><td>BLOB sz=272
8980: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
8990: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
89a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
89b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
89c0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
89d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
89e0: 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 >224414</td><td
89f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
8a00: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3286</td><td ali
8a10: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
8a20: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
8a30: 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30 "right">136.3720
8a40: 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 57</td><td>NULL<
8a50: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
8a60: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
8a70: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
8a80: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
8a90: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
8aa0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
8ab0: 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 46</td><td align
8ac0: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
8ad0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
8ae0: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 ight">182885</td
8af0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
8b00: 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 t">69.727726</td
8b10: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
8b20: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e d>VIA MARGARITON
8b30: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
8b40: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
8b50: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
8b60: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
8b70: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 ign="right">2240
8b80: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
8b90: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c ="right">182885<
8ba0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
8bb0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
8bc0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
8bd0: 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 t">94.812424</td
8be0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
8bf0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 d>VIA PIETRO ARE
8c00: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TINO</td>..</tr>
8c10: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e ..</table>..<br>
8c20: 0d 0a 49 66 20 79 6f 75 20 72 65 6d 65 6d 62 65 ..If you remembe
8c30: 72 2c 20 74 68 65 20 3c 62 3e 62 79 66 6f 6f 74 r, the <b>byfoot
8c40: 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 </b> VirtualRout
8c50: 69 6e 67 20 54 61 62 6c 65 20 68 61 73 20 6e 6f ing Table has no
8c60: 20 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e <b>one-ways</b>
8c70: 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 , and consequent
8c80: 6c 79 20 74 68 65 20 72 65 74 75 72 6e 20 70 61 ly the return pa
8c90: 74 68 20 65 78 61 63 74 6c 79 20 63 6f 72 72 65 th exactly corre
8ca0: 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 66 69 sponds to the fi
8cb0: 72 73 74 20 6f 6e 65 2c 20 65 78 63 65 70 74 20 rst one, except
8cc0: 69 6e 20 74 68 61 74 20 61 6c 6c 20 64 69 72 65 in that all dire
8cd0: 63 74 69 6f 6e 73 20 61 72 65 20 6e 6f 77 20 72 ctions are now r
8ce0: 65 76 65 72 73 65 64 2e 0d 0a 3c 62 72 3e 3c 62 eversed...<br><b
8cf0: 72 3e 3c 62 72 3e 0d 0a 4e 6f 77 20 79 6f 75 27 r><br>..Now you'
8d00: 6c 6c 20 67 6f 20 74 6f 20 74 65 73 74 20 74 68 ll go to test th
8d10: 65 20 73 61 6d 65 20 63 6f 6e 6e 65 63 74 69 6f e same connectio
8d20: 6e 73 2c 20 62 75 74 20 74 68 69 73 20 74 69 6d ns, but this tim
8d30: 65 20 79 6f 75 27 6c 6c 20 74 61 72 67 65 74 20 e you'll target
8d40: 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e the <b>bycar</b>
8d50: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 VirtualRouting
8d60: 54 61 62 6c 65 20 74 68 61 74 20 66 75 6c 6c 79 Table that fully
8d70: 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 6f 6e 65 supports <b>one
8d80: 2d 77 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76 65 72 -ways</b>:..<ver
8d90: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 batim>..SELECT R
8da0: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c outeRow, Role, L
8db0: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 inkRowid, NodeFr
8dc0: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 om, NodeTo, Cost
8dd0: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 , Geometry, Name
8de0: 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48 ..FROM bycar..WH
8df0: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 ERE NodeFrom = 1
8e00: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 78731 AND NodeTo
8e10: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 = 183286;..</ve
8e20: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 rbatim>..<table
8e30: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c border="1" bgcol
8e40: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c or="#ffffcf" cel
8e50: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c lspacing="4" cel
8e60: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c lpadding="6">..<
8e70: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 tr><th bgcolor="
8e80: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f #d0d0a0">RouteRo
8e90: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f w</th><th bgcolo
8ea0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 r="#d0d0a0">Role
8eb0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
8ec0: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 ="#d0d0a0">LinkR
8ed0: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 owid</th><th bgc
8ee0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
8ef0: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 odeFrom</th><th
8f00: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
8f10: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 ">NodeTo</th><th
8f20: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
8f30: 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 0">Cost</th><th
8f40: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
8f50: 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c ">Geometry</th><
8f60: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
8f70: 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 0a0">Name</th></
8f80: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
8f90: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
8fa0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
8fb0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
8fc0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8fd0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
8fe0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
8ff0: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 286</td><td alig
9000: 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e 38 31 n="right">101.81
9010: 35 35 35 32 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 5552</td><td>BLO
9020: 42 20 73 7a 3d 32 30 33 32 20 47 45 4f 4d 45 54 B sz=2032 GEOMET
9030: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c RY</td><td>NULL<
9040: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
9050: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
9060: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c ght">1</td><td>L
9070: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
9080: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 n="right">224014
9090: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
90a0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
90b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
90c0: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c ht">182885</td><
90d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
90e0: 3e 31 33 2e 31 32 37 38 37 34 3c 2f 74 64 3e 3c >13.127874</td><
90f0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
9100: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 VIA PIETRO ARETI
9110: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NO</td>..</tr>..
9120: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
9130: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
9140: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
9150: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
9160: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 446</td><td alig
9170: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 n="right">182885
9180: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9190: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 right">178880</t
91a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
91b0: 68 74 22 3e 39 2e 36 35 34 36 30 38 3c 2f 74 64 ht">9.654608</td
91c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
91d0: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e d>VIA MARGARITON
91e0: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
91f0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
9200: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
9210: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
9220: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 ign="right">2191
9230: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 71</td><td align
9240: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
9250: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9260: 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 ight">178732</td
9270: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9280: 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e t">7.809952</td>
9290: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
92a0: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 >VIA FRANCESCO C
92b0: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RISPI</td>..</tr
92c0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
92d0: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 gn="right">4</td
92e0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
92f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9300: 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 219058</td><td a
9310: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
9320: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 732</td><td alig
9330: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 n="right">178754
9340: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9350: 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36 right">12.445626
9360: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
9370: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 d><td>VIA FRANCE
9380: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d SCO CRISPI</td>.
9390: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
93a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
93b0: 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 5</td><td>Link</
93c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
93d0: 67 68 74 22 3e 32 32 35 38 38 38 3c 2f 74 64 3e ght">225888</td>
93e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
93f0: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 ">178754</td><td
9400: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9410: 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 83461</td><td al
9420: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 35 39 ign="right">1.59
9430: 39 38 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 9865</td><td>NUL
9440: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 L</td><td>VIA FR
9450: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f ANCESCO CRISPI</
9460: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
9470: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
9480: 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">6</td><td>Li
9490: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
94a0: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38 37 3c ="right">225887<
94b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
94c0: 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f 74 64 ight">183461</td
94d0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
94e0: 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e 3c 74 t">182800</td><t
94f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9500: 33 2e 33 30 30 35 39 30 3c 2f 74 64 3e 3c 74 64 3.300590</td><td
9510: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
9520: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 A FRANCESCO CRIS
9530: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a PI</td>..</tr>..
9540: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
9550: 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 "right">7</td><t
9560: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
9570: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33 lign="right">223
9580: 39 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 935</td><td alig
9590: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 30 30 n="right">182800
95a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
95b0: 72 69 67 68 74 22 3e 31 38 32 37 39 39 3c 2f 74 right">182799</t
95c0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
95d0: 68 74 22 3e 36 2e 36 38 38 37 38 36 3c 2f 74 64 ht">6.688786</td
95e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
95f0: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 d>VIALE LUCA SIG
9600: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f NORELLI</td>..</
9610: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
9620: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f lign="right">8</
9630: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
9640: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9650: 22 3e 32 32 36 30 33 38 3c 2f 74 64 3e 3c 74 64 ">226038</td><td
9660: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9670: 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 82799</td><td al
9680: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 ign="right">1834
9690: 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 56</td><td align
96a0: 3d 22 72 69 67 68 74 22 3e 31 2e 32 39 34 30 31 ="right">1.29401
96b0: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 7</td><td>NULL</
96c0: 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 td><td>VIALE LUC
96d0: 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 A SIGNORELLI</td
96e0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
96f0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9700: 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">9</td><td>Link
9710: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9720: 72 69 67 68 74 22 3e 32 32 35 38 33 32 3c 2f 74 right">225832</t
9730: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9740: 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c ht">183456</td><
9750: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9760: 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20 >183444</td><td
9770: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e align="right">2.
9780: 33 38 35 34 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 385486</td><td>N
9790: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c ULL</td><td>VIAL
97a0: 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c E LUCA SIGNORELL
97b0: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
97c0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
97d0: 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 right">10</td><t
97e0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
97f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
9800: 38 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 831</td><td alig
9810: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 34 34 n="right">183444
9820: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9830: 72 69 67 68 74 22 3e 31 38 33 35 35 34 3c 2f 74 right">183554</t
9840: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9850: 68 74 22 3e 33 2e 31 36 30 36 36 32 3c 2f 74 64 ht">3.160662</td
9860: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
9870: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 d>VIALE LUCA SIG
9880: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f NORELLI</td>..</
9890: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
98a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c lign="right">11<
98b0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
98c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
98d0: 74 22 3e 32 32 35 37 36 35 3c 2f 74 64 3e 3c 74 t">225765</td><t
98e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
98f0: 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61 183554</td><td a
9900: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
9910: 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 954</td><td alig
9920: 6e 3d 22 72 69 67 68 74 22 3e 37 2e 34 36 39 39 n="right">7.4699
9930: 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 17</td><td>NULL<
9940: 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 /td><td>VIALE LU
9950: 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 CA SIGNORELLI</t
9960: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
9970: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
9980: 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 t">12</td><td>Li
9990: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
99a0: 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36 36 3c ="right">225766<
99b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
99c0: 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f 74 64 ight">183954</td
99d0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
99e0: 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74 t">183905</td><t
99f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9a00: 33 2e 32 33 36 33 38 39 3c 2f 74 64 3e 3c 74 64 3.236389</td><td
9a10: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
9a20: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 ALE LUCA SIGNORE
9a30: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d LLI</td>..</tr>.
9a40: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
9a50: 3d 22 72 69 67 68 74 22 3e 31 33 3c 2f 74 64 3e ="right">13</td>
9a60: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
9a70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
9a80: 32 35 39 37 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 25979</td><td al
9a90: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 ign="right">1839
9aa0: 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 05</td><td align
9ab0: 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32 36 3c ="right">183626<
9ac0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9ad0: 69 67 68 74 22 3e 31 33 2e 39 38 33 36 32 39 3c ight">13.983629<
9ae0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
9af0: 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a ><td>STRADA SENZ
9b00: 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 A NOME</td>..</t
9b10: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
9b20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 3c 2f ign="right">14</
9b30: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
9b40: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9b50: 22 3e 32 32 34 39 30 35 3c 2f 74 64 3e 3c 74 64 ">224905</td><td
9b60: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9b70: 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83626</td><td al
9b80: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 ign="right">1831
9b90: 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 28</td><td align
9ba0: 3d 22 72 69 67 68 74 22 3e 35 2e 36 32 37 33 35 ="right">5.62735
9bb0: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
9bc0: 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 td><td>STRADA SE
9bd0: 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c NZA NOME</td>..<
9be0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
9bf0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 align="right">15
9c00: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
9c10: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9c20: 68 74 22 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c ht">224897</td><
9c30: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9c40: 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 >183128</td><td
9c50: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9c60: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3286</td><td ali
9c70: 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 2e 30 33 gn="right">10.03
9c80: 30 37 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 0792</td><td>NUL
9c90: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 L</td><td>VIA MA
9ca0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a RGARITONE</td>..
9cb0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
9cc0: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
9cd0: 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f ECT RouteRow, Ro
9ce0: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e le, LinkRowid, N
9cf0: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c odeFrom, NodeTo,
9d00: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c Cost, Geometry,
9d10: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 Name..FROM byca
9d20: 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 r..WHERE NodeTo
9d30: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 = 178731 AND Nod
9d40: 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d eFrom = 183286;.
9d50: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 .</verbatim>..<t
9d60: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 able border="1"
9d70: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 bgcolor="#ffffcf
9d80: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 " cellspacing="4
9d90: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 " cellpadding="6
9da0: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f ">..<tr><th bgco
9db0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
9dc0: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 uteRow</th><th b
9dd0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
9de0: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 >Role</th><th bg
9df0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
9e00: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 LinkRowid</th><t
9e10: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
9e20: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 a0">NodeFrom</th
9e30: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
9e40: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 0d0a0">NodeTo</t
9e50: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
9e60: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 d0d0a0">Cost</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 47 65 6f 6d 65 74 72 79 3c 0d0a0">Geometry<
9e90: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
9ea0: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f "#d0d0a0">Name</
9eb0: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a th></tr>..<tr>..
9ec0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9ed0: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
9ee0: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
9ef0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9f00: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e ght">183286</td>
9f10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9f20: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
9f30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9f40: 30 33 2e 33 30 35 32 35 39 3c 2f 74 64 3e 3c 74 03.305259</td><t
9f50: 64 3e 42 4c 4f 42 20 73 7a 3d 39 34 34 20 47 45 d>BLOB sz=944 GE
9f60: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e OMETRY</td><td>N
9f70: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
9f80: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
9f90: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c ="right">1</td><
9fa0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
9fb0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
9fc0: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4414</td><td ali
9fd0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 gn="right">18328
9fe0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
9ff0: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f "right">178880</
a000: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a010: 67 68 74 22 3e 31 38 2e 38 38 32 32 38 35 3c 2f ght">18.882285</
a020: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
a030: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 <td>VIA MARGARIT
a040: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ONE</td>..</tr>.
a050: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
a060: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c ="right">2</td><
a070: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
a080: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 align="right">21
a090: 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 9171</td><td ali
a0a0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
a0b0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
a0c0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f "right">178732</
a0d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a0e0: 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 ght">7.809952</t
a0f0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
a100: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f td>VIA FRANCESCO
a110: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f CRISPI</td>..</
a120: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
a130: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f lign="right">3</
a140: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
a150: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a160: 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 ">219058</td><td
a170: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a180: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 78732</td><td al
a190: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
a1a0: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 54</td><td align
a1b0: 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 ="right">12.4456
a1c0: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 26</td><td>NULL<
a1d0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e /td><td>VIA FRAN
a1e0: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 CESCO CRISPI</td
a1f0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
a200: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a210: 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">4</td><td>Link
a220: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a230: 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 right">224538</t
a240: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a250: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c ht">178754</td><
a260: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a270: 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 >181972</td><td
a280: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e align="right">7.
a290: 30 34 37 37 38 34 3c 2f 74 64 3e 3c 74 64 3e 4e 047784</td><td>N
a2a0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
a2b0: 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f ANTONIO GUADAGNO
a2c0: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LI</td>..</tr>..
a2d0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
a2e0: 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 "right">5</td><t
a2f0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
a300: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 lign="right">222
a310: 35 37 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 575</td><td alig
a320: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 n="right">181972
a330: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a340: 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74 right">181971</t
a350: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a360: 68 74 22 3e 31 2e 38 35 32 32 38 33 3c 2f 74 64 ht">1.852283</td
a370: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
a380: 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 d>VIA ANTONIO GU
a390: 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c ADAGNOLI</td>..<
a3a0: 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d /tr>..<td align=
a3b0: 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 "right">6</td><t
a3c0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
a3d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
a3e0: 39 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 967</td><td alig
a3f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 31 n="right">181971
a400: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a410: 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c 2f 74 right">182891</t
a420: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a430: 68 74 22 3e 31 34 2e 32 37 33 31 38 35 3c 2f 74 ht">14.273185</t
a440: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
a450: 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 td>VIA ANTONIO G
a460: 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a UADAGNOLI</td>..
a470: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
a480: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 align="right">7
a490: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
a4a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a4b0: 68 74 22 3e 32 32 34 31 36 38 3c 2f 74 64 3e 3c ht">224168</td><
a4c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a4d0: 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20 >182891</td><td
a4e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
a4f0: 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3057</td><td ali
a500: 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36 34 33 gn="right">6.643
a510: 33 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 309</td><td>NULL
a520: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 </td><td>VIA MAC
a530: 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ALLE'</td>..</tr
a540: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
a550: 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 gn="right">8</td
a560: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
a570: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a580: 32 32 34 31 36 37 3c 2f 74 64 3e 3c 74 64 20 61 224167</td><td a
a590: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
a5a0: 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 057</td><td alig
a5b0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 n="right">183056
a5c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a5d0: 72 69 67 68 74 22 3e 33 2e 31 35 31 32 37 32 3c right">3.151272<
a5e0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
a5f0: 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45 ><td>VIA MACALLE
a600: 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c '</td>..</tr>..<
a610: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
a620: 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 right">9</td><td
a630: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
a640: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31 ign="right">2241
a650: 37 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 74</td><td align
a660: 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c ="right">183056<
a670: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a680: 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 ight">182941</td
a690: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a6a0: 74 22 3e 37 2e 39 36 36 38 37 30 3c 2f 74 64 3e t">7.966870</td>
a6b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
a6c0: 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a >VIA RODI</td>..
a6d0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
a6e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a6f0: 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 0</td><td>Link</
a700: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a710: 67 68 74 22 3e 32 32 34 30 35 39 3c 2f 74 64 3e ght">224059</td>
a720: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a730: 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64 ">182941</td><td
a740: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a750: 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 82001</td><td al
a760: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 33 39 ign="right">6.39
a770: 33 37 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 3747</td><td>NUL
a780: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f L</td><td>VIA RO
a790: 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a DI</td>..</tr>..
a7a0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
a7b0: 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c "right">11</td><
a7c0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
a7d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
a7e0: 32 36 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2637</td><td ali
a7f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 gn="right">18200
a800: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
a810: 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f "right">182000</
a820: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a830: 67 68 74 22 3e 32 2e 34 37 35 35 33 38 3c 2f 74 ght">2.475538</t
a840: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
a850: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 td>VIA PIETRO AR
a860: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ETINO</td>..</tr
a870: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
a880: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 gn="right">12</t
a890: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
a8a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a8b0: 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 >222636</td><td
a8c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
a8d0: 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2000</td><td ali
a8e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
a8f0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
a900: 22 72 69 67 68 74 22 3e 31 34 2e 33 36 33 34 30 "right">14.36340
a910: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
a920: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 td><td>VIA PIETR
a930: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a O ARETINO</td>..
a940: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
a950: 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 63 61 .<br>..As you ca
a960: 6e 20 65 61 73 69 6c 79 20 6e 6f 74 69 63 65 2c n easily notice,
a970: 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 70 61 74 the optimal pat
a980: 68 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 hs returned by t
a990: 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 he <b>bycar</b>
a9a0: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 VirtualRouting T
a9b0: 61 62 6c 65 20 74 68 65 20 70 61 74 68 73 20 69 able the paths i
a9c0: 6e 20 6f 70 70 6f 73 69 74 65 20 64 69 72 65 63 n opposite direc
a9d0: 74 69 6f 6e 73 20 73 74 72 6f 6e 67 6c 79 20 64 tions strongly d
a9e0: 69 66 66 65 72 20 62 65 74 77 65 65 6e 20 74 68 iffer between th
a9f0: 65 6d 2c 20 61 6e 64 20 62 6f 74 68 20 61 72 65 em, and both are
aa00: 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69 66 66 completely diff
aa10: 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 70 erent from the p
aa20: 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 79 20 ath returned by
aa30: 71 75 65 72 79 69 6e 67 20 3c 62 3e 62 79 66 6f querying <b>byfo
aa40: 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 20 71 ot</b>.<br>..A q
aa50: 75 69 63 6b 20 67 6c 61 6e 63 65 20 61 74 20 74 uick glance at t
aa60: 68 65 20 62 65 6c 6f 77 20 6d 61 70 20 77 69 6c he below map wil
aa70: 6c 20 73 75 72 65 6c 79 20 68 65 6c 70 20 74 6f l surely help to
aa80: 20 75 6e 64 65 72 73 74 61 6e 64 20 62 65 74 74 understand bett
aa90: 65 72 20 77 68 61 74 27 73 20 72 65 61 6c 6c 79 er what's really
aaa0: 20 68 61 70 70 65 6e 69 6e 67 2e 3c 62 72 3e 0d happening.<br>.
aab0: 0a 54 68 69 73 20 69 73 20 61 20 63 65 6e 74 72 .This is a centr
aac0: 61 6c 20 61 72 65 61 20 6f 66 20 74 68 65 20 74 al area of the t
aad0: 6f 77 6e 20 6f 66 20 41 72 65 7a 7a 6f 20 61 72 own of Arezzo ar
aae0: 6f 75 6e 64 20 74 68 65 20 61 72 63 68 61 65 6f ound the archaeo
aaf0: 6c 6f 67 69 63 61 6c 20 72 75 69 6e 73 20 6f 66 logical ruins of
ab00: 20 74 68 65 20 52 6f 6d 61 6e 20 41 6d 70 68 69 the Roman Amphi
ab10: 74 68 65 61 74 65 72 3b 20 63 69 72 63 75 6c 61 theater; circula
ab20: 74 69 6e 67 20 62 79 20 63 61 72 20 69 73 20 64 ting by car is d
ab30: 69 73 63 6f 75 72 61 67 65 64 20 61 6e 64 20 69 iscouraged and i
ab40: 73 20 73 75 62 6a 65 63 74 20 74 6f 20 6d 61 6e s subject to man
ab50: 79 20 6f 6e 65 2d 77 61 79 20 72 65 73 74 72 69 y one-way restri
ab60: 63 74 69 6f 6e 73 2e 20 4e 6f 74 20 73 75 72 70 ctions. Not surp
ab70: 72 69 73 69 6e 67 6c 79 2c 20 6d 6f 76 69 6e 67 risingly, moving
ab80: 20 62 79 20 66 6f 6f 74 20 69 73 20 74 68 65 20 by foot is the
ab90: 66 61 73 74 65 72 20 6f 70 74 69 6f 6e 2e 0d 0a faster option...
aba0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 <br><br>..<img s
abb0: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
abc0: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
abd0: 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 -sins/routing-fi
abe0: 67 73 2f 72 6f 75 74 69 6e 67 31 2e 6a 70 67 22 gs/routing1.jpg"
abf0: 20 61 6c 74 3d 22 66 69 67 31 22 3e 0d 0a 3c 75 alt="fig1">..<u
ac00: 6c 3e 0d 0a 3c 6c 69 3e 79 65 6c 6c 6f 77 20 70 l>..<li>yellow p
ac10: 61 74 68 3a 20 70 65 64 65 73 74 72 69 61 6e 73 ath: pedestrians
ac20: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 67 72 65 65 6e </li>..<li>green
ac30: 20 70 61 74 68 3a 20 63 61 72 2c 20 64 69 72 65 path: car, dire
ac40: 63 74 20 64 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 ct direction</li
ac50: 3e 0d 0a 3c 6c 69 3e 72 65 64 20 70 61 74 68 3a >..<li>red path:
ac60: 20 63 61 72 2c 20 72 65 74 75 72 6e 20 64 69 72 car, return dir
ac70: 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 ection</li>..</u
ac80: 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 l>..<br>..<table
ac90: 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 bgcolor="#c0ffc
aca0: 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 0" cellspacing="
acb0: 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 10" cellpadding=
acc0: 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 "6"><tr><td>..<h
acd0: 33 3e 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 65 3>Linestrings re
ace0: 74 75 72 6e 65 64 20 62 79 20 56 69 72 74 75 61 turned by Virtua
acf0: 6c 52 6f 75 74 69 6e 67 3c 2f 68 33 3e 0d 0a 41 lRouting</h3>..A
ad00: 6c 6c 20 4c 49 4e 45 53 54 52 49 4e 47 20 47 65 ll LINESTRING Ge
ad10: 6f 6d 65 74 72 69 65 73 20 63 72 65 61 74 65 64 ometries created
ad20: 20 62 79 20 61 6e 79 20 56 69 72 74 75 61 6c 52 by any VirtualR
ad30: 6f 75 74 69 6e 67 20 77 69 6c 6c 20 61 6c 77 61 outing will alwa
ad40: 79 73 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 4d 20 ys contain <b>M
ad50: 76 61 6c 75 65 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c values</b>:..<ul
ad60: 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e >..<li>if the un
ad70: 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 derlaying Networ
ad80: 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61 k's Geometries a
ad90: 72 65 20 3c 62 3e 58 59 3c 2f 62 3e 20 74 68 65 re <b>XY</b> the
ada0: 6e 20 3c 62 3e 58 59 4d 3c 2f 62 3e 20 4c 69 6e n <b>XYM</b> Lin
adb0: 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 65 estrings will be
adc0: 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d returned.</li>.
add0: 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e 64 65 .<li>if the unde
ade0: 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27 rlaying Network'
adf0: 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61 72 65 s Geometries are
ae00: 20 3c 62 3e 58 59 5a 3c 2f 62 3e 20 74 68 65 6e <b>XYZ</b> then
ae10: 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20 4c 69 6e <b>XYZM</b> Lin
ae20: 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 65 estrings will be
ae30: 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d returned.</li>.
ae40: 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e 64 65 .<li>if the unde
ae50: 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27 rlaying Network'
ae60: 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61 72 65 s Geometries are
ae70: 20 3c 62 3e 58 59 4d 3c 2f 62 3e 20 6f 72 20 3c <b>XYM</b> or <
ae80: 62 3e 58 59 5a 4d 3c 2f 62 3e 20 74 68 65 6e 20 b>XYZM</b> then
ae90: 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 65 74 Linestrings ret
aea0: 75 72 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 72 urned into the r
aeb0: 65 73 75 6c 74 73 65 74 20 77 69 6c 6c 20 6d 61 esultset will ma
aec0: 69 6e 74 61 69 6e 20 74 68 65 20 73 61 6d 65 20 intain the same
aed0: 64 69 6d 65 6e 73 69 6f 6e 73 20 61 73 20 69 6e dimensions as in
aee0: 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 the underlaying
aef0: 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a Network.</li>..
af00: 3c 6c 69 3e 69 6e 20 61 6e 79 20 63 61 73 65 20 <li>in any case
af10: 74 68 65 20 3c 62 3e 4d 3c 2f 62 3e 20 76 61 6c the <b>M</b> val
af20: 75 65 73 20 77 69 6c 6c 20 62 65 20 61 70 70 72 ues will be appr
af30: 6f 70 72 69 61 74 65 6c 79 20 73 65 74 20 73 6f opriately set so
af40: 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 74 68 to represent th
af50: 65 20 3c 75 3e 70 61 72 74 69 61 6c 20 63 6f 73 e <u>partial cos
af60: 74 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f 6e 64 t</u> correspond
af70: 69 6e 67 20 74 6f 20 65 61 63 68 20 76 65 72 74 ing to each vert
af80: 65 78 2e 0d 0a 28 69 66 20 74 68 65 20 69 6e 70 ex...(if the inp
af90: 75 74 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 61 ut Linestrings a
afa0: 6c 72 65 61 64 79 20 63 6f 6e 74 61 69 6e 73 20 lready contains
afb0: 4d 2d 76 61 6c 75 65 73 20 74 68 65 79 27 6c 6c M-values they'll
afc0: 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 29 be overwritten)
afd0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c .</li>..</ul>..<
afe0: 62 72 3e 0d 0a 49 6e 20 6f 74 68 65 72 20 77 6f br>..In other wo
aff0: 72 64 73 2c 20 61 6c 6c 20 4c 69 6e 65 73 74 72 rds, all Linestr
b000: 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 62 79 ings returned by
b010: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 VirtualRouting
b020: 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c 79 20 can effectively
b030: 73 75 70 70 6f 72 74 20 3c 62 3e 4c 52 3c 2f 62 support <b>LR</b
b040: 3e 20 28 3c 69 3e 4c 69 6e 65 61 72 20 52 65 66 > (<i>Linear Ref
b050: 65 72 65 6e 63 69 6e 67 3c 2f 69 3e 29 20 53 51 erencing</i>) SQ
b060: 4c 20 66 75 6e 63 74 69 6f 6e 73 2c 20 61 73 20 L functions, as
b070: 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 in the following
b080: 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 76 65 72 examples:..<ver
b090: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 batim>..SELECT S
b0a0: 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77 65 65 6e T_Locate_Between
b0b0: 5f 4d 65 61 73 75 72 65 73 28 3c 67 65 6f 6d 65 _Measures(<geome
b0c0: 74 72 79 3e 2c 20 33 30 2e 30 2c 20 34 35 2e 30 try>, 30.0, 45.0
b0d0: 29 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 53 54 5f );....SELECT ST_
b0e0: 4c 6f 63 61 74 65 5f 42 65 74 77 65 65 6e 5f 4d Locate_Between_M
b0f0: 65 61 73 75 72 65 73 28 3c 67 65 6f 6d 65 74 72 easures(<geometr
b100: 79 3e 2c 20 38 30 2e 30 2c 20 39 35 2e 30 29 3b y>, 80.0, 95.0);
b110: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 ..</verbatim>..T
b120: 68 65 20 73 69 64 65 20 6d 61 70 20 67 72 61 70 he side map grap
b130: 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 hically shows th
b140: 65 20 65 73 74 69 6d 61 74 65 64 20 70 6f 73 69 e estimated posi
b150: 74 69 6f 6e 73 20 72 65 73 70 65 63 74 69 76 65 tions respective
b160: 6c 79 20 3c 62 3e 33 30 3c 2f 62 3e 2d 3c 62 3e ly <b>30</b>-<b>
b170: 34 35 3c 2f 62 3e 20 73 65 63 6f 6e 64 73 20 61 45</b> seconds a
b180: 66 74 65 72 20 73 74 61 72 74 69 6e 67 20 28 79 fter starting (y
b190: 65 6c 6c 6f 77 20 64 6f 74 74 65 64 20 6c 69 6e ellow dotted lin
b1a0: 65 29 20 61 6e 64 20 3c 62 3e 38 30 3c 2f 62 3e e) and <b>80</b>
b1b0: 2d 3c 62 3e 39 35 3c 2f 62 3e 20 73 65 63 6f 6e -<b>95</b> secon
b1c0: 64 73 20 61 66 74 65 72 20 73 74 61 72 74 69 6e ds after startin
b1d0: 67 20 28 67 72 65 65 6e 20 64 6f 74 74 65 64 20 g (green dotted
b1e0: 6c 69 6e 65 29 2e 3c 62 72 3e 0d 0a 28 61 73 73 line).<br>..(ass
b1f0: 75 6d 69 6e 67 20 74 68 65 20 73 61 6d 65 20 70 uming the same p
b200: 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 79 20 ath returned by
b210: 74 68 65 20 6c 61 74 65 73 74 20 3c 62 3e 62 79 the latest <b>by
b220: 63 61 72 3c 2f 62 3e 20 71 75 65 72 79 29 2e 0d car</b> query)..
b230: 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 .</td>..<td><img
b240: 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 src="https://ww
b250: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 w.gaia-gis.it/ga
b260: 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d ia-sins/routing-
b270: 66 69 67 73 2f 72 6f 75 74 69 6e 67 32 2e 6a 70 figs/routing2.jp
b280: 67 22 20 61 6c 74 3d 22 66 69 67 32 22 3e 3c 2f g" alt="fig2"></
b290: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 td>..</tr>..</ta
b2a0: 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68 32 3e ble>..<br>..<h2>
b2b0: 50 6c 61 79 69 6e 67 20 77 69 74 68 20 56 69 72 Playing with Vir
b2c0: 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 6f 6e 66 tualRouting conf
b2d0: 69 67 75 72 61 62 6c 65 20 6f 70 74 69 6f 6e 73 igurable options
b2e0: 3c 2f 68 32 3e 0d 0a 53 65 76 65 72 61 6c 20 61 </h2>..Several a
b2f0: 73 70 65 63 74 73 20 6f 66 20 56 69 72 74 75 61 spects of Virtua
b300: 6c 52 6f 75 74 69 6e 67 20 63 61 6e 20 62 65 20 lRouting can be
b310: 66 72 65 65 6c 79 20 63 75 73 74 6f 6d 69 7a 65 freely customize
b320: 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a d...<verbatim>..
b330: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 UPDATE byfoot SE
b340: 54 20 41 6c 67 6f 72 69 74 68 6d 20 3d 20 27 41 T Algorithm = 'A
b350: 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c *';....SELECT Al
b360: 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 gorithm, Options
b370: 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 , RouteRow, Role
b380: 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 , LinkRowid, Nod
b390: 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 eFrom, NodeTo, C
b3a0: 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e ost, Geometry, N
b3b0: 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 ame..FROM byfoot
b3c0: 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d ..WHERE NodeFrom
b3d0: 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f = 178731 AND No
b3e0: 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a deTo = 183286;..
b3f0: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 49 66 20 </verbatim>..If
b400: 79 6f 75 20 72 65 6d 65 6d 62 65 72 20 69 6e 20 you remember in
b410: 61 6c 6c 20 74 68 65 20 70 72 65 76 69 6f 75 73 all the previous
b420: 20 65 78 61 6d 70 6c 65 73 20 74 68 65 20 3c 62 examples the <b
b430: 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 3e 20 >Dijkstra's</b>
b440: 61 6c 67 6f 72 69 74 68 6d 20 77 61 73 20 75 73 algorithm was us
b450: 65 64 3b 20 6e 6f 77 20 28 61 66 74 65 72 20 65 ed; now (after e
b460: 78 65 63 75 74 69 6e 67 20 74 68 65 20 61 62 6f xecuting the abo
b470: 76 65 20 3c 62 3e 55 50 44 41 54 45 3c 2f 62 3e ve <b>UPDATE</b>
b480: 29 20 61 6c 6c 20 53 68 6f 72 74 65 73 74 20 50 ) all Shortest P
b490: 61 74 68 20 71 75 65 72 69 65 73 20 77 69 6c 6c ath queries will
b4a0: 20 62 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65 be based on the
b4b0: 20 61 6c 74 65 72 6e 61 74 69 76 65 20 3c 62 3e alternative <b>
b4c0: 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d A*</b> algorithm
b4d0: 2e 3c 62 72 3e 0d 0a 49 66 20 79 6f 75 20 77 69 .<br>..If you wi
b4e0: 73 68 20 74 6f 20 73 65 6c 65 63 74 20 61 67 61 sh to select aga
b4f0: 69 6e 20 74 68 65 20 44 69 6a 6b 73 74 72 61 27 in the Dijkstra'
b500: 73 20 61 6c 67 6f 72 69 74 68 6d 20 79 6f 75 20 s algorithm you
b510: 6a 75 73 74 20 68 61 76 65 20 74 6f 20 65 78 65 just have to exe
b520: 63 75 74 65 3c 62 72 3e 20 3c 62 3e 55 50 44 41 cute<br> <b>UPDA
b530: 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 41 6c TE byfoot SET Al
b540: 67 6f 72 69 74 68 6d 20 3d 20 27 44 49 4a 4b 53 gorithm = 'DIJKS
b550: 54 52 41 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 TRA';</b>.<br><b
b560: 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e r>..The followin
b570: 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 g table shows th
b580: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 e resultset retu
b590: 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76 rned by the prev
b5a0: 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61 ious Shortest Pa
b5b0: 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65 th query; please
b5c0: 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75 notice the valu
b5d0: 65 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f e in the <b>Algo
b5e0: 72 69 74 68 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e rithm</b> column
b5f0: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 ...<br><br>..<ta
b600: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 ble border="1" b
b610: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 gcolor="#ffffcf"
b620: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 cellspacing="4"
b630: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
b640: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c >..<tr><th bgcol
b650: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 or="#d0d0a0">Alg
b660: 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 orithm</th><th b
b670: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
b680: 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 >Options</th><th
b690: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
b6a0: 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 0">RouteRow</th>
b6b0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
b6c0: 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c d0a0">Role</th><
b6d0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
b6e0: 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 0a0">LinkRowid</
b6f0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
b700: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f #d0d0a0">NodeFro
b710: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f m</th><th bgcolo
b720: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
b730: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c To</th><th bgcol
b740: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 or="#d0d0a0">Cos
b750: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
b760: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d r="#d0d0a0">Geom
b770: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 etry</th><th bgc
b780: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
b790: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c ame</th></tr>..<
b7a0: 74 72 3e 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 tr><td>A*</td><t
b7b0: 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61 d>Full</td><td a
b7c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
b7d0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
b7e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
b7f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
b800: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
b810: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
b820: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 286</td><td alig
b830: 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 n="right">300.91
b840: 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 2208</td><td>BLO
b850: 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 B sz=272 GEOMETR
b860: 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f Y</td><td>NULL</
b870: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
b880: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
b890: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
b8a0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c align="right">1<
b8b0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
b8c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
b8d0: 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 t">224014</td><t
b8e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
b8f0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
b900: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
b910: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 885</td><td alig
b920: 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 n="right">94.812
b930: 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 424</td><td>NULL
b940: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 </td><td>VIA PIE
b950: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e TRO ARETINO</td>
b960: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
b970: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
b980: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
b990: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 gn="right">2</td
b9a0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
b9b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
b9c0: 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 224446</td><td a
b9d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
b9e0: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 885</td><td alig
b9f0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 n="right">178880
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 36 39 2e 37 32 37 37 32 36 right">69.727726
ba20: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
ba30: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 d><td>VIA MARGAR
ba40: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ITONE</td>..</tr
ba50: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
ba60: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
ba70: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
ba80: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c ght">3</td><td>L
ba90: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
baa0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 n="right">224414
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 31 37 38 38 38 30 3c 2f 74 right">178880</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 38 33 32 38 36 3c 2f 74 64 3e 3c ht">183286</td><
baf0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
bb00: 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e >136.372057</td>
bb10: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
bb20: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 >VIA MARGARITONE
bb30: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f </td>..</tr>..</
bb40: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e table>..<br><br>
bb50: 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 65 76 <br>..You can ev
bb60: 65 6e 74 75 61 6c 6c 79 20 63 6f 6e 66 69 67 75 entually configu
bb70: 72 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 re the resultset
bb80: 20 72 65 74 75 72 6e 65 64 20 74 68 65 20 56 69 returned the Vi
bb90: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 71 75 65 rtualRouting que
bba0: 72 69 65 73 2e 0d 0a 3c 76 65 72 62 61 74 69 6d ries...<verbatim
bbb0: 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 >..UPDATE byfoot
bbc0: 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 SET Options = '
bbd0: 4e 4f 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 NO LINKS';....SE
bbe0: 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 LECT Algorithm,
bbf0: 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f Options, RouteRo
bc00: 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 w, Role, LinkRow
bc10: 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f id, NodeFrom, No
bc20: 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d deTo, Cost, Geom
bc30: 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d etry, Name..FROM
bc40: 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e byfoot..WHERE N
bc50: 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 odeFrom = 178731
bc60: 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 AND NodeTo = 18
bc70: 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 3286;..</verbati
bc80: 6d 3e 0d 0a 41 66 74 65 72 20 73 65 74 74 69 6e m>..After settin
bc90: 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f g <b>Options='NO
bca0: 20 4c 49 4e 4b 53 27 3c 2f 62 3e 20 74 68 65 20 LINKS'</b> the
bcb0: 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c 20 73 resultset will s
bcc0: 69 6d 70 6c 79 20 63 6f 6e 74 61 69 6e 20 74 68 imply contain th
bcd0: 65 20 68 65 61 64 65 72 20 72 6f 77 2c 20 61 6e e header row, an
bce0: 64 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 d all the follow
bcf0: 69 6e 67 20 72 6f 77 73 20 77 69 6c 6c 20 62 65 ing rows will be
bd00: 20 73 75 70 70 72 65 73 73 65 64 2e 3c 62 72 3e suppressed.<br>
bd10: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 70 ..<u>Note</u>: p
bd20: 72 6f 64 75 63 69 6e 67 20 61 20 72 65 64 75 63 roducing a reduc
bd30: 65 64 20 72 65 73 75 6c 74 73 65 74 20 69 73 20 ed resultset is
bd40: 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 73 expected to be s
bd50: 6f 6d 65 77 61 79 20 66 61 73 74 65 72 2e 3c 62 omeway faster.<b
bd60: 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e r>..The followin
bd70: 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 g table shows th
bd80: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 e resultset retu
bd90: 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76 rned by the prev
bda0: 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61 ious Shortest Pa
bdb0: 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65 th query; please
bdc0: 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75 notice the valu
bdd0: 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69 e in the <b>Opti
bde0: 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d ons</b> column..
bdf0: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c .<br><br>..<tabl
be00: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 e border="1" bgc
be10: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 olor="#ffffcf" c
be20: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 ellspacing="4" c
be30: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d ellpadding="6">.
be40: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 .<tr><th bgcolor
be50: 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 ="#d0d0a0">Algor
be60: 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ithm</th><th bgc
be70: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f olor="#d0d0a0">O
be80: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 ptions</th><th b
be90: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
bea0: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 >RouteRow</th><t
beb0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
bec0: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 a0">Role</th><th
bed0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
bee0: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 0">LinkRowid</th
bef0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
bf00: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 0d0a0">NodeFrom<
bf10: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
bf20: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f "#d0d0a0">NodeTo
bf30: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
bf40: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c ="#d0d0a0">Cost<
bf50: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
bf60: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 "#d0d0a0">Geomet
bf70: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ry</th><th bgcol
bf80: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d or="#d0d0a0">Nam
bf90: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 e</th></tr>..<tr
bfa0: 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 >..<td>A*</td><t
bfb0: 64 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64 3e 3c d>No Links</td><
bfc0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
bfd0: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
bfe0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
bff0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
c000: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
c010: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
c020: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
c030: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 align="right">30
c040: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 0.912208</td><td
c050: 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f >BLOB sz=272 GEO
c060: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 METRY</td><td>NU
c070: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
c080: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 </table>..<br><b
c090: 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 r><br>..<verbati
c0a0: 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f m>..UPDATE byfoo
c0b0: 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 t SET Options =
c0c0: 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3b 'NO GEOMETRIES';
c0d0: 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 ....SELECT Algor
c0e0: 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 ithm, Options, R
c0f0: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c outeRow, Role, L
c100: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 inkRowid, NodeFr
c110: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 om, NodeTo, Cost
c120: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 , Geometry, Name
c130: 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 ..FROM byfoot..W
c140: 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 HERE NodeFrom =
c150: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 178731 AND NodeT
c160: 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 o = 183286;..</v
c170: 65 72 62 61 74 69 6d 3e 41 66 74 65 72 20 73 65 erbatim>After se
c180: 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 tting <b>Options
c190: 3d 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 ='NO GEOMETRIES'
c1a0: 3c 2f 62 3e 20 74 68 65 20 72 65 73 75 6c 74 73 </b> the results
c1b0: 65 74 20 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 20 et will contain
c1c0: 61 6c 6c 20 72 6f 77 73 2c 20 62 75 74 20 61 6c all rows, but al
c1d0: 6c 20 47 65 6f 6d 65 74 72 69 65 73 20 77 69 6c l Geometries wil
c1e0: 6c 20 62 65 20 73 75 70 70 72 65 73 73 65 64 2e l be suppressed.
c1f0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 <br>..<u>Note</u
c200: 3e 3a 20 74 68 69 73 20 74 6f 6f 20 69 73 20 65 >: this too is e
c210: 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 73 6f xpected to be so
c220: 6d 65 77 61 79 20 66 61 73 74 65 72 2e 3c 62 72 meway faster.<br
c230: 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 >..The following
c240: 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 table shows the
c250: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 resultset retur
c260: 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76 69 ned by the previ
c270: 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61 74 ous Shortest Pat
c280: 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20 h query; please
c290: 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75 65 notice the value
c2a0: 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f in the <b>Optio
c2b0: 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a ns</b> column...
c2c0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 <br><br>..<table
c2d0: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f border="1" bgco
c2e0: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 lor="#ffffcf" ce
c2f0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 llspacing="4" ce
c300: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a llpadding="6">..
c310: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d <tr><th bgcolor=
c320: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 "#d0d0a0">Algori
c330: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f thm</th><th bgco
c340: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 lor="#d0d0a0">Op
c350: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 tions</th><th bg
c360: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
c370: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 RouteRow</th><th
c380: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
c390: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
c3a0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
c3b0: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e ">LinkRowid</th>
c3c0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
c3d0: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f d0a0">NodeFrom</
c3e0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
c3f0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c #d0d0a0">NodeTo<
c400: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
c410: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f "#d0d0a0">Cost</
c420: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
c430: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 #d0d0a0">Geometr
c440: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f y</th><th bgcolo
c450: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 r="#d0d0a0">Name
c460: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
c470: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e <td>A*</td><td>N
c480: 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f 74 64 o Geometries</td
c490: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
c4a0: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
c4b0: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
c4c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
c4d0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
c4e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
c4f0: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 t">183286</td><t
c500: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c510: 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 300.912208</td><
c520: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
c530: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
c540: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
c550: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
c560: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
c570: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">1</td><td>Li
c580: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
c590: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c ="right">224014<
c5a0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
c5b0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
c5c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
c5d0: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 t">182885</td><t
c5e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c5f0: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 94.812424</td><t
c600: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
c610: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e IA PIETRO ARETIN
c620: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c O</td>..</tr>..<
c630: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
c640: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
c650: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
c660: 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >2</td><td>Link<
c670: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
c680: 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 ight">224446</td
c690: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
c6a0: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 t">182885</td><t
c6b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c6c0: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 178880</td><td a
c6d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e lign="right">69.
c6e0: 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 727726</td><td>N
c6f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
c700: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e MARGARITONE</td>
c710: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
c720: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
c730: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
c740: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
c750: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
c760: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c770: 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 224414</td><td a
c780: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
c790: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 880</td><td alig
c7a0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 n="right">183286
c7b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c7c0: 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35 right">136.37205
c7d0: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 7</td><td>NULL</
c7e0: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 td><td>VIA MARGA
c7f0: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 RITONE</td>..</t
c800: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 r>..</table>..<b
c810: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 r><br><br>..<ver
c820: 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 batim>..UPDATE b
c830: 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e yfoot SET Option
c840: 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d s = 'SIMPLE';...
c850: 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 .SELECT Algorith
c860: 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 m, Options, Rout
c870: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b eRow, Role, Link
c880: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c Rowid, NodeFrom,
c890: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 NodeTo, Cost, G
c8a0: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 eometry, Name..F
c8b0: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 ROM byfoot..WHER
c8c0: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 E NodeFrom = 178
c8d0: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 731 AND NodeTo =
c8e0: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 183286;..</verb
c8f0: 61 74 69 6d 3e 53 65 74 74 69 6e 67 20 3c 62 3e atim>Setting <b>
c900: 4f 70 74 69 6f 6e 73 3d 27 53 49 4d 50 4c 45 27 Options='SIMPLE'
c910: 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 73 61 6d </b> has the sam
c920: 65 20 65 66 66 65 63 74 20 74 68 61 6e 20 73 65 e effect than se
c930: 74 74 69 6e 67 20 62 6f 74 68 20 3c 62 3e 4e 4f tting both <b>NO
c940: 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c LINKS</b> and <
c950: 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c b>NO GEOMETRIES<
c960: 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65 20 /b> at the same
c970: 74 69 6d 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f time.<br>..<u>No
c980: 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 69 73 20 te</u>: this is
c990: 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 74 expected to be t
c9a0: 68 65 20 66 61 73 74 65 73 74 20 73 65 74 74 69 he fastest setti
c9b0: 6e 67 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c ng.<br>..The fol
c9c0: 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f lowing table sho
c9d0: 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 ws the resultset
c9e0: 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 returned by the
c9f0: 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74 65 previous Shorte
ca00: 73 74 20 50 61 74 68 20 71 75 65 72 79 3b 20 70 st Path query; p
ca10: 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74 68 65 lease notice the
ca20: 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 value in the <b
ca30: 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c >Options</b> col
ca40: 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a umn...<br><br>..
ca50: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 <table border="1
ca60: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 " bgcolor="#ffff
ca70: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d cf" cellspacing=
ca80: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "4" cellpadding=
ca90: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 "6">..<tr><th bg
caa0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
cab0: 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 Algorithm</th><t
cac0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
cad0: 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e a0">Options</th>
cae0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
caf0: 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f d0a0">RouteRow</
cb00: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
cb10: 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 #d0d0a0">Role</t
cb20: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
cb30: 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 d0d0a0">LinkRowi
cb40: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f d</th><th bgcolo
cb50: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
cb60: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 From</th><th bgc
cb70: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
cb80: 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 odeTo</th><th bg
cb90: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
cba0: 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 Cost</th><th bgc
cbb0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 olor="#d0d0a0">G
cbc0: 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 eometry</th><th
cbd0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
cbe0: 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e ">Name</th></tr>
cbf0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f ..<tr>..<td>A*</
cc00: 74 64 3e 3c 74 64 3e 53 69 6d 70 6c 65 3c 2f 74 td><td>Simple</t
cc10: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
cc20: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
cc30: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
cc40: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
cc50: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
cc60: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
cc70: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c ht">183286</td><
cc80: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
cc90: 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e >300.912208</td>
cca0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
ccb0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
ccc0: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 >..</table>..<br
ccd0: 3e 0d 0a 46 69 6e 61 6c 6c 79 2c 20 69 66 20 79 >..Finally, if y
cce0: 6f 75 20 77 69 73 68 20 74 6f 20 73 65 6c 65 63 ou wish to selec
ccf0: 74 20 61 67 61 69 6e 20 74 68 65 20 69 6e 69 74 t again the init
cd00: 69 61 6c 20 73 74 61 6e 64 61 72 64 20 73 65 74 ial standard set
cd10: 74 69 6e 67 20 79 6f 75 20 6a 75 73 74 20 68 61 ting you just ha
cd20: 76 65 20 74 6f 20 65 78 65 63 75 74 65 3c 62 72 ve to execute<br
cd30: 3e 20 3c 62 3e 55 50 44 41 54 45 20 62 79 66 6f > <b>UPDATE byfo
cd40: 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d ot SET Options =
cd50: 20 27 46 55 4c 4c 27 3b 3c 2f 62 3e 2e 3c 62 72 'FULL';</b>.<br
cd60: 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d ><br>..<hr><br>.
cd70: 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 6d 75 .<h1><a name="mu
cd80: 6c 74 69 22 3e 35 20 2d 20 53 6f 6c 76 69 6e 67 lti">5 - Solving
cd90: 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 multi-destinati
cda0: 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 on Shortest Path
cdb0: 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 problems</a></h
cdc0: 31 3e 0d 0a 41 20 76 65 72 79 20 69 6e 74 65 72 1>..A very inter
cdd0: 65 73 74 69 6e 67 20 66 65 61 74 75 72 65 20 73 esting feature s
cde0: 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 upported by the
cdf0: 44 69 6a 6b 73 74 72 61 27 73 20 41 6c 67 6f 72 Dijkstra's Algor
ce00: 69 74 68 6d 20 69 73 20 74 68 61 74 20 69 74 20 ithm is that it
ce10: 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72 65 73 robustly ensures
ce20: 20 74 68 61 74 20 77 68 65 6e 20 61 20 64 65 73 that when a des
ce30: 74 69 6e 61 74 69 6f 6e 20 69 73 20 72 65 61 63 tination is reac
ce40: 68 65 64 20 61 6c 6c 20 74 68 65 20 64 65 73 74 hed all the dest
ce50: 69 6e 61 74 69 6f 6e 73 20 70 72 65 73 65 6e 74 inations present
ce60: 69 6e 67 20 61 20 3c 62 3e 6c 65 73 73 65 72 20 ing a <b>lesser
ce70: 63 6f 73 74 3c 2f 62 3e 20 68 61 76 65 20 61 6c cost</b> have al
ce80: 72 65 61 64 79 20 62 65 65 6e 20 72 65 61 63 68 ready been reach
ce90: 65 64 20 69 6e 20 73 6f 6d 65 20 70 72 65 76 69 ed in some previ
cea0: 6f 75 73 20 73 74 65 70 20 6f 66 20 74 68 65 20 ous step of the
ceb0: 70 72 6f 63 65 73 73 2e 3c 62 72 3e 0d 0a 54 68 process.<br>..Th
cec0: 69 73 20 61 6c 6c 6f 77 73 20 74 6f 20 65 66 66 is allows to eff
ced0: 69 63 69 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 iciently support
cee0: 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 20 64 65 73 <b>multiple des
cef0: 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 53 68 tinations</b> Sh
cf00: 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 ortest Path quer
cf10: 69 65 73 2e 0d 0a 59 6f 75 20 73 69 6d 70 6c 79 ies...You simply
cf20: 20 68 61 76 65 20 74 6f 20 73 70 65 63 69 66 79 have to specify
cf30: 20 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69 a <b>single ori
cf40: 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 gin Node</b> and
cf50: 20 61 6e 20 3c 62 3e 61 72 62 69 74 72 61 72 79 an <b>arbitrary
cf60: 20 6c 69 73 74 20 6f 66 20 64 65 73 74 69 6e 61 list of destina
cf70: 74 69 6f 6e 20 4e 6f 64 65 73 3c 2f 62 3e 20 69 tion Nodes</b> i
cf80: 6e 20 61 20 73 69 6e 67 6c 65 20 44 69 6a 6b 73 n a single Dijks
cf90: 74 72 61 27 73 20 65 78 65 63 75 74 69 6f 6e 2e tra's execution.
cfa0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 <br><br>..<u>Not
cfb0: 65 3c 2f 75 3e 3a 20 65 78 65 63 75 74 69 6e 67 e</u>: executing
cfc0: 20 61 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 a multi-destina
cfd0: 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 tion Shortest Pa
cfe0: 74 68 20 71 75 65 72 79 20 72 65 71 75 69 72 65 th query require
cff0: 73 20 61 20 3c 62 3e 70 72 6f 63 65 73 73 69 6e s a <b>processin
d000: 67 20 74 69 6d 65 3c 2f 62 3e 20 74 68 61 74 20 g time</b> that
d010: 69 73 6e 27 74 20 74 68 65 20 3c 75 3e 73 75 6d isn't the <u>sum
d020: 20 6f 66 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 of all individu
d030: 61 6c 20 74 69 6d 69 6e 67 73 20 66 6f 72 20 65 al timings for e
d040: 61 63 68 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c ach destination<
d050: 2f 75 3e 2c 20 62 75 74 20 73 69 6d 70 6c 79 20 /u>, but simply
d060: 69 73 20 74 68 65 20 3c 75 3e 74 69 6d 65 20 72 is the <u>time r
d070: 65 71 75 69 72 65 64 20 74 6f 20 72 65 61 63 68 equired to reach
d080: 20 74 68 65 20 6d 6f 73 74 20 63 6f 73 74 6c 79 the most costly
d090: 20 6f 66 20 61 6c 6c 20 64 65 73 74 69 6e 61 74 of all destinat
d0a0: 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 73 74 ions in the list
d0b0: 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 </u>.<br>..This
d0c0: 69 73 6e 27 74 20 72 69 67 6f 72 6f 75 73 6c 79 isn't rigorously
d0d0: 20 74 72 75 65 20 69 6e 20 74 68 65 20 63 61 73 true in the cas
d0e0: 65 20 6f 66 20 74 68 65 20 56 69 72 74 75 61 6c e of the Virtual
d0f0: 52 6f 75 74 69 6e 67 20 73 70 65 63 69 66 69 63 Routing specific
d100: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c implementation,
d110: 20 62 65 63 61 75 73 65 20 61 72 72 61 6e 67 69 because arrangi
d120: 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 ng the resultset
d130: 20 74 6f 20 62 65 20 72 65 74 75 72 6e 65 64 20 to be returned
d140: 61 6e 64 20 63 72 65 61 74 69 6e 67 20 61 6c 6c and creating all
d150: 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 the individual
d160: 4c 69 6e 65 73 74 72 69 6e 67 73 20 66 6f 72 20 Linestrings for
d170: 65 61 63 68 20 64 65 73 74 69 6e 61 74 69 6f 6e each destination
d180: 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 69 6d 70 will surely imp
d190: 6f 73 65 20 73 6f 6d 65 20 66 75 72 74 68 65 72 ose some further
d1a0: 20 6f 76 65 72 68 65 61 64 2c 20 62 75 74 20 6e overhead, but n
d1b0: 6f 6e 65 74 68 65 6c 65 73 73 20 69 74 20 72 65 onetheless it re
d1c0: 6d 61 69 6e 73 20 63 6f 6e 66 69 72 6d 65 64 20 mains confirmed
d1d0: 74 68 61 74 20 65 78 65 63 75 74 69 6e 67 20 61 that executing a
d1e0: 20 73 69 6e 67 6c 65 20 6d 75 6c 74 69 2d 64 65 single multi-de
d1f0: 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 79 20 stination query
d200: 77 69 6c 6c 20 73 75 72 65 6c 79 20 62 65 20 20 will surely be
d210: 6e 6f 74 69 63 65 61 62 6c 79 20 66 61 73 74 65 noticeably faste
d220: 72 20 74 68 65 6e 20 65 78 65 63 75 74 69 6e 67 r then executing
d230: 20 6d 61 6e 79 20 73 70 61 72 73 65 20 73 69 6e many sparse sin
d240: 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 gle-destination
d250: 71 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 62 61 queries...<verba
d260: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67 tim>..SELECT Alg
d270: 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c orithm, Request,
d280: 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 Options, Delimi
d290: 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f ter, RouteId, Ro
d2a0: 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 uteRow, Role, Li
d2b0: 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f nkRowid, NodeFro
d2c0: 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c m, NodeTo, Cost,
d2d0: 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d Geometry, Name.
d2e0: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 .FROM byfoot..WH
d2f0: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 ERE NodeFrom = 1
d300: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 78731 AND NodeTo
d310: 20 3d 20 27 31 38 33 32 38 36 2c 32 39 30 34 35 = '183286,29045
d320: 38 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 8,181999,184030,
d330: 31 32 34 36 32 32 2c 31 38 33 38 38 32 2c 31 37 124622,183882,17
d340: 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 8754';..</verbat
d350: 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20 im>..As you can
d360: 65 61 73 69 6c 79 20 6e 6f 74 69 63 65 2c 20 61 easily notice, a
d370: 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 2d 64 65 73 <b>multiple-des
d380: 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 tinations</b> qu
d390: 65 72 79 20 68 61 73 20 74 68 65 20 73 61 6d 65 ery has the same
d3a0: 20 69 64 65 6e 74 69 63 61 6c 20 66 6f 72 6d 20 identical form
d3b0: 6f 66 20 61 6e 79 20 75 73 75 61 6c 20 53 68 6f of any usual Sho
d3c0: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 rtest Path query
d3d0: 2c 20 65 78 63 65 70 74 20 69 6e 20 74 68 61 74 , except in that
d3e0: 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 6e <b>NodeTo</b> n
d3f0: 6f 77 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 ow corresponds t
d400: 6f 20 61 20 63 6f 6d 6d 61 2d 73 65 70 61 72 61 o a comma-separa
d410: 74 65 64 20 6c 69 73 74 2e 3c 62 72 3e 0d 0a 54 ted list.<br>..T
d420: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 he following tab
d430: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 le shows the res
d440: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 ultset returned
d450: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 by the previous
d460: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f multi-destinatio
d470: 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 n Shortest Path
d480: 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e query...<br><br>
d490: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d ..<table border=
d4a0: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 "1" bgcolor="#ff
d4b0: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e ffcf" cellspacin
d4c0: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e g="4" cellpaddin
d4d0: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 g="6">..<tr><th
d4e0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
d4f0: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e ">Algorithm</th>
d500: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
d510: 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 d0a0">Request</t
d520: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
d530: 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c d0d0a0">Options<
d540: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
d550: 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 "#d0d0a0">Delimi
d560: 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ter</th><th bgco
d570: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
d580: 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 uteId</th><th bg
d590: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
d5a0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 RouteRow</th><th
d5b0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
d5c0: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
d5d0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
d5e0: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e ">LinkRowid</th>
d5f0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
d600: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f d0a0">NodeFrom</
d610: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
d620: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c #d0d0a0">NodeTo<
d630: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
d640: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f "#d0d0a0">Cost</
d650: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
d660: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 #d0d0a0">Geometr
d670: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f y</th><th bgcolo
d680: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 r="#d0d0a0">Name
d690: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
d6a0: 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f ..<td>Dijkstra</
d6b0: 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 td><td>Shortest
d6c0: 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c Path</td><td>Ful
d6d0: 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 l</td><td>, [
d6e0: 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 ;dec=44, hex=2c&
d6f0: 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 #93;</td><td ali
d700: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
d710: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
d720: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
d730: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
d740: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
d750: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
d760: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
d770: 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 t">183882</td><t
d780: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
d790: 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 154.750839</td><
d7a0: 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 td>BLOB sz=240 G
d7b0: 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e EOMETRY</td><td>
d7c0: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
d7d0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
d7e0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
d7f0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
d800: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
d810: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
d820: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
d830: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e ight">1</td><td>
d840: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
d850: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 gn="right">22263
d860: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
d870: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
d880: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
d890: 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e ght">182000</td>
d8a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
d8b0: 22 3e 31 30 33 2e 37 33 35 37 32 32 3c 2f 74 64 ">103.735722</td
d8c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
d8d0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 d>VIA PIETRO ARE
d8e0: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TINO</td>..</tr>
d8f0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
d900: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
d910: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
d920: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
d930: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
d940: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
d950: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e ight">2</td><td>
d960: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
d970: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 32 gn="right">22552
d980: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 7</td><td align=
d990: 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f "right">182000</
d9a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
d9b0: 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e ght">183882</td>
d9c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
d9d0: 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e ">51.015117</td>
d9e0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
d9f0: 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 >VIA LICIO NENCE
da00: 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d TTI</td>..</tr>.
da10: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
da20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
da30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
da40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
da50: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
da60: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
da70: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
da80: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
da90: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
daa0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
dab0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
dac0: 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e ght">184030</td>
dad0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
dae0: 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 ">176.364755</td
daf0: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 ><td>BLOB sz=304
db00: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
db10: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
db20: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
db30: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
db40: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
db50: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
db60: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
db70: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
db80: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 "right">1</td><t
db90: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
dba0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
dbb0: 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 014</td><td alig
dbc0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
dbd0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
dbe0: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 right">182885</t
dbf0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
dc00: 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 ht">94.812424</t
dc10: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
dc20: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 td>VIA PIETRO AR
dc30: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ETINO</td>..</tr
dc40: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
dc50: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
dc60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
dc70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
dc80: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
dc90: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
dca0: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
dcb0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
dcc0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38 ign="right">2248
dcd0: 36 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 62</td><td align
dce0: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c ="right">182885<
dcf0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
dd00: 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 ight">182043</td
dd10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
dd20: 74 22 3e 33 37 2e 30 39 35 32 38 37 3c 2f 74 64 t">37.095287</td
dd30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
dd40: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e d>VIA MARGARITON
dd50: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
dd60: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
dd70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
dd80: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
dd90: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
dda0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 gn="right">1</td
ddb0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
ddc0: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">3</td><td>Lin
ddd0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
dde0: 22 72 69 67 68 74 22 3e 32 32 36 30 37 30 3c 2f "right">226070</
ddf0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
de00: 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e ght">182043</td>
de10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
de20: 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 ">184030</td><td
de30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
de40: 34 2e 34 35 37 30 34 34 3c 2f 74 64 3e 3c 74 64 4.457044</td><td
de50: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 50 49 >NULL</td><td>PI
de60: 41 5a 5a 41 20 53 41 4e 54 27 41 47 4f 53 54 49 AZZA SANT'AGOSTI
de70: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NO</td>..</tr>..
de80: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
de90: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
dea0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
deb0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
dec0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
ded0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
dee0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
def0: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
df00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
df10: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
df20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
df30: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c ht">178754</td><
df40: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
df50: 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f 74 64 3e >224.677095</td>
df60: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 <td>BLOB sz=240
df70: 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 GEOMETRY</td><td
df80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
df90: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
dfa0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
dfb0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
dfc0: 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 <td>NULL<td alig
dfd0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e n="right">2</td>
dfe0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
dff0: 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">1</td><td>Link
e000: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e010: 72 69 67 68 74 22 3e 32 31 39 30 34 35 3c 2f 74 right">219045</t
e020: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e030: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
e040: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e050: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 >178732</td><td
e060: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 36 align="right">76
e070: 2e 30 32 31 30 30 37 3c 2f 74 64 3e 3c 74 64 3e .021007</td><td>
e080: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
e090: 20 41 53 53 41 42 3c 2f 74 64 3e 0d 0a 3c 2f 74 ASSAB</td>..</t
e0a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
e0b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e0c0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e0d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e0e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e0f0: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
e100: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
e110: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
e120: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 lign="right">219
e130: 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 058</td><td alig
e140: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 n="right">178732
e150: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e160: 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 right">178754</t
e170: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e180: 68 74 22 3e 31 34 38 2e 36 35 36 30 38 39 3c 2f ht">148.656089</
e190: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e1a0: 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 <td>VIA FRANCESC
e1b0: 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c O CRISPI</td>..<
e1c0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
e1d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
e1e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e1f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e200: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e210: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">3</td><td alig
e220: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
e230: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
e240: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
e250: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
e260: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
e270: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 n="right">181999
e280: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e290: 72 69 67 68 74 22 3e 32 36 30 2e 31 33 32 33 35 right">260.13235
e2a0: 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 4</td><td>BLOB s
e2b0: 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f z=240 GEOMETRY</
e2c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e2d0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
e2e0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
e2f0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
e300: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e310: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e320: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 ght">3</td><td a
e330: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
e340: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
e350: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e360: 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 ">224014</td><td
e370: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
e380: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
e390: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 ign="right">1828
e3a0: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 85</td><td align
e3b0: 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 ="right">94.8124
e3c0: 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 24</td><td>NULL<
e3d0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 /td><td>VIA PIET
e3e0: 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d RO ARETINO</td>.
e3f0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
e400: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
e410: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e420: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e430: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e440: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">3</td><td al
e450: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
e460: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
e470: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e480: 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 >224446</td><td
e490: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
e4a0: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2885</td><td ali
e4b0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
e4c0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
e4d0: 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 "right">69.72772
e4e0: 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 6</td><td>NULL</
e4f0: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 td><td>VIA MARGA
e500: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 RITONE</td>..</t
e510: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
e520: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e530: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e540: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e550: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e560: 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 3</td><td align=
e570: 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 "right">3</td><t
e580: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
e590: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
e5a0: 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 800</td><td alig
e5b0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 n="right">178880
e5c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e5d0: 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
e5e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e5f0: 68 74 22 3e 39 35 2e 35 39 32 32 30 34 3c 2f 74 ht">95.592204</t
e600: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e610: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f td>VIA FRANCESCO
e620: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f CRISPI</td>..</
e630: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
e640: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e650: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e660: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e670: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e680: 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >4</td><td align
e690: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
e6a0: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 td>Route</td><td
e6b0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
e6c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
e6d0: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
e6e0: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c ="right">183286<
e6f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e700: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 ight">300.912208
e710: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
e720: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =272 GEOMETRY</t
e730: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
e740: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
e750: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
e760: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e770: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e780: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e790: 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">4</td><td al
e7a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
e7b0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
e7c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e7d0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 >224014</td><td
e7e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
e7f0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
e800: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 gn="right">18288
e810: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 5</td><td align=
e820: 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 "right">94.81242
e830: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
e840: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 td><td>VIA PIETR
e850: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a O ARETINO</td>..
e860: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
e870: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
e880: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e890: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e8a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e8b0: 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">4</td><td ali
e8c0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 gn="right">2</td
e8d0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
e8e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e8f0: 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 224446</td><td a
e900: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
e910: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 885</td><td alig
e920: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 n="right">178880
e930: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e940: 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 right">69.727726
e950: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e960: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 d><td>VIA MARGAR
e970: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ITONE</td>..</tr
e980: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
e990: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e9a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e9b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e9c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
e9d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e9e0: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
e9f0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
ea00: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
ea10: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
ea20: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
ea30: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
ea40: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 ight">183286</td
ea50: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
ea60: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 t">136.372057</t
ea70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
ea80: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f td>VIA MARGARITO
ea90: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NE</td>..</tr>..
eaa0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
eab0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
eac0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><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 55 6e 72 65 61 63 68 61 /td><td>Unreacha
eb00: 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c ble NodeTo</td><
eb10: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
eb20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
eb30: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
eb40: 67 6e 3d 22 72 69 67 68 74 22 3e 32 39 30 34 35 gn="right">29045
eb50: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
eb60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
eb70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
eb80: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
eb90: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
eba0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
ebb0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><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 55 6e >NULL</td><td>Un
ebe0: 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f reachable NodeTo
ebf0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
ec00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
ec10: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
ec20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
ec30: 3e 31 32 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e >124622</td><td>
ec40: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
ec50: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
ec60: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 td>..</tr>..</ta
ec70: 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 ble>..<br>..Let'
ec80: 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e s quickly examin
ec90: 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 e the resultset
eca0: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 returned by the
ecb0: 61 62 6f 76 65 20 3c 62 3e 6d 75 6c 74 69 2d 64 above <b>multi-d
ecc0: 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 estinations</b>
ecd0: 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c query...<ul>..<l
ece0: 69 3e 74 68 65 20 6f 76 65 72 61 6c 6c 20 6c 61 i>the overall la
ecf0: 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73 74 20 65 yout is almost e
ed00: 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 xactly the same
ed10: 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 61 64 as you've alread
ed20: 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63 61 y seen in the ca
ed30: 73 65 20 6f 66 20 3c 62 3e 73 69 6e 67 6c 65 2d se of <b>single-
ed40: 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 destination</b>
ed50: 71 75 65 72 69 65 73 2c 20 62 75 74 20 69 6e 20 queries, but in
ed60: 74 68 69 73 20 63 61 73 65 20 6d 6f 72 65 20 69 this case more i
ed70: 6e 64 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c ndividual travel
ed80: 20 73 6f 6c 75 74 69 6f 6e 73 20 61 72 65 20 67 solutions are g
ed90: 72 6f 75 70 65 64 20 61 6c 74 6f 67 65 74 68 65 rouped altogethe
eda0: 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 r.</li>..<li>the
edb0: 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 <b>first row</b
edc0: 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 > of the results
edd0: 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20 65 78 et is someway ex
ede0: 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 ceptional, and i
edf0: 73 20 74 68 65 20 75 6e 69 71 75 65 20 72 6f 77 s the unique row
ee00: 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 of the resultse
ee10: 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e t presenting <b>
ee20: 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c NOT NULL</b> val
ee30: 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c ues in the <b>Al
ee40: 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e gorithm</b>, <b>
ee50: 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e Request</b>, <b>
ee60: 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 Options</b> and
ee70: 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e <b>Delimiter</b>
ee80: 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a columns.</li>..
ee90: 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 75 74 65 <li>the <b>Route
eea0: 49 64 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 69 73 Id</b> column is
eeb0: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 67 72 6f intended to gro
eec0: 75 70 20 74 6f 67 65 74 68 65 72 20 61 6c 6c 20 up together all
eed0: 72 6f 77 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74 rows belonging t
eee0: 6f 20 73 61 6d 65 20 74 72 61 76 65 6c 20 73 6f o same travel so
eef0: 6c 75 74 69 6f 6e 20 28 3c 69 3e 61 6b 61 3c 2f lution (<i>aka</
ef00: 69 3e 20 3c 62 3e 52 6f 75 74 65 3c 2f 62 3e 29 i> <b>Route</b>)
ef10: 2e 3c 62 72 3e 0d 0a 52 6f 75 74 65 73 20 61 72 .<br>..Routes ar
ef20: 65 20 70 72 6f 67 72 65 73 73 69 76 65 6c 79 20 e progressively
ef30: 6e 75 6d 62 65 72 65 64 20 61 6e 64 20 61 72 65 numbered and are
ef40: 20 6f 72 64 65 72 65 64 20 61 63 63 6f 72 64 69 ordered accordi
ef50: 6e 67 6c 79 20 74 6f 20 74 68 65 69 72 20 3c 62 ngly to their <b
ef60: 3e 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 2e >total cost</b>.
ef70: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c </li>..<li>the <
ef80: 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 63 b>RouteRow</b> c
ef90: 6f 6c 75 6d 6e 20 68 61 73 20 74 68 65 20 73 61 olumn has the sa
efa0: 6d 65 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f me interpretatio
efb0: 6e 20 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 n as in single-d
efc0: 65 73 74 69 6e 61 74 69 6f 6e 20 72 65 73 75 6c estination resul
efd0: 74 73 65 74 73 2c 20 61 6e 64 20 69 73 20 69 6e tsets, and is in
efe0: 74 65 6e 64 65 64 20 74 6f 20 70 72 6f 67 72 65 tended to progre
eff0: 73 73 69 76 65 6c 79 20 6f 72 64 65 72 20 69 6e ssively order in
f000: 20 74 68 65 20 63 6f 72 72 65 63 74 20 73 65 71 the correct seq
f010: 75 65 6e 63 65 20 61 6c 6c 20 4c 69 6e 6b 73 20 uence all Links
f020: 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20 4f connecting the O
f030: 72 69 67 69 6e 20 61 6e 64 20 74 68 65 20 44 65 rigin and the De
f040: 73 74 69 6e 61 74 69 6f 6e 20 6f 66 20 65 61 63 stination of eac
f050: 68 20 52 6f 75 74 65 2e 3c 62 72 3e 0d 0a 3c 62 h Route.<br>..<b
f060: 3e 52 6f 75 74 65 52 6f 77 3d 30 3c 2f 62 3e 20 >RouteRow=0</b>
f070: 61 6c 77 61 79 73 20 69 64 65 6e 74 69 66 69 65 always identifie
f080: 73 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 s the header row
f090: 20 6f 66 20 65 61 63 68 20 74 72 61 76 65 6c 20 of each travel
f0a0: 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a solution.</li>..
f0b0: 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e </ul>..<br>..<u>
f0c0: 4e 6f 74 69 63 65 3c 2f 75 3e 3a 20 74 68 65 20 Notice</u>: the
f0d0: 6c 61 73 74 20 74 77 6f 20 72 6f 77 73 20 69 6e last two rows in
f0e0: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 the resultset r
f0f0: 65 70 6f 72 74 73 20 3c 62 3e 55 6e 72 65 61 63 eports <b>Unreac
f100: 68 61 62 6c 65 20 4e 6f 64 65 54 6f 09 3c 2f 62 hable NodeTo.</b
f110: 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52 6f 6c 65 > in the <b>Role
f120: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2c 20 74 68 75 </b> column, thu
f130: 73 20 69 6d 70 6c 79 69 6e 67 20 61 20 3c 62 3e s implying a <b>
f140: 66 6f 72 62 69 64 64 65 6e 20 63 6f 6e 6e 65 63 forbidden connec
f150: 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 tion</b>.<br>..T
f160: 68 69 73 20 77 61 73 20 70 75 72 70 6f 73 65 6c his was purposel
f170: 79 20 69 6e 74 65 6e 64 65 64 3a 20 4e 6f 64 65 y intended: Node
f180: 73 20 3c 62 3e 32 39 30 34 35 38 3c 2f 62 3e 20 s <b>290458</b>
f190: 61 6e 64 20 3c 62 3e 31 32 34 36 32 32 3c 2f 62 and <b>124622</b
f1a0: 3e 20 61 72 65 20 6c 6f 63 61 74 65 64 20 6f 6e > are located on
f1b0: 20 45 6c 62 61 20 61 6e 64 20 47 69 67 6c 69 6f Elba and Giglio
f1c0: 20 69 73 6c 61 6e 64 73 2e 20 54 68 65 20 75 6e islands. The un
f1d0: 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 derlaying Networ
f1e0: 6b 20 69 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 k is based on <b
f1f0: 3e 49 74 65 72 2e 4e 65 74 3c 2f 62 3e 20 74 68 >Iter.Net</b> th
f200: 61 74 20 64 6f 6e 27 74 20 73 75 70 70 6f 72 74 at don't support
f210: 73 20 66 65 72 72 79 20 63 6f 6e 6e 65 63 74 69 s ferry connecti
f220: 6f 6e 73 2c 20 73 6f 20 61 6e 79 20 74 72 61 76 ons, so any trav
f230: 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 62 65 74 77 el solution betw
f240: 65 65 6e 20 74 68 65 20 69 73 6c 61 6e 64 73 20 een the islands
f250: 61 6e 64 20 74 68 65 20 6d 61 69 6e 6c 61 6e 64 and the mainland
f260: 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 66 61 69 will always fai
f270: 6c 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e l...<br><br><br>
f280: 0d 0a 41 6c 73 6f 20 3c 62 3e 6d 75 6c 74 69 2d ..Also <b>multi-
f290: 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e destinations</b>
f2a0: 20 71 75 65 72 69 65 73 20 63 61 6e 20 62 65 20 queries can be
f2b0: 63 75 73 74 6f 6d 69 7a 65 64 2c 20 62 75 74 20 customized, but
f2c0: 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f the configuratio
f2d0: 6e 20 72 75 6c 65 73 20 73 6c 69 67 68 74 6c 79 n rules slightly
f2e0: 20 64 69 66 66 65 72 20 66 72 6f 6d 20 77 68 61 differ from wha
f2f0: 74 20 79 6f 75 20 68 61 76 65 20 61 6c 72 65 61 t you have alrea
f300: 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63 dy seen in the c
f310: 61 73 65 20 6f 66 20 73 69 6e 67 6c 65 2d 64 65 ase of single-de
f320: 73 74 69 6e 61 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e stination...<ul>
f330: 0d 0a 3c 6c 69 3e 3c 62 3e 41 6c 67 6f 72 69 74 ..<li><b>Algorit
f340: 68 6d 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 3c 62 3e hm</b>: only <b>
f350: 44 69 6a 6b 73 74 72 61 3c 2f 62 3e 20 69 73 20 Dijkstra</b> is
f360: 73 75 70 70 6f 72 74 65 64 20 62 79 20 6d 75 6c supported by mul
f370: 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 2c 20 ti-destination,
f380: 61 6e 64 20 77 69 6c 6c 20 62 65 20 69 6d 70 6c and will be impl
f390: 69 63 69 74 6c 79 20 61 73 73 75 6d 65 64 20 65 icitly assumed e
f3a0: 76 65 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 ven when the alt
f3b0: 65 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f ernative <b>A*</
f3c0: 62 3e 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 b> algorithm is
f3d0: 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 currently select
f3e0: 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 ed.</li>..<li><b
f3f0: 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20 74 68 >Options</b>: th
f400: 65 20 75 73 75 61 6c 20 3c 62 3e 46 55 4c 4c 3c e usual <b>FULL<
f410: 2f 62 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f /b>, <b>SIMPLE</
f420: 62 3e 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c b>, <b>NO LINKS<
f430: 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 47 45 /b> and <b>NO GE
f440: 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61 72 65 OMETRIES</b> are
f450: 20 73 75 70 70 6f 72 74 65 64 20 61 6e 64 20 77 supported and w
f460: 69 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d ill have the sam
f470: 65 20 65 66 66 65 63 74 20 61 73 20 69 6e 20 73 e effect as in s
f480: 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f ingle-destinatio
f490: 6e 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d n queries.</li>.
f4a0: 0a 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 62 61 74 69 .</ul>..<verbati
f4b0: 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f m>..UPDATE byfoo
f4c0: 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 t SET Options =
f4d0: 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 'SIMPLE';....SEL
f4e0: 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 ECT Algorithm, R
f4f0: 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c equest, Options,
f500: 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 Delimiter, Rout
f510: 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 eId, RouteRow, R
f520: 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 ole, LinkRowid,
f530: 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f NodeFrom, NodeTo
f540: 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 , Cost, Geometry
f550: 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 , Name..FROM byf
f560: 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 oot..WHERE NodeF
f570: 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 rom = 178731 AND
f580: 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 NodeTo = '18328
f590: 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 39 2c 6,290458,181999,
f5a0: 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 31 38 184030,124622,18
f5b0: 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 3882,178754';..<
f5c0: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 /verbatim>..The
f5d0: 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 following table
f5e0: 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 shows the result
f5f0: 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 set returned by
f600: 74 68 65 20 73 61 6d 65 20 6d 75 6c 74 69 2d 64 the same multi-d
f610: 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 79 estination query
f620: 20 75 73 65 64 20 69 6e 20 74 68 65 20 70 72 65 used in the pre
f630: 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 61 66 vious example af
f640: 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 ter enabling the
f650: 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e 20 6f <b>SIMPLE</b> o
f660: 70 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e ption...<br><br>
f670: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d ..<table border=
f680: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 "1" bgcolor="#ff
f690: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e ffcf" cellspacin
f6a0: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e g="4" cellpaddin
f6b0: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 g="6">..<tr><th
f6c0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
f6d0: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e ">Algorithm</th>
f6e0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
f6f0: 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 d0a0">Request</t
f700: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
f710: 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c d0d0a0">Options<
f720: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
f730: 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 "#d0d0a0">Delimi
f740: 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ter</th><th bgco
f750: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
f760: 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 uteId</th><th bg
f770: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
f780: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 RouteRow</th><th
f790: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
f7a0: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
f7b0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
f7c0: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e ">LinkRowid</th>
f7d0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
f7e0: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f d0a0">NodeFrom</
f7f0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
f800: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c #d0d0a0">NodeTo<
f810: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
f820: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f "#d0d0a0">Cost</
f830: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
f840: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 #d0d0a0">Geometr
f850: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f y</th><th bgcolo
f860: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 r="#d0d0a0">Name
f870: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
f880: 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f ..<td>Dijkstra</
f890: 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 td><td>Shortest
f8a0: 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c Path</td><td>Ful
f8b0: 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 l</td><td>, [
f8c0: 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 ;dec=44, hex=2c&
f8d0: 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 #93;</td><td ali
f8e0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
f8f0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
f900: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
f910: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
f920: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
f930: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
f940: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
f950: 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 t">183882</td><t
f960: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
f970: 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 154.750839</td><
f980: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
f990: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
f9a0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
f9b0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
f9c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
f9d0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
f9e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c align="right">1<
f9f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
fa00: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e ight">0</td><td>
fa10: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 Route</td><td>NU
fa20: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
fa30: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
fa40: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
fa50: 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 ight">184030</td
fa60: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
fa70: 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 t">176.364755</t
fa80: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
fa90: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
faa0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
fab0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
fac0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
fad0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
fae0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
faf0: 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >2</td><td align
fb00: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
fb10: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 td>Route</td><td
fb20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
fb30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
fb40: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
fb50: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c ="right">178754<
fb60: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
fb70: 69 67 68 74 22 3e 32 32 34 2e 36 37 37 30 39 35 ight">224.677095
fb80: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
fb90: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
fba0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
fbb0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
fbc0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
fbd0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
fbe0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
fbf0: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">3</td><td al
fc00: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
fc10: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e d><td>Route</td>
fc20: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fc30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
fc40: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
fc50: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 ign="right">1819
fc60: 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 99</td><td align
fc70: 3d 22 72 69 67 68 74 22 3e 32 36 30 2e 31 33 32 ="right">260.132
fc80: 33 35 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 354</td><td>NULL
fc90: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
fca0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
fcb0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
fcc0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
fcd0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
fce0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
fcf0: 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 right">4</td><td
fd00: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
fd10: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
fd20: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fd30: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
fd40: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
fd50: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
fd60: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83286</td><td al
fd70: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e ign="right">300.
fd80: 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 912208</td><td>N
fd90: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
fda0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
fdb0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
fdc0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
fdd0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
fde0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
fdf0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
fe00: 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c d><td>Unreachabl
fe10: 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 e NodeTo</td><td
fe20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
fe30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
fe40: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
fe50: 3d 22 72 69 67 68 74 22 3e 32 39 30 34 35 38 3c ="right">290458<
fe60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
fe70: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
fe80: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
fe90: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
fea0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
feb0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
fec0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
fed0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
fee0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 ULL</td><td>Unre
fef0: 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f achable NodeTo</
ff00: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
ff10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
ff20: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
ff30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
ff40: 32 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 24622</td><td>NU
ff50: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
ff60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
ff70: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c >..</tr>..</tabl
ff80: 65 3e 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 e>..<br>..The ma
ff90: 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 p below graphica
ffa0: 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 70 72 lly shows the pr
ffb0: 65 76 69 6f 75 73 20 3c 62 3e 6d 75 6c 74 69 2d evious <b>multi-
ffc0: 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e destinations</b>
ffd0: 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c queries...<br><
ffe0: 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 br>..<img src="h
fff0: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d ttps://www.gaia-
10000 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 gis.it/gaia-sins
10010 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f /routing-figs/ro
10020 75 74 69 6e 67 33 2e 6a 70 67 22 20 61 6c 74 3d uting3.jpg" alt=
10030 22 66 69 67 33 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c "fig3">..<ul>..<
10040 6c 69 3e 52 65 64 20 73 74 61 72 3a 20 74 68 65 li>Red star: the
10050 20 4f 72 69 67 69 6e 20 4e 6f 64 65 2e 3c 2f 6c Origin Node.</l
10060 69 3e 0d 0a 3c 6c 69 3e 47 72 65 65 6e 20 64 6f i>..<li>Green do
10070 74 73 3a 20 74 68 65 20 44 65 73 74 69 6e 61 74 ts: the Destinat
10080 69 6f 6e 20 4e 6f 64 65 73 2e 3c 2f 6c 69 3e 0d ion Nodes.</li>.
10090 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 6c 69 6e 65 .<li>Yellow line
100a0 73 3a 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 61 s: all individua
100b0 6c 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f l travel solutio
100c0 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d ns.</li>..</ul>.
100d0 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 .<br>..<table bg
100e0 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20 color="#ffb060"
100f0 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 cellspacing="10"
10100 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
10110 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 44 ><tr><td>..<h3>D
10120 61 6e 67 65 72 6f 75 73 20 70 69 74 66 61 6c 6c angerous pitfall
10130 73 20 72 65 6c 61 74 65 64 20 74 6f 20 6d 75 6c s related to mul
10140 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f tiple destinatio
10150 6e 20 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a 53 51 n lists</h3>..SQ
10160 4c 20 73 79 6e 74 61 78 20 64 69 72 65 63 74 6c L syntax directl
10170 79 20 61 6c 6c 6f 77 73 20 74 6f 20 73 70 65 63 y allows to spec
10180 69 66 79 20 6c 69 73 74 73 20 6f 66 20 20 6d 75 ify lists of mu
10190 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 2c 20 73 ltiple values, s
101a0 6f 20 6d 61 79 20 62 65 20 79 6f 75 20 61 72 65 o may be you are
101b0 20 6e 6f 77 20 77 6f 6e 64 65 72 69 6e 67 20 61 now wondering a
101c0 62 6f 75 74 20 77 72 69 74 69 6e 67 20 74 68 65 bout writing the
101d0 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 20 64 65 73 <b>multiple des
101e0 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 tinations</b> qu
101f0 65 72 79 20 74 65 73 74 65 64 20 69 6e 20 74 68 ery tested in th
10200 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 e previous examp
10210 6c 65 73 20 74 68 69 73 20 77 61 79 3a 0d 0a 3c les this way:..<
10220 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 verbatim>..SELEC
10230 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 T Algorithm, Req
10240 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 uest, Options, D
10250 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 elimiter, RouteI
10260 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c d, RouteRow, Rol
10270 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f e, LinkRowid, No
10280 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 deFrom, NodeTo,
10290 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 Cost, Geometry,
102a0 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f Name..FROM byfoo
102b0 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f t..WHERE NodeFro
102c0 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e m = 178731 AND N
102d0 6f 64 65 54 6f 20 49 4e 20 28 31 38 33 32 38 36 odeTo IN (183286
102e0 2c 20 32 39 30 34 35 38 2c 20 31 38 31 39 39 39 , 290458, 181999
102f0 2c 20 31 38 34 30 33 30 2c 20 31 32 34 36 32 32 , 184030, 124622
10300 2c 20 31 38 33 38 38 32 2c 20 31 37 38 37 35 34 , 183882, 178754
10310 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d );..</verbatim>.
10320 0a 54 68 65 72 65 20 69 73 20 61 20 76 65 72 79 .There is a very
10330 20 67 6f 6f 64 20 72 65 61 73 6f 6e 20 64 69 73 good reason dis
10340 63 6f 75 72 61 67 69 6e 67 20 66 72 6f 6d 20 64 couraging from d
10350 6f 69 6e 67 20 73 75 63 68 20 61 20 74 68 69 6e oing such a thin
10360 67 2c 20 6c 65 74 27 73 20 73 65 65 20 77 68 79 g, let's see why
10370 2e 3c 62 72 3e 0d 0a 3c 62 3e 53 51 4c 69 74 65 .<br>..<b>SQLite
10380 3c 2f 62 3e 20 77 69 6c 6c 20 70 72 6f 63 65 73 </b> will proces
10390 73 20 61 20 72 65 71 75 65 73 74 20 77 72 69 74 s a request writ
103a0 74 65 6e 20 74 68 69 73 20 77 61 79 20 62 79 20 ten this way by
103b0 72 65 70 65 61 74 65 64 6c 79 20 63 61 6c 6c 69 repeatedly calli
103c0 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e ng VirtualRoutin
103d0 67 20 70 61 73 73 69 6e 67 20 65 61 63 68 20 74 g passing each t
103e0 69 6d 65 20 61 20 73 69 6e 67 6c 65 20 44 65 73 ime a single Des
103f0 74 69 6e 61 74 69 6f 6e 3b 20 61 6e 64 20 63 6f tination; and co
10400 6e 73 65 71 75 65 6e 74 6c 79 20 3c 62 3e 56 69 nsequently <b>Vi
10410 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e rtualRouting</b>
10420 20 77 69 6c 6c 20 6e 65 76 65 72 20 72 65 63 65 will never rece
10430 69 76 65 20 74 68 65 20 63 72 69 74 69 63 61 6c ive the critical
10440 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61 information tha
10450 74 20 61 20 73 69 6e 67 6c 65 20 6d 6f 6e 6f 6c t a single monol
10460 69 74 68 69 63 20 72 65 71 75 65 73 74 20 77 61 ithic request wa
10470 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 s intended to be
10480 20 65 78 65 63 75 74 65 64 20 69 6e 20 61 20 73 executed in a s
10490 69 6e 67 6c 65 20 73 68 6f 74 2e 20 53 6f 20 74 ingle shot. So t
104a0 68 65 20 72 65 71 75 65 73 74 20 63 6f 6e 74 65 he request conte
104b0 78 74 20 77 69 6c 6c 20 62 65 20 65 61 73 69 6c xt will be easil
104c0 79 20 6d 69 73 69 6e 74 65 72 70 72 65 74 65 64 y misinterpreted
104d0 2c 20 61 6e 64 20 61 6e 79 20 65 78 70 65 63 74 , and any expect
104e0 65 64 20 73 70 65 65 64 20 62 65 6e 65 66 69 74 ed speed benefit
104f0 20 77 69 6c 6c 20 62 65 20 63 6f 6d 70 6c 65 74 will be complet
10500 65 6c 79 20 66 72 75 73 74 72 61 74 65 64 2e 0d ely frustrated..
10510 0a 3c 68 33 3e 42 65 77 61 72 65 3c 2f 68 33 3e .<h3>Beware</h3>
10520 0d 0a 3c 62 3e 4e 65 76 65 72 20 65 76 65 72 3c ..<b>Never ever<
10530 2f 62 3e 20 61 74 74 65 6d 70 74 20 74 6f 20 64 /b> attempt to d
10540 65 66 69 6e 65 20 61 20 6c 69 73 74 20 6f 66 20 efine a list of
10550 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 multiple destina
10560 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68 65 20 tions using the
10570 73 74 61 6e 64 61 72 64 20 53 51 4c 20 73 79 6e standard SQL syn
10580 74 61 78 20 3c 62 3e 3c 69 3e 57 48 45 52 45 20 tax <b><i>WHERE
10590 4e 6f 64 65 54 6f 20 49 4e 20 28 2e 2e 2e 2e 2e NodeTo IN (.....
105a0 2e 29 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65 63 61 .)</i></b>, beca
105b0 75 73 65 20 74 68 69 73 20 77 69 6c 6c 20 63 65 use this will ce
105c0 72 74 61 69 6e 6c 79 20 63 61 75 73 65 20 6d 61 rtainly cause ma
105d0 6e 79 20 75 6e 65 78 70 65 63 74 65 64 20 74 72 ny unexpected tr
105e0 6f 75 62 6c 65 73 2e 3c 62 72 3e 0d 0a 42 61 64 oubles.<br>..Bad
105f0 6c 79 20 66 6f 72 6d 61 74 74 65 64 20 72 65 73 ly formatted res
10600 75 6c 74 73 65 74 73 20 77 69 6c 6c 20 62 65 20 ultsets will be
10610 74 68 65 6e 20 72 65 74 75 72 6e 65 64 2c 20 6d then returned, m
10620 61 79 20 62 65 20 63 6f 6e 74 61 69 6e 69 6e 67 ay be containing
10630 20 77 72 6f 6e 67 20 72 65 73 75 6c 74 73 2e 20 wrong results.
10640 3c 62 3e 59 6f 75 20 61 72 65 20 77 61 72 6e 65 <b>You are warne
10650 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a d</b>.<br><br>..
10660 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c </td></tr></tabl
10670 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 e>..<br>..<table
10680 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 bgcolor="#c0ffc
10690 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 0" cellspacing="
106a0 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 10" cellpadding=
106b0 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 "6"><tr><td>..<h
106c0 33 3e 48 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 3>How to correct
106d0 6c 79 20 66 6f 72 6d 61 74 20 6d 75 6c 74 69 70 ly format multip
106e0 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 le destinations
106f0 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a 56 69 72 74 lists</h3>..Virt
10700 75 61 6c 52 6f 75 74 69 6e 67 20 61 6c 77 61 79 ualRouting alway
10710 73 20 65 78 70 65 63 74 73 20 74 6f 20 72 65 63 s expects to rec
10720 65 69 76 65 20 61 20 3c 62 3e 6d 75 6c 74 69 2d eive a <b>multi-
10730 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e destinations</b>
10740 20 6c 69 73 74 20 61 73 20 61 20 3c 62 3e 54 45 list as a <b>TE
10750 58 54 3c 2f 62 3e 20 73 74 72 69 6e 67 20 63 6f XT</b> string co
10760 6e 74 61 69 6e 69 6e 67 20 74 69 67 68 74 6c 79 ntaining tightly
10770 20 70 61 63 6b 65 64 20 76 61 6c 75 65 73 20 73 packed values s
10780 65 70 61 72 61 74 65 64 20 62 79 20 61 20 63 6f eparated by a co
10790 6e 76 65 6e 74 69 6f 6e 61 6c 20 3c 62 3e 64 65 nventional <b>de
107a0 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 28 75 73 75 limiter</b> (usu
107b0 61 6c 6c 79 20 72 65 70 72 65 73 65 6e 74 65 64 ally represented
107c0 20 62 79 20 61 20 3c 62 3e 63 6f 6d 6d 61 3c 2f by a <b>comma</
107d0 62 3e 29 2e 3c 62 72 3e 0d 0a 45 78 61 6d 70 6c b>).<br>..Exampl
107e0 65 73 20 6f 66 20 3c 62 3e 77 65 6c 6c 20 66 6f es of <b>well fo
107f0 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d 75 6c 74 rmatted</b> mult
10800 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 6c i-destinations l
10810 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d ists:..<verbatim
10820 3e 0d 0a 27 31 2c 32 2c 33 2c 34 2c 35 2c 31 30 >..'1,2,3,4,5,10
10830 2c 31 30 30 2c 31 30 30 30 2c 31 30 30 30 30 30 ,100,1000,100000
10840 27 20 20 20 2d 2d 20 69 6e 74 65 67 65 72 20 4e ' -- integer N
10850 6f 64 65 20 49 44 73 0d 0a 0d 0a 27 41 31 30 30 ode IDs....'A100
10860 42 2c 41 31 30 30 46 2c 42 32 35 30 5a 2c 43 30 B,A100F,B250Z,C0
10870 31 30 4d 2c 5a 39 39 39 41 27 20 20 2d 2d 20 61 10M,Z999A' -- a
10880 6c 70 68 61 6e 75 6d 65 72 69 63 20 4e 6f 64 65 lphanumeric Node
10890 20 43 6f 64 65 73 0d 0a 3c 2f 76 65 72 62 61 74 Codes..</verbat
108a0 69 6d 3e 0d 0a 45 78 61 6d 70 6c 65 73 20 6f 66 im>..Examples of
108b0 20 3c 62 3e 62 61 64 6c 79 20 66 6f 72 6d 61 74 <b>badly format
108c0 74 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d 64 65 ted</b> multi-de
108d0 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74 73 stinations lists
108e0 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 27 :..<verbatim>..'
108f0 20 20 31 2c 20 32 2c 20 33 2c 20 34 20 2c 20 35 1, 2, 3, 4 , 5
10900 20 2c 20 31 30 2c 20 31 30 30 2c 20 31 30 30 30 , 10, 100, 1000
10910 2c 20 31 30 30 30 30 30 20 20 27 20 20 20 2d 2d , 100000 ' --
10920 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20 49 44 integer Node ID
10930 73 0d 0a 0d 0a 27 20 20 41 31 30 30 42 2c 20 41 s....' A100B, A
10940 31 30 30 46 20 2c 20 42 32 35 30 5a 20 2c 20 43 100F , B250Z , C
10950 30 31 30 4d 2c 20 5a 39 39 39 41 20 20 27 20 20 010M, Z999A '
10960 20 20 20 20 2d 2d 20 61 6c 70 68 61 6e 75 6d 65 -- alphanume
10970 72 69 63 20 4e 6f 64 65 20 43 6f 64 65 73 0d 0a ric Node Codes..
10980 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e </verbatim>..<u>
10990 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6c 6c 20 77 68 Note</u>: all wh
109a0 69 74 65 73 70 61 63 65 73 20 69 6d 6d 65 64 69 itespaces immedi
109b0 61 74 65 6c 79 20 70 72 65 63 65 64 69 6e 67 20 ately preceding
109c0 6f 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 or following the
109d0 20 3c 62 3e 64 65 6c 69 6d 69 74 65 72 3c 2f 62 <b>delimiter</b
109e0 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69 64 > will be consid
109f0 65 72 65 64 20 74 6f 20 62 65 20 69 6e 74 65 67 ered to be integ
10a00 72 61 6c 20 70 61 72 74 20 6f 66 20 74 68 65 20 ral part of the
10a10 76 61 6c 75 65 20 69 74 73 65 6c 66 2e 3c 62 72 value itself.<br
10a20 3e 0d 0a 54 68 69 73 20 77 69 6c 6c 20 68 61 76 >..This will hav
10a30 65 20 6e 6f 20 61 64 76 65 72 73 65 20 63 6f 6e e no adverse con
10a40 73 65 71 75 65 6e 63 65 73 20 69 6e 20 74 68 65 sequences in the
10a50 20 63 61 73 65 20 6f 66 20 69 6e 74 65 67 65 72 case of integer
10a60 20 76 61 6c 75 65 73 2c 20 62 75 74 20 63 61 6e values, but can
10a70 20 65 61 73 69 6c 79 20 68 61 76 65 20 63 61 74 easily have cat
10a80 61 73 74 72 6f 70 68 69 63 20 65 66 66 65 63 74 astrophic effect
10a90 73 20 6f 6e 20 61 6c 70 68 61 6e 75 6d 65 72 69 s on alphanumeri
10aa0 63 20 76 61 6c 75 65 73 2e 0d 0a 3c 68 33 3e 44 c values...<h3>D
10ab0 65 66 69 6e 69 6e 67 20 61 20 63 75 73 74 6f 6d efining a custom
10ac0 20 64 65 6c 69 6d 69 74 65 72 3c 2f 68 33 3e 0d delimiter</h3>.
10ad0 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20 63 6f .Sometimes it co
10ae0 75 6c 64 20 62 65 20 75 73 65 66 75 6c 20 73 65 uld be useful se
10af0 74 74 69 6e 67 20 75 70 20 61 20 64 65 6c 69 6d tting up a delim
10b00 69 74 65 72 20 64 69 66 66 65 72 65 6e 74 20 66 iter different f
10b10 72 6f 6d 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e rom <b>comma</b>
10b20 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 ...<verbatim>..U
10b30 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 PDATE byfoot SET
10b40 20 44 65 6c 69 6d 69 74 65 72 20 3d 20 27 2a 27 Delimiter = '*'
10b50 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 44 65 6c 69 ;....SELECT Deli
10b60 6d 69 74 65 72 20 46 52 4f 4d 20 62 79 66 6f 6f miter FROM byfoo
10b70 74 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d t;..------------
10b80 2d 2d 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65 63 3d 34 ------..* [dec=4
10b90 32 2c 20 68 65 78 3d 32 61 5d 0d 0a 3c 2f 76 65 2, hex=2a]..</ve
10ba0 72 62 61 74 69 6d 3e 20 0d 0a 59 6f 75 20 73 69 rbatim> ..You si
10bb0 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 65 78 65 mply have to exe
10bc0 63 75 74 65 20 61 6e 20 3c 62 3e 55 50 44 41 54 cute an <b>UPDAT
10bd0 45 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 20 E</b> statement
10be0 62 79 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 by specifying th
10bf0 65 20 6e 65 77 20 64 65 6c 69 6d 69 74 65 72 20 e new delimiter
10c00 76 61 6c 75 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a value.<br><br>..
10c10 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c </td></tr></tabl
10c20 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 e>..<br><br>..<h
10c30 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e r><br>..<h1><a n
10c40 61 6d 65 3d 22 69 73 6f 63 68 72 6f 6e 65 22 3e ame="isochrone">
10c50 36 20 2d 20 53 6f 6c 76 69 6e 67 20 49 73 6f 63 6 - Solving Isoc
10c60 68 72 6f 6e 65 20 70 72 6f 62 6c 65 6d 73 3c 2f hrone problems</
10c70 61 3e 3c 2f 68 31 3e 0d 0a 3c 61 20 68 72 65 66 a></h1>..<a href
10c80 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b ="https://en.wik
10c90 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f ipedia.org/wiki/
10ca0 49 73 6f 63 68 72 6f 6e 65 5f 6d 61 70 22 3e 49 Isochrone_map">I
10cb0 73 6f 63 68 72 6f 6e 65 73 3c 2f 61 3e 20 61 72 sochrones</a> ar
10cc0 65 20 61 72 65 61 73 20 28 6f 72 20 63 75 72 76 e areas (or curv
10cd0 65 73 29 20 63 6f 6e 6e 65 63 74 69 6e 67 20 70 es) connecting p
10ce0 6f 69 6e 74 73 20 61 74 20 77 68 69 63 68 20 73 oints at which s
10cf0 6f 6d 65 74 68 69 6e 67 20 6f 63 63 75 72 73 20 omething occurs
10d00 6f 72 20 61 72 72 69 76 65 73 20 61 74 20 74 68 or arrives at th
10d10 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 62 72 3e e same time.<br>
10d20 0d 0a 49 73 6f 63 68 72 6f 6e 65 73 20 61 72 65 ..Isochrones are
10d30 20 75 73 75 61 6c 6c 79 20 72 65 6c 61 74 65 64 usually related
10d40 20 74 6f 20 4e 65 74 77 6f 72 6b 20 41 6e 61 6c to Network Anal
10d50 79 73 69 73 20 61 6e 64 20 52 6f 75 74 69 6e 67 ysis and Routing
10d60 20 62 65 63 61 75 73 65 20 74 68 65 79 20 61 6c because they al
10d70 6c 6f 77 20 74 6f 20 65 61 73 69 6c 79 20 69 64 low to easily id
10d80 65 6e 74 69 66 79 20 77 68 69 63 68 20 73 70 65 entify which spe
10d90 63 69 66 69 63 20 70 6f 72 74 69 6f 6e 20 6f 66 cific portion of
10da0 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 63 61 6e the Network can
10db0 20 62 65 20 72 65 61 63 68 65 64 20 73 74 61 72 be reached star
10dc0 74 69 6e 67 20 62 79 20 73 6f 6d 65 20 3c 62 3e ting by some <b>
10dd0 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 origin Node</b>
10de0 73 70 65 6e 64 69 6e 67 20 6e 6f 20 6d 6f 72 65 spending no more
10df0 20 74 68 61 6e 20 61 20 67 69 76 65 6e 20 3c 62 than a given <b
10e00 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 >Cost</b>.<br><b
10e10 72 3e 0d 0a 41 73 20 79 6f 75 20 68 61 76 65 20 r>..As you have
10e20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 61 62 6f already seen abo
10e30 75 74 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 ut <b>multi-dest
10e40 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 ination</b> quer
10e50 69 65 73 2c 20 74 68 65 20 44 69 6a 6b 73 74 72 ies, the Dijkstr
10e60 61 27 73 20 41 6c 67 6f 72 69 74 68 6d 20 72 6f a's Algorithm ro
10e70 62 75 73 74 6c 79 20 65 6e 73 75 72 65 73 20 74 bustly ensures t
10e80 68 61 74 20 77 68 65 6e 20 61 20 64 65 73 74 69 hat when a desti
10e90 6e 61 74 69 6f 6e 20 69 73 20 72 65 61 63 68 65 nation is reache
10ea0 64 20 61 6c 6c 20 74 68 65 20 64 65 73 74 69 6e d all the destin
10eb0 61 74 69 6f 6e 73 20 70 72 65 73 65 6e 74 69 6e ations presentin
10ec0 67 20 61 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f g a <b>lesser co
10ed0 73 74 3c 2f 62 3e 20 68 61 76 65 20 61 6c 72 65 st</b> have alre
10ee0 61 64 79 20 62 65 65 6e 20 72 65 61 63 68 65 64 ady been reached
10ef0 20 69 6e 20 73 6f 6d 65 20 70 72 65 76 69 6f 75 in some previou
10f00 73 20 73 74 65 70 20 6f 66 20 74 68 65 20 70 72 s step of the pr
10f10 6f 63 65 73 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 ocess.<br>..This
10f20 20 61 6c 6c 6f 77 73 20 74 6f 20 65 66 66 69 63 allows to effic
10f30 69 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c iently support <
10f40 62 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 b>Isochrone</b>
10f50 71 75 65 72 69 65 73 2e 0d 0a 59 6f 75 20 73 69 queries...You si
10f60 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 73 70 65 mply have to spe
10f70 63 69 66 79 20 61 20 3c 62 3e 73 69 6e 67 6c 65 cify a <b>single
10f80 20 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e origin Node</b>
10f90 20 61 6e 64 20 61 20 3c 62 3e 43 6f 73 74 20 74 and a <b>Cost t
10fa0 68 72 65 73 68 6f 6c 64 3c 2f 62 3e 2e 3c 62 72 hreshold</b>.<br
10fb0 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f ><br>..<u>Note</
10fc0 75 3e 3a 20 65 78 65 63 75 74 69 6e 67 20 61 6e u>: executing an
10fd0 20 49 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 Isochrone query
10fe0 20 72 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70 requires a <b>p
10ff0 72 6f 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f rocessing time</
11000 62 3e 20 74 68 61 74 20 69 73 6e 27 74 20 74 68 b> that isn't th
11010 65 20 3c 75 3e 73 75 6d 20 6f 66 20 61 6c 6c 20 e <u>sum of all
11020 69 6e 64 69 76 69 64 75 61 6c 20 74 69 6d 69 6e individual timin
11030 67 73 20 66 6f 72 20 65 61 63 68 20 64 65 73 74 gs for each dest
11040 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c 20 62 75 74 ination</u>, but
11050 20 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20 3c simply is the <
11060 75 3e 74 69 6d 65 20 72 65 71 75 69 72 65 64 20 u>time required
11070 74 6f 20 72 65 61 63 68 20 74 68 65 20 6d 6f 73 to reach the mos
11080 74 20 63 6f 73 74 6c 79 20 64 65 73 74 69 6e 61 t costly destina
11090 74 69 6f 6e 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 3c tion</u>.<br>..<
110a0 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 verbatim>..SELEC
110b0 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 T Algorithm, Req
110c0 75 65 73 74 2c 20 52 6f 6c 65 2c 20 4e 6f 64 65 uest, Role, Node
110d0 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f From, NodeTo, Co
110e0 73 74 2c 20 47 65 6f 6d 65 74 72 79 0d 0a 46 52 st, Geometry..FR
110f0 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 OM byfoot..WHERE
11100 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 31 39 NodeFrom = 1819
11110 39 39 20 41 4e 44 20 43 6f 73 74 20 3c 3d 20 31 99 AND Cost <= 1
11120 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 000.0;..</verbat
11130 69 6d 3e 0d 0a 41 6e 20 3c 62 3e 49 73 6f 63 68 im>..An <b>Isoch
11140 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79 20 61 rone</b> query a
11150 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 3c s supported by <
11160 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 b>VirtualRouting
11170 3c 2f 62 3e 20 6a 75 73 74 20 72 65 71 75 69 72 </b> just requir
11180 65 73 20 74 6f 20 73 70 65 63 69 66 79 3a 0d 0a es to specify:..
11190 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64 <ul>..<li><b>Nod
111a0 65 46 72 6f 6d 3c 2f 62 3e 3a 20 74 68 65 20 3c eFrom</b>: the <
111b0 62 3e 3c 69 3e 49 44 3c 2f 69 3e 3c 2f 62 3e 20 b><i>ID</i></b>
111c0 6f 72 20 3c 62 3e 3c 69 3e 43 6f 64 65 3c 2f 69 or <b><i>Code</i
111d0 3e 3c 2f 62 3e 20 75 6e 69 71 75 65 6c 79 20 69 ></b> uniquely i
111e0 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 3c dentifying the <
111f0 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 b>origin Node</b
11200 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e >.</li>..<li><b>
11210 43 6f 73 74 3c 2f 62 3e 3a 20 74 68 65 20 6d 61 Cost</b>: the ma
11220 78 69 6d 75 6d 20 3c 62 3e 43 6f 73 74 20 74 68 ximum <b>Cost th
11230 72 65 73 68 6f 6c 64 3c 2f 62 3e 20 6e 6f 74 20 reshold</b> not
11240 74 6f 20 62 65 20 65 78 63 65 65 64 65 64 2e 3c to be exceeded.<
11250 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e br>..<u>Note</u>
11260 3a 20 61 6e 79 20 76 61 6c 69 64 20 49 73 6f 63 : any valid Isoc
11270 68 72 6f 6e 65 20 71 75 65 72 79 20 3c 62 3e 6d hrone query <b>m
11280 75 73 74 3c 2f 62 3e 20 6e 65 63 65 73 73 61 72 ust</b> necessar
11290 69 6c 79 20 73 70 65 63 69 66 79 20 61 20 3c 62 ily specify a <b
112a0 3e 3c 3d 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6c ><=</b> (<u><i>l
112b0 65 73 73 65 72 20 74 68 61 6e 20 6f 72 20 65 71 esser than or eq
112c0 75 61 6c 20 74 6f 3c 2f 69 3e 3c 2f 75 3e 29 20 ual to</i></u>)
112d0 63 6f 6d 70 61 72 69 73 6f 6e 20 6f 70 65 72 61 comparison opera
112e0 74 6f 72 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e tor.</li>..</ul>
112f0 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c ..<br>..The foll
11300 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 owing table show
11310 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 s the resultset
11320 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 returned by the
11330 61 62 6f 76 65 20 49 73 6f 63 68 72 6f 6e 65 20 above Isochrone
11340 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e query...<br><br>
11350 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d ..<table border=
11360 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 "1" bgcolor="#ff
11370 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e ffcf" cellspacin
11380 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e g="4" cellpaddin
11390 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 g="6">..<tr><th
113a0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
113b0 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e ">Algorithm</th>
113c0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
113d0 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 d0a0">Request</t
113e0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
113f0 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 d0d0a0">Role</th
11400 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
11410 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 0d0a0">NodeFrom<
11420 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
11430 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f "#d0d0a0">NodeTo
11440 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
11450 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c ="#d0d0a0">Cost<
11460 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
11470 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 "#d0d0a0">Geomet
11480 72 79 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 ry</th></tr>..<t
11490 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 r>..<tr>..<td>Di
114a0 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 49 jkstra</td><td>I
114b0 73 6f 63 68 72 6f 6e 65 3c 2f 74 64 3e 3c 74 64 sochrone</td><td
114c0 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 >Solution</td><t
114d0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
114e0 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 181999</td><td a
114f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
11500 37 31 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 717</td><td alig
11510 6e 3d 22 72 69 67 68 74 22 3e 35 37 32 2e 34 35 n="right">572.45
11520 35 31 34 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 5143</td><td>BLO
11530 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 B sz=60 GEOMETRY
11540 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
11550 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
11560 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
11570 64 3e 53 6f 6c 75 74 69 6f 6e 3c 74 64 20 61 6c d>Solution<td al
11580 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 ign="right">1819
11590 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 99</td><td align
115a0 3d 22 72 69 67 68 74 22 3e 31 37 38 37 31 38 3c ="right">178718<
115b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
115c0 69 67 68 74 22 3e 35 38 37 2e 33 30 33 37 37 39 ight">587.303779
115d0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
115e0 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 =60 GEOMETRY</td
115f0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
11600 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 <td align="cente
11610 72 22 20 63 6f 6c 73 70 61 6e 3d 22 37 22 3e 2e r" colspan="7">.
11620 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 3c 2f 74 64 ............</td
11630 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
11640 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
11650 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
11660 69 67 6e 3d 22 72 69 67 68 74 22 3e 53 6f 6c 75 ign="right">Solu
11670 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 tion</td><td ali
11680 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 gn="right">18199
11690 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 9</td><td align=
116a0 22 72 69 67 68 74 22 3e 31 38 34 30 33 35 3c 2f "right">184035</
116b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
116c0 67 68 74 22 3e 35 37 39 2e 37 38 36 37 32 34 3c ght">579.786724<
116d0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
116e0 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 60 GEOMETRY</td>
116f0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
11700 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
11710 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c NULL</td><td>Sol
11720 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c ution</td><td al
11730 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 ign="right">1819
11740 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 99</td><td align
11750 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 36 3c ="right">184036<
11760 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
11770 69 67 68 74 22 3e 36 34 32 2e 36 39 31 35 39 37 ight">642.691597
11780 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
11790 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 =60 GEOMETRY</td
117a0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c >..</tr>..</tabl
117b0 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 e>..<br>..Let's
117c0 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 quickly examine
117d0 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 the resultset re
117e0 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 turned by the ab
117f0 6f 76 65 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 ove <b>isochrone
11800 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a 3c 75 6c </b> query...<ul
11810 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69 >..<li>the <b>fi
11820 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 rst row</b> of t
11830 68 65 20 72 65 73 75 6c 74 73 65 74 20 69 73 20 he resultset is
11840 73 6f 6d 65 77 61 79 20 65 78 63 65 70 74 69 6f someway exceptio
11850 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74 68 65 20 nal, and is the
11860 75 6e 69 71 75 65 20 72 6f 77 20 6f 66 20 74 68 unique row of th
11870 65 20 72 65 73 75 6c 74 73 65 74 20 70 72 65 73 e resultset pres
11880 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e 55 enting <b>NOT NU
11890 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 69 6e LL</b> values in
118a0 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 the <b>Algorith
118b0 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 m</b>, <b>Reques
118c0 74 3c 2f 62 3e 2c 20 3c 2f 62 3e 4f 70 74 69 6f t</b>, </b>Optio
118d0 6e 73 3c 2f 62 3e 20 28 61 6e 64 20 3c 2f 62 3e ns</b> (and </b>
118e0 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 29 20 63 Delimiter</b>) c
118f0 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c olumns.</li>..<l
11900 69 3e 61 6c 6c 20 72 6f 77 73 20 28 69 6e 63 6c i>all rows (incl
11910 75 64 69 6e 67 20 74 68 65 20 66 69 72 73 74 20 uding the first
11920 6f 6e 65 29 20 68 61 76 65 20 3c 62 3e 52 6f 6c one) have <b>Rol
11930 65 20 3d 20 53 6f 6c 75 74 69 6f 6e 3c 2f 62 3e e = Solution</b>
11940 2c 20 61 6e 64 20 72 65 70 72 65 73 65 6e 74 20 , and represent
11950 61 20 73 69 6e 67 6c 65 20 63 6f 6e 6e 65 63 74 a single connect
11960 69 6f 6e 20 62 65 74 77 65 65 6e 20 3c 62 3e 4e ion between <b>N
11970 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 odeFrom</b> and
11980 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2c 20 77 <b>NodeTo</b>, w
11990 69 74 68 20 74 68 65 20 63 6f 72 72 65 73 70 6f ith the correspo
119a0 6e 64 69 6e 67 20 3c 62 3e 43 6f 73 74 3c 2f 62 nding <b>Cost</b
119b0 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 >.</li>..<li>the
119c0 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e <b>Geometry</b>
119d0 20 63 6f 6c 75 6d 6e 20 61 6c 77 61 79 73 20 63 column always c
119e0 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 orresponds to th
119f0 65 20 3c 62 3e 32 44 20 50 6f 69 6e 74 3c 2f 62 e <b>2D Point</b
11a00 3e 20 77 68 65 72 65 20 3c 62 3e 4e 6f 64 65 54 > where <b>NodeT
11a10 6f 3c 2f 62 3e 20 69 73 20 6c 6f 63 61 74 65 64 o</b> is located
11a20 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c .</li>..</ul>..<
11a30 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e br>..<u>Note</u>
11a40 3a 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f : <b>isochrone</
11a50 62 3e 20 71 75 65 72 69 65 73 20 61 72 65 20 6e b> queries are n
11a60 6f 74 20 61 66 66 65 63 74 65 64 20 62 79 20 63 ot affected by c
11a70 6f 6e 66 69 67 75 72 61 62 6c 65 20 6f 70 74 69 onfigurable opti
11a80 6f 6e 73 2e 0d 0a 3c 62 3e 41 6c 67 6f 72 69 74 ons...<b>Algorit
11a90 68 6d 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 61 hm</b> will be a
11aa0 6c 77 61 79 73 20 61 73 73 75 6d 65 64 20 74 6f lways assumed to
11ab0 20 62 65 20 3c 62 3e 44 69 6a 73 6b 74 72 61 3c be <b>Dijsktra<
11ac0 2f 62 3e 2c 20 61 6e 64 20 74 68 65 20 63 75 72 /b>, and the cur
11ad0 72 65 6e 74 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c rent <b>Options<
11ae0 2f 62 3e 20 73 65 74 74 69 6e 67 73 20 77 69 6c /b> settings wil
11af0 6c 20 62 65 20 73 69 6d 70 6c 79 20 69 67 6e 6f l be simply igno
11b00 72 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e red...<verbatim>
11b10 0d 0a 53 45 4c 45 43 54 20 53 54 5f 43 6f 6e 63 ..SELECT ST_Conc
11b20 61 76 65 48 75 6c 6c 28 53 54 5f 43 6f 6c 6c 65 aveHull(ST_Colle
11b30 63 74 28 47 65 6f 6d 65 74 72 79 29 29 0d 0a 46 ct(Geometry))..F
11b40 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 ROM byfoot..WHER
11b50 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 31 E NodeFrom = 181
11b60 39 39 39 20 41 4e 44 20 43 6f 73 74 20 3c 3d 20 999 AND Cost <=
11b70 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62 61 1000.0;..</verba
11b80 74 69 6d 3e 0d 0a 41 6e 79 20 69 73 6f 63 68 72 tim>..Any isochr
11b90 6f 6e 65 20 71 75 65 72 79 20 77 69 6c 6c 20 6a one query will j
11ba0 75 73 74 20 72 65 74 75 72 6e 20 61 20 50 6f 69 ust return a Poi
11bb0 6e 74 2d 73 65 74 3b 20 69 66 20 79 6f 75 20 65 nt-set; if you e
11bc0 76 65 6e 74 75 61 6c 6c 79 20 77 69 73 68 20 74 ventually wish t
11bd0 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 63 6f 72 o obtain the cor
11be0 72 65 73 70 6f 6e 64 69 6e 67 20 61 72 65 61 6c responding areal
11bf0 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 representation
11c00 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f you just have to
11c10 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 43 6f 6c 6c call <b>ST_Coll
11c20 65 63 74 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 ect()</b> in ord
11c30 65 72 20 74 6f 20 67 65 74 20 61 20 6d 6f 6e 6f er to get a mono
11c40 6c 69 74 68 69 63 20 4d 75 6c 74 69 50 6f 69 6e lithic MultiPoin
11c50 74 2c 20 74 68 65 6e 20 63 61 6c 6c 69 6e 67 20 t, then calling
11c60 3c 62 3e 53 54 5f 43 6f 6e 63 61 76 65 48 75 6c <b>ST_ConcaveHul
11c70 6c 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72 l()</b> in order
11c80 20 74 6f 20 67 65 74 20 61 20 50 6f 6c 79 67 6f to get a Polygo
11c90 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e n...<br><br><br>
11ca0 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 ..The map below
11cb0 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 graphically show
11cc0 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c s the previous <
11cd0 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 b>isochrone</b>
11ce0 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e query...<br><br>
11cf0 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 ..<img src="http
11d00 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
11d10 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f .it/gaia-sins/ro
11d20 75 74 69 6e 67 2d 66 69 67 73 2f 69 73 6f 63 68 uting-figs/isoch
11d30 72 6f 6e 65 2e 6a 70 67 22 20 61 6c 74 3d 22 69 rone.jpg" alt="i
11d40 73 6f 63 68 72 6f 6e 65 22 3e 0d 0a 3c 75 6c 3e sochrone">..<ul>
11d50 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 73 74 61 ..<li>Yellow sta
11d60 72 3a 20 74 68 65 20 4f 72 69 67 69 6e 20 4e 6f r: the Origin No
11d70 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 42 6c de.</li>..<li>Bl
11d80 75 65 20 64 6f 74 73 3a 20 61 6c 6c 20 44 65 73 ue dots: all Des
11d90 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 20 77 tination Nodes w
11da0 69 74 68 69 6e 20 74 68 65 20 67 69 76 65 6e 20 ithin the given
11db0 43 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e Cost.</li>..<li>
11dc0 57 68 69 74 65 20 6c 69 6e 65 3a 20 74 68 65 20 White line: the
11dd0 62 6f 75 6e 64 61 72 79 20 6f 66 20 74 68 65 20 boundary of the
11de0 49 73 6f 63 68 72 6f 6e 65 2e 20 0d 0a 3c 62 72 Isochrone. ..<br
11df0 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 ><br>..<table bg
11e00 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 color="#c0ffc0"
11e10 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 cellspacing="10"
11e20 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
11e30 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62 72 3e 3c ><tr><td>..<br><
11e40 62 72 3e 0d 0a 3c 75 3e 3c 62 3e 4e 6f 74 65 3c br>..<u><b>Note<
11e50 2f 62 3e 3c 2f 75 3e 3a 20 69 74 20 74 68 69 73 /b></u>: it this
11e60 20 65 78 61 6d 70 6c 65 20 79 6f 75 27 76 65 20 example you've
11e70 75 73 65 64 20 74 68 65 20 3c 62 3e 62 79 66 6f used the <b>byfo
11e80 6f 74 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 2c 20 ot</b> Network,
11e90 74 68 61 74 20 69 73 20 62 61 73 65 64 20 6f 6e that is based on
11ea0 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 65 78 <b>Costs</b> ex
11eb0 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 pressed in <b>me
11ec0 74 65 72 73 3c 2f 62 3e 20 28 67 65 6f 6d 65 74 ters</b> (geomet
11ed0 72 69 63 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 ric length of ea
11ee0 63 68 20 4c 69 6e 6b 29 2e 3c 62 72 3e 0d 0a 54 ch Link).<br>..T
11ef0 68 69 73 20 4e 65 74 77 6f 72 6b 20 69 73 20 6d his Network is m
11f00 61 69 6e 6c 79 20 69 6e 74 65 6e 64 65 64 20 66 ainly intended f
11f10 6f 72 20 3c 62 3e 70 65 64 65 73 74 72 69 61 6e or <b>pedestrian
11f20 73 3c 2f 62 3e 2c 20 73 6f 20 77 65 20 63 61 6e s</b>, so we can
11f30 20 73 61 66 65 6c 79 20 61 73 73 75 6d 65 20 61 safely assume a
11f40 20 3c 75 3e 3c 69 3e 63 6f 6e 73 74 61 6e 74 20 <u><i>constant
11f50 73 70 65 65 64 3c 2f 69 3e 3c 2f 75 3e 20 6f 66 speed</i></u> of
11f60 20 61 62 6f 75 74 20 3c 62 3e 34 3c 2f 62 3e 20 about <b>4</b>
11f70 74 6f 20 3c 62 3e 36 20 6b 6d 2f 68 3c 2f 62 3e to <b>6 km/h</b>
11f80 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 , and consequent
11f90 6c 79 20 74 68 65 20 3c 62 3e 49 73 6f 63 68 72 ly the <b>Isochr
11fa0 6f 6e 65 3c 2f 62 3e 20 65 66 66 65 63 74 69 76 one</b> effectiv
11fb0 65 6c 79 20 72 65 73 70 65 63 74 73 20 74 68 65 ely respects the
11fc0 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 74 69 6d 65 <u><i>same time
11fd0 3c 2f 69 3e 3c 2f 75 3e 20 72 65 71 75 69 73 69 </i></u> requisi
11fe0 74 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53 70 65 te.<br><br>..Spe
11ff0 61 6b 69 6e 67 20 69 6e 20 6d 6f 72 65 20 67 65 aking in more ge
12000 6e 65 72 61 6c 20 74 65 72 6d 73 2c 20 61 6e 20 neral terms, an
12010 49 73 6f 63 68 72 6f 6e 65 20 63 61 6e 20 62 65 Isochrone can be
12020 20 69 6e 74 65 6e 64 65 64 20 61 73 20 61 20 67 intended as a g
12030 65 6e 65 72 69 63 20 73 79 6e 6f 6e 79 6d 20 66 eneric synonym f
12040 6f 72 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 43 6f or <u><i>same Co
12050 73 74 3c 2f 69 3e 3c 2f 75 3e 2c 20 65 76 65 6e st</i></u>, even
12060 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e when there is n
12070 6f 20 6f 62 76 69 6f 75 73 20 63 6f 6e 6e 65 63 o obvious connec
12080 74 69 6f 6e 20 77 69 74 68 20 3c 62 3e 54 69 6d tion with <b>Tim
12090 65 2e 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d e.</b>.<br><br>.
120a0 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 .</td></tr></tab
120b0 6c 65 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c le>..<hr><br>..<
120c0 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 74 73 70 22 h1><a name="tsp"
120d0 3e 37 20 2d 20 53 6f 6c 76 69 6e 67 20 54 53 50 >7 - Solving TSP
120e0 20 28 74 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 (traveling sale
120f0 73 6d 61 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f sman) problems</
12100 61 3e 3c 2f 68 31 3e 0d 0a 3c 62 3e 54 53 50 3c a></h1>..<b>TSP<
12110 2f 62 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74 /b> (<a href="ht
12120 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 tps://en.wikiped
12130 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 72 61 76 ia.org/wiki/Trav
12140 65 6c 6c 69 6e 67 5f 73 61 6c 65 73 6d 61 6e 5f elling_salesman_
12150 70 72 6f 62 6c 65 6d 22 3e 54 72 61 76 65 6c 69 problem">Traveli
12160 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62 ng Salesman Prob
12170 6c 65 6d 3c 2f 61 3e 29 20 69 73 20 61 20 77 65 lem</a>) is a we
12180 6c 6c 20 6b 6e 6f 77 6e 20 4f 70 65 72 61 74 69 ll known Operati
12190 6f 6e 73 20 52 65 73 65 61 72 63 68 20 70 72 6f ons Research pro
121a0 62 6c 65 6d 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d blem...<br><br>.
121b0 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d .<table bgcolor=
121c0 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 "#c0ffc0" cellsp
121d0 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 acing="10" cellp
121e0 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c adding="6"><tr><
121f0 74 64 3e 0d 0a 3c 68 33 3e 54 68 65 20 54 72 61 td>..<h3>The Tra
12200 76 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20 veling Salesman
12210 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a 3c 62 Problem</h3>..<b
12220 3e 3c 69 3e 47 69 76 65 6e 20 61 20 6c 69 73 74 ><i>Given a list
12230 20 6f 66 20 63 69 74 69 65 73 20 61 6e 64 20 74 of cities and t
12240 68 65 20 64 69 73 74 61 6e 63 65 73 20 62 65 74 he distances bet
12250 77 65 65 6e 20 65 61 63 68 20 70 61 69 72 20 6f ween each pair o
12260 66 20 63 69 74 69 65 73 2c 20 77 68 61 74 20 69 f cities, what i
12270 73 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 70 s the shortest p
12280 6f 73 73 69 62 6c 65 20 72 6f 75 74 65 20 74 68 ossible route th
12290 61 74 20 76 69 73 69 74 73 20 65 61 63 68 20 63 at visits each c
122a0 69 74 79 20 61 6e 64 20 72 65 74 75 72 6e 73 20 ity and returns
122b0 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 20 63 69 to the origin ci
122c0 74 79 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 ty ?</i></b>..<b
122d0 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 r><br>..</td></t
122e0 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e r></table>..<br>
122f0 0d 0a 3c 75 3e 4e 6f 74 65 3a 3c 2f 75 3e 20 74 ..<u>Note:</u> t
12300 68 65 20 74 65 72 6d 73 20 3c 69 3e 3c 75 3e 73 he terms <i><u>s
12310 61 6c 65 73 6d 61 6e 3c 2f 75 3e 3c 2f 69 3e 20 alesman</u></i>
12320 61 6e 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f and <i><u>city</
12330 75 3e 3c 2f 69 3e 20 61 72 65 20 75 6e 69 76 65 u></i> are unive
12340 72 73 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 rsally used for
12350 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f historical reaso
12360 6e 73 2c 20 62 75 74 20 79 6f 75 20 73 68 6f 75 ns, but you shou
12370 6c 64 20 61 76 6f 69 64 20 74 6f 20 6c 69 74 65 ld avoid to lite
12380 72 61 6c 6c 79 20 69 6e 74 65 6e 64 20 62 6f 74 rally intend bot
12390 68 20 74 68 65 6d 2e 3c 62 72 3e 0d 0a 54 68 65 h them.<br>..The
123a0 20 74 65 72 6d 20 3c 75 3e 3c 69 3e 73 61 6c 65 term <u><i>sale
123b0 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 69 6e 20 sman</i></u> in
123c0 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63 6f this specific co
123d0 6e 74 65 78 74 20 69 6e 74 65 6e 64 73 20 61 6e ntext intends an
123e0 79 20 70 6f 73 73 69 62 6c 65 20 6b 69 6e 64 20 y possible kind
123f0 6f 66 20 3c 75 3e 3c 69 3e 6d 6f 76 69 6e 67 20 of <u><i>moving
12400 61 67 65 6e 74 3c 2f 69 3e 3c 2f 75 3e 20 28 70 agent</i></u> (p
12410 65 64 65 73 74 72 69 61 6e 2c 20 76 65 68 69 63 edestrian, vehic
12420 6c 65 2c 20 70 61 73 73 65 6e 67 65 72 20 6f 72 le, passenger or
12430 20 77 68 61 74 65 76 65 72 20 65 6c 73 65 29 2c whatever else),
12440 20 65 78 61 63 74 6c 79 20 61 73 20 3c 69 3e 3c exactly as <i><
12450 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20 73 u>city</u></i> s
12460 69 6d 70 6c 79 20 73 74 61 6e 64 73 20 66 6f 72 imply stands for
12470 20 61 6e 79 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 any <i><u>gener
12480 69 63 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f ic destination</
12490 75 3e 3c 2f 69 3e 20 6f 6e 20 61 20 67 69 76 65 u></i> on a give
124a0 6e 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 62 72 3e n Network...<br>
124b0 3c 62 72 3e 0d 0a 57 65 20 63 61 6e 20 63 6f 6e <br>..We can con
124c0 63 65 70 74 75 61 6c 79 20 73 70 6c 69 74 20 54 ceptualy split T
124d0 50 53 20 69 6e 20 74 77 6f 20 68 61 6c 76 65 73 PS in two halves
124e0 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6d :..<ol>..<li>com
124f0 70 75 74 69 6e 67 20 61 6c 6c 20 64 69 73 74 61 puting all dista
12500 6e 63 65 73 20 62 65 74 77 65 65 6e 20 70 61 69 nces between pai
12510 72 73 20 6f 66 20 3c 69 3e 63 69 74 69 65 73 3c rs of <i>cities<
12520 2f 69 3e 2e 20 54 68 69 73 20 69 73 20 61 20 74 /i>. This is a t
12530 79 70 69 63 61 6c 20 3c 62 3e 53 68 6f 72 74 65 ypical <b>Shorte
12540 73 74 50 61 74 68 3c 2f 62 3e 20 70 72 6f 62 6c stPath</b> probl
12550 65 6d 2c 20 61 6e 64 20 77 65 20 63 61 6e 20 64 em, and we can d
12560 75 6c 79 20 75 73 65 20 74 68 65 20 44 69 6a 6b uly use the Dijk
12570 73 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d stra's algorithm
12580 20 66 6f 72 20 74 68 69 73 2e 3c 2f 6c 69 3e 0d for this.</li>.
12590 0a 3c 6c 69 3e 74 68 65 6e 20 77 65 20 68 61 76 .<li>then we hav
125a0 65 20 74 6f 20 63 68 65 63 6b 20 61 6c 6c 20 70 e to check all p
125b0 6f 73 73 69 62 6c 65 20 3c 62 3e 70 65 72 6d 75 ossible <b>permu
125c0 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 2f 20 3c 62 tations</b> / <b
125d0 3e 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 3c 2f 62 >combinations</b
125e0 3e 20 73 6f 20 74 6f 20 69 64 65 6e 74 69 66 79 > so to identify
125f0 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 54 53 50 the optimal TSP
12600 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d solution.</li>.
12610 0a 3c 2f 6f 6c 3e 0d 0a 55 6e 68 61 70 70 69 6c .</ol>..Unhappil
12620 79 20 74 68 65 72 65 20 69 73 20 61 20 70 72 61 y there is a pra
12630 63 74 69 63 61 6c 20 64 69 66 66 69 63 75 6c 74 ctical difficult
12640 79 20 69 6e 20 73 75 63 68 20 61 20 73 74 72 61 y in such a stra
12650 69 67 68 74 20 61 70 70 72 6f 61 63 68 3b 20 74 ight approach; t
12660 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6d he number of com
12670 62 69 6e 61 74 69 6f 6e 73 20 77 69 6c 6c 20 67 binations will g
12680 72 6f 77 20 65 78 74 72 65 6d 65 6c 79 20 66 61 row extremely fa
12690 73 74 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 st as the number
126a0 20 6f 66 20 3c 62 3e 3c 69 3e 63 69 74 69 65 73 of <b><i>cities
126b0 3c 2f 69 3e 3c 2f 62 3e 20 69 6e 63 72 65 61 73 </i></b> increas
126c0 65 73 2e 3c 62 72 3e 0d 0a 53 69 6d 70 6c 79 20 es.<br>..Simply
126d0 63 6f 6d 70 75 74 69 6e 67 20 74 68 65 20 63 6f computing the co
126e0 6d 70 6c 65 74 65 20 54 53 50 20 73 6f 6c 75 74 mplete TSP solut
126f0 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20 74 65 ion for about te
12700 6e 20 63 69 74 69 65 73 20 77 69 6c 6c 20 72 65 n cities will re
12710 71 75 69 72 65 20 61 20 3c 62 3e 76 65 72 79 20 quire a <b>very
12720 6c 6f 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 65 76 long time</b> ev
12730 65 6e 20 75 73 69 6e 67 20 61 20 73 75 70 65 72 en using a super
12740 63 6f 6d 70 75 74 65 72 2e 3c 62 72 3e 0d 0a 41 computer.<br>..A
12750 6e 64 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f nd attempting to
12760 20 63 6f 6d 70 75 74 65 20 61 20 54 53 50 20 73 compute a TSP s
12770 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75 olution for abou
12780 74 20 68 75 6e 64 72 65 64 20 63 69 74 69 65 73 t hundred cities
12790 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 61 20 will require a
127a0 3c 62 3e 70 72 61 63 74 69 63 61 6c 6c 79 20 69 <b>practically i
127b0 6e 66 69 6e 69 74 65 3c 2f 62 3e 20 74 69 6d 65 nfinite</b> time
127c0 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 48 6f 77 ...<br><br>..How
127d0 65 76 65 72 20 73 6f 6c 76 69 6e 67 20 54 53 50 ever solving TSP
127e0 20 69 73 20 68 69 67 68 6c 79 20 64 65 73 69 72 is highly desir
127f0 61 62 6c 65 20 69 6e 20 6d 61 6e 79 20 61 70 70 able in many app
12800 6c 69 63 61 74 69 6f 6e 20 66 69 65 6c 64 73 3a lication fields:
12810 20 3c 62 3e 6c 6f 67 69 73 74 69 63 73 3c 2f 62 <b>logistics</b
12820 3e 20 28 6a 75 73 74 20 74 68 69 6e 6b 20 61 62 > (just think ab
12830 6f 75 74 20 63 6f 75 72 69 65 72 20 63 6f 6d 70 out courier comp
12840 61 6e 69 65 73 20 61 73 20 44 48 4c 2c 20 46 65 anies as DHL, Fe
12850 64 45 58 2c 20 55 50 53 20 6f 72 20 54 4e 54 29 dEX, UPS or TNT)
12860 2c 20 3c 62 3e 66 69 65 6c 64 20 6d 61 69 6e 74 , <b>field maint
12870 65 6e 61 6e 63 65 3c 2f 62 3e 20 2f 20 3c 62 3e enance</b> / <b>
12880 61 73 73 69 73 74 61 6e 63 65 3c 2f 62 3e 2c 20 assistance</b>,
12890 3c 62 3e 77 61 73 74 65 20 63 6f 6c 6c 65 63 74 <b>waste collect
128a0 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e 73 63 68 6f ion</b>, <b>scho
128b0 6f 6c 62 75 73 3c 2f 62 3e 20 2f 20 3c 62 3e 73 olbus</b> / <b>s
128c0 68 61 72 65 64 20 74 61 78 69 20 73 65 72 76 69 hared taxi servi
128d0 63 65 73 3c 2f 62 3e 20 65 74 63 2e 3c 62 72 3e ces</b> etc.<br>
128e0 0d 0a 4d 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d ..Many algorithm
128f0 73 20 68 61 76 65 20 62 65 65 6e 20 69 6e 76 65 s have been inve
12900 6e 74 65 64 20 64 75 72 69 6e 67 20 6c 61 73 74 nted during last
12910 20 64 65 63 61 64 65 73 20 69 6e 74 65 6e 64 65 decades intende
12920 64 20 74 6f 20 70 72 6f 64 75 63 65 20 70 72 61 d to produce pra
12930 63 74 69 63 61 6c 20 61 6c 74 68 6f 75 67 68 20 ctical although
12940 61 70 70 72 6f 78 69 6d 61 74 65 20 2f 20 69 6d approximate / im
12950 70 65 72 66 65 63 74 20 54 53 50 20 73 6f 6c 75 perfect TSP solu
12960 74 69 6f 6e 73 20 69 6e 20 61 20 72 65 61 73 6f tions in a reaso
12970 6e 61 62 6c 79 20 73 68 6f 72 74 20 74 69 6d 65 nably short time
12980 2e 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 65 6d 20 ...Many of them
12990 73 74 72 6f 6e 67 6c 79 20 64 65 70 65 6e 64 20 strongly depend
129a0 6f 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 on <a href="http
129b0 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 s://en.wikipedia
129c0 2e 6f 72 67 2f 77 69 6b 69 2f 48 65 75 72 69 73 .org/wiki/Heuris
129d0 74 69 63 22 3e 68 65 75 72 69 73 74 69 63 3c 2f tic">heuristic</
129e0 61 3e 20 61 6e 64 20 2f 20 6f 72 20 3c 61 20 68 a> and / or <a h
129f0 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e ref="https://en.
12a00 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 wikipedia.org/wi
12a10 6b 69 2f 52 61 6e 64 6f 6d 6e 65 73 73 22 3e 72 ki/Randomness">r
12a20 61 6e 64 6f 6d 6e 65 73 73 3c 2f 61 3e 2e 0d 0a andomness</a>...
12a30 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 56 69 72 <br><br>..<b>Vir
12a40 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 tualRouting</b>
12a50 73 75 70 70 6f 72 74 73 20 74 77 6f 20 64 69 66 supports two dif
12a60 66 65 72 65 6e 74 20 54 53 50 20 61 6c 67 6f 72 ferent TSP algor
12a70 69 74 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c ithms:..<ul>..<l
12a80 69 3e 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 i><b>TSP NN</b>
12a90 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c (<i>aka</i> <b><
12aa0 69 3e 4e 65 61 72 65 73 74 20 4e 65 69 67 68 62 i>Nearest Neighb
12ab0 6f 75 72 3c 2f 69 3e 3c 2f 62 3e 29 3c 62 72 3e our</i></b>)<br>
12ac0 0d 0a 54 68 69 73 20 3c 61 20 68 72 65 66 3d 22 ..This <a href="
12ad0 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 https://en.wikip
12ae0 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 4e 65 edia.org/wiki/Ne
12af0 61 72 65 73 74 5f 6e 65 69 67 68 62 6f 75 72 5f arest_neighbour_
12b00 61 6c 67 6f 72 69 74 68 6d 22 3e 66 69 72 73 74 algorithm">first
12b10 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69 algorithm</a> i
12b20 73 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 s straightforwar
12b30 64 20 73 69 6d 70 6c 65 20 61 6e 64 20 76 65 72 d simple and ver
12b40 79 20 66 61 73 74 3b 20 69 74 20 63 61 6e 20 65 y fast; it can e
12b50 66 66 65 63 74 69 76 65 6c 79 20 73 6f 6c 76 65 ffectively solve
12b60 20 68 75 67 65 20 54 53 50 20 73 6f 6c 75 74 69 huge TSP soluti
12b70 6f 6e 73 20 28 74 68 6f 75 73 61 6e 64 20 3c 69 ons (thousand <i
12b80 3e 63 69 74 69 65 73 3c 2f 69 3e 20 6f 72 20 65 >cities</i> or e
12b90 76 65 6e 20 6d 6f 72 65 29 20 69 6e 20 61 20 76 ven more) in a v
12ba0 65 72 79 20 73 68 6f 72 74 20 74 69 6d 65 2e 3c ery short time.<
12bb0 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74 20 64 65 br>..<u>Short de
12bc0 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a scription</u>:..
12bd0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 73 74 61 72 74 69 <ul>..<li>starti
12be0 6e 67 20 66 72 6f 6d 20 74 68 65 20 3c 75 3e 3c ng from the <u><
12bf0 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c i>base city</i><
12c00 2f 75 3e 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 /u> the <u><i>sa
12c10 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67 lesman</i></u> g
12c20 6f 65 73 20 74 6f 20 74 68 65 20 3c 75 3e 3c 69 oes to the <u><i
12c30 3e 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 >city</i></u> pr
12c40 65 73 65 6e 74 69 6e 67 20 74 68 65 20 3c 69 3e esenting the <i>
12c50 3c 75 3e 6c 65 73 73 65 72 20 63 6f 6e 6e 65 63 <u>lesser connec
12c60 74 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 tion cost</u></i
12c70 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 >.</li>..<li>the
12c80 20 61 6c 72 65 61 64 79 20 76 69 73 69 74 65 64 already visited
12c90 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c <i><u>city</u><
12ca0 2f 69 3e 20 69 73 20 63 61 6e 63 65 6c 6c 65 64 /i> is cancelled
12cb0 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 2c 20 from the list,
12cc0 61 6e 64 20 74 68 65 6e 20 74 68 65 20 3c 75 3e and then the <u>
12cd0 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c <i>salesman</i><
12ce0 2f 75 3e 20 67 6f 65 73 20 74 6f 20 74 68 65 20 /u> goes to the
12cf0 6e 65 78 74 20 3c 75 3e 3c 69 3e 63 69 74 79 3c next <u><i>city<
12d00 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e 74 69 /i></u> presenti
12d10 6e 67 20 74 68 65 20 3c 69 3e 3c 75 3e 6c 65 73 ng the <i><u>les
12d20 73 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 ser connection c
12d30 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 ost</u></i>.</li
12d40 3e 0d 0a 3c 6c 69 3e 74 68 65 20 63 79 63 6c 65 >..<li>the cycle
12d50 20 63 6f 6e 74 69 6e 75 65 73 20 75 6e 74 69 6c continues until
12d60 20 61 6c 6c 20 20 3c 69 3e 3c 75 3e 63 69 74 69 all <i><u>citi
12d70 65 73 3c 2f 75 3e 3c 2f 69 3e 20 69 6e 20 74 68 es</u></i> in th
12d80 65 20 6c 69 73 74 20 68 61 76 65 20 62 65 65 6e e list have been
12d90 20 76 69 73 69 74 65 64 2e 3c 2f 6c 69 3e 0d 0a visited.</li>..
12da0 3c 6c 69 3e 66 69 6e 61 6c 6c 79 2c 20 74 68 65 <li>finally, the
12db0 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c <u><i>salesman<
12dc0 2f 69 3e 3c 2f 75 3e 20 72 65 74 75 72 6e 73 20 /i></u> returns
12dd0 74 6f 20 68 69 73 2f 68 65 72 20 69 6e 69 74 69 to his/her initi
12de0 61 6c 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69 al <u><i>base ci
12df0 74 79 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c 69 3e 0d ty</i></u></li>.
12e00 0a 3c 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c .</ul>..<u>Note<
12e10 2f 75 3e 20 69 74 27 73 20 76 65 72 79 20 75 6e /u> it's very un
12e20 6c 69 6b 65 20 74 68 61 74 20 54 53 50 20 4e 4e like that TSP NN
12e30 20 63 6f 75 6c 64 20 66 69 6e 64 20 74 68 65 20 could find the
12e40 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e 20 73 <b>optimal</b> s
12e50 6f 6c 75 74 69 6f 6e 2c 20 62 75 74 20 69 74 20 olution, but it
12e60 63 61 6e 20 71 75 69 63 6b 6c 79 20 66 69 6e 64 can quickly find
12e70 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 some reasonable
12e80 20 3c 62 3e 61 70 70 72 6f 78 69 6d 61 74 65 3c <b>approximate<
12e90 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 /b> solution (<i
12ea0 3e 66 65 77 20 69 73 20 73 75 72 65 6c 79 20 62 >few is surely b
12eb0 65 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 68 69 etter than nothi
12ec0 6e 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a 49 6e ng</i>).<br>..In
12ed0 20 74 68 65 20 6d 6f 73 74 20 75 6e 6c 75 63 6b the most unluck
12ee0 79 20 63 61 73 65 20 54 53 50 20 4e 4e 20 63 6f y case TSP NN co
12ef0 75 6c 64 20 70 6f 73 73 69 62 6c 79 20 72 65 74 uld possibly ret
12f00 75 72 6e 20 74 68 65 20 3c 62 3e 77 6f 72 73 74 urn the <b>worst
12f10 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20 62 solution</b>, b
12f20 75 74 20 74 68 65 20 73 70 65 63 69 66 69 63 20 ut the specific
12f30 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 implementation a
12f40 64 6f 70 74 65 64 20 62 79 20 56 69 72 74 75 61 dopted by Virtua
12f50 6c 52 6f 75 74 69 6e 67 20 63 68 65 63 6b 73 20 lRouting checks
12f60 61 67 61 69 6e 73 74 20 74 68 69 73 20 70 6f 73 against this pos
12f70 73 69 62 69 6c 69 74 79 3a 0d 0a 3c 75 6c 3e 0d sibility:..<ul>.
12f80 0a 3c 6c 69 3e 65 61 63 68 20 54 53 50 20 4e 4e .<li>each TSP NN
12f90 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 75 is always compu
12fa0 74 65 64 20 74 77 69 63 65 20 62 79 20 72 61 6e ted twice by ran
12fb0 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67 20 61 domly choosing a
12fc0 20 64 69 66 66 65 72 65 6e 74 20 3c 75 3e 3c 69 different <u><i
12fd0 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f >base city</i></
12fe0 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d u> and then norm
12ff0 61 6c 69 7a 69 6e 67 20 74 68 65 20 73 6f 6c 75 alizing the solu
13000 74 69 6f 6e 3b 20 74 68 65 20 62 65 73 74 20 6f tion; the best o
13010 66 20 74 68 65 20 74 77 6f 20 73 6f 6c 75 74 69 f the two soluti
13020 6f 6e 73 20 69 73 20 74 68 65 6e 20 72 65 74 75 ons is then retu
13030 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e rned.</li>..<li>
13040 74 68 69 73 20 73 69 6d 70 6c 65 20 62 75 74 20 this simple but
13050 65 66 66 65 63 74 69 76 65 20 70 72 65 63 61 75 effective precau
13060 74 69 6f 6e 20 72 6f 62 75 73 74 6c 79 20 65 6e tion robustly en
13070 73 75 72 65 73 20 74 68 61 74 20 74 68 65 20 3c sures that the <
13080 62 3e 77 6f 72 73 74 20 73 6f 6c 75 74 69 6f 6e b>worst solution
13090 3c 2f 62 3e 20 77 69 6c 6c 20 6e 65 76 65 72 20 </b> will never
130a0 62 65 20 72 65 74 75 72 6e 65 64 2c 20 61 6e 64 be returned, and
130b0 20 6a 75 73 74 20 69 6d 70 6c 69 65 73 20 61 20 just implies a
130c0 6d 6f 64 65 72 61 74 65 6c 79 20 69 6e 63 72 65 moderately incre
130d0 61 73 65 64 20 65 78 65 63 75 74 69 6f 6e 20 74 ased execution t
130e0 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e ime.</li>..</ul>
130f0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 53 </li>..<li><b>TS
13100 50 20 47 41 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 P GA</b> (<i>aka
13110 3c 2f 69 3e 20 3c 62 3e 3c 69 3e 47 65 6e 65 74 </i> <b><i>Genet
13120 69 63 20 41 6c 67 6f 72 69 74 68 6d 3c 2f 69 3e ic Algorithm</i>
13130 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 </b>).<br>..This
13140 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a <a href="https:
13150 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f //en.wikipedia.o
13160 72 67 2f 77 69 6b 69 2f 47 65 6e 65 74 69 63 5f rg/wiki/Genetic_
13170 61 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 74 65 72 algorithm">alter
13180 6e 61 74 69 76 65 20 61 6c 67 6f 72 69 74 68 6d native algorithm
13190 3c 2f 61 3e 20 69 73 20 6d 75 63 68 20 6d 6f 72 </a> is much mor
131a0 65 20 63 6f 6d 70 6c 65 78 20 61 6e 64 20 73 6f e complex and so
131b0 70 68 69 73 74 69 63 61 74 65 64 2c 20 61 6e 64 phisticated, and
131c0 20 69 73 20 64 69 72 65 63 74 6c 79 20 69 6e 73 is directly ins
131d0 70 69 72 65 64 20 62 79 20 62 69 6f 6c 6f 67 69 pired by biologi
131e0 63 61 6c 20 63 6f 6e 63 65 70 74 73 20 73 75 63 cal concepts suc
131f0 68 20 61 73 20 3c 62 3e 73 65 78 75 61 6c 20 72 h as <b>sexual r
13200 65 70 72 6f 64 75 63 74 69 6f 6e 3c 2f 62 3e 2c eproduction</b>,
13210 20 3c 62 3e 67 65 6e 65 74 69 63 20 6d 75 74 61 <b>genetic muta
13220 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 tions</b> and <b
13230 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65 63 74 69 >natural selecti
13240 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e on</b>.<br>..<u>
13250 53 68 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f Short descriptio
13260 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c n</u>:..<ul>..<l
13270 69 3e 61 20 66 69 72 73 74 20 69 6e 69 74 69 61 i>a first initia
13280 6c 20 73 65 74 20 6f 66 20 73 6f 6c 75 74 69 6f l set of solutio
13290 6e 73 20 28 3c 69 3e 3c 75 3e 74 68 65 20 70 6f ns (<i><u>the po
132a0 70 75 6c 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e pulation</u></i>
132b0 29 20 69 73 20 63 72 65 61 74 65 64 20 62 79 20 ) is created by
132c0 75 73 69 6e 67 20 54 53 50 20 4e 4e 20 61 66 74 using TSP NN aft
132d0 65 72 20 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f er randomly choo
132e0 73 69 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 62 sing the <u><i>b
132f0 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e ase city</i></u>
13300 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 6c and then normal
13310 69 7a 69 6e 67 20 65 61 63 68 20 73 6f 6c 75 74 izing each solut
13320 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 ion.</li>..<li>t
13330 68 65 6e 20 64 75 72 69 6e 67 20 65 61 63 68 20 hen during each
13340 73 74 65 70 20 6f 66 20 74 68 65 20 65 78 65 63 step of the exec
13350 75 74 69 6f 6e 20 6c 6f 6f 70 20 28 3c 69 3e 3c ution loop (<i><
13360 75 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 75 3e u>generation</u>
13370 3c 2f 69 3e 29 20 70 61 69 72 73 20 6f 66 20 73 </i>) pairs of s
13380 6f 6c 75 74 69 6f 6e 73 20 3c 69 3e 3c 75 3e 73 olutions <i><u>s
13390 65 78 75 61 6c 6c 79 20 72 65 70 72 6f 64 75 63 exually reproduc
133a0 65 73 3c 2f 69 3e 3c 2f 75 3e 20 67 69 76 69 6e es</i></u> givin
133b0 67 20 62 69 72 74 68 20 74 6f 20 3c 75 3e 3c 69 g birth to <u><i
133c0 3e 63 68 69 6c 64 72 65 6e 20 73 6f 6c 75 74 69 >children soluti
133d0 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 72 65 70 ons</i></u>; rep
133e0 72 6f 64 75 63 74 69 6f 6e 20 69 73 20 73 75 62 roduction is sub
133f0 6a 65 63 74 20 74 6f 20 3c 75 3e 3c 69 3e 63 68 ject to <u><i>ch
13400 72 6f 6d 6f 73 6f 6d 65 20 63 72 6f 73 73 6f 76 romosome crossov
13410 65 72 73 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 ers</i></u> and
13420 3c 69 3e 3c 75 3e 72 61 6e 64 6f 6d 20 6d 75 74 <i><u>random mut
13430 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f ation</u></i>.</
13440 6c 69 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 65 61 63 li>..<li>for eac
13450 68 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 h <i><u>generati
13460 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 74 68 65 20 3c on</u></i> the <
13470 69 3e 3c 75 3e 6e 61 74 75 72 61 6c 20 73 65 6c i><u>natural sel
13480 65 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 65 ection</u></i> e
13490 6c 69 6d 69 6e 61 74 65 73 20 61 6c 6c 20 70 6f liminates all po
134a0 6f 72 6c 79 20 66 69 74 20 69 6e 64 69 76 69 64 orly fit individ
134b0 75 61 6c 73 20 66 72 6f 6d 20 74 68 65 20 3c 75 uals from the <u
134c0 3e 3c 69 3e 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f ><i>population</
134d0 69 3e 3c 2f 75 3e 20 61 6e 64 20 63 6f 6e 73 65 i></u> and conse
134e0 71 75 65 6e 74 6c 79 20 6f 6e 6c 79 20 74 68 65 quently only the
134f0 20 62 65 73 74 20 66 69 74 20 69 6e 64 69 76 69 best fit indivi
13500 64 75 61 6c 73 20 63 61 6e 20 66 75 72 74 68 65 duals can furthe
13510 72 20 70 72 6f 70 61 67 61 74 65 20 74 68 65 69 r propagate thei
13520 72 20 3c 75 3e 3c 69 3e 67 65 6e 6f 6d 65 3c 2f r <u><i>genome</
13530 69 3e 3c 2f 75 3e 20 74 6f 20 74 68 65 20 6e 65 i></u> to the ne
13540 78 74 20 3c 75 3e 3c 69 3e 67 65 6e 65 72 61 74 xt <u><i>generat
13550 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c 2f 6c 69 ion</i></u>.</li
13560 3e 0d 0a 3c 6c 69 3e 61 66 74 65 72 20 61 20 63 >..<li>after a c
13570 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 20 6f 66 ertain number of
13580 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f <i><u>generatio
13590 6e 73 3c 2f 69 3e 3c 2f 75 3e 20 28 6c 65 74 27 ns</i></u> (let'
135a0 73 20 73 61 79 20 61 62 6f 75 74 20 73 6f 6d 65 s say about some
135b0 20 68 75 6e 64 72 65 64 74 68 20 69 74 65 72 61 hundredth itera
135c0 74 69 6f 6e 73 29 20 74 68 65 20 3c 62 3e 6f 70 tions) the <b>op
135d0 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f timal solution</
135e0 62 3e 20 28 6f 72 20 61 74 20 6c 65 61 73 74 20 b> (or at least
135f0 61 20 3c 62 3e 66 61 69 72 6c 79 20 67 6f 6f 64 a <b>fairly good
13600 20 73 75 62 2d 6f 70 74 69 6d 61 6c 20 73 6f 6c sub-optimal sol
13610 75 74 69 6f 6e 3c 2f 62 3e 29 20 73 68 6f 75 6c ution</b>) shoul
13620 64 20 66 69 6e 61 6c 6c 79 20 65 6d 65 72 67 65 d finally emerge
13630 2c 20 61 6e 64 20 73 6f 20 74 68 65 20 6c 6f 6f , and so the loo
13640 70 20 63 61 6e 20 65 78 69 74 2e 3c 2f 6c 69 3e p can exit.</li>
13650 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c ..</ul></li>..<l
13660 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 54 i><u>Note</u>: T
13670 53 50 20 47 41 20 69 73 20 75 73 75 61 6c 6c 79 SP GA is usually
13680 20 65 78 70 65 63 74 65 64 20 74 6f 20 69 64 65 expected to ide
13690 6e 74 69 66 79 20 62 65 74 74 65 72 20 73 6f 6c ntify better sol
136a0 75 74 69 6f 6e 73 20 74 68 61 6e 20 54 53 50 20 utions than TSP
136b0 4e 4e 20 63 61 6e 20 64 6f 2c 20 62 75 74 20 69 NN can do, but i
136c0 74 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 72 65 t will surely re
136d0 71 75 69 72 65 20 6d 75 63 68 20 6d 6f 72 65 20 quire much more
136e0 74 69 6d 65 20 74 6f 20 63 6f 6d 70 6c 65 74 65 time to complete
136f0 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 0d 0a .</li> ..</ul>..
13700 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 <br><br>..Let's
13710 6e 6f 77 20 65 78 61 6d 69 6e 65 20 61 20 70 72 now examine a pr
13720 61 63 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 20 actical example
13730 6f 66 20 54 53 50 20 73 6f 6c 76 69 6e 67 20 75 of TSP solving u
13740 73 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 sing VirtualRout
13750 69 6e 67 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d ing. ..<verbatim
13760 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 >..UPDATE byfoot
13770 20 53 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 SET Request = '
13780 54 53 50 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 TSP';....SELECT
13790 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 Algorithm, Reque
137a0 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c st, Options, Del
137b0 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c imiter, RouteId,
137c0 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c RouteRow, Role,
137d0 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 LinkRowid, Node
137e0 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f From, NodeTo, Co
137f0 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 st, Geometry, Na
13800 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d me..FROM byfoot.
13810 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 .WHERE NodeFrom
13820 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 = 178731 AND Nod
13830 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 eTo = '183286,18
13840 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 1999,184030,1838
13850 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 82,178754';..</v
13860 65 72 62 61 74 69 6d 3e 0d 0a 41 20 56 69 72 74 erbatim>..A Virt
13870 75 61 6c 52 6f 75 74 69 6e 67 20 3c 62 3e 54 53 ualRouting <b>TS
13880 50 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20 P</b> query has
13890 74 68 65 20 73 61 6d 65 20 69 64 65 6e 74 69 63 the same identic
138a0 61 6c 20 66 6f 72 6d 20 6f 66 20 61 20 3c 62 3e al form of a <b>
138b0 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f multi-destinatio
138c0 6e 3c 2f 62 3e 20 71 75 65 72 79 3b 20 74 68 65 n</b> query; the
138d0 20 3c 69 3e 3c 75 3e 62 61 73 65 20 63 69 74 79 <i><u>base city
138e0 3c 75 3e 3c 2f 69 3e 20 69 73 20 61 6c 77 61 79 <u></i> is alway
138f0 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f s expected to co
13900 72 72 65 73 70 6f 6e 64 20 74 6f 20 3c 62 3e 4e rrespond to <b>N
13910 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 odeFrom</b> and
13920 61 6c 6c 20 6f 74 68 65 72 20 3c 69 3e 3c 75 3e all other <i><u>
13930 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 74 cities</u></i> t
13940 6f 20 62 65 20 76 69 73 69 74 65 64 20 61 72 65 o be visited are
13950 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 expected to be
13960 65 6e 75 6d 65 72 61 74 65 64 20 69 6e 74 6f 20 enumerated into
13970 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 a <b>multi-desti
13980 6e 61 74 69 6f 6e 3c 2f 62 3e 20 6c 69 73 74 20 nation</b> list
13990 61 73 73 69 67 6e 65 64 20 74 6f 20 3c 62 3e 4e assigned to <b>N
139a0 6f 64 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c 75 3e 4e odeTo</b>...<u>N
139b0 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75 20 6d 75 73 ote</u>: you mus
139c0 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 74 t explicitly set
139d0 20 74 68 65 20 63 75 72 72 65 6e 74 20 3c 62 3e the current <b>
139e0 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c Request</b> as <
139f0 62 3e 54 53 50 3c 2f 62 3e 2c 20 3c 62 3e 54 53 b>TSP</b>, <b>TS
13a00 50 20 4e 4e 3c 2f 62 3e 20 6f 72 20 3c 62 3e 54 P NN</b> or <b>T
13a10 53 50 20 47 41 3c 2f 62 3e 20 28 54 53 50 20 61 SP GA</b> (TSP a
13a20 6e 64 20 54 53 50 20 4e 4e 20 61 72 65 20 73 79 nd TSP NN are sy
13a30 6e 6f 6e 79 6d 73 29 2e 0d 0a 3c 62 72 3e 3c 62 nonyms)...<br><b
13a40 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 r>..<table borde
13a50 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 r="1" bgcolor="#
13a60 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 ffffcf" cellspac
13a70 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 ing="4" cellpadd
13a80 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 ing="6">..<tr><t
13a90 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
13aa0 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 a0">Algorithm</t
13ab0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
13ac0 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c d0d0a0">Request<
13ad0 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
13ae0 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e "#d0d0a0">Option
13af0 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f s</th><th bgcolo
13b00 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 r="#d0d0a0">Deli
13b10 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 miter</th><th bg
13b20 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
13b30 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 RouteId</th><th
13b40 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
13b50 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c ">RouteRow</th><
13b60 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
13b70 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 0a0">Role</th><t
13b80 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
13b90 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 a0">LinkRowid</t
13ba0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
13bb0 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d d0d0a0">NodeFrom
13bc0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
13bd0 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 ="#d0d0a0">NodeT
13be0 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f o</th><th bgcolo
13bf0 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 r="#d0d0a0">Cost
13c00 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
13c10 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 ="#d0d0a0">Geome
13c20 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f try</th><th bgco
13c30 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 lor="#d0d0a0">Na
13c40 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 me</th></tr>..<t
13c50 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 r>..<td>Dijkstra
13c60 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c </td><td>TSP NN<
13c70 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 /td><td>Full</td
13c80 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d ><td>, [dec=
13c90 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 44, hex=2c]<
13ca0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
13cb0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 ight">0</td><td
13cc0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
13cd0 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f 6c 75 /td><td>TSP Solu
13ce0 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c tion</td><td>NUL
13cf0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
13d00 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
13d10 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
13d20 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
13d30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
13d40 22 3e 31 32 35 34 2e 34 33 33 39 33 33 3c 2f 74 ">1254.433933</t
13d50 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 30 d><td>BLOB sz=20
13d60 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 00 GEOMETRY</td>
13d70 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
13d80 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
13d90 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
13da0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
13db0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 td><td>NULL<td a
13dc0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
13dd0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
13de0 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
13df0 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
13e00 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
13e10 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
13e20 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
13e30 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e ght">184030</td>
13e40 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
13e50 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 ">176.364755</td
13e60 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 ><td>BLOB sz=304
13e70 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
13e80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
13e90 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
13ea0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
13eb0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
13ec0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
13ed0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
13ee0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
13ef0 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 "right">1</td><t
13f00 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
13f10 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
13f20 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 014</td><td alig
13f30 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
13f40 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
13f50 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 right">182885</t
13f60 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
13f70 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 ht">94.812424</t
13f80 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
13f90 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 td>VIA PIETRO AR
13fa0 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ETINO</td>..</tr
13fb0 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c >..<tr>..<tr>..<
13fc0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
13fd0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
13fe0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
13ff0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14000 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 ght">2</td><td a
14010 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f lign="right">2</
14020 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
14030 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14040 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c 74 64 ">224862</td><td
14050 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14060 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 82885</td><td al
14070 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 ign="right">1820
14080 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 43</td><td align
14090 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 39 35 32 ="right">37.0952
140a0 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 87</td><td>NULL<
140b0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
140c0 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
140d0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
140e0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
140f0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14100 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14110 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14120 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >2</td><td align
14130 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
14140 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
14150 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
14160 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 6070</td><td ali
14170 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 34 gn="right">18204
14180 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 3</td><td align=
14190 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f "right">184030</
141a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
141b0 67 68 74 22 3e 34 34 2e 34 35 37 30 34 34 3c 2f ght">44.457044</
141c0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
141d0 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e 54 27 <td>PIAZZA SANT'
141e0 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c AGOSTINO</td>..<
141f0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
14200 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14210 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14220 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14230 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14240 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">2</td><td alig
14250 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
14260 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
14270 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
14280 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 lign="right">184
14290 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 030</td><td alig
142a0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 n="right">181999
142b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
142c0 72 69 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33 right">139.11493
142d0 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 8</td><td>BLOB s
142e0 7a 3d 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f z=496 GEOMETRY</
142f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14300 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
14310 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14320 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14330 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14340 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14350 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 ght">3</td><td a
14360 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
14370 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
14380 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14390 22 3e 32 32 36 30 37 31 3c 2f 74 64 3e 3c 74 64 ">226071</td><td
143a0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
143b0 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 84030</td><td al
143c0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 ign="right">1826
143d0 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 29</td><td align
143e0 3d 22 72 69 67 68 74 22 3e 35 35 2e 36 38 39 30 ="right">55.6890
143f0 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 09</td><td>NULL<
14400 2f 74 64 3e 3c 74 64 3e 56 49 41 20 47 49 55 53 /td><td>VIA GIUS
14410 45 50 50 45 20 47 41 52 49 42 41 4c 44 49 3c 2f EPPE GARIBALDI</
14420 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
14430 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
14440 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14450 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14460 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
14470 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 "right">3</td><t
14480 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14490 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 2</td><td>Link</
144a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
144b0 67 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e ght">225512</td>
144c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
144d0 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 ">182629</td><td
144e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
144f0 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 82933</td><td al
14500 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31 ign="right">34.1
14510 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 84194</td><td>NU
14520 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f LL</td><td>CORSO
14530 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f ITALIA</td>..</
14540 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
14550 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
14560 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14570 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14580 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14590 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >3</td><td align
145a0 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
145b0 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
145c0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
145d0 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 5511</td><td ali
145e0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 gn="right">18293
145f0 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 3</td><td align=
14600 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f "right">181999</
14610 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14620 67 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f ght">49.241735</
14630 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14640 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 <td>CORSO ITALIA
14650 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
14660 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
14670 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14680 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14690 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
146a0 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e n="right">3</td>
146b0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
146c0 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
146d0 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
146e0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
146f0 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e ght">181999</td>
14700 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14710 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
14720 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
14730 31 37 2e 36 37 32 38 38 35 3c 2f 74 64 3e 3c 74 17.672885</td><t
14740 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 38 20 47 45 d>BLOB sz=688 GE
14750 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e OMETRY</td><td>N
14760 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
14770 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
14780 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
14790 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
147a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
147b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f lign="right">4</
147c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
147d0 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c ght">1</td><td>L
147e0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
147f0 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 35 n="right">222635
14800 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14810 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
14820 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14830 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c ht">181998</td><
14840 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14850 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f 74 64 3e >101.629750</td>
14860 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14870 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 >CORSO ITALIA</t
14880 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
14890 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
148a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
148b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
148c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
148d0 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 right">4</td><td
148e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
148f0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</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 32 32 34 37 38 30 3c 2f 74 64 3e 3c ht">224780</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 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20 >181998</td><td
14940 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
14950 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3560</td><td ali
14960 67 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e 37 33 gn="right">73.73
14970 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 3572</td><td>NUL
14980 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 L</td><td>VIA DE
14990 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 LL'ANFITEATRO</t
149a0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
149b0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
149c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
149d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
149e0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
149f0 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">4</td><td alig
14a00 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e n="right">3</td>
14a10 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
14a20 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
14a30 32 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 25827</td><td al
14a40 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 ign="right">1835
14a50 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 60</td><td align
14a60 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c ="right">183286<
14a70 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
14a80 69 67 68 74 22 3e 34 32 2e 33 30 39 35 36 34 3c ight">42.309564<
14a90 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
14aa0 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e ><td>VIA DELL'AN
14ab0 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c FITEATRO</td>..<
14ac0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
14ad0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14ae0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14af0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14b00 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14b10 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">4</td><td alig
14b20 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
14b30 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
14b40 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
14b50 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
14b60 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 286</td><td alig
14b70 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 n="right">178754
14b80 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14b90 72 69 67 68 74 22 3e 33 37 38 2e 33 31 33 36 38 right">378.31368
14ba0 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 4</td><td>BLOB s
14bb0 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f z=272 GEOMETRY</
14bc0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14bd0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
14be0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14bf0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14c00 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14c10 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14c20 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 ght">5</td><td a
14c30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
14c40 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
14c50 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14c60 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 ">224414</td><td
14c70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14c80 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83286</td><td al
14c90 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
14ca0 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
14cb0 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 ="right">136.372
14cc0 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 057</td><td>NULL
14cd0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 </td><td>VIA MAR
14ce0 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c GARITONE</td>..<
14cf0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
14d00 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14d10 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14d20 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14d30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14d40 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">5</td><td alig
14d50 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e n="right">2</td>
14d60 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
14d70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
14d80 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 19171</td><td al
14d90 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
14da0 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
14db0 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c ="right">178732<
14dc0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
14dd0 69 67 68 74 22 3e 39 33 2e 32 38 35 35 33 38 3c ight">93.285538<
14de0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
14df0 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 ><td>VIA FRANCES
14e00 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a CO CRISPI</td>..
14e10 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
14e20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
14e30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
14e40 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
14e50 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
14e60 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">5</td><td ali
14e70 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
14e80 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
14e90 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14ea0 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 219058</td><td a
14eb0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
14ec0 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 732</td><td alig
14ed0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 n="right">178754
14ee0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14ef0 72 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38 right">148.65608
14f00 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 9</td><td>NULL</
14f10 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 td><td>VIA FRANC
14f20 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e ESCO CRISPI</td>
14f30 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
14f40 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14f50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14f60 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14f70 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14f80 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 ght">5</td><td a
14f90 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
14fa0 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
14fb0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14fc0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14fd0 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 178754</td><td a
14fe0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
14ff0 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 882</td><td alig
15000 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 2e 32 31 n="right">188.21
15010 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 6831</td><td>BLO
15020 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 54 52 B sz=400 GEOMETR
15030 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f Y</td><td>NULL</
15040 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
15050 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
15060 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15070 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
15080 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
15090 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 "right">6</td><t
150a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
150b0 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
150c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
150d0 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e ght">224538</td>
150e0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
150f0 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 ">178754</td><td
15100 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
15110 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 81972</td><td al
15120 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 30 2e 39 ign="right">50.9
15130 30 30 36 36 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 00663</td><td>NU
15140 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 LL</td><td>VIA A
15150 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c NTONIO GUADAGNOL
15160 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
15170 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
15180 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
15190 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
151a0 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61 NULL</td>..<td a
151b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f lign="right">6</
151c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
151d0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c ght">2</td><td>L
151e0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
151f0 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 37 n="right">224537
15200 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
15210 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74 right">181972</t
15220 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
15230 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c ht">182000</td><
15240 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15250 3e 38 36 2e 33 30 31 30 35 31 3c 2f 74 64 3e 3c >86.301051</td><
15260 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15270 56 49 41 20 44 45 4c 20 4e 49 4e 46 45 4f 3c 2f VIA DEL NINFEO</
15280 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
15290 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
152a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
152b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
152c0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
152d0 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 "right">6</td><t
152e0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
152f0 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 3</td><td>Link</
15300 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15310 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e ght">225527</td>
15320 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
15330 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 ">182000</td><td
15340 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
15350 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 83882</td><td al
15360 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 ign="right">51.0
15370 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 15117</td><td>NU
15380 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c LL</td><td>VIA L
15390 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 ICIO NENCETTI</t
153a0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
153b0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
153c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
153d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
153e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
153f0 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 right">6</td><td
15400 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
15410 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
15420 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 td><td>NULL<td a
15430 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
15440 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 882</td><td alig
15450 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
15460 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
15470 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33 right">154.75083
15480 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 9</td><td>BLOB s
15490 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f z=240 GEOMETRY</
154a0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
154b0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
154c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
154d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
154e0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
154f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15500 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 ght">7</td><td a
15510 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
15520 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
15530 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
15540 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74 64 ">225527</td><td
15550 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
15560 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 83882</td><td al
15570 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 ign="right">1820
15580 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 00</td><td align
15590 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35 31 ="right">51.0151
155a0 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 17</td><td>NULL<
155b0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43 49 /td><td>VIA LICI
155c0 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e 0d O NENCETTI</td>.
155d0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
155e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
155f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
15600 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
15610 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
15620 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">7</td><td al
15630 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
15640 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
15650 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15660 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 >222636</td><td
15670 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
15680 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2000</td><td ali
15690 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
156a0 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
156b0 22 72 69 67 68 74 22 3e 31 30 33 2e 37 33 35 37 "right">103.7357
156c0 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 22</td><td>NULL<
156d0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 /td><td>VIA PIET
156e0 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d RO ARETINO</td>.
156f0 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e .</tr>..</table>
15700 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f ..<br>..Let's no
15710 77 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e w quickly examin
15720 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 e the resultset
15730 72 65 74 75 72 6e 65 64 20 62 79 20 61 6e 79 20 returned by any
15740 54 53 50 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e TSP query:..<ul>
15750 0d 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65 72 61 ..<li>the genera
15760 6c 20 6c 61 79 6f 75 74 20 69 73 20 6d 6f 72 65 l layout is more
15770 20 6f 72 20 6c 65 73 73 20 74 68 65 20 73 61 6d or less the sam
15780 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 e as you've alre
15790 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 ady seen in the
157a0 63 61 73 65 20 6f 66 20 3c 62 3e 53 68 6f 72 74 case of <b>Short
157b0 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 estPath</b> quer
157c0 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 ies.</li>..<li>t
157d0 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c he <b>first row<
157e0 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c /b> of the resul
157f0 74 73 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20 tset is someway
15800 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 exceptional, and
15810 20 69 73 20 74 68 65 20 75 6e 69 71 75 65 20 72 is the unique r
15820 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 ow of the result
15830 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c set presenting <
15840 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 b>NOT NULL</b> v
15850 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e alues in the <b>
15860 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c Algorithm</b>, <
15870 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c b>Request</b>, <
15880 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e b>Options</b> an
15890 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f d <b>Delimiter</
158a0 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 62 72 3e 0d b> columns.<br>.
158b0 0a 49 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 .It contains the
158c0 20 3c 62 3e 54 53 50 20 73 6f 6c 75 74 69 6f 6e <b>TSP solution
158d0 3c 2f 62 3e 20 61 73 20 61 20 77 68 6f 6c 65 3a </b> as a whole:
158e0 20 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c column <b>Cost<
158f0 2f 62 3e 20 69 73 20 74 68 65 20 3c 75 3e 74 6f /b> is the <u>to
15900 74 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 61 6e 64 tal cost</u> and
15910 20 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 column <b>Geome
15920 74 72 79 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c try</b> is the <
15930 75 3e 6f 76 65 72 61 6c 6c 20 73 6f 6c 75 74 69 u>overall soluti
15940 6f 6e 20 70 61 74 68 3c 2f 75 3e 2e 3c 2f 6c 69 on path</u>.</li
15950 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c >..<li>columns <
15960 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 61 6e b>RouteId</b> an
15970 64 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 d <b>RouteRow</b
15980 3e 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 > have the same
15990 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61 interpretation a
159a0 73 20 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 s in <b>multi-de
159b0 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 stination Shorte
159c0 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 69 stPath</b> queri
159d0 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20 es, but in this
159e0 73 70 65 63 69 66 69 63 20 63 61 73 65 20 65 61 specific case ea
159f0 63 68 20 3c 75 3e 3c 69 3e 72 6f 75 74 65 3c 2f ch <u><i>route</
15a00 69 3e 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f 6e i></u> correspon
15a10 64 73 20 74 6f 20 61 20 63 6f 6e 6e 65 63 74 69 ds to a connecti
15a20 6f 6e 20 62 65 74 77 65 65 6e 20 74 77 6f 20 3c on between two <
15a30 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c i><u>cities</u><
15a40 2f 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 3c 69 /i>.<br>..All <i
15a50 3e 3c 75 3e 72 6f 75 74 65 73 3c 2f 75 3e 3c 2f ><u>routes</u></
15a60 69 3e 20 61 72 65 20 6f 72 64 65 72 20 61 63 63 i> are order acc
15a70 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 ordingly to the
15a80 72 75 6e 6e 69 6e 67 20 73 65 71 75 65 6e 63 65 running sequence
15a90 20 6f 66 20 74 68 65 20 54 53 50 20 73 6f 6c 75 of the TSP solu
15aa0 74 69 6f 6e 2e 20 3c 62 3e 52 6f 75 74 65 49 64 tion. <b>RouteId
15ab0 3d 30 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 =0</b> identifie
15ac0 73 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 54 53 s the overall TS
15ad0 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e P solution.</li>
15ae0 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d ..</ul><br><br>.
15af0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 .<verbatim>..UPD
15b00 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 ATE byfoot SET R
15b10 65 71 75 65 73 74 20 3d 20 27 54 53 50 20 47 41 equest = 'TSP GA
15b20 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 ';....SELECT Alg
15b30 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c orithm, Request,
15b40 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 Options, Delimi
15b50 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f ter, RouteId, Ro
15b60 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 uteRow, Role, Li
15b70 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f nkRowid, NodeFro
15b80 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c m, NodeTo, Cost,
15b90 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d Geometry, Name.
15ba0 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 .FROM byfoot..WH
15bb0 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 ERE NodeFrom = 1
15bc0 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 78731 AND NodeTo
15bd0 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 39 = '183286,18199
15be0 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c 9,184030,183882,
15bf0 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 178754';..</verb
15c00 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 77 69 atim>..If you wi
15c10 73 68 20 74 6f 20 67 65 74 20 61 20 3c 62 3e 54 sh to get a <b>T
15c20 53 50 20 47 41 3c 2f 62 3e 20 73 6f 6c 75 74 69 SP GA</b> soluti
15c30 6f 6e 20 79 6f 75 20 73 69 6d 70 6c 65 20 68 61 on you simple ha
15c40 76 65 20 74 6f 20 73 65 74 20 3c 62 3e 52 65 71 ve to set <b>Req
15c50 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 uest</b> as <b>T
15c60 53 50 20 47 41 3c 2f 62 3e 3b 20 61 6e 64 20 79 SP GA</b>; and y
15c70 6f 75 20 63 61 6e 20 73 65 74 20 61 67 61 69 6e ou can set again
15c80 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 <b>Request</b>
15c90 61 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 6f 72 as <b>TSP</b> or
15ca0 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 74 <b>TSP NN</b> t
15cb0 6f 20 72 65 76 65 72 74 20 62 61 63 6b 20 74 6f o revert back to
15cc0 20 74 68 65 20 73 69 6d 70 6c 65 72 20 2f 20 66 the simpler / f
15cd0 61 73 74 65 72 20 61 6c 67 6f 72 69 74 68 6d 2e aster algorithm.
15ce0 0d 0a 3c 62 72 3e 0d 0a 41 6c 73 6f 20 69 6e 20 ..<br>..Also in
15cf0 74 68 65 20 63 61 73 65 20 6f 66 20 54 53 50 20 the case of TSP
15d00 79 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 61 6c you can eventual
15d10 6c 79 20 61 63 74 69 76 61 74 65 20 74 68 65 20 ly activate the
15d20 75 73 75 61 6c 20 3c 62 3e 4f 70 74 69 6f 6e 73 usual <b>Options
15d30 3c 2f 62 3e 20 61 6c 72 65 61 64 79 20 65 78 70 </b> already exp
15d40 6c 61 69 6e 65 64 20 69 6e 20 74 68 65 20 53 68 lained in the Sh
15d50 6f 72 74 65 73 74 50 61 74 68 20 65 78 61 6d 70 ortestPath examp
15d60 6c 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 les.<br>..<u>Not
15d70 65 3c 2f 75 3e 3a 54 53 50 20 70 72 6f 62 6c 65 e</u>:TSP proble
15d80 6d 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 69 ms will always i
15d90 6d 70 6c 79 20 75 73 69 6e 67 20 74 68 65 20 3c mply using the <
15da0 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 3e b>Dijkstra's</b>
15db0 20 61 6c 67 6f 72 69 74 68 6d 2c 20 65 76 65 6e algorithm, even
15dc0 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e when the altern
15dd0 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 ative <b>A*</b>
15de0 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 algorithm is cur
15df0 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e rently selected.
15e00 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 ..<verbatim>..UP
15e10 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 DATE byfoot SET
15e20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 27 2c Request = 'TSP',
15e30 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c Options = 'NO L
15e40 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 INKS';....SELECT
15e50 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 Algorithm, Requ
15e60 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 est, Options, De
15e70 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 limiter, RouteId
15e80 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 , RouteRow, Role
15e90 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 , LinkRowid, Nod
15ea0 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 eFrom, NodeTo, C
15eb0 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e ost, Geometry, N
15ec0 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 ame..FROM byfoot
15ed0 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d ..WHERE NodeFrom
15ee0 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f = 178731 AND No
15ef0 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 deTo = '183286,1
15f00 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 81999,184030,183
15f10 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 882,178754';..</
15f20 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 verbatim>..The f
15f30 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 ollowing table s
15f40 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 hows the results
15f50 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 et returned by t
15f60 68 65 20 73 61 6d 65 20 54 53 50 20 71 75 65 72 he same TSP quer
15f70 79 20 75 73 65 64 20 69 6e 20 74 68 65 20 70 72 y used in the pr
15f80 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 61 evious example a
15f90 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74 68 fter enabling th
15fa0 65 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 e <b>NO LINKS</b
15fb0 3e 20 6f 70 74 69 6f 6e 2e 20 3c 62 72 3e 3c 62 > option. <br><b
15fc0 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 r>..<table borde
15fd0 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 r="1" bgcolor="#
15fe0 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 ffffcf" cellspac
15ff0 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 ing="4" cellpadd
16000 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 ing="6">..<tr><t
16010 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
16020 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 a0">Algorithm</t
16030 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
16040 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c d0d0a0">Request<
16050 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
16060 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e "#d0d0a0">Option
16070 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f s</th><th bgcolo
16080 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 r="#d0d0a0">Deli
16090 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 miter</th><th bg
160a0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
160b0 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 RouteId</th><th
160c0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
160d0 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c ">RouteRow</th><
160e0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
160f0 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 0a0">Role</th><t
16100 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
16110 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 a0">LinkRowid</t
16120 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
16130 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d d0d0a0">NodeFrom
16140 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
16150 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 ="#d0d0a0">NodeT
16160 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f o</th><th bgcolo
16170 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 r="#d0d0a0">Cost
16180 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
16190 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 ="#d0d0a0">Geome
161a0 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f try</th><th bgco
161b0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 lor="#d0d0a0">Na
161c0 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 me</th></tr>..<t
161d0 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 r>..<td>Dijkstra
161e0 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c </td><td>TSP NN<
161f0 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 /td><td>No Links
16200 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b </td><td>, [
16210 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 dec=44, hex=2c&#
16220 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 93;</td><td alig
16230 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
16240 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
16250 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 ">0</td><td>TSP
16260 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 Solution</td><td
16270 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
16280 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
16290 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
162a0 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
162b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
162c0 69 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33 ight">1254.43393
162d0 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 3</td><td>BLOB s
162e0 7a 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c z=2000 GEOMETRY<
162f0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
16300 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
16310 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
16320 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
16330 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
16340 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16350 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >1</td><td align
16360 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
16370 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 td>Route</td><td
16380 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
16390 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
163a0 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
163b0 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c ="right">184030<
163c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
163d0 69 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 ight">176.364755
163e0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
163f0 3d 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =304 GEOMETRY</t
16400 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
16410 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
16420 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
16430 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
16440 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 </td><td>NULL<td
16450 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
16460 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
16470 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
16480 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
16490 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
164a0 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 n="right">184030
164b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
164c0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
164d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
164e0 68 74 22 3e 31 33 39 2e 31 31 34 39 33 38 3c 2f ht">139.114938</
164f0 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 td><td>BLOB sz=4
16500 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 96 GEOMETRY</td>
16510 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
16520 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
16530 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
16540 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
16550 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
16560 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
16570 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">3</td><td alig
16580 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
16590 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
165a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
165b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 lign="right">181
165c0 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 999</td><td alig
165d0 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 n="right">183286
165e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
165f0 72 69 67 68 74 22 3e 32 31 37 2e 36 37 32 38 38 right">217.67288
16600 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 5</td><td>BLOB s
16610 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 3c 2f z=688 GEOMETRY</
16620 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
16630 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
16640 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
16650 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
16660 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
16670 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
16680 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 ght">4</td><td a
16690 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
166a0 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
166b0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
166c0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
166d0 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 183286</td><td a
166e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
166f0 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 754</td><td alig
16700 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 31 n="right">378.31
16710 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 3684</td><td>BLO
16720 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 B sz=272 GEOMETR
16730 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f Y</td><td>NULL</
16740 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
16750 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
16760 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
16770 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
16780 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
16790 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 "right">5</td><t
167a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
167b0 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 0</td><td>Route<
167c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
167d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
167e0 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 t">178754</td><t
167f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
16800 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 183882</td><td a
16810 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 lign="right">188
16820 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e .216831</td><td>
16830 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d BLOB sz=400 GEOM
16840 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c ETRY</td><td>NUL
16850 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
16860 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
16870 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
16880 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
16890 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
168a0 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 gn="right">6</td
168b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
168c0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
168d0 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
168e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
168f0 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 ight">183882</td
16900 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
16910 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 t">178731</td><t
16920 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
16930 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 154.750839</td><
16940 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 td>BLOB sz=240 G
16950 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e EOMETRY</td><td>
16960 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
16970 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e ..</table>..<br>
16980 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 <br><br>..The ma
16990 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 p below graphica
169a0 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 70 72 lly shows the pr
169b0 65 76 69 6f 75 73 20 3c 62 3e 54 53 50 3c 2f 62 evious <b>TSP</b
169c0 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e > queries...<br>
169d0 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 <br>..<img src="
169e0 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
169f0 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e -gis.it/gaia-sin
16a00 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 74 s/routing-figs/t
16a10 73 70 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 sp1.jpg" alt="fi
16a20 67 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e g4">..<ul>..<li>
16a30 52 65 64 20 73 74 61 72 3a 20 74 68 65 20 3c 75 Red star: the <u
16a40 3e 3c 69 3e 62 61 73 65 2d 63 69 74 79 3c 2f 69 ><i>base-city</i
16a50 3e 3c 2f 75 3e 20 28 66 72 6f 6d 20 77 68 65 72 ></u> (from wher
16a60 65 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 e the <u><i>sale
16a70 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 62 65 sman</i></u>) be
16a80 67 69 6e 73 20 68 69 73 2f 68 65 72 20 74 72 69 gins his/her tri
16a90 70 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65 p.</li>..<li>Gre
16aa0 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 3c 75 3e en dots: the <u>
16ab0 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 3c 2f 75 <i>cities</i></u
16ac0 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 2e > to be visited.
16ad0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f </li>..<li>Yello
16ae0 77 20 6c 69 6e 65 3a 20 74 68 65 20 54 53 50 20 w line: the TSP
16af0 73 6f 6c 75 74 69 6f 6e 20 28 74 68 61 74 20 69 solution (that i
16b00 73 20 61 6c 77 61 79 73 20 61 20 63 69 72 63 75 s always a circu
16b10 6c 61 72 20 70 61 74 68 29 2e 3c 2f 6c 69 3e 0d lar path).</li>.
16b20 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62 .</ul><br>..<tab
16b30 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 le bgcolor="#ffb
16b40 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 060" cellspacing
16b50 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e ="10" cellpaddin
16b60 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a g="6"><tr><td>..
16b70 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f 77 <h3>Warning: how
16b80 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 68 61 to correctly ha
16b90 6e 64 6c 69 6e 67 20 54 53 50 20 72 65 73 75 6c ndling TSP resul
16ba0 74 73 65 74 73 20 77 69 74 68 20 73 70 61 74 69 tsets with spati
16bb0 61 6c 69 74 65 5f 67 75 69 3c 2f 68 33 3e 0d 0a alite_gui</h3>..
16bc0 59 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 You should never
16bd0 20 66 6f 72 67 65 74 20 6f 72 20 6f 76 65 72 6c forget or overl
16be0 6f 6f 6b 20 74 68 61 74 20 62 6f 74 68 20 3c 62 ook that both <b
16bf0 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 61 6e 64 20 >TSP NN</b> and
16c00 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 61 72 <b>TSP GA</b> ar
16c10 65 20 3c 75 3e 3c 69 3e 68 65 75 72 69 73 74 69 e <u><i>heuristi
16c20 63 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 69 3e c algorithms</i>
16c30 3c 2f 75 3e 20 68 65 61 76 69 6c 79 20 72 65 6c </u> heavily rel
16c40 79 69 6e 67 20 6f 6e 20 3c 75 3e 3c 69 3e 72 61 ying on <u><i>ra
16c50 6e 64 6f 6d 3c 69 3e 3c 2f 75 3e 20 63 68 6f 69 ndom<i></u> choi
16c60 63 65 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 63 ces.<br>..This c
16c70 6f 75 6c 64 20 65 61 73 69 6c 79 20 68 61 76 65 ould easily have
16c80 20 74 68 65 20 70 72 61 63 74 69 63 61 6c 20 63 the practical c
16c90 6f 6e 73 65 71 75 65 6e 63 65 20 74 68 61 74 20 onsequence that
16ca0 72 65 73 6f 6c 76 69 6e 67 20 74 77 69 63 65 20 resolving twice
16cb0 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20 74 69 (or even more ti
16cc0 6d 65 73 29 20 74 68 65 20 73 61 6d 65 20 69 64 mes) the same id
16cd0 65 6e 74 69 63 61 6c 20 54 53 50 20 71 75 65 72 entical TSP quer
16ce0 79 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c y could eventual
16cf0 6c 79 20 72 65 74 75 72 6e 20 64 69 66 66 65 72 ly return differ
16d00 65 6e 74 20 72 65 73 75 6c 74 73 65 74 73 2e 3c ent resultsets.<
16d10 62 72 3e 0d 0a 54 68 65 72 65 20 69 73 20 6e 6f br>..There is no
16d20 74 68 69 6e 67 20 69 6e 74 72 69 6e 73 69 63 61 thing intrinsica
16d30 6c 6c 79 20 77 72 6f 6e 67 20 69 6e 20 74 68 69 lly wrong in thi
16d40 73 2c 20 69 74 20 73 69 6d 70 6c 79 20 69 73 20 s, it simply is
16d50 61 20 64 69 72 65 63 74 20 63 6f 6e 73 65 71 75 a direct consequ
16d60 65 6e 63 65 20 6f 66 20 75 73 69 6e 67 20 3c 75 ence of using <u
16d70 3e 3c 69 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f ><i>randomness</
16d80 69 3e 3c 2f 75 3e 3b 20 77 65 20 61 72 65 20 73 i></u>; we are s
16d90 69 6d 70 6c 79 20 62 61 72 67 61 69 6e 69 6e 67 imply bargaining
16da0 20 3c 62 3e 65 78 61 63 74 6e 65 73 73 3c 2f 62 <b>exactness</b
16db0 3e 20 61 6e 64 20 3c 62 3e 72 65 70 72 6f 64 75 > and <b>reprodu
16dc0 63 69 62 69 6c 69 74 79 3c 2f 62 3e 20 66 6f 72 cibility</b> for
16dd0 20 3c 62 3e 71 75 69 63 6b 6e 65 73 73 3c 2f 62 <b>quickness</b
16de0 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 73 >.<br><br>..<b>s
16df0 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 patialite_gui</b
16e00 3e 20 6f 6e 20 69 74 73 20 6f 77 6e 20 61 64 6f > on its own ado
16e10 70 74 73 20 61 20 3c 62 3e 70 61 67 65 64 20 73 pts a <b>paged s
16e20 74 72 61 74 65 67 79 3c 2f 62 3e 20 77 68 65 6e trategy</b> when
16e30 20 73 68 6f 77 69 6e 67 20 68 75 67 65 20 72 65 showing huge re
16e40 73 75 6c 74 73 65 74 73 3b 20 74 68 69 73 20 72 sultsets; this r
16e50 65 71 75 69 72 65 73 20 72 65 70 65 61 74 69 6e equires repeatin
16e60 67 20 61 67 61 69 6e 20 74 68 65 20 69 6e 69 74 g again the init
16e70 69 61 6c 20 53 51 4c 20 71 75 65 72 79 20 65 61 ial SQL query ea
16e80 63 68 20 74 69 6d 65 20 74 68 61 74 20 61 20 3c ch time that a <
16e90 62 3e 6e 65 77 20 70 61 67 65 20 6f 66 20 35 30 b>new page of 50
16ea0 30 20 72 6f 77 73 3c 2f 62 3e 20 68 61 73 20 74 0 rows</b> has t
16eb0 6f 20 62 65 20 73 68 6f 77 6e 20 6f 6e 20 74 68 o be shown on th
16ec0 65 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 e current window
16ed0 20 70 61 6e 65 6c 2e 3c 62 72 3e 0d 0a 54 68 65 panel.<br>..The
16ee0 20 74 77 6f 20 74 68 69 6e 67 73 20 64 6f 6e 27 two things don'
16ef0 74 20 67 6f 20 74 6f 67 65 74 68 65 72 20 77 65 t go together we
16f00 6c 6c 3b 20 73 6f 20 64 6f 6e 27 74 20 62 65 20 ll; so don't be
16f10 73 75 72 70 72 69 73 65 64 20 77 68 65 6e 20 65 surprised when e
16f20 76 65 6e 74 75 61 6c 6c 79 20 64 69 73 63 6f 76 ventually discov
16f30 65 72 69 6e 67 20 74 68 61 74 20 3c 62 3e 73 70 ering that <b>sp
16f40 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e atialite_gui</b>
16f50 20 77 69 6c 6c 20 62 65 68 61 76 65 20 62 69 7a will behave biz
16f60 61 72 72 65 6c 79 20 77 68 69 6c 65 20 70 72 65 arrely while pre
16f70 73 65 6e 74 69 6e 67 20 73 6f 6d 65 20 72 65 73 senting some res
16f80 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 ultset returned
16f90 62 79 20 61 20 54 53 50 20 71 75 65 72 79 2e 20 by a TSP query.
16fa0 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 ..<verbatim>..UP
16fb0 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 DATE byfoot SET
16fc0 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 27 3b Request = 'TSP';
16fd0 0d 0a 0d 0a 43 52 45 41 54 45 20 54 41 42 4c 45 ....CREATE TABLE
16fe0 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e my_tsp_solution
16ff0 20 41 53 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f AS..SELECT Algo
17000 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 rithm, Request,
17010 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 Options, Delimit
17020 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 er, RouteId, Rou
17030 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e teRow, Role, Lin
17040 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d kRowid, NodeFrom
17050 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 , NodeTo, Cost,
17060 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a Geometry, Name..
17070 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 FROM byfoot..WHE
17080 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 RE NodeFrom = 17
17090 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 8731 AND NodeTo
170a0 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 39 39 = '183286,181999
170b0 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c 31 ,184030,183882,1
170c0 37 38 37 35 34 27 3b 0d 0a 0d 0a 2e 2e 2e 20 20 78754';.......
170d0 3c 6e 6f 77 20 71 75 65 72 79 20 22 6d 79 5f 74 <now query "my_t
170e0 73 70 5f 73 6f 6c 75 74 69 6f 6e 22 20 75 73 69 sp_solution" usi
170f0 6e 67 20 73 70 61 74 69 61 6c 69 74 65 5f 67 75 ng spatialite_gu
17100 69 3e 20 20 2e 2e 2e 0d 0a 0d 0a 44 52 4f 50 20 i> .......DROP
17110 54 41 42 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c TABLE my_tsp_sol
17120 75 74 69 6f 6e 3b 0d 0a 3c 2f 76 65 72 62 61 74 ution;..</verbat
17130 69 6d 3e 0d 0a 3c 75 3e 48 69 6e 74 3c 2f 75 3e im>..<u>Hint</u>
17140 3a 20 72 65 73 6f 6c 76 69 6e 67 20 74 68 69 73 : resolving this
17150 20 70 75 7a 7a 6c 69 6e 67 20 69 73 73 75 65 20 puzzling issue
17160 69 73 20 68 6f 77 65 76 65 72 20 62 61 73 69 63 is however basic
17170 61 6c 6c 79 20 73 69 6d 70 6c 65 3a 0d 0a 3c 6f ally simple:..<o
17180 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 73 69 6d 70 l>..<li>you simp
17190 6c 79 20 68 61 76 65 20 74 6f 20 74 61 6b 65 20 ly have to take
171a0 61 20 3c 62 3e 73 74 61 74 69 63 20 73 6e 61 70 a <b>static snap
171b0 73 68 6f 74 3c 2f 62 3e 20 6f 66 20 79 6f 75 72 shot</b> of your
171c0 20 54 53 50 20 72 65 73 75 6c 74 73 65 74 20 62 TSP resultset b
171d0 79 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e 43 y using the <b>C
171e0 52 45 41 54 45 20 54 41 42 4c 45 20 3c 69 3e 6e REATE TABLE <i>n
171f0 61 6d 65 3c 2f 69 3e 20 41 53 20 3c 69 3e 54 53 ame</i> AS <i>TS
17200 50 20 71 75 65 72 79 3c 69 3e 3c 2f 62 3e 2e 3c P query<i></b>.<
17210 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 79 /li>..<li>then y
17220 6f 75 20 63 61 6e 20 66 72 65 65 6c 79 20 65 78 ou can freely ex
17230 61 6d 69 6e 65 20 74 68 65 20 61 62 6f 76 65 20 amine the above
17240 73 6e 61 70 73 68 6f 74 2e 3c 2f 6c 69 3e 0d 0a snapshot.</li>..
17250 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20 <li>and finally
17260 79 6f 75 20 63 61 6e 20 64 75 6c 79 20 3c 62 3e you can duly <b>
17270 44 52 4f 50 3c 2f 62 3e 20 74 68 65 20 73 6e 61 DROP</b> the sna
17280 70 73 68 6f 74 20 6f 6e 63 65 20 69 74 27 73 20 pshot once it's
17290 6e 6f 20 6c 6f 6e 67 65 72 20 75 73 65 66 75 6c no longer useful
172a0 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c .</li>..</ol>..<
172b0 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 /td></tr>..</tab
172c0 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c le>..<br>..<tabl
172d0 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 e bgcolor="#c0ff
172e0 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d c0" cellspacing=
172f0 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 "10" cellpadding
17300 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c ="6"><tr><td>..<
17310 68 33 3e 4d 6f 72 65 20 61 62 6f 75 74 20 4c 69 h3>More about Li
17320 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e 67 near Referencing
17330 20 61 6e 64 20 56 69 72 74 75 61 6c 52 6f 75 74 and VirtualRout
17340 69 6e 67 20 4c 69 6e 65 73 74 72 69 6e 67 73 3c ing Linestrings<
17350 2f 68 33 3e 20 0d 0a 59 6f 75 20 68 61 76 65 20 /h3> ..You have
17360 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 already seen in
17370 61 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 a previous examp
17380 6c 65 20 74 68 61 74 20 61 6c 6c 20 4c 49 4e 45 le that all LINE
17390 53 54 52 49 4e 47 73 20 63 72 65 61 74 65 64 20 STRINGs created
173a0 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e by VirtualRoutin
173b0 67 20 73 75 70 70 6f 72 74 20 74 68 65 20 3c 62 g support the <b
173c0 3e 4d 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e 6d 65 >M</b> (<b><i>me
173d0 61 73 75 72 65 3c 2f 69 3e 3c 2f 62 3e 29 20 63 asure</i></b>) c
173e0 6f 6f 72 64 69 6e 61 74 65 20 69 6e 74 65 6e 64 oordinate intend
173f0 65 64 20 61 73 20 61 20 3c 62 3e 70 72 6f 67 72 ed as a <b>progr
17400 65 73 73 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 essive cost</b>
17410 66 6f 72 20 65 61 63 68 20 76 65 72 74 65 78 2e for each vertex.
17420 20 41 6e 64 20 79 6f 75 20 61 6c 72 65 61 64 79 And you already
17430 20 6b 6e 6f 77 20 74 68 65 20 74 68 65 79 20 63 know the they c
17440 61 6e 20 73 75 70 70 6f 72 74 20 3c 62 3e 3c 69 an support <b><i
17450 3e 6c 69 6e 65 61 72 20 72 65 66 65 72 65 6e 63 >linear referenc
17460 69 6e 67 3c 2f 69 3e 3c 2f 62 3e 20 28 3c 62 3e ing</i></b> (<b>
17470 4c 52 3c 2f 62 3e 29 20 53 51 4c 20 66 75 6e 63 LR</b>) SQL func
17480 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 4c 65 74 27 tions.<br>..Let'
17490 73 20 6e 6f 77 20 67 6f 20 69 6e 20 66 75 72 74 s now go in furt
174a0 68 65 72 20 64 65 70 74 68 2e 0d 0a 3c 68 33 3e her depth...<h3>
174b0 54 72 61 6a 65 63 74 6f 72 79 20 6f 62 6a 65 63 Trajectory objec
174c0 74 73 3c 2f 68 33 3e 0d 0a 41 20 3c 62 3e 54 72 ts</h3>..A <b>Tr
174d0 61 6a 65 63 74 6f 72 79 3c 2f 62 3e 20 69 73 20 ajectory</b> is
174e0 61 6e 79 20 4c 69 6e 65 73 74 72 69 6e 67 20 73 any Linestring s
174f0 75 70 70 6f 72 74 69 6e 67 20 3c 62 3e 4d 20 63 upporting <b>M c
17500 6f 6f 72 64 69 6e 61 74 65 73 3c 2f 62 3e 20 77 oordinates</b> w
17510 69 74 68 20 61 20 63 6f 6e 74 69 6e 75 6f 75 73 ith a continuous
17520 6c 79 20 69 6e 63 72 65 61 73 69 6e 67 20 74 72 ly increasing tr
17530 65 6e 64 2e 3c 62 72 3e 0d 0a 49 6e 20 73 69 6d end.<br>..In sim
17540 70 6c 65 72 20 77 6f 72 64 73 2c 20 74 68 65 20 pler words, the
17550 3c 62 3e 4d 2d 76 61 6c 75 65 3c 2f 62 3e 20 6f <b>M-value</b> o
17560 66 20 65 61 63 68 20 76 65 72 74 65 78 20 28 65 f each vertex (e
17570 78 63 65 70 74 20 74 68 65 20 6c 61 73 74 20 6f xcept the last o
17580 6e 65 29 20 6d 75 73 74 20 62 65 20 3c 62 3e 6c ne) must be <b>l
17590 65 73 73 65 72 3c 2f 62 3e 20 74 68 61 6e 20 74 esser</b> than t
175a0 68 65 20 4d 2d 56 61 6c 75 65 20 6f 66 20 74 68 he M-Value of th
175b0 65 20 6e 65 78 74 20 76 65 72 74 65 78 2e 0d 0a e next vertex...
175c0 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 <verbatim>..SELE
175d0 43 54 20 2a 20 46 52 4f 4d 20 6d 79 5f 74 73 70 CT * FROM my_tsp
175e0 5f 73 6f 6c 75 74 69 6f 6e 20 57 48 45 52 45 20 _solution WHERE
175f0 53 54 5f 49 73 56 61 6c 69 64 54 72 61 6a 65 63 ST_IsValidTrajec
17600 74 6f 72 79 28 67 65 6f 6d 65 74 72 79 29 20 3d tory(geometry) =
17610 20 31 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 1;..-----------
17620 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 --------..1..</v
17630 65 72 62 61 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 erbatim>..As you
17640 20 63 61 6e 20 65 61 73 69 6c 79 20 63 68 65 63 can easily chec
17650 6b 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 62 3e k by calling <b>
17660 53 54 5f 49 73 56 61 6c 69 64 54 72 61 6a 65 63 ST_IsValidTrajec
17670 74 6f 72 79 28 29 3c 2f 62 3e 20 65 76 65 72 79 tory()</b> every
17680 20 4c 69 6e 65 73 74 72 69 6e 67 20 63 72 65 61 Linestring crea
17690 74 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f ted by VirtualRo
176a0 75 74 69 6e 67 20 69 73 20 61 20 3c 62 3e 76 61 uting is a <b>va
176b0 6c 69 64 20 54 72 61 6a 65 63 74 6f 72 79 3c 2f lid Trajectory</
176c0 62 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d b>...<verbatim>.
176d0 0a 53 45 4c 45 43 54 20 53 54 5f 54 72 61 6a 65 .SELECT ST_Traje
176e0 63 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61 74 65 ctoryInterpolate
176f0 50 6f 69 6e 74 28 47 65 6f 6d 65 74 72 79 2c 20 Point(Geometry,
17700 31 30 30 2e 30 29 0d 0a 46 52 4f 4d 20 6d 79 5f 100.0)..FROM my_
17710 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 0d 0a 57 48 tsp_solution..WH
17720 45 52 45 20 52 6f 75 74 65 49 64 20 3d 20 30 3b ERE RouteId = 0;
17730 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 53 ..</verbatim>..S
17740 6f 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 o you just have
17750 74 6f 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 54 72 to call <b>ST_Tr
17760 61 6a 65 63 74 6f 72 79 49 6e 74 65 72 70 6f 6c ajectoryInterpol
17770 61 74 65 50 6f 69 6e 74 28 29 3c 2f 62 3e 20 69 atePoint()</b> i
17780 6e 20 6f 72 64 65 72 20 74 6f 20 63 72 65 61 74 n order to creat
17790 65 20 61 20 50 4f 49 4e 54 20 70 72 65 63 69 73 e a POINT precis
177a0 65 6c 79 20 6c 6f 63 61 74 65 64 20 6f 6e 20 74 ely located on t
177b0 68 65 20 4c 69 6e 65 73 74 72 69 6e 67 20 61 74 he Linestring at
177c0 20 74 68 65 20 67 69 76 65 6e 20 3c 62 3e 63 6f the given <b>co
177d0 73 74 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 3c 62 72 st</b>...<br><br
177e0 3e 3c 68 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 ><hr><br><br>..T
177f0 68 65 20 73 69 64 65 20 6d 61 70 20 67 72 61 70 he side map grap
17800 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 hically shows th
17810 65 20 65 73 74 69 6d 61 74 65 64 20 70 6f 73 69 e estimated posi
17820 74 69 6f 6e 73 20 65 76 65 72 79 20 31 30 30 6d tions every 100m
17830 20 61 73 73 75 6d 69 6e 67 20 74 68 65 20 73 61 assuming the sa
17840 6d 65 20 70 61 74 68 20 72 65 74 75 72 6e 65 64 me path returned
17850 20 62 79 20 74 68 65 20 6c 61 74 65 73 74 20 54 by the latest T
17860 53 50 20 71 75 65 72 79 2e 0d 0a 3c 2f 74 64 3e SP query...</td>
17870 3c 74 64 3e 20 20 20 20 20 20 20 20 20 20 20 20 <td>
17880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ada0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1add0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ade0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1baf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1beb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1caa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1caf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ceb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ced0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1daa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1daf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1deb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ded0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1def0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ead0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ede0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1faf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe60 20 20 20 20 20 20 20 20 20 20 20 20 20 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 0d 0a 3c 69 6d ..<im
1ffc0 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 g src="https://w
1ffd0 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 ww.gaia-gis.it/g
1ffe0 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 aia-sins/routing
1fff0 2d 66 69 67 73 2f 74 73 70 32 2e 6a 70 67 22 20 -figs/tsp2.jpg"
20000 61 6c 74 3d 22 66 69 67 35 22 3e 0d 0a 3c 2f 74 alt="fig5">..</t
20010 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d d></tr></table>.
20020 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c .<br><br>..<hr><
20030 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 br>..<h1><a name
20040 3d 22 70 32 70 22 3e 38 20 2d 20 53 6f 6c 76 69 ="p2p">8 - Solvi
20050 6e 67 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e ng Point-to-Poin
20060 74 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f t problems</a></
20070 68 31 3e 0d 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d h1>..A <b>Point-
20080 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 to-Point</b> que
20090 72 79 20 69 73 20 76 65 72 79 20 73 69 6d 69 6c ry is very simil
200a0 61 72 20 74 6f 20 61 20 6d 6f 73 74 20 75 73 75 ar to a most usu
200b0 61 6c 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 73 al <b>single-des
200c0 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 tination Shortes
200d0 74 20 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 79 t Path</b> query
200e0 2c 20 65 78 63 65 70 74 20 74 68 61 74 3a 0d 0a , except that:..
200f0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 20 63 6c 61 73 <ul>..<li>A clas
20100 73 69 63 20 53 68 6f 72 74 65 73 74 20 50 61 74 sic Shortest Pat
20110 68 20 71 75 65 72 79 20 72 65 71 75 69 72 65 73 h query requires
20120 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 3c 62 to specify a <b
20130 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 28 3c >NodeFrom</b> (<
20140 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c u><i>origin</i><
20150 2f 75 3e 29 20 61 6e 64 20 61 20 3c 62 3e 4e 6f /u>) and a <b>No
20160 64 65 54 6f 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e deTo</b> (<u><i>
20170 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c destination</i><
20180 2f 75 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e /u>).</li>..<li>
20190 41 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 A Point-to-Point
201a0 20 71 75 65 72 79 20 68 61 73 20 6d 6f 72 65 20 query has more
201b0 72 65 6c 61 78 65 64 20 72 65 71 75 69 73 69 74 relaxed requisit
201c0 65 73 2c 20 61 6e 64 20 6a 75 73 74 20 72 65 71 es, and just req
201d0 75 69 72 65 73 20 74 6f 20 73 70 65 63 69 66 79 uires to specify
201e0 20 61 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c a <b>PointFrom<
201f0 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 /b> (<u><i>origi
20200 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 n</i></u>) and a
20210 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 <b>PointTo</b>
20220 28 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 69 (<u><i>destinati
20230 6f 6e 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c 62 72 3e on</i></u>).<br>
20240 0d 0a 42 6f 74 68 20 3c 62 3e 50 6f 69 6e 74 73 ..Both <b>Points
20250 3c 2f 62 3e 20 63 61 6e 20 62 65 20 66 72 65 65 </b> can be free
20260 6c 79 20 70 6f 73 69 74 69 6f 6e 65 64 20 65 76 ly positioned ev
20270 65 72 79 77 68 65 72 65 20 6f 6e 20 61 20 6d 61 erywhere on a ma
20280 70 2c 20 61 6e 64 20 61 72 65 20 6e 6f 74 20 72 p, and are not r
20290 65 71 75 69 72 65 64 20 74 6f 20 70 72 65 63 69 equired to preci
202a0 73 65 6c 79 20 69 6e 74 65 72 73 65 63 74 20 6e sely intersect n
202b0 65 69 74 68 65 72 20 61 20 3c 62 3e 4e 6f 64 65 either a <b>Node
202c0 3c 2f 62 3e 20 6e 6f 72 20 61 20 3c 62 3e 4c 69 </b> nor a <b>Li
202d0 6e 6b 3c 2f 62 3e 20 6f 66 20 74 68 65 20 75 6e nk</b> of the un
202e0 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 derlaying Networ
202f0 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20 50 6f 69 6e k.<br>..The Poin
20300 74 2d 74 6f 2d 50 6f 69 6e 74 27 73 20 3c 75 3e t-to-Point's <u>
20310 3c 69 3e 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69 <i>internal logi
20320 63 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c 20 74 c</i></u> will t
20330 68 65 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c hen automaticall
20340 79 20 69 64 65 6e 74 69 66 79 20 28 69 66 20 70 y identify (if p
20350 6f 73 73 69 62 6c 65 29 20 74 68 65 20 61 70 70 ossible) the app
20360 72 6f 70 72 69 61 74 65 20 4e 6f 64 65 73 20 66 ropriate Nodes f
20370 6f 72 20 63 6f 6d 70 75 74 69 6e 67 20 61 20 53 or computing a S
20380 68 6f 72 74 65 73 74 20 50 61 74 68 20 73 6f 6c hortest Path sol
20390 75 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e ution.<br>..<u>N
203a0 6f 74 65 3c 2f 75 3e 3a 20 74 68 65 20 74 77 6f ote</u>: the two
203b0 20 50 6f 69 6e 74 73 20 3c 62 3e 6d 75 73 74 3c Points <b>must<
203c0 2f 62 3e 20 62 65 20 69 6e 20 74 68 65 20 73 61 /b> be in the sa
203d0 6d 65 20 3c 62 3e 53 52 49 44 3c 2f 62 3e 20 6f me <b>SRID</b> o
203e0 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e f the underlayin
203f0 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d g Network.</li>.
20400 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 48 6f 77 20 .</ul>..<h3>How
20410 69 74 20 70 72 61 63 74 69 63 61 6c 6c 79 20 77 it practically w
20420 6f 72 6b 73 3c 2f 68 33 3e 0d 0a 3c 6f 6c 3e 0d orks</h3>..<ol>.
20430 0a 3c 6c 69 3e 61 20 66 69 72 73 74 20 3c 75 3e .<li>a first <u>
20440 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61 72 63 <i>spatial searc
20450 68 3c 2f 69 3e 3c 2f 75 3e 20 62 61 73 65 64 20 h</i></u> based
20460 6f 6e 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 46 on the <b>PointF
20470 72 6f 6d 3c 2f 62 3e 20 77 69 6c 6c 20 61 74 74 rom</b> will att
20480 65 6d 70 74 20 74 6f 20 69 64 65 6e 74 69 66 79 empt to identify
20490 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 all <b>Links</b
204a0 3e 20 66 61 6c 6c 69 6e 67 20 77 69 74 68 69 6e > falling within
204b0 20 61 20 67 69 76 65 6e 20 3c 62 3e 74 6f 6c 65 a given <b>tole
204c0 72 61 6e 63 65 20 72 61 64 69 75 73 3c 2f 62 3e rance radius</b>
204d0 20 66 72 6f 6d 20 74 68 65 20 50 6f 69 6e 74 2e from the Point.
204e0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 73 65 63 </li>..<li>a sec
204f0 6f 6e 64 20 73 69 6d 69 6c 61 72 20 73 70 61 74 ond similar spat
20500 69 61 6c 20 73 65 61 72 63 68 20 77 69 6c 6c 20 ial search will
20510 61 74 74 65 6d 70 74 20 74 6f 20 69 64 65 6e 74 attempt to ident
20520 69 66 79 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 ify all <b>Links
20530 3c 2f 62 3e 20 72 65 6c 61 74 65 64 20 74 6f 20 </b> related to
20540 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f the <b>PointTo</
20550 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c b>.</li>..<li>al
20560 6c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 62 l <b>Nodes</b> b
20570 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 6e 79 20 elonging to any
20580 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 69 64 65 6e <b>Link</b> iden
20590 74 69 66 69 65 64 20 62 79 20 74 68 65 20 66 69 tified by the fi
205a0 72 73 74 20 73 70 61 74 69 61 6c 20 73 65 61 72 rst spatial sear
205b0 63 68 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69 ch will be consi
205c0 64 65 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c dered as possibl
205d0 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 20 63 61 e <b>NodeFrom ca
205e0 6e 64 69 64 61 74 65 73 3c 2f 62 3e 2e 3c 2f 6c ndidates</b>.</l
205f0 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 73 79 6d 6d i>..<li>and symm
20600 65 74 72 69 63 61 6c 6c 79 2c 20 61 6c 6c 20 3c etrically, all <
20610 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 62 65 6c 6f b>Nodes</b> belo
20620 6e 67 69 6e 67 20 74 6f 20 61 6e 79 20 3c 62 3e nging to any <b>
20630 4c 69 6e 6b 3c 2f 62 3e 20 69 64 65 6e 74 69 66 Link</b> identif
20640 69 65 64 20 62 79 20 74 68 65 20 73 65 63 6f 6e ied by the secon
20650 64 20 73 70 61 74 69 61 6c 20 73 65 61 72 63 68 d spatial search
20660 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65 will be conside
20670 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c 65 20 red as possible
20680 3c 62 3e 4e 6f 64 65 54 6f 20 63 61 6e 64 69 64 <b>NodeTo candid
20690 61 74 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a ates</b>.</li>..
206a0 3c 6c 69 3e 61 20 66 75 6c 6c 20 70 65 72 6d 75 <li>a full permu
206b0 74 61 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 53 68 tation of all Sh
206c0 6f 72 74 65 73 74 20 50 61 74 68 20 73 6f 6c 75 ortest Path solu
206d0 74 69 6f 6e 73 20 63 6f 6e 6e 65 63 74 69 6e 67 tions connecting
206e0 20 6f 6e 65 20 74 68 65 20 46 72 6f 6d 20 63 61 one the From ca
206f0 6e 64 69 64 61 74 65 73 20 74 6f 20 6f 6e 65 20 ndidates to one
20700 6f 66 20 74 68 65 20 54 6f 20 63 61 6e 64 69 64 of the To candid
20710 61 74 65 73 20 77 69 6c 6c 20 62 65 20 74 68 65 ates will be the
20720 6e 20 63 6f 6d 70 75 74 65 64 2e 3c 2f 6c 69 3e n computed.</li>
20730 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 6c 6c ..<li>and finall
20740 79 20 74 68 65 20 3c 62 3e 6f 70 74 69 6d 61 6c y the <b>optimal
20750 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 Point-to-Point
20760 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 77 69 6c solution</b> wil
20770 6c 20 62 65 20 73 65 6c 65 63 74 65 64 20 62 79 l be selected by
20780 20 69 64 65 6e 74 69 66 79 69 6e 67 20 77 68 69 identifying whi
20790 63 68 20 73 70 65 63 69 66 69 63 20 63 61 6e 64 ch specific cand
207a0 69 64 61 74 65 20 70 72 65 73 65 6e 74 73 20 74 idate presents t
207b0 68 65 20 3c 62 3e 6c 65 73 73 65 72 20 43 6f 73 he <b>lesser Cos
207c0 74 3c 2f 62 3e 20 6f 66 20 74 68 65 6d 20 61 6c t</b> of them al
207d0 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 3c 62 l.</li>..</ol><b
207e0 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c r>..<table bgcol
207f0 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c or="#ffb060" cel
20800 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 lspacing="10" ce
20810 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 llpadding="6"><t
20820 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 42 65 20 61 r><td>..<h3>Be a
20830 77 61 72 65 3c 2f 68 33 3e 0d 0a 41 74 74 65 6d ware</h3>..Attem
20840 70 74 69 6e 67 20 74 6f 20 73 6f 6c 76 65 20 50 pting to solve P
20850 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 oint-to-Point qu
20860 65 72 69 65 73 20 73 74 72 69 63 74 6c 79 20 72 eries strictly r
20870 65 71 75 69 72 65 73 20 74 68 61 74 20 61 6e 20 equires that an
20880 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 53 appropriate <b>S
20890 70 61 74 69 61 6c 20 49 6e 64 65 78 3c 2f 62 3e patial Index</b>
208a0 20 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c 79 can effectively
208b0 20 73 75 70 70 6f 72 74 20 61 6c 6c 20 4c 69 6e support all Lin
208c0 6b 73 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c ks of the underl
208d0 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 aying Network.<b
208e0 72 3e 0d 0a 49 66 20 73 75 63 68 20 61 20 72 65 r>..If such a re
208f0 71 75 69 73 69 74 65 20 69 73 20 6e 6f 74 20 73 quisite is not s
20900 61 74 69 73 66 69 65 64 20 74 68 65 20 61 62 6f atisfied the abo
20910 76 65 20 6d 65 6e 74 69 6f 6e 65 64 20 3c 75 3e ve mentioned <u>
20920 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61 72 63 <i>spatial searc
20930 68 65 73 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c hes</i></u> will
20940 20 6d 69 73 65 72 61 62 6c 79 20 66 61 69 6c 2c miserably fail,
20950 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c and consequentl
20960 79 20 61 6c 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 y all Point-to-P
20970 6f 69 6e 74 20 71 75 65 72 69 65 73 20 77 69 6c oint queries wil
20980 6c 20 62 65 20 75 6e 61 62 6c 65 20 74 6f 20 69 l be unable to i
20990 64 65 6e 74 69 66 79 20 61 6e 79 20 70 6f 73 73 dentify any poss
209a0 69 62 6c 65 20 43 61 6e 64 69 64 61 74 65 20 74 ible Candidate t
209b0 6f 20 62 65 20 65 76 61 6c 75 61 74 65 64 2e 0d o be evaluated..
209c0 0a 3c 68 33 3e 41 6c 77 61 79 73 20 72 65 6d 65 .<h3>Always reme
209d0 6d 62 65 72 3c 2f 68 33 3e 0d 0a 43 61 72 65 66 mber</h3>..Caref
209e0 75 6c 6c 79 20 63 68 65 63 6b 20 69 66 20 61 6e ully check if an
209f0 20 61 70 70 72 6f 70 72 69 61 74 65 20 53 70 61 appropriate Spa
20a00 74 69 61 6c 20 49 6e 64 65 78 20 64 6f 20 72 65 tial Index do re
20a10 61 6c 6c 79 20 65 78 69 73 74 73 20 62 65 66 6f ally exists befo
20a20 72 65 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f re attempting to
20a30 20 65 78 65 63 75 74 65 20 61 6e 79 20 50 6f 69 execute any Poi
20a40 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 nt-to-Point quer
20a50 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f y...<br><br>..</
20a60 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e td></tr></table>
20a70 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 ..<br>..<table b
20a80 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 gcolor="#c0ffc0"
20a90 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 cellspacing="10
20aa0 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 " cellpadding="6
20ab0 22 3e 3c 74 72 3e 3c 74 64 20 61 6c 69 67 6e 3d "><tr><td align=
20ac0 22 63 65 6e 74 65 72 22 20 63 6f 6c 73 70 61 6e "center" colspan
20ad0 3d 22 32 22 3e 0d 0a 3c 68 32 3e 42 61 73 69 63 ="2">..<h2>Basic
20ae0 20 63 6f 6e 63 65 70 74 73 2c 20 74 65 63 68 6e concepts, techn
20af0 69 63 61 6c 20 64 65 74 61 69 6c 73 20 61 6e 64 ical details and
20b00 20 72 65 6c 61 74 65 64 20 67 6c 6f 73 73 61 72 related glossar
20b10 79 3c 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 y</h2>..</td></t
20b20 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 54 68 r>..<tr><td>..Th
20b30 65 20 73 69 64 65 20 66 69 67 75 72 65 20 73 68 e side figure sh
20b40 6f 77 73 20 61 20 68 79 70 6f 74 68 65 74 69 63 ows a hypothetic
20b50 61 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e al Point-to-Poin
20b60 74 20 73 6f 6c 75 74 69 6f 6e 20 61 6c 6d 6f 73 t solution almos
20b70 74 20 70 72 65 63 69 73 65 6c 79 20 62 61 73 65 t precisely base
20b80 64 20 6f 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 d on the followi
20b90 6e 67 20 73 65 71 75 65 6e 63 65 20 6f 66 20 4e ng sequence of N
20ba0 6f 64 65 73 3a 3c 62 72 3e 0d 0a 3c 62 3e 3c 69 odes:<br>..<b><i
20bb0 3e 4e 31 2d 4e 32 2d 4e 33 2d 4e 34 2d 4e 35 2d >N1-N2-N3-N4-N5-
20bc0 4e 36 2d 4e 37 2d 4e 38 2d 4e 39 2d 4e 31 30 2d N6-N7-N8-N9-N10-
20bd0 4e 31 31 2d 4e 31 32 2d 4e 31 33 2d 4e 31 34 2d N11-N12-N13-N14-
20be0 4e 31 35 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 N15</i></b>..<br
20bf0 3e 3c 62 72 3e 0d 0a 48 6f 77 65 76 65 72 2c 20 ><br>..However,
20c00 61 73 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c as you can easil
20c10 79 20 6e 6f 74 69 63 65 2c 20 74 68 65 72 65 20 y notice, there
20c20 61 72 65 20 74 77 6f 20 73 74 72 69 6b 69 6e 67 are two striking
20c30 20 65 78 63 65 70 74 69 6f 6e 73 3a 0d 0a 3c 75 exceptions:..<u
20c40 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 3c 62 3e 66 l>..<li>The <b>f
20c50 69 72 73 74 3c 2f 62 3e 20 4c 69 6e 6b 20 28 63 irst</b> Link (c
20c60 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 4e 31 3c onnecting <b>N1<
20c70 2f 62 3e 20 74 6f 20 3c 62 3e 4e 32 3c 2f 62 3e /b> to <b>N2</b>
20c80 29 20 69 73 20 6e 6f 74 20 63 6f 6d 70 6c 65 74 ) is not complet
20c90 65 6c 79 20 72 65 71 75 69 72 65 64 20 62 79 20 ely required by
20ca0 74 68 65 20 53 6f 6c 75 74 69 6f 6e 2e 3c 62 72 the Solution.<br
20cb0 3e 0d 0a 4a 75 73 74 20 61 20 73 6d 61 6c 6c 20 >..Just a small
20cc0 70 6f 72 74 69 6f 6e 20 28 64 72 61 77 6e 20 69 portion (drawn i
20cd0 6e 20 72 65 64 29 20 6f 66 20 74 68 69 73 20 4c n red) of this L
20ce0 69 6e 6b 20 69 73 20 65 66 66 65 63 74 69 76 65 ink is effective
20cf0 6c 79 20 72 65 71 75 69 72 65 64 2e 3c 62 72 3e ly required.<br>
20d00 0d 0a 54 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 ..The remaining
20d10 70 61 72 74 20 28 64 72 61 77 6e 20 69 6e 20 67 part (drawn in g
20d20 72 61 79 29 20 69 73 6e 27 74 20 63 6f 76 65 72 ray) isn't cover
20d30 65 64 20 62 79 20 74 68 65 20 53 6f 6c 75 74 69 ed by the Soluti
20d40 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 78 on.</li>..<li>Ex
20d50 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 69 actly the same i
20d60 73 20 66 6f 72 20 74 68 65 20 3c 62 3e 6c 61 73 s for the <b>las
20d70 74 3c 2f 62 3e 20 4c 69 6e 6b 20 63 6f 6e 6e 65 t</b> Link conne
20d80 63 74 69 6e 67 20 3c 62 3e 4e 31 34 3c 2f 62 3e cting <b>N14</b>
20d90 20 74 6f 20 3c 62 3e 4e 31 35 3c 2f 62 3e 2e 3c to <b>N15</b>.<
20da0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 61 74 27 73 /li>..<li>That's
20db0 20 6e 6f 74 20 61 6c 6c 3a 20 74 68 65 72 65 20 not all: there
20dc0 61 72 65 20 74 77 6f 20 73 68 6f 72 74 20 73 65 are two short se
20dd0 67 6d 65 6e 74 73 20 28 64 72 61 77 6e 20 69 6e gments (drawn in
20de0 20 67 72 65 65 6e 29 20 63 6f 6e 6e 65 63 74 69 green) connecti
20df0 6e 67 20 3c 62 3e 50 66 72 6f 6d 3c 2f 62 3e 20 ng <b>Pfrom</b>
20e00 61 6e 64 20 3c 62 3e 50 74 6f 3c 2f 62 3e 20 28 and <b>Pto</b> (
20e10 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e 20 61 6e <i>origin</i> an
20e20 64 20 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e d <i>destination
20e30 3c 2f 69 3e 20 50 6f 69 6e 74 73 29 20 72 65 73 </i> Points) res
20e40 70 65 63 74 69 76 65 6c 79 20 74 6f 20 74 68 65 pectively to the
20e50 20 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20 61 6e <b>first</b> an
20e60 64 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e 20 70 61 d <b>last</b> pa
20e70 72 74 69 61 6c 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 rtial Links.</li
20e80 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a >..</ul>..<br>..
20e90 41 6c 6c 20 74 68 69 73 20 73 68 6f 75 6c 64 6e All this shouldn
20ea0 27 74 20 62 65 20 75 6e 65 78 70 65 63 74 65 64 't be unexpected
20eb0 2c 20 62 65 63 61 75 73 65 20 69 74 20 73 69 6d , because it sim
20ec0 70 6c 79 20 69 73 20 74 68 65 20 6d 6f 73 74 20 ply is the most
20ed0 6f 62 76 69 6f 75 73 20 64 69 72 65 63 74 20 63 obvious direct c
20ee0 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 onsequence of th
20ef0 65 20 76 65 72 79 20 62 61 73 69 63 20 61 73 73 e very basic ass
20f00 75 6d 70 74 69 6f 6e 73 20 61 74 20 74 68 65 20 umptions at the
20f10 62 61 73 69 73 20 6f 66 20 50 6f 69 6e 74 2d 74 basis of Point-t
20f20 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 3a o-Point queries:
20f30 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4e 65 69 74 ..<ul>..<li>Neit
20f40 68 65 72 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 her the <b>Point
20f50 46 72 6f 6d 3c 2f 62 3e 20 6e 6f 72 20 74 68 65 From</b> nor the
20f60 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 <b>PointTo</b>
20f70 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 are required to
20f80 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73 65 63 exactly intersec
20f90 74 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 2e t a <b>Node</b>.
20fa0 3c 62 72 3e 0d 0a 43 6f 6e 73 65 71 75 65 6e 74 <br>..Consequent
20fb0 6c 79 20 74 68 65 20 3c 62 3e 66 69 72 73 74 3c ly the <b>first<
20fc0 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 73 74 3c /b> and <b>last<
20fd0 2f 62 3e 20 4c 69 6e 6b 73 20 6f 66 20 74 68 65 /b> Links of the
20fe0 20 6f 76 65 72 61 6c 6c 20 50 6f 69 6e 74 2d 74 overall Point-t
20ff0 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e o-Point Solution
21000 20 63 6f 75 6c 64 20 62 65 20 6f 6e 6c 79 20 70 could be only p
21010 61 72 74 69 61 6c 6c 79 20 69 6e 76 6f 6c 76 65 artially involve
21020 64 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69 72 74 75 d.<br>..In Virtu
21030 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72 67 6f 6e alRouting jargon
21040 20 74 68 65 73 65 20 74 77 6f 20 3c 75 3e 3c 69 these two <u><i
21050 3e 73 70 65 63 69 61 6c 20 69 74 65 6d 73 3c 2f >special items</
21060 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65 73 70 65 i></u> are respe
21070 63 74 69 76 65 6c 79 20 63 61 6c 6c 65 64 3a 0d ctively called:.
21080 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 .<ul>..<li><b>Pa
21090 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72 rtial Link (Star
210a0 74 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 t)</b></li>..<li
210b0 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b ><b>Partial Link
210c0 20 28 45 6e 64 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d (End)</b></li>.
210d0 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c 6c .</ul></li> ..<l
210e0 69 3e 42 6f 74 68 20 74 68 65 20 3c 62 3e 50 6f i>Both the <b>Po
210f0 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 intFrom</b> and
21100 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f the <b>PointTo</
21110 62 3e 20 63 61 6e 20 6c 65 67 69 74 69 6d 61 74 b> can legitimat
21120 65 6c 79 20 68 61 76 65 20 61 6e 79 20 61 72 62 ely have any arb
21130 69 74 72 61 72 79 20 70 6f 73 69 74 69 6f 6e 20 itrary position
21140 61 6e 64 20 61 72 65 20 6e 65 76 65 72 20 72 65 and are never re
21150 71 75 69 72 65 64 20 74 6f 20 65 78 61 63 74 6c quired to exactl
21160 79 20 69 6e 74 65 72 73 65 63 74 20 61 20 3c 62 y intersect a <b
21170 3e 4c 69 6e 6b 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a >Link</b>.<br>..
21180 54 68 69 73 20 63 61 6e 20 65 61 73 69 6c 79 20 This can easily
21190 69 6d 70 6c 79 20 74 68 61 74 20 61 6e 20 3c 75 imply that an <u
211a0 3e 3c 69 3e 65 78 74 72 61 20 73 68 6f 72 74 20 ><i>extra short
211b0 6c 65 67 3c 2f 69 3e 3c 2f 75 3e 20 63 6f 75 6c leg</i></u> coul
211c0 64 20 62 65 20 72 65 71 75 69 72 65 64 20 69 6e d be required in
211d0 20 6f 72 64 65 72 20 74 6f 20 63 6f 6e 6e 65 63 order to connec
211e0 74 20 74 68 65 20 46 72 6f 6d 2f 54 6f 20 50 6f t the From/To Po
211f0 69 6e 74 73 20 74 6f 20 74 68 65 20 63 6f 72 72 ints to the corr
21200 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 73 2e esponding Links.
21210 3c 62 72 3e 0d 0a 49 6e 20 56 69 72 75 74 61 6c <br>..In Virutal
21220 52 6f 75 74 69 6e 67 20 6a 61 72 67 6f 6e 20 74 Routing jargon t
21230 68 65 73 65 20 74 77 6f 20 3c 75 3e 3c 69 3e 73 hese two <u><i>s
21240 70 65 63 69 61 6c 20 69 74 65 6d 73 3c 2f 69 3e pecial items</i>
21250 3c 2f 75 3e 20 61 72 65 20 72 65 73 70 65 63 74 </u> are respect
21260 69 76 65 6c 79 20 63 61 6c 6c 65 64 3a 0d 0a 3c ively called:..<
21270 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e 67 72 ul>..<li><b>Ingr
21280 65 73 73 20 50 61 74 68 3c 2f 62 3e 3c 2f 6c 69 ess Path</b></li
21290 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72 65 73 73 >..<li><b>Egress
212a0 20 50 61 74 68 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a Path</b></li>..
212b0 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 </ul></li> ..<li
212c0 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 6e 6f ><u>Note</u>: no
212d0 6e 65 20 6f 66 20 74 68 65 6d 20 69 73 20 61 20 ne of them is a
212e0 73 74 72 69 63 74 6c 79 20 6d 61 6e 64 61 74 6f strictly mandato
212f0 72 79 20 69 74 65 6d 3a 0d 0a 3c 75 6c 3e 0d 0a ry item:..<ul>..
21300 3c 6c 69 3e 74 68 65 20 3c 62 3e 49 6e 67 72 65 <li>the <b>Ingre
21310 73 73 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20 3c 62 ss</b> and/or <b
21320 3e 45 67 72 65 73 73 20 50 61 74 68 73 3c 2f 62 >Egress Paths</b
21330 3e 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 > are not requir
21340 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f 72 72 ed when the corr
21350 65 73 70 6f 6e 64 69 6e 67 20 50 6f 69 6e 74 20 esponding Point
21360 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73 65 63 exactly intersec
21370 74 73 20 61 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d ts a Link.</li>.
21380 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 .<li><b>Partial
21390 4c 69 6e 6b 73 3c 2f 62 3e 20 28 65 69 74 68 65 Links</b> (eithe
213a0 72 20 3c 62 3e 28 53 74 61 72 74 29 3c 2f 62 3e r <b>(Start)</b>
213b0 20 6f 72 20 3c 62 3e 28 45 6e 64 28 3c 2f 62 3e or <b>(End(</b>
213c0 29 20 61 72 65 20 6e 65 76 65 72 20 72 65 71 75 ) are never requ
213d0 69 72 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f ired when the co
213e0 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 6f 69 6e rresponding Poin
213f0 74 20 65 78 61 63 74 6c 79 20 6d 61 74 63 68 65 t exactly matche
21400 73 20 61 20 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a s a Node.</li>..
21410 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c </ul></li>..</ul
21420 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a >..</td>..<td>..
21430 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a <img src="https:
21440 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 //www.gaia-gis.i
21450 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 t/gaia-sins/rout
21460 69 6e 67 2d 66 69 67 73 2f 70 32 70 2d 73 74 72 ing-figs/p2p-str
21470 75 63 74 2e 70 6e 67 22 20 61 6c 74 3d 22 70 32 uct.png" alt="p2
21480 70 2d 73 74 72 75 63 74 22 3e 0d 0a 3c 2f 74 64 p-struct">..</td
21490 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e ></tr>..<tr><td>
214a0 0d 0a 41 20 6d 6f 72 65 20 63 6f 6d 70 72 65 68 ..A more compreh
214b0 65 6e 73 69 76 65 20 61 6e 64 20 64 65 74 61 69 ensive and detai
214c0 6c 65 64 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 led explanation
214d0 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 69 64 based on the sid
214e0 65 20 66 69 67 75 72 65 3a 0d 0a 3c 75 6c 3e 0d e figure:..<ul>.
214f0 0a 3c 6c 69 3e 3c 62 3e 4c 31 3c 2f 62 3e 20 69 .<li><b>L1</b> i
21500 73 20 61 20 4c 69 6e 6b 20 63 6f 6e 6e 65 63 74 s a Link connect
21510 69 6e 67 20 4e 6f 64 65 73 20 3c 62 3e 4e 31 3c ing Nodes <b>N1<
21520 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 32 3c 2f 62 /b> and <b>N2</b
21530 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e >.</li>..<li><b>
21540 50 74 3c 2f 62 3e 20 69 73 20 6f 6e 65 20 62 65 Pt</b> is one be
21550 74 77 65 65 6e 20 50 6f 69 6e 74 46 72 6f 6d 20 tween PointFrom
21560 6f 72 20 50 6f 69 6e 74 54 6f 2e 3c 2f 6c 69 3e or PointTo.</li>
21570 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c ..</ul>..<br>..<
21580 6f 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 50 6f 69 ol>..<li>The Poi
21590 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 69 6e 74 65 nt-to-Point inte
215a0 72 6e 61 6c 20 6c 6f 67 69 63 20 77 69 6c 6c 20 rnal logic will
215b0 73 74 61 72 74 20 62 79 20 69 64 65 6e 74 69 66 start by identif
215c0 79 69 6e 67 20 3c 62 3e 69 3c 2f 62 3e 2c 0d 0a ying <b>i</b>,..
215d0 74 68 61 74 20 69 73 20 74 68 65 20 50 6f 69 6e that is the Poin
215e0 74 20 69 6e 74 65 72 73 65 63 74 69 6e 67 20 3c t intersecting <
215f0 62 3e 4c 31 3c 2f 62 3e 20 61 6e 64 20 70 72 65 b>L1</b> and pre
21600 73 65 6e 74 69 6e 67 20 74 68 65 20 6d 69 6e 69 senting the mini
21610 6d 75 6d 20 64 69 73 74 61 6e 63 65 20 62 65 74 mum distance bet
21620 77 65 65 6e 20 74 68 65 20 4c 69 6e 6b 20 61 6e ween the Link an
21630 64 20 3c 62 3e 50 74 3c 2f 62 3e 0d 0a 28 63 6f d <b>Pt</b>..(co
21640 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 rresponding to t
21650 68 65 20 72 65 73 75 6c 74 20 72 65 74 75 72 6e he result return
21660 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 ed by calling th
21670 65 20 3c 62 3e 53 54 5f 4c 69 6e 65 5f 4c 6f 63 e <b>ST_Line_Loc
21680 61 74 65 5f 50 6f 69 6e 74 28 29 3c 2f 62 3e 20 ate_Point()</b>
21690 53 51 4c 20 66 75 6e 63 74 69 6f 6e 29 2e 3c 2f SQL function).</
216a0 6c 69 3e 0d 0a 3c 6c 69 3e 4e 6f 77 20 74 68 65 li>..<li>Now the
216b0 20 4c 69 6e 6b 20 3c 62 3e 4c 31 3c 2f 62 3e 20 Link <b>L1</b>
216c0 77 69 6c 6c 20 62 65 20 73 70 6c 69 74 20 69 6e will be split in
216d0 20 74 77 6f 20 68 61 6c 76 65 73 20 3c 62 3e 4c two halves <b>L
216e0 31 2d 61 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 1-a</b> and <b>L
216f0 31 2d 62 3c 2f 62 3e 20 61 63 63 6f 72 64 69 6e 1-b</b> accordin
21700 67 6c 79 20 74 6f 20 74 68 65 20 70 6f 73 69 74 gly to the posit
21710 69 6f 6e 20 6f 66 20 3c 62 3e 69 3c 2f 62 3e 0d ion of <b>i</b>.
21720 0a 28 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 .(corresponding
21730 74 6f 20 74 68 65 20 72 65 73 75 6c 74 73 20 72 to the results r
21740 65 74 75 72 6e 65 64 20 62 79 20 63 61 6c 6c 69 eturned by calli
21750 6e 67 20 74 68 65 20 3c 62 3e 53 54 5f 4c 69 6e ng the <b>ST_Lin
21760 65 5f 53 75 62 73 74 72 69 6e 67 28 29 3c 2f 62 e_Substring()</b
21770 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 29 2e > SQL function).
21780 3c 62 72 3e 0d 0a 42 6f 74 68 20 68 61 6c 76 65 <br>..Both halve
21790 73 20 77 69 6c 6c 20 62 65 20 6e 6f 77 20 63 6f s will be now co
217a0 6e 73 69 64 65 72 65 64 20 61 73 20 70 6f 73 73 nsidered as poss
217b0 69 62 6c 65 20 3c 62 3e 50 61 72 74 69 61 6c 20 ible <b>Partial
217c0 4c 69 6e 6b 73 20 28 53 74 61 72 74 29 20 63 61 Links (Start) ca
217d0 6e 64 69 64 61 74 65 73 3c 2f 62 3e 20 6c 65 61 ndidates</b> lea
217e0 64 69 6e 67 20 72 65 73 70 65 63 74 69 76 65 6c ding respectivel
217f0 79 20 74 6f 20 3c 62 3e 4e 31 3c 2f 62 3e 20 6f y to <b>N1</b> o
21800 72 20 3c 62 3e 4e 32 3c 2f 62 3e 3b 0d 0a 64 69 r <b>N2</b>;..di
21810 72 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65 rections will be
21820 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 automatically i
21830 6e 76 65 72 74 65 64 20 61 73 20 72 65 71 75 69 nverted as requi
21840 72 65 64 2c 20 62 75 74 20 6f 6e 6c 79 20 69 66 red, but only if
21850 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 3c 62 there are no <b
21860 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 66 6f 72 >one-way</b> for
21870 62 69 64 64 69 6e 67 20 72 65 73 74 72 69 63 74 bidding restrict
21880 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 28 74 68 65 20 ions.<br>..(the
21890 64 69 72 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20 directions will
218a0 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69 6e 76 be obviously inv
218b0 65 72 74 65 64 20 69 6e 20 74 68 65 20 63 61 73 erted in the cas
218c0 65 20 6f 66 20 3c 62 3e 50 61 72 74 69 61 6c 20 e of <b>Partial
218d0 4c 69 6e 6b 73 20 28 45 6e 64 29 3c 2f 62 3e 20 Links (End)</b>
218e0 2f 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 29 / <b>NodeTo</b>)
218f0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 6e 64 20 66 </li>..<li>And f
21900 69 6e 61 6c 6c 79 20 61 20 73 74 72 61 69 67 68 inally a straigh
21910 74 20 73 65 67 6d 65 6e 74 20 3c 62 3e 70 3c 2f t segment <b>p</
21920 62 3e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 b> connecting <b
21930 3e 50 74 3c 2f 62 3e 20 74 6f 20 3c 62 3e 69 3c >Pt</b> to <b>i<
21940 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 /b> will be cons
21950 74 72 75 63 74 65 64 2e 0d 0a 53 6f 20 3c 62 3e tructed...So <b>
21960 70 3c 2f 62 3e 20 65 78 61 63 74 6c 79 20 63 6f p</b> exactly co
21970 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 rresponds to the
21980 20 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 74 68 <b>Ingress Path
21990 3c 2f 62 3e 20 69 66 20 3c 62 3e 50 74 3c 2f 62 </b> if <b>Pt</b
219a0 3e 20 69 73 20 3c 62 3e 50 6f 69 6e 74 46 72 6f > is <b>PointFro
219b0 6d 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 28 74 68 65 m</b>.<br>..(the
219c0 20 64 69 72 65 63 74 69 6f 6e 20 73 68 6f 75 6c direction shoul
219d0 64 20 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69 d be obviously i
219e0 6e 76 65 72 74 65 64 20 69 6e 20 74 68 65 20 63 nverted in the c
219f0 61 73 65 20 6f 66 20 74 68 65 20 3c 62 3e 45 67 ase of the <b>Eg
21a00 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 20 2f 20 ress Path</b> /
21a10 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 29 3c <b>PointTo</b>)<
21a20 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 /li>..</ol>..</t
21a30 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73 d>..<td>..<img s
21a40 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
21a50 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
21a60 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 -sins/routing-fi
21a70 67 73 2f 73 70 6c 69 74 2d 6c 69 6e 6b 2e 70 6e gs/split-link.pn
21a80 67 22 20 61 6c 74 3d 22 70 32 70 2d 73 74 72 75 g" alt="p2p-stru
21a90 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e ct">..</td></tr>
21aa0 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e ..</table>..<br>
21ab0 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 ..<table bgcolor
21ac0 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73 ="#ffb060" cells
21ad0 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c pacing="10" cell
21ae0 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e padding="6"><tr>
21af0 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e <td>..<h3>Warnin
21b00 67 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52 g</h3>..VirtualR
21b10 6f 75 74 69 6e 67 20 77 68 65 6e 20 73 6f 6c 76 outing when solv
21b20 69 6e 67 20 61 20 50 6f 69 6e 74 2d 74 6f 2d 50 ing a Point-to-P
21b30 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 roblem requires
21b40 74 6f 20 67 65 74 20 61 20 70 72 65 63 69 73 65 to get a precise
21b50 20 65 73 74 69 6d 61 74 69 6f 6e 20 6f 66 20 3c estimation of <
21b60 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 72 65 6c 61 b>Costs</b> rela
21b70 74 65 64 20 74 6f 20 3c 62 3e 49 6e 67 72 65 73 ted to <b>Ingres
21b80 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 67 72 s</b> and <b>Egr
21b90 65 73 73 20 50 61 74 68 73 3c 2f 62 3e 20 61 6e ess Paths</b> an
21ba0 64 20 74 6f 20 3c 62 3e 50 61 72 74 69 61 6c 20 d to <b>Partial
21bb0 4c 69 6e 6b 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a Links</b>.<br>..
21bc0 42 75 74 20 56 69 72 74 75 61 6c 52 6f 75 74 69 But VirtualRouti
21bd0 6e 67 20 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 ng is completely
21be0 20 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6d 70 75 unable to compu
21bf0 74 65 20 63 6f 6d 70 6c 65 78 20 28 61 6e 64 20 te complex (and
21c00 75 6e 73 70 65 63 69 66 69 65 64 29 20 43 6f 73 unspecified) Cos
21c10 74 20 66 6f 72 6d 75 6c 61 65 2c 20 61 6e 64 20 t formulae, and
21c20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 69 74 20 consequently it
21c30 63 61 6e 20 73 69 6d 70 6c 79 20 61 73 73 75 6d can simply assum
21c40 65 20 61 20 43 6f 73 74 20 63 6f 72 72 65 73 70 e a Cost corresp
21c50 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 47 65 onding to the Ge
21c60 6f 6d 65 74 72 69 63 20 4c 65 6e 67 74 68 20 6f ometric Length o
21c70 66 20 73 75 63 68 20 69 74 65 6d 73 2e 3c 62 72 f such items.<br
21c80 3e 3c 62 72 3e 0d 0a 3c 62 3e 43 6f 6e 63 6c 75 ><br>..<b>Conclu
21c90 73 69 6f 6e 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 4e sion</b>: only N
21ca0 65 74 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e etworks based on
21cb0 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 63 6f <b>Costs</b> co
21cc0 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 3c rresponding to <
21cd0 62 3e 47 65 6f 6d 65 74 72 69 63 20 4c 65 6e 67 b>Geometric Leng
21ce0 74 68 73 3c 2f 62 3e 20 63 61 6e 20 65 66 66 65 ths</b> can effe
21cf0 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 74 20 ctively support
21d00 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 Point-to-Point q
21d10 75 65 72 69 65 73 2e 3c 62 72 3e 0d 0a 41 6e 79 ueries.<br>..Any
21d20 20 64 69 66 66 65 72 65 6e 74 20 4e 65 74 77 6f different Netwo
21d30 72 6b 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e rk configuration
21d40 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 6c 65 61 will surely lea
21d50 64 20 74 6f 20 77 72 6f 6e 67 20 61 6e 64 20 69 d to wrong and i
21d60 6e 63 6f 6e 73 69 73 74 65 6e 74 20 72 65 73 75 nconsistent resu
21d70 6c 74 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a lts...<br><br>..
21d80 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c </td></tr></tabl
21d90 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 e>..<br><br>..Le
21da0 74 27 73 20 6e 6f 77 20 65 78 61 6d 69 6e 65 20 t's now examine
21db0 61 20 70 72 61 63 74 69 63 61 6c 20 65 78 61 6d a practical exam
21dc0 70 6c 65 20 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d ple of Point-to-
21dd0 50 6f 69 6e 74 20 73 6f 6c 76 69 6e 67 20 75 73 Point solving us
21de0 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 69 ing VirtualRouti
21df0 6e 67 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d ng...<verbatim>.
21e00 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 .SELECT Algorith
21e10 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69 m, Request, Opti
21e20 6f 6e 73 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f ons, RouteId, Ro
21e30 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 uteRow, Role, Li
21e40 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f nkRowid, NodeFro
21e50 6d 2c 20 4e 6f 64 65 54 6f 2c 20 50 6f 69 6e 74 m, NodeTo, Point
21e60 46 72 6f 6d 2c 20 50 6f 69 6e 74 54 6f 2c 20 54 From, PointTo, T
21e70 6f 6c 65 72 61 6e 63 65 2c 20 43 6f 73 74 2c 20 olerance, Cost,
21e80 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a Geometry, Name..
21e90 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 FROM byfoot..WHE
21ea0 52 45 20 50 6f 69 6e 74 46 72 6f 6d 20 3d 20 28 RE PointFrom = (
21eb0 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f 4d SELECT geom FROM
21ec0 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 45 house_nr_vw WHE
21ed0 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 20 RE municipality
21ee0 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 61 = 'AREZZO' AND a
21ef0 64 64 72 65 73 73 20 3d 20 27 56 49 41 20 44 45 ddress = 'VIA DE
21f00 27 27 20 43 45 4e 43 49 20 31 33 27 29 0d 0a 20 '' CENCI 13')..
21f10 20 20 20 41 4e 44 20 50 6f 69 6e 74 54 6f 20 3d AND PointTo =
21f20 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52 (SELECT geom FR
21f30 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57 OM house_nr_vw W
21f40 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74 HERE municipalit
21f50 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44 y = 'AREZZO' AND
21f60 20 61 64 64 72 65 73 73 20 3d 20 27 56 49 41 20 address = 'VIA
21f70 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f ANTONIO GUADAGNO
21f80 4c 49 20 31 39 2f 42 27 29 3b 0d 0a 3c 2f 76 65 LI 19/B');..</ve
21f90 72 62 61 74 69 6d 3e 0d 0a 41 20 3c 62 3e 50 6f rbatim>..A <b>Po
21fa0 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e int-to-Point</b>
21fb0 20 71 75 65 72 79 20 68 61 73 20 74 68 65 20 73 query has the s
21fc0 61 6d 65 20 66 6f 72 6d 20 6f 66 20 61 20 3c 62 ame form of a <b
21fd0 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 >single-destinat
21fe0 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 ion Shortest Pat
21ff0 68 3c 2f 62 3e 20 71 75 65 72 79 2c 20 65 78 63 h</b> query, exc
22000 65 70 74 20 74 68 61 74 20 3c 62 3e 4e 6f 64 65 ept that <b>Node
22010 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e From</b> and <b>
22020 4e 6f 64 65 54 6f 3c 2f 62 3e 20 61 72 65 20 6e NodeTo</b> are n
22030 6f 77 20 72 65 70 6c 61 63 65 64 20 62 79 20 3c ow replaced by <
22040 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 b>PointFrom</b>
22050 61 6e 64 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f and <b>PointTo</
22060 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 b>.<br>..<u>Note
22070 3c 2f 75 3e 20 74 68 65 20 73 61 6d 70 6c 65 20 </u> the sample
22080 44 42 2d 66 69 6c 65 20 73 75 70 70 6f 72 74 73 DB-file supports
22090 20 3c 62 3e 48 6f 75 73 65 20 4e 75 6d 62 65 72 <b>House Number
220a0 73 3c 2f 62 3e 2c 20 73 6f 20 79 6f 75 20 63 61 s</b>, so you ca
220b0 6e 20 64 69 72 65 63 74 6c 79 20 75 73 65 20 48 n directly use H
220c0 6f 75 73 65 20 4e 75 6d 62 65 72 20 63 6f 6f 72 ouse Number coor
220d0 64 69 6e 61 74 65 73 20 61 73 20 72 65 66 65 72 dinates as refer
220e0 65 6e 63 65 20 50 6f 69 6e 74 73 2e 0d 0a 3c 62 ence Points...<b
220f0 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c r><br>..The foll
22100 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 owing table show
22110 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 s the resultset
22120 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 returned by the
22130 61 62 6f 76 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 above Point-to-P
22140 6f 69 6e 74 20 71 75 65 72 79 2e 3c 62 72 3e 3c oint query.<br><
22150 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 br>..<table bord
22160 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 er="1" bgcolor="
22170 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 #ffffcf" cellspa
22180 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 cing="4" cellpad
22190 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c ding="6">..<tr><
221a0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
221b0 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 0a0">Algorithm</
221c0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
221d0 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 #d0d0a0">Request
221e0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
221f0 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f ="#d0d0a0">Optio
22200 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ns</th><th bgcol
22210 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 or="#d0d0a0">Rou
22220 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 teId</th><th bgc
22230 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
22240 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 outeRow</th><th
22250 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
22260 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 ">Role</th><th b
22270 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
22280 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c >LinkRowid</th><
22290 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
222a0 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 0a0">NodeFrom</t
222b0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
222c0 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f d0d0a0">NodeTo</
222d0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
222e0 23 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 46 72 #d0d0a0">PointFr
222f0 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c om</th><th bgcol
22300 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50 6f 69 or="#d0d0a0">Poi
22310 6e 74 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ntTo</th><th bgc
22320 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 54 olor="#d0d0a0">T
22330 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c 74 68 olerance</th><th
22340 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
22350 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 0">Cost</th><th
22360 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
22370 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c ">Geometry</th><
22380 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
22390 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 0a0">Name</th></
223a0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 tr>..<tr>..<td>D
223b0 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e ijkstra</td><td>
223c0 50 6f 69 6e 74 32 50 6f 69 6e 74 20 50 61 74 68 Point2Point Path
223d0 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 </td><td>Full</t
223e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
223f0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">0</td><td al
22400 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
22410 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f 69 6e d><td>Point2Poin
22420 74 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c t Solution</td><
22430 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
22440 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
22450 4c 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 L</td><td>BLOB s
22460 7a 3d 36 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74 z=68 GEOMETRY</t
22470 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 d><td>BLOB sz=68
22480 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
22490 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
224a0 32 30 2e 30 30 30 30 30 30 3c 2f 74 64 3e 3c 74 20.000000</td><t
224b0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
224c0 36 35 32 2e 38 31 35 31 33 39 3c 2f 74 64 3e 3c 652.815139</td><
224d0 74 64 3e 42 4c 4f 42 20 73 7a 3d 31 35 35 32 20 td>BLOB sz=1552
224e0 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 GEOMETRY</td><td
224f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
22500 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
22510 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
22520 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
22530 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22540 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">0</td><td alig
22550 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e n="right">1</td>
22560 3c 74 64 3e 49 6e 67 72 65 73 73 20 50 61 74 68 <td>Ingress Path
22570 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22580 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22590 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
225a0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
225b0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
225c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
225d0 67 68 74 22 3e 32 2e 33 30 31 36 38 37 3c 2f 74 ght">2.301687</t
225e0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
225f0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
22600 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
22610 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
22620 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22630 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
22640 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">0</td><td al
22650 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
22660 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c 69 d><td>Partial Li
22670 6e 6b 20 28 53 74 61 72 74 29 3c 2f 74 64 3e 3c nk (Start)</td><
22680 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
22690 3e 32 32 34 32 36 34 3c 2f 74 64 3e 3c 74 64 3e >224264</td><td>
226a0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
226b0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 33 gn="right">18263
226c0 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 0</td><td>NULL</
226d0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
226e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
226f0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
22700 36 2e 30 38 32 37 36 31 3c 2f 74 64 3e 3c 74 64 6.082761</td><td
22710 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
22720 41 20 44 45 27 20 43 45 4e 43 49 3c 2f 74 64 3e A DE' CENCI</td>
22730 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
22740 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
22750 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
22760 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
22770 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
22780 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
22790 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 3</td><td>Link</
227a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
227b0 67 68 74 22 3e 32 32 33 37 35 38 3c 2f 74 64 3e ght">223758</td>
227c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
227d0 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74 64 ">182630</td><td
227e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
227f0 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 82629</td><td>NU
22800 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
22810 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22820 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
22830 74 22 3e 32 34 2e 31 39 38 31 31 35 3c 2f 74 64 t">24.198115</td
22840 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22850 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f d>CORSO ITALIA</
22860 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
22870 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
22880 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
22890 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
228a0 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
228b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
228c0 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">4</td><td>Lin
228d0 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
228e0 22 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c 2f "right">225512</
228f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
22900 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e ght">182629</td>
22910 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22920 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 ">182933</td><td
22930 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
22940 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
22950 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
22960 69 67 68 74 22 3e 33 34 2e 31 38 34 31 39 34 3c ight">34.184194<
22970 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22980 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 ><td>CORSO ITALI
22990 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c A</td>..</tr>..<
229a0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
229b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
229c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
229d0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
229e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
229f0 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e ight">5</td><td>
22a00 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
22a10 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31 gn="right">22551
22a20 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
22a30 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 3c 2f "right">182933</
22a40 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
22a50 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e ght">181999</td>
22a60 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22a70 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
22a80 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
22a90 3d 22 72 69 67 68 74 22 3e 34 39 2e 32 34 31 37 ="right">49.2417
22aa0 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 35</td><td>NULL<
22ab0 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 /td><td>CORSO IT
22ac0 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e ALIA</td>..</tr>
22ad0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
22ae0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22af0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22b00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
22b10 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >0</td><td align
22b20 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c ="right">6</td><
22b30 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
22b40 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
22b50 32 36 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2635</td><td ali
22b60 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 gn="right">18199
22b70 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 9</td><td align=
22b80 22 72 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f "right">181998</
22b90 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
22ba0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22bb0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
22bc0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e ign="right">101.
22bd0 36 32 39 37 35 30 3c 2f 74 64 3e 3c 74 64 3e 4e 629750</td><td>N
22be0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 ULL</td><td>CORS
22bf0 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c O ITALIA</td>..<
22c00 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
22c10 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
22c20 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
22c30 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
22c40 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 ght">0</td><td a
22c50 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f lign="right">7</
22c60 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
22c70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22c80 22 3e 32 32 34 37 38 30 3c 2f 74 64 3e 3c 74 64 ">224780</td><td
22c90 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
22ca0 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 81998</td><td al
22cb0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 ign="right">1835
22cc0 36 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 60</td><td>NULL<
22cd0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22ce0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22cf0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
22d00 37 33 2e 37 33 33 35 37 32 3c 2f 74 64 3e 3c 74 73.733572</td><t
22d10 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
22d20 49 41 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54 IA DELL'ANFITEAT
22d30 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a RO</td>..</tr>..
22d40 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
22d50 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
22d60 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22d70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
22d80 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22d90 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 right">8</td><td
22da0 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
22db0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 ign="right">2258
22dc0 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 27</td><td align
22dd0 3d 22 72 69 67 68 74 22 3e 31 38 33 35 36 30 3c ="right">183560<
22de0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
22df0 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 ight">183286</td
22e00 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22e10 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22e20 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
22e30 6e 3d 22 72 69 67 68 74 22 3e 34 32 2e 33 30 39 n="right">42.309
22e40 35 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 564</td><td>NULL
22e50 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c </td><td>VIA DEL
22e60 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 L'ANFITEATRO</td
22e70 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
22e80 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22e90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
22ea0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
22eb0 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
22ec0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
22ed0 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >9</td><td>Link<
22ee0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
22ef0 69 67 68 74 22 3e 32 32 34 38 39 37 3c 2f 74 64 ight">224897</td
22f00 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
22f10 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 t">183286</td><t
22f20 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
22f30 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 3e 4e 183128</td><td>N
22f40 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
22f50 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22f60 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
22f70 68 74 22 3e 37 32 2e 34 34 34 36 30 39 3c 2f 74 ht">72.444609</t
22f80 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22f90 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f td>VIA MARGARITO
22fa0 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NE</td>..</tr>..
22fb0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
22fc0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
22fd0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
22fe0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
22ff0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
23000 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 right">10</td><t
23010 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
23020 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
23030 32 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 232</td><td alig
23040 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 32 38 n="right">183128
23050 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
23060 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c 2f 74 right">182890</t
23070 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
23080 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
23090 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
230a0 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 36 gn="right">103.6
230b0 31 32 32 32 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 12221</td><td>NU
230c0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4e LL</td><td>VIA N
230d0 49 43 43 4f 4c 4f 27 20 41 52 45 54 49 4e 4f 3c ICCOLO' ARETINO<
230e0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
230f0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
23100 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
23110 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
23120 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
23130 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
23140 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 3e 50 ht">11</td><td>P
23150 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 artial Link (End
23160 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d )</td><td align=
23170 22 72 69 67 68 74 22 3e 32 32 34 30 31 39 3c 2f "right">224019</
23180 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
23190 67 68 74 22 3e 31 38 32 38 39 30 3c 2f 74 64 3e ght">182890</td>
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 3e 4e 55 4c 4c 3c LL</td><td>NULL<
231d0 2f 74 64 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d /td>..<td align=
231e0 22 72 69 67 68 74 22 3e 39 35 2e 37 36 30 32 32 "right">95.76022
231f0 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 2</td><td>NULL</
23200 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e td><td>VIA ANTON
23210 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 IO GUADAGNOLI</t
23220 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
23230 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
23240 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
23250 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
23260 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
23270 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
23280 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 45 67 72 ">12</td><td>Egr
23290 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 ess Path</td><td
232a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
232b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
232c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
232d0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
232e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
232f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 33 lign="right">7.3
23300 31 36 37 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 16709</td><td>NU
23310 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
23320 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 /td>..</tr>..</t
23330 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 able>..<br>..Let
23340 27 73 20 6e 6f 77 20 71 75 69 63 6b 6c 79 20 65 's now quickly e
23350 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c xamine the resul
23360 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 tset returned by
23370 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e 50 6f the above <b>Po
23380 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e int-to-Point</b>
23390 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c query:..<ul>..<
233a0 6c 69 3e 74 68 65 20 67 65 6e 65 72 61 6c 20 6c li>the general l
233b0 61 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73 74 20 ayout is almost
233c0 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 exactly the same
233d0 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 61 as you've alrea
233e0 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63 dy seen in the c
233f0 61 73 65 20 6f 66 20 53 68 6f 72 74 65 73 74 50 ase of ShortestP
23400 61 74 68 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 ath queries.</li
23410 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 73 70 >..<li>in the sp
23420 65 63 69 66 69 63 20 63 61 73 65 20 6f 66 20 50 ecific case of P
23430 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 74 68 oint-to-Point th
23440 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f e <b>first row</
23450 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 b> of the result
23460 73 65 74 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 set will always
23470 63 6f 6e 74 61 69 6e 20 74 68 65 20 66 6f 6c 6c contain the foll
23480 6f 77 69 6e 67 73 20 3c 62 3e 4e 4f 54 20 4e 55 owings <b>NOT NU
23490 4c 4c 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 3a 0d LL</b> columns:.
234a0 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4e 6f .<ul>..<li><b>No
234b0 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c deFrom</b> and <
234c0 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 3a 20 74 68 b>NodeTo</b>: th
234d0 65 20 74 77 6f 20 47 65 6f 6d 65 74 72 69 65 73 e two Geometries
234e0 20 64 65 66 69 6e 69 6e 67 20 74 68 65 20 3c 75 defining the <u
234f0 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c 2f ><i>origin</i></
23500 75 3e 20 61 6e 64 20 3c 75 3e 3c 69 3e 64 65 73 u> and <u><i>des
23510 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e tination</i></u>
23520 20 50 6f 69 6e 74 73 2e 3c 2f 6c 69 3e 0d 0a 3c Points.</li>..<
23530 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c li><b>Tolerance<
23540 2f 62 3e 3a 20 74 68 65 20 6d 61 78 69 6d 75 6d /b>: the maximum
23550 20 64 69 73 74 61 6e 63 65 20 61 6c 6c 6f 77 65 distance allowe
23560 64 20 62 65 74 77 65 65 6e 20 72 65 66 65 72 65 d between refere
23570 6e 63 65 20 50 6f 69 6e 74 73 20 61 6e 64 20 43 nce Points and C
23580 61 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73 2e 3c andidate Links.<
23590 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e /li>..</ul></li>
235a0 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 6c ..<li>the <b>Rol
235b0 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 63 61 6e e</b> column can
235c0 20 61 73 73 75 6d 65 20 6f 6e 65 20 6f 66 20 74 assume one of t
235d0 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c he following val
235e0 75 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e ues:..<ul>..<li>
235f0 3c 62 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53 <b>Point2Point S
23600 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 3a 20 74 68 65 olution</b>: the
23610 20 68 65 61 64 65 72 20 72 6f 77 20 73 75 6d 6d header row summ
23620 61 72 69 7a 69 6e 67 20 74 68 65 20 53 6f 6c 75 arizing the Solu
23630 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e tion as a whole.
23640 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 ..<ul>..<li><b>P
23650 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 ointFrom</b>, <b
23660 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64 >PointTo</b> and
23670 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 <b>Tolerance</b
23680 3e 20 63 6f 6c 75 6d 6e 73 20 77 69 6c 6c 20 68 > columns will h
23690 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c ave <b>NOT NULL<
236a0 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 6c 79 20 /b> values only
236b0 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f in the header ro
236c0 77 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f w.</li>..</ul></
236d0 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e 67 72 li>..<li><b>Ingr
236e0 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20 ess Path</b>: a
236f0 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 6e 74 straight segment
23700 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20 connecting the
23710 4f 72 69 67 69 6e 20 50 6f 69 6e 74 20 74 6f 20 Origin Point to
23720 74 68 65 20 66 69 72 73 74 20 4c 69 6e 6b 2e 3c the first Link.<
23730 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72 /li>..<li><b>Egr
23740 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20 ess Path</b>: a
23750 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 6e 74 straight segment
23760 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20 connecting the
23770 6c 61 73 74 20 4c 69 6e 6b 20 74 6f 20 74 68 65 last Link to the
23780 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 50 6f 69 Destination Poi
23790 6e 74 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 62 nt...<ul>..<li>b
237a0 6f 74 68 20 74 68 65 20 49 6e 67 72 65 73 73 20 oth the Ingress
237b0 61 6e 64 20 74 68 65 20 45 67 72 65 73 73 20 50 and the Egress P
237c0 61 74 68 20 72 6f 77 73 20 77 69 6c 6c 20 61 6c ath rows will al
237d0 77 61 79 73 20 68 61 76 65 20 3c 62 3e 4e 55 4c ways have <b>NUL
237e0 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20 L</b> values on
237f0 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e <b>LinkRowid</b>
23800 2c 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 , <b>NodeFrom</b
23810 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c > and <b>NodeTo<
23820 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 /b> columns.</li
23830 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c >..</ul></li>..<
23840 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 li><b>Partial Li
23850 6e 6b 20 28 53 74 61 72 74 29 3c 2f 62 3e 3a 20 nk (Start)</b>:
23860 74 68 65 20 70 61 72 74 69 61 6c 20 73 65 63 74 the partial sect
23870 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74 ion of the first
23880 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c Link...<ul>..<l
23890 69 3e 74 68 69 73 20 73 70 65 63 69 66 69 63 20 i>this specific
238a0 72 6f 77 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 row will always
238b0 68 61 76 65 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f have a <b>NULL</
238c0 62 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20 b> value on the
238d0 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 <b>NodeFrom</b>
238e0 63 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f column.</li>..</
238f0 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 ul></li>..<li><b
23900 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45 >Partial Link (E
23910 6e 64 29 3c 2f 62 3e 3a 20 74 68 65 20 70 61 72 nd)</b>: the par
23920 74 69 61 6c 20 73 65 63 74 69 6f 6e 20 6f 66 20 tial section of
23930 74 68 65 20 6c 61 73 74 20 4c 69 6e 6b 2e 0d 0a the last Link...
23940 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 73 <ul>..<li>this s
23950 70 65 63 69 66 69 63 20 72 6f 77 20 77 69 6c 6c pecific row will
23960 20 61 6c 77 61 79 73 20 68 61 76 65 20 61 20 3c always have a <
23970 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 b>NULL</b> value
23980 20 6f 6e 20 74 68 65 20 3c 62 3e 4e 6f 64 65 54 on the <b>NodeT
23990 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c o</b> column.</l
239a0 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
239b0 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 3a <li><b>Link</b>:
239c0 20 61 6e 79 20 6f 74 68 65 72 20 4c 69 6e 6b 20 any other Link
239d0 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20 required by the
239e0 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 Point-to-Point S
239f0 6f 6c 75 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a olution...<ul>..
23a00 3c 6c 69 3e 61 6c 6c 20 74 68 65 73 65 20 72 6f <li>all these ro
23a10 77 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 ws will always h
23a20 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c ave <b>NOT NULL<
23a30 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20 3c 62 /b> values on <b
23a40 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e 2c 20 >LinkRowid</b>,
23a50 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 <b>NodeFrom</b>
23a60 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 and <b>NodeTo</b
23a70 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d > columns.</li>.
23a80 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 .</ul></li>..</u
23a90 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a l></li>..</ul>..
23aa0 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 <br><br><br>..<b
23ab0 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c >Point-to-Point<
23ac0 2f 62 3e 20 71 75 65 72 69 65 73 20 63 61 6e 20 /b> queries can
23ad0 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 2c 20 62 be customized, b
23ae0 75 74 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 ut the configura
23af0 74 69 6f 6e 20 72 75 6c 65 73 20 73 6c 69 67 68 tion rules sligh
23b00 74 6c 79 20 64 69 66 66 65 72 20 66 72 6f 6d 20 tly differ from
23b10 77 68 61 74 20 79 6f 75 20 68 61 76 65 20 61 6c what you have al
23b20 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 70 72 ready seen in pr
23b30 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 73 2e evious examples.
23b40 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 41 ..<ul>..<li><b>A
23b50 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20 6f 6e lgorithm</b>: on
23b60 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61 3c 2f ly <b>Dijkstra</
23b70 62 3e 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 b> is supported
23b80 62 79 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 by <b>Point-to-P
23b90 6f 69 6e 74 3c 2f 62 3e 2c 20 61 6e 64 20 77 69 oint</b>, and wi
23ba0 6c 6c 20 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 ll be implicitly
23bb0 20 61 73 73 75 6d 65 64 20 65 76 65 6e 20 77 68 assumed even wh
23bc0 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 74 69 en the alternati
23bd0 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 ve <b>A*</b> alg
23be0 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72 65 6e orithm is curren
23bf0 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 3c 62 72 tly selected.<br
23c00 3e 0d 0a 54 68 69 73 20 69 73 20 62 65 63 61 75 >..This is becau
23c10 73 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 se the internal
23c20 6c 6f 67 69 63 20 6f 66 20 50 6f 69 6e 74 2d 74 logic of Point-t
23c30 6f 2d 50 6f 69 6e 74 20 72 65 71 75 69 72 65 73 o-Point requires
23c40 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 multi-destinati
23c50 6f 6e 20 71 75 65 72 69 65 73 20 69 6e 20 6f 72 on queries in or
23c60 64 65 72 20 74 6f 20 65 76 61 6c 75 61 74 65 20 der to evaluate
23c70 61 6c 6c 20 43 61 6e 64 69 64 61 74 65 20 53 6f all Candidate So
23c80 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c lutions.</li>..<
23c90 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 li><b>Options</b
23ca0 3e 3a 20 74 68 65 20 75 73 75 61 6c 20 3c 62 3e >: the usual <b>
23cb0 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 3e 53 49 4d FULL</b>, <b>SIM
23cc0 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f 20 4c PLE</b>, <b>NO L
23cd0 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e INKS</b> and <b>
23ce0 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 NO GEOMETRIES</b
23cf0 3e 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 20 > are supported
23d00 61 6e 64 20 77 69 6c 6c 20 68 61 76 65 20 74 68 and will have th
23d10 65 20 73 61 6d 65 20 65 66 66 65 63 74 20 61 73 e same effect as
23d20 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 in single-desti
23d30 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 2e 3c nation queries.<
23d40 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 6f 6c /li>..<li><b>Tol
23d50 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 69 73 erance</b>: this
23d60 20 73 65 74 74 69 6e 67 20 69 73 20 73 70 65 63 setting is spec
23d70 69 66 69 63 20 74 6f 20 50 6f 69 6e 74 2d 74 6f ific to Point-to
23d80 2d 50 6f 69 6e 74 2c 20 61 6e 64 20 64 65 66 69 -Point, and defi
23d90 6e 65 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 nes the maximum
23da0 61 6c 6c 6f 77 61 62 6c 65 20 64 69 73 74 61 6e allowable distan
23db0 63 65 20 62 65 74 77 65 65 6e 20 61 20 72 65 66 ce between a ref
23dc0 65 72 65 6e 63 65 20 50 6f 69 6e 74 20 61 6e 64 erence Point and
23dd0 20 43 61 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73 Candidate Links
23de0 2e 3c 62 72 3e 0d 0a 49 74 20 64 65 66 61 75 6c .<br>..It defaul
23df0 74 73 20 74 6f 20 3c 62 3e 32 30 2e 30 6d 3c 2f ts to <b>20.0m</
23e00 62 3e 20 69 66 20 6e 6f 74 20 65 78 70 6c 69 63 b> if not explic
23e10 69 74 6c 79 20 73 65 74 2e 3c 2f 6c 69 3e 0d 0a itly set.</li>..
23e20 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 62 61 74 69 6d </ul>..<verbatim
23e30 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 >..UPDATE byfoot
23e40 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 SET Options = '
23e50 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 2c 20 NO GEOMETRIES',
23e60 54 6f 6c 65 72 61 6e 63 65 20 3d 20 32 35 2e 35 Tolerance = 25.5
23e70 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 52 65 71 75 ;....SELECT Requ
23e80 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 54 6f est, Options, To
23e90 6c 65 72 61 6e 63 65 2c 20 52 6f 75 74 65 52 6f lerance, RouteRo
23ea0 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 w, Role, LinkRow
23eb0 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f id, NodeFrom, No
23ec0 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d deTo, Cost, Geom
23ed0 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d etry, Name..FROM
23ee0 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 50 byfoot..WHERE P
23ef0 6f 69 6e 74 46 72 6f 6d 20 3d 20 28 53 45 4c 45 ointFrom = (SELE
23f00 43 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 CT geom FROM hou
23f10 73 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d se_nr_vw WHERE m
23f20 75 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41 unicipality = 'A
23f30 52 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 REZZO' AND addre
23f40 73 73 20 3d 20 27 56 49 41 20 44 45 27 27 20 43 ss = 'VIA DE'' C
23f50 45 4e 43 49 20 31 33 27 29 0d 0a 20 20 20 20 41 ENCI 13').. A
23f60 4e 44 20 50 6f 69 6e 74 54 6f 20 3d 20 28 53 45 ND PointTo = (SE
23f70 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 LECT geom FROM h
23f80 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 ouse_nr_vw WHERE
23f90 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 municipality =
23fa0 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 'AREZZO' AND add
23fb0 72 65 73 73 20 3d 20 27 56 49 41 20 41 4e 54 4f ress = 'VIA ANTO
23fc0 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 NIO GUADAGNOLI 1
23fd0 39 2f 43 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 9/C');..</verbat
23fe0 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 im>..The followi
23ff0 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 ng table shows t
24000 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 he resultset ret
24010 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f urned by the abo
24020 76 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e ve Point-to-Poin
24030 74 20 71 75 65 72 79 20 61 66 74 65 72 20 73 65 t query after se
24040 6c 65 63 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f lecting <b>Optio
24050 6e 73 20 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52 ns = 'NO GEOMETR
24060 49 45 53 27 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e IES'</b> and <b>
24070 54 6f 6c 65 72 61 6e 63 65 20 3d 20 32 35 2e 35 Tolerance = 25.5
24080 3c 2f 62 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 </b><br><br>..<t
24090 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 able border="1"
240a0 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 bgcolor="#ffffcf
240b0 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 " cellspacing="4
240c0 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 " cellpadding="6
240d0 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f ">..<tr><th bgco
240e0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 lor="#d0d0a0">Re
240f0 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 quest</th><th bg
24100 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
24110 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 Options</th><th
24120 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
24130 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e ">Tolerance</th>
24140 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
24150 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f d0a0">RouteRow</
24160 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
24170 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 #d0d0a0">Role</t
24180 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
24190 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 d0d0a0">LinkRowi
241a0 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f d</th><th bgcolo
241b0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
241c0 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 From</th><th bgc
241d0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
241e0 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 odeTo</th><th bg
241f0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
24200 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 Cost</th><th bgc
24210 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 olor="#d0d0a0">G
24220 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 eometry</th><th
24230 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
24240 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e ">Name</th></tr>
24250 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 50 6f 69 6e ..<tr>..<td>Poin
24260 74 32 50 6f 69 6e 74 20 50 61 74 68 3c 2f 74 64 t2Point Path</td
24270 3e 3c 74 64 3e 4e 6f 20 47 65 6f 6d 65 74 72 69 ><td>No Geometri
24280 65 73 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e es</td><td align
24290 3d 22 72 69 67 68 74 22 3e 32 35 2e 35 30 30 30 ="right">25.5000
242a0 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 00</td><td align
242b0 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
242c0 74 64 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53 td>Point2Point S
242d0 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e olution</td><td>
242e0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
242f0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
24300 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
24310 67 68 74 22 3e 36 35 31 2e 30 36 37 30 38 32 3c ght">651.067082<
24320 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
24330 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
24340 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
24350 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
24360 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
24370 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24380 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e ight">1</td><td>
24390 49 6e 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64 Ingress Path</td
243a0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
243b0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
243c0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
243d0 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33 30 31 36 n="right">2.3016
243e0 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 87</td><td>NULL<
243f0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
24400 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
24410 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
24420 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
24430 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
24440 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c ="right">2</td><
24450 74 64 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 td>Partial Link
24460 28 53 74 61 72 74 29 3c 2f 74 64 3e 3c 74 64 20 (Start)</td><td
24470 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
24480 34 32 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4264</td><td>NUL
24490 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
244a0 22 72 69 67 68 74 22 3e 31 38 32 36 33 30 3c 2f "right">182630</
244b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
244c0 67 68 74 22 3e 34 36 2e 30 38 32 37 36 31 3c 2f ght">46.082761</
244d0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
244e0 3c 74 64 3e 56 49 41 20 44 45 27 20 43 45 4e 43 <td>VIA DE' CENC
244f0 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
24500 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
24510 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
24520 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
24530 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c align="right">3<
24540 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
24550 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
24560 74 22 3e 32 32 33 37 35 38 3c 2f 74 64 3e 3c 74 t">223758</td><t
24570 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
24580 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74 64 20 61 182630</td><td a
24590 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
245a0 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 629</td><td alig
245b0 6e 3d 22 72 69 67 68 74 22 3e 32 34 2e 31 39 38 n="right">24.198
245c0 31 31 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 115</td><td>NULL
245d0 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 </td><td>CORSO I
245e0 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 TALIA</td>..</tr
245f0 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
24600 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
24610 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
24620 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24630 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">4</td><td>Link
24640 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
24650 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 right">225512</t
24660 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
24670 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c ht">182629</td><
24680 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
24690 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 >182933</td><td
246a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 align="right">34
246b0 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e .184194</td><td>
246c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 NULL</td><td>COR
246d0 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a SO ITALIA</td>..
246e0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
246f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
24700 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
24710 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24720 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e ight">5</td><td>
24730 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
24740 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31 gn="right">22551
24750 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
24760 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 3c 2f "right">182933</
24770 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
24780 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e ght">181999</td>
24790 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
247a0 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74 64 3e ">49.241735</td>
247b0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
247c0 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 >CORSO ITALIA</t
247d0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
247e0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
247f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
24800 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
24810 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e n="right">6</td>
24820 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
24830 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
24840 32 35 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 25800</td><td al
24850 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 ign="right">1819
24860 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 99</td><td align
24870 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
24880 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24890 69 67 68 74 22 3e 39 35 2e 35 39 32 32 30 34 3c ight">95.592204<
248a0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
248b0 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 ><td>VIA FRANCES
248c0 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a CO CRISPI</td>..
248d0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
248e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
248f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
24900 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24910 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e ight">7</td><td>
24920 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
24930 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 37 gn="right">21917
24940 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
24950 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f "right">178880</
24960 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
24970 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e ght">178732</td>
24980 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24990 22 3e 39 33 2e 32 38 35 35 33 38 3c 2f 74 64 3e ">93.285538</td>
249a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
249b0 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 >VIA FRANCESCO C
249c0 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RISPI</td>..</tr
249d0 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
249e0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
249f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
24a00 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24a10 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">8</td><td>Link
24a20 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
24a30 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 right">219058</t
24a40 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
24a50 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c ht">178732</td><
24a60 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
24a70 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 >178754</td><td
24a80 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 align="right">14
24a90 38 2e 36 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64 8.656089</td><td
24aa0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
24ab0 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 A FRANCESCO CRIS
24ac0 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a PI</td>..</tr>..
24ad0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
24ae0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
24af0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
24b00 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 align="right">9
24b10 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c </td><td>Partial
24b20 20 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 74 64 3e Link (End)</td>
24b30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24b40 22 3e 32 32 34 30 31 39 3c 2f 74 64 3e 3c 74 64 ">224019</td><td
24b50 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
24b60 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 82890</td><td>NU
24b70 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
24b80 3d 22 72 69 67 68 74 22 3e 31 35 30 2e 32 36 30 ="right">150.260
24b90 36 34 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 641</td><td>NULL
24ba0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 </td><td>VIA ANT
24bb0 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c ONIO GUADAGNOLI<
24bc0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
24bd0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
24be0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
24bf0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
24c00 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f ign="right">10</
24c10 74 64 3e 3c 74 64 3e 45 67 72 65 73 73 20 50 61 td><td>Egress Pa
24c20 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c th</td><td>NULL<
24c30 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
24c40 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
24c50 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
24c60 37 2e 32 36 34 31 31 38 3c 2f 74 64 3e 3c 74 64 7.264118</td><td
24c70 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
24c80 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
24c90 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 </table>..<br><b
24ca0 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f r>..The map belo
24cb0 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 w graphically sh
24cc0 6f 77 73 20 74 68 65 20 74 77 6f 20 50 6f 69 6e ows the two Poin
24cd0 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 t-to-Point Solut
24ce0 69 6f 6e 73 20 72 65 74 75 72 6e 65 64 20 62 79 ions returned by
24cf0 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 71 75 the previous qu
24d00 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e eries...<br><br>
24d10 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 ..<img src="http
24d20 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
24d30 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f .it/gaia-sins/ro
24d40 75 74 69 6e 67 2d 66 69 67 73 2f 70 6f 69 6e 74 uting-figs/point
24d50 2d 74 6f 2d 70 6f 69 6e 74 2e 6a 70 67 22 20 61 -to-point.jpg" a
24d60 6c 74 3d 22 70 6f 69 6e 74 2d 74 6f 2d 70 6f 69 lt="point-to-poi
24d70 6e 74 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e nt">..<ul>..<li>
24d80 74 68 65 20 67 72 65 65 6e 20 6c 69 6e 65 20 63 the green line c
24d90 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 orresponds to th
24da0 65 20 66 69 72 73 74 20 73 6f 6c 75 74 69 6f 6e e first solution
24db0 20 28 3c 69 3e 50 6f 69 6e 74 54 6f 20 3d 20 56 (<i>PointTo = V
24dc0 49 41 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 IA GUADAGNOLI 19
24dd0 2f 42 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c /B</i>).</li>..<
24de0 6c 69 3e 74 68 65 20 79 65 6c 6c 6f 77 20 6c 69 li>the yellow li
24df0 6e 65 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 ne corresponds t
24e00 6f 20 74 68 65 20 73 65 63 6f 6e 64 20 73 6f 6c o the second sol
24e10 75 74 69 6f 6e 20 28 3c 69 3e 50 6f 69 6e 74 54 ution (<i>PointT
24e20 6f 20 3d 20 56 49 41 20 47 55 41 44 41 47 4e 4f o = VIA GUADAGNO
24e30 4c 49 20 31 39 2f 43 3c 2f 69 3e 29 2e 3c 2f 6c LI 19/C</i>).</l
24e40 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d i>..</ul>..<br>.
24e50 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 50 6f .<u>Note</u>: Po
24e60 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 int-to-Point que
24e70 72 69 65 73 20 61 72 65 20 76 65 72 79 20 73 65 ries are very se
24e80 6e 73 69 74 69 76 65 2c 20 61 6e 64 20 61 20 76 nsitive, and a v
24e90 65 72 79 20 62 6c 61 6e 64 20 73 68 69 66 74 20 ery bland shift
24ea0 61 66 66 65 63 74 69 6e 67 20 74 68 65 20 70 6f affecting the po
24eb0 73 69 74 69 6f 6e 20 6f 66 20 61 20 72 65 66 65 sition of a refe
24ec0 72 65 6e 63 65 20 50 6f 69 6e 74 20 63 6f 75 6c rence Point coul
24ed0 64 20 65 61 73 69 6c 79 20 63 61 75 73 65 20 64 d easily cause d
24ee0 72 61 6d 61 74 69 63 20 63 68 61 6e 67 65 73 20 ramatic changes
24ef0 69 6e 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e 27 in the Solution'
24f00 73 20 50 61 74 68 20 28 61 73 20 69 73 20 69 6e s Path (as is in
24f10 20 74 68 69 73 20 63 61 73 65 29 2e 0d 0a 3c 62 this case)...<b
24f20 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e r><br>..<hr><br>
24f30 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 ..<a href="https
24f40 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
24f50 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61 it/fossil/libspa
24f60 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d tialite/wiki?nam
24f70 65 3d 34 2e 33 2e 30 2d 64 6f 63 22 3e 62 61 63 e=4.3.0-doc">bac
24f80 6b 3c 2f 61 3e 0a 5a 20 35 65 37 33 66 30 38 62 k</a>.Z 5e73f08b
24f90 61 31 34 30 37 65 34 33 35 37 61 34 64 62 34 62 a1407e4357a4db4b
24fa0 39 32 37 32 61 61 61 34 0a 9272aaa4.