Wiki page
[VirtualRouting] by
sandro
2018-04-16 13:30:23.
0000: 44 20 32 30 31 38 2d 30 34 2d 31 36 54 31 33 3a D 2018-04-16T13:
0010: 33 30 3a 32 33 2e 33 35 35 0a 4c 20 56 69 72 74 30:23.355.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 32 64 37 ualRouting.P 2d7
0030: 37 31 66 33 65 35 34 65 32 62 65 35 64 34 32 62 71f3e54e2be5d42b
0040: 36 64 63 35 65 36 66 62 38 61 32 31 66 30 36 64 6dc5e6fb8a21f06d
0050: 31 35 36 66 61 0a 55 20 73 61 6e 64 72 6f 0a 57 156fa.U sandro.W
0060: 20 31 33 30 30 32 31 0a 3c 61 20 68 72 65 66 3d 130021.<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 3c 62 72 3e 3c 68 72 3e 0d 0a 3c br>..<br><hr>..<
02a0: 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 69 6e 74 72 h1><a name="intr
02b0: 6f 22 3e 31 20 2d 20 49 6e 74 72 6f 64 75 63 74 o">1 - Introduct
02c0: 69 6f 6e 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 50 72 ion</a></h1>..Pr
02d0: 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 20 evious versions
02e0: 6f 66 20 53 70 61 74 69 61 4c 69 74 65 20 74 72 of SpatiaLite tr
02f0: 61 64 69 74 69 6f 6e 61 6c 6c 79 20 73 75 70 70 aditionally supp
0300: 6f 72 74 65 64 20 61 20 3c 62 3e 70 75 72 65 20 orted a <b>pure
0310: 53 51 4c 20 72 6f 75 74 69 6e 67 20 6d 6f 64 75 SQL routing modu
0320: 6c 65 3c 2f 62 3e 20 74 68 61 74 20 77 61 73 20 le</b> that was
0330: 6e 61 6d 65 64 20 3c 61 20 68 72 65 66 3d 22 68 named <a href="h
0340: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d ttps://www.gaia-
0350: 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 gis.it/fossil/li
0360: 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 6b 69 bspatialite/wiki
0370: 3f 6e 61 6d 65 3d 56 69 72 74 75 61 6c 4e 65 74 ?name=VirtualNet
0380: 77 6f 72 6b 2b 72 65 6c 6f 61 64 65 64 22 3e 56 work+reloaded">V
0390: 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 3c 2f 61 irtualNetwork</a
03a0: 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53 69 6e 63 >.<br><br>..Sinc
03b0: 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 e version <b>5.0
03c0: 2e 30 3c 2f 62 3e 20 61 20 62 72 61 6e 64 20 6e .0</b> a brand n
03d0: 65 77 20 3c 62 3e 72 6f 75 74 69 6e 67 20 6d 6f ew <b>routing mo
03e0: 64 75 6c 65 3c 2f 62 3e 20 28 6d 6f 72 65 20 61 dule</b> (more a
03f0: 64 76 61 6e 63 65 64 20 61 6e 64 20 73 6f 70 68 dvanced and soph
0400: 69 73 74 69 63 61 74 65 64 29 20 69 73 20 61 76 isticated) is av
0410: 61 69 6c 61 62 6c 65 2c 20 74 68 61 74 20 69 73 ailable, that is
0420: 20 63 61 6c 6c 65 64 20 3c 62 3e 56 69 72 74 75 called <b>Virtu
0430: 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62 alRouting</b>.<b
0440: 72 3e 0d 0a 54 68 65 20 6e 6f 77 20 6f 62 73 6f r>..The now obso
0450: 6c 65 74 65 20 3c 62 3e 56 69 72 74 75 61 6c 4e lete <b>VirtualN
0460: 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73 20 73 74 etwork</b> is st
0470: 69 6c 6c 20 73 75 70 70 6f 72 74 65 64 20 62 79 ill supported by
0480: 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e version <b>5.0.
0490: 30 3c 2f 62 3e 20 73 6f 20 61 73 20 74 6f 20 6e 0</b> so as to n
04a0: 6f 74 20 63 61 75 73 65 20 61 6e 20 61 62 72 75 ot cause an abru
04b0: 70 74 20 62 72 65 61 6b 20 74 6f 20 61 6c 72 65 pt break to alre
04c0: 61 64 79 20 65 78 69 73 74 69 6e 67 20 61 70 70 ady existing app
04d0: 6c 69 63 61 74 69 6f 6e 73 2c 20 62 75 74 20 77 lications, but w
04e0: 69 6c 6c 20 70 72 65 73 75 6d 61 62 6c 79 20 62 ill presumably b
04f0: 65 20 64 69 73 63 6f 6e 74 69 6e 75 65 64 20 69 e discontinued i
0500: 6e 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e n future version
0510: 73 2e 3c 62 72 3e 0d 0a 55 73 69 6e 67 20 3c 62 s.<br>..Using <b
0520: 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c >VirtualRouting<
0530: 2f 62 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 3c /b> instead of <
0540: 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 69 72 6b b>VirtualNetwirk
0550: 3c 2f 62 3e 20 69 73 20 77 61 72 6d 6c 79 20 72 </b> is warmly r
0560: 65 63 6f 6d 6d 65 6e 64 65 64 20 66 6f 72 20 61 ecommended for a
0570: 6e 79 20 6e 65 77 20 64 65 76 65 6c 6f 70 6d 65 ny new developme
0580: 6e 74 2e 20 0d 0a 3c 68 32 3e 54 68 65 6f 72 65 nt. ..<h2>Theore
0590: 74 69 63 61 6c 20 66 6f 75 6e 64 61 74 69 6f 6e tical foundation
05a0: 73 20 2d 20 61 6e 20 75 6c 74 72 61 2d 71 75 69 s - an ultra-qui
05b0: 63 6b 20 72 65 63 61 6c 6c 3c 2f 68 32 3e 0d 0a ck recall</h2>..
05c0: 41 6c 6c 20 3c 62 3e 52 6f 75 74 69 6e 67 20 61 All <b>Routing a
05d0: 6c 67 6f 72 69 74 68 6d 73 3c 2f 62 3e 20 28 3c lgorithms</b> (<
05e0: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 53 68 6f i>aka</i> <b>Sho
05f0: 72 74 65 73 74 20 50 61 74 68 3c 2f 62 3e 20 61 rtest Path</b> a
0600: 6c 67 6f 72 69 74 68 6d 73 29 20 61 72 65 20 62 lgorithms) are b
0610: 61 73 65 64 20 6f 6e 20 74 68 65 20 6d 61 74 68 ased on the math
0620: 65 6d 61 74 69 63 73 20 6f 66 20 74 68 65 20 3c ematics of the <
0630: 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f a href="https://
0640: 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 en.wikipedia.org
0650: 2f 77 69 6b 69 2f 47 72 61 70 68 5f 74 68 65 6f /wiki/Graph_theo
0660: 72 79 22 3e 47 72 61 70 68 20 74 68 65 6f 72 79 ry">Graph theory
0670: 3c 2f 61 3e 20 6f 72 20 74 6f 20 62 65 20 6d 6f </a> or to be mo
0680: 72 65 20 70 72 65 63 69 73 65 3a 20 6f 6e 20 3c re precise: on <
0690: 62 3e 57 65 69 67 68 74 65 64 20 47 72 61 70 68 b>Weighted Graph
06a0: 73 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 0d 0a 3c 69 s</b>...<br>..<i
06b0: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f mg src="https://
06c0: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
06d0: 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e gaia-sins/routin
06e0: 67 2d 66 69 67 73 2f 6e 65 74 77 6f 72 6b 2e 70 g-figs/network.p
06f0: 6e 67 22 20 61 6c 74 3d 22 6e 65 74 77 6f 72 6b ng" alt="network
0700: 22 3e 0d 0a 3c 62 72 3e 0d 0a 41 20 74 6f 70 6f ">..<br>..A topo
0710: 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64 20 logically valid
0720: 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 <b>Network</b> i
0730: 73 20 61 20 64 61 74 61 73 65 74 20 74 68 61 74 s a dataset that
0740: 20 66 75 6c 66 69 6c 6c 73 20 74 68 65 20 66 6f fulfills the fo
0750: 6c 6c 6f 77 69 6e 67 20 72 65 71 75 69 72 65 6d llowing requirem
0760: 65 6e 74 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 ents:..<ul>..<li
0770: 3e 41 6c 6c 20 69 74 65 6d 73 20 69 6e 20 74 68 >All items in th
0780: 65 20 64 61 74 61 73 65 74 20 61 72 65 20 63 61 e dataset are ca
0790: 6c 6c 65 64 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 lled <b>Links</b
07a0: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 > (<i>aka</i> <b
07b0: 3e 41 72 63 73 3c 2f 62 3e 29 2c 20 61 6e 64 20 >Arcs</b>), and
07c0: 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 are expected to
07d0: 72 65 70 72 65 73 65 6e 74 20 73 6f 6d 65 20 6f represent some o
07e0: 72 69 65 6e 74 65 64 20 63 6f 6e 6e 65 63 74 69 riented connecti
07f0: 6f 6e 20 6a 6f 69 6e 69 6e 67 20 74 77 6f 20 3c on joining two <
0800: 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c 62 72 3e b>Nodes</b>.<br>
0810: 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e ..<u>Example</u>
0820: 3a 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 66 : in the above f
0830: 69 67 75 72 65 20 4c 69 6e 6b 20 3c 62 3e 4c 33 igure Link <b>L3
0840: 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74 73 20 4e 6f </b> connects No
0850: 64 65 73 20 3c 62 3e 4e 32 3c 2f 62 3e 20 61 6e des <b>N2</b> an
0860: 64 20 3c 62 3e 4e 35 3c 2f 62 3e 2e 3c 2f 6c 69 d <b>N5</b>.</li
0870: 3e 0d 0a 3c 6c 69 3e 53 6f 20 61 6c 6c 20 3c 62 >..<li>So all <b
0880: 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72 65 20 61 >Links</b> are a
0890: 6c 77 61 79 73 20 65 78 70 65 63 74 65 64 20 74 lways expected t
08a0: 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 72 65 66 o explicitly ref
08b0: 65 72 65 6e 63 65 20 61 20 3c 62 3e 53 74 61 72 erence a <b>Star
08c0: 74 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c 69 3e 61 t-Node</b> (<i>a
08d0: 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64 65 2d 46 ka</i> <b>Node-F
08e0: 72 6f 6d 3c 2f 62 3e 29 20 61 6e 64 20 61 6e 20 rom</b>) and an
08f0: 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f 62 3e 20 <b>End-Node</b>
0900: 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e (<i>aka</i> <b>N
0910: 6f 64 65 2d 54 6f 3c 2f 62 3e 29 2e 0d 0a 3c 75 ode-To</b>)...<u
0920: 6c 3e 0d 0a 3c 6c 69 3e 4c 69 6e 6b 73 20 61 72 l>..<li>Links ar
0930: 65 20 61 6c 77 61 79 73 20 3c 62 3e 6f 72 69 65 e always <b>orie
0940: 6e 74 65 64 3c 2f 62 3e 2c 20 61 6e 64 20 74 68 nted</b>, and th
0950: 65 69 72 20 6e 61 74 75 72 61 6c 20 64 69 72 65 eir natural dire
0960: 63 74 69 6f 6e 20 69 73 20 3c 62 3e 46 72 6f 6d ction is <b>From
0970: 2d 54 6f 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a -To</b>:..<ul>..
0980: 3c 6c 69 3e 69 6e 20 61 6e 20 3c 62 3e 75 6e 69 <li>in an <b>uni
0990: 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 directional</b>
09a0: 4e 65 74 77 6f 72 6b 20 65 61 63 68 20 4c 69 6e Network each Lin
09b0: 6b 20 69 73 20 61 6e 20 3c 62 3e 6f 6e 65 2d 77 k is an <b>one-w
09c0: 61 79 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74 69 6f ay</b> connectio
09d0: 6e 2e 3c 62 72 3e 0d 0a 49 66 20 74 68 65 20 63 n.<br>..If the c
09e0: 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 61 76 61 onnection is ava
09f0: 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 6f 70 ilable in the op
0a00: 70 6f 73 69 74 65 20 64 69 72 65 63 74 69 6f 6e posite direction
0a10: 20 61 20 73 65 63 6f 6e 64 20 4c 69 6e 6b 20 6d a second Link m
0a20: 75 73 74 20 62 65 20 65 78 70 6c 69 63 69 74 6c ust be explicitl
0a30: 79 20 64 65 63 6c 61 72 65 64 2e 3c 62 72 3e 0d y declared.<br>.
0a40: 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a .<u>Example</u>:
0a50: 20 4c 69 6e 6b 20 3c 62 3e 58 31 3c 2f 62 3e 20 Link <b>X1</b>
0a60: 67 6f 65 73 20 66 72 6f 6d 20 4e 6f 64 65 20 3c goes from Node <
0a70: 62 3e 41 3c 2f 62 3e 20 74 6f 20 4e 6f 64 65 20 b>A</b> to Node
0a80: 3c 62 3e 42 3c 2f 62 3e 2c 20 61 6e 64 20 4c 69 <b>B</b>, and Li
0a90: 6e 6b 20 3c 62 3e 58 32 3c 2f 62 3e 20 67 6f 65 nk <b>X2</b> goe
0aa0: 73 20 66 72 6f 6d 20 4e 6f 64 65 20 3c 62 3e 42 s from Node <b>B
0ab0: 3c 2f 62 3e 20 74 6f 20 4e 6f 64 65 20 3c 62 3e </b> to Node <b>
0ac0: 41 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 A</b>.</li>..<li
0ad0: 3e 69 6e 20 61 20 3c 62 3e 62 69 64 69 72 65 63 >in a <b>bidirec
0ae0: 74 69 6f 6e 61 6c 3c 2f 62 3e 20 4e 65 74 77 6f tional</b> Netwo
0af0: 72 6b 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 rk all Links are
0b00: 20 61 73 73 75 6d 65 64 20 74 6f 20 65 73 74 61 assumed to esta
0b10: 62 6c 69 73 68 20 61 20 63 6f 6e 6e 65 63 74 69 blish a connecti
0b20: 6f 6e 20 69 6e 20 62 6f 74 68 20 64 69 72 65 63 on in both direc
0b30: 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 44 65 66 69 tions.<br>..Defi
0b40: 6e 69 74 69 6e 67 20 61 6e 20 3c 62 3e 6f 6e 65 niting an <b>one
0b50: 2d 77 61 79 20 63 6f 6e 6e 65 63 74 69 6f 6e 3c -way connection<
0b60: 2f 62 3e 20 72 65 71 75 69 72 65 73 20 61 6e 20 /b> requires an
0b70: 61 70 70 72 6f 70 72 69 61 74 65 20 61 74 74 72 appropriate attr
0b80: 69 62 75 74 65 20 74 6f 20 62 65 20 73 65 74 20 ibute to be set
0b90: 28 73 65 65 20 62 65 6c 6f 77 29 2e 3c 2f 6c 69 (see below).</li
0ba0: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c >..</ul></li>..<
0bb0: 6c 69 3e 54 68 65 20 3c 62 3e 53 74 61 72 74 2d li>The <b>Start-
0bc0: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 6e 64 2d </b> and <b>End-
0bd0: 4e 6f 64 65 3c 2f 62 3e 20 63 6f 75 6c 64 20 65 Node</b> could e
0be0: 76 65 6e 74 75 61 6c 6c 79 20 62 65 20 74 68 65 ventually be the
0bf0: 20 73 61 6d 65 2c 20 61 6e 64 20 69 6e 20 74 68 same, and in th
0c00: 69 73 20 63 61 73 65 20 77 65 27 6c 6c 20 68 61 is case we'll ha
0c10: 76 65 20 61 20 3c 62 3e 73 65 6c 66 2d 63 6c 6f ve a <b>self-clo
0c20: 73 65 64 3c 2f 62 3e 20 4c 69 6e 6b 2e 3c 2f 6c sed</b> Link.</l
0c30: 69 3e 0d 0a 3c 6c 69 3e 4e 65 74 77 6f 72 6b 27 i>..<li>Network'
0c40: 73 20 4c 69 6e 6b 73 20 3c 62 3e 63 61 6e 3c 2f s Links <b>can</
0c50: 62 3e 20 65 76 65 6e 74 75 61 6c 6c 79 20 64 65 b> eventually de
0c60: 66 69 6e 65 20 61 20 6c 69 6e 65 61 72 20 47 65 fine a linear Ge
0c70: 6f 6d 65 74 72 79 20 28 3c 62 3e 4c 49 4e 45 53 ometry (<b>LINES
0c80: 54 52 49 4e 47 3c 2f 62 3e 29 20 67 6f 69 6e 67 TRING</b>) going
0c90: 20 66 72 6f 6d 20 74 68 65 20 3c 62 3e 53 74 61 from the <b>Sta
0ca0: 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 74 6f 20 74 rt-Node</b> to t
0cb0: 68 65 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f he <b>End-Node</
0cc0: 62 3e 2c 20 62 75 74 20 74 68 69 73 20 69 73 20 b>, but this is
0cd0: 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74 an optional feat
0ce0: 75 72 65 2c 20 6e 6f 74 20 61 20 6d 61 6e 64 61 ure, not a manda
0cf0: 74 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e 74 tory requirement
0d00: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68 61 74 .</li>..<li>What
0d10: 20 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 6d is absolutely m
0d20: 61 6e 64 61 74 6f 72 79 20 69 73 20 74 68 61 74 andatory is that
0d30: 20 65 61 63 68 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 each <b>Link</b
0d40: 3e 20 6d 75 73 74 20 65 78 70 6c 69 63 69 74 6c > must explicitl
0d50: 79 20 72 65 66 65 72 65 6e 63 65 20 69 74 73 20 y reference its
0d60: 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c 2f 6c <b>Nodes</b>.</l
0d70: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
0d80: 3c 6c 69 3e 41 20 4e 65 74 77 6f 72 6b 20 73 75 <li>A Network su
0d90: 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65 74 72 pporting Geometr
0da0: 69 65 73 20 69 73 20 61 20 3c 62 3e 53 70 61 74 ies is a <b>Spat
0db0: 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 3b ial Network</b>;
0dc0: 20 6f 74 68 65 72 77 69 73 65 20 61 20 4e 65 74 otherwise a Net
0dd0: 77 6f 72 6b 20 6c 61 63 6b 69 6e 67 20 61 6e 79 work lacking any
0de0: 20 47 65 6f 6d 65 74 72 79 20 69 73 20 61 20 3c Geometry is a <
0df0: 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 b>Logical Networ
0e00: 6b 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c k</b>...<ul>..<l
0e10: 69 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61 i>In a <b>Spatia
0e20: 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c l Network</b> al
0e30: 6c 20 4c 69 6e 6b 73 20 3c 62 3e 6d 75 73 74 3c l Links <b>must<
0e40: 2f 62 3e 20 68 61 76 65 20 61 20 63 6f 72 72 65 /b> have a corre
0e50: 73 70 6f 6e 64 69 6e 67 20 47 65 6f 6d 65 74 72 sponding Geometr
0e60: 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 y.</li>..<li>In
0e70: 61 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 a <b>Logical Net
0e80: 77 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20 4c 69 6e work</b> all Lin
0e90: 6b 73 20 3c 62 3e 61 72 65 20 73 74 72 69 63 74 ks <b>are strict
0ea0: 6c 79 20 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e ly forbidden</b>
0eb0: 20 74 6f 20 68 61 76 65 20 61 6e 79 20 47 65 6f to have any Geo
0ec0: 6d 65 74 72 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 metry.</li>..<li
0ed0: 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61 6c >In a <b>Spatial
0ee0: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 62 6f 74 Network</b> bot
0ef0: 68 20 74 68 65 20 3c 62 3e 53 74 61 72 74 50 6f h the <b>StartPo
0f00: 69 6e 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 int</b> and <b>E
0f10: 6e 64 50 6f 69 6e 74 3c 2f 62 3e 20 6f 66 20 65 ndPoint</b> of e
0f20: 61 63 68 20 4c 69 6e 6b 27 73 20 3c 62 3e 4c 49 ach Link's <b>LI
0f30: 4e 45 53 54 52 49 4e 47 3c 2f 62 3e 20 61 72 65 NESTRING</b> are
0f40: 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65 64 always expected
0f50: 20 74 6f 20 65 78 61 63 74 6c 79 20 63 6f 69 6e to exactly coin
0f60: 63 69 64 65 20 77 69 74 68 20 74 68 65 20 63 6f cide with the co
0f70: 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62 3e 4e rresponding <b>N
0f80: 6f 64 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a odes</b>.</li>..
0f90: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </ul></li>..<li>
0fa0: 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 In a <b>Spatial
0fb0: 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20 Network</b> all
0fc0: 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 74 68 references to th
0fd0: 65 20 73 61 6d 65 20 3c 62 3e 4e 6f 64 65 3c 2f e same <b>Node</
0fe0: 62 3e 20 62 79 20 64 69 66 66 65 72 65 6e 74 20 b> by different
0ff0: 4c 69 6e 6b 73 20 3c 62 3e 6d 75 73 74 3c 2f 62 Links <b>must</b
1000: 3e 20 62 65 20 61 6e 20 65 78 61 63 74 20 6d 61 > be an exact ma
1010: 74 63 68 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61 tch.<br>..<u>Exa
1020: 6d 70 6c 65 3c 2f 75 3e 3a 20 4e 6f 64 65 20 3c mple</u>: Node <
1030: 62 3e 4e 35 3c 2f 62 3e 20 69 73 20 73 68 61 72 b>N5</b> is shar
1040: 65 64 20 62 79 20 4c 69 6e 6b 73 20 3c 62 3e 4c ed by Links <b>L
1050: 33 3c 2f 62 3e 2c 20 3c 62 3e 4c 36 3c 2f 62 3e 3</b>, <b>L6</b>
1060: 2c 20 3c 62 3e 4c 37 3c 2f 62 3e 2c 20 3c 62 3e , <b>L7</b>, <b>
1070: 4c 39 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 31 L9</b> and <b>L1
1080: 30 3c 2f 62 3e 2c 20 73 6f 20 61 6c 6c 20 74 68 0</b>, so all th
1090: 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e eir correspondin
10a0: 67 20 4c 49 4e 45 53 54 52 49 4e 47 53 20 61 72 g LINESTRINGS ar
10b0: 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 68 61 e expected to ha
10c0: 76 65 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e ve the correspon
10d0: 64 69 6e 67 20 65 78 74 72 65 6d 69 74 79 20 28 ding extremity (
10e0: 3c 62 3e 53 74 61 72 74 2d 3c 2f 62 3e 20 6f 72 <b>Start-</b> or
10f0: 20 3c 62 3e 45 6e 64 2d 3c 2f 62 3e 2c 20 64 65 <b>End-</b>, de
1100: 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6f pending on the o
1110: 72 69 65 6e 74 61 74 69 6f 6e 29 20 70 6f 69 6e rientation) poin
1120: 74 73 20 74 68 61 74 20 6d 75 73 74 20 65 78 61 ts that must exa
1130: 63 74 6c 79 20 6d 61 74 63 68 20 74 68 65 20 6f ctly match the o
1140: 74 68 65 72 2e 3c 62 72 3e 0d 0a 41 20 3c 62 3e ther.<br>..A <b>
1150: 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 69 6e 63 6f topological inco
1160: 6e 73 69 73 74 65 6e 63 79 3c 2f 62 3e 20 65 78 nsistency</b> ex
1170: 69 73 74 73 20 69 66 20 61 6e 79 20 6f 66 20 74 ists if any of t
1180: 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 hese conditions
1190: 61 72 65 20 6e 6f 74 20 73 61 74 69 73 66 69 65 are not satisfie
11a0: 64 2c 20 77 68 69 63 68 20 6c 65 61 64 73 20 74 d, which leads t
11b0: 6f 20 61 6e 20 3c 62 3e 69 6e 76 61 6c 69 64 3c o an <b>invalid<
11c0: 2f 62 3e 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 /b> Network.</li
11d0: 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62 3e 53 >..<li>In a <b>S
11e0: 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f patial Network</
11f0: 62 3e 20 74 77 6f 0d 0a 3c 6c 69 3e 41 63 63 6f b> two..<li>Acco
1200: 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 61 rdingly to the a
1210: 62 6f 76 65 20 70 72 65 6d 69 73 65 73 2c 20 3c bove premises, <
1220: 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 61 72 65 20 b>Nodes</b> are
1230: 6e 65 76 65 72 20 65 78 70 65 63 74 65 64 20 74 never expected t
1240: 6f 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20 o be explicitly
1250: 64 65 63 6c 61 72 65 64 20 69 6e 20 61 20 73 65 declared in a se
1260: 70 61 72 61 74 65 20 54 61 62 6c 65 2e 3c 62 72 parate Table.<br
1270: 3e 0d 0a 4a 75 73 74 20 61 20 73 69 6e 67 6c 65 >..Just a single
1280: 20 54 61 62 6c 65 20 64 65 63 6c 61 72 69 6e 67 Table declaring
1290: 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 all <b>Links</b
12a0: 3e 20 69 73 20 72 65 71 75 69 72 65 64 20 69 6e > is required in
12b0: 20 6f 72 64 65 72 20 74 6f 20 66 75 6c 6c 79 20 order to fully
12c0: 64 65 66 69 6e 65 20 61 20 74 6f 70 6f 6c 6f 67 define a topolog
12d0: 69 63 61 6c 6c 79 20 76 61 6c 69 64 20 4e 65 74 ically valid Net
12e0: 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 74 work.<br>..All t
12f0: 68 65 20 4e 6f 64 65 73 20 63 61 6e 20 74 68 65 he Nodes can the
1300: 6e 20 62 65 20 65 61 73 69 6c 79 20 65 78 74 72 n be easily extr
1310: 61 63 74 65 64 20 66 72 6f 6d 20 74 68 65 20 4c acted from the L
1320: 69 6e 6b 73 27 20 64 65 66 69 6e 69 74 69 6f 6e inks' definition
1330: 73 20 61 6e 64 20 74 68 65 20 63 6f 6f 72 64 69 s and the coordi
1340: 6e 61 74 65 73 20 66 6f 72 20 65 61 63 68 20 4e nates for each N
1350: 6f 64 65 20 63 61 6e 20 62 65 20 64 69 72 65 63 ode can be direc
1360: 74 6c 79 20 73 65 74 20 62 79 20 65 78 74 72 61 tly set by extra
1370: 63 74 69 6e 67 20 74 68 65 20 65 78 74 72 65 6d cting the extrem
1380: 65 20 50 6f 69 6e 74 20 6f 66 20 74 68 65 20 63 e Point of the c
1390: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e orresponding Lin
13a0: 65 73 74 72 69 6e 67 73 2e 3c 62 72 3e 0d 0a 49 estrings.<br>..I
13b0: 66 20 61 6e 79 20 6d 69 73 6d 61 74 63 68 20 69 f any mismatch i
13c0: 73 20 64 65 74 65 63 74 65 64 20 74 68 69 73 20 s detected this
13d0: 73 75 72 65 6c 79 20 6d 65 61 6e 73 20 74 68 61 surely means tha
13e0: 74 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 69 73 t the Network is
13f0: 20 69 6e 76 61 6c 69 64 2e 3c 2f 6c 69 3e 0d 0a invalid.</li>..
1400: 3c 6c 69 3e 41 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 <li>A <b>Link</b
1410: 3e 20 6d 61 79 20 6c 65 67 69 74 69 6d 61 74 65 > may legitimate
1420: 6c 79 20 73 65 6c 66 2d 69 6e 74 65 72 73 65 63 ly self-intersec
1430: 74 20 69 74 73 65 6c 66 20 28 65 2e 67 2e 20 66 t itself (e.g. f
1440: 6f 72 6d 69 6e 67 20 61 20 6c 6f 6f 70 29 2c 20 orming a loop),
1450: 61 73 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 as shown in the
1460: 61 62 6f 76 65 20 66 69 67 75 72 65 20 62 79 20 above figure by
1470: 4c 69 6e 6b 20 3c 62 3e 4c 31 35 3c 2f 62 3e 20 Link <b>L15</b>
1480: 28 6f 72 61 6e 67 65 20 73 70 6f 74 29 2e 3c 2f (orange spot).</
1490: 6c 69 3e 0d 0a 3c 6c 69 3e 54 77 6f 20 3c 62 3e li>..<li>Two <b>
14a0: 4c 69 6e 6b 73 3c 2f 62 3e 20 6d 61 79 20 6c 65 Links</b> may le
14b0: 67 69 74 69 6d 61 74 65 6c 79 20 69 6e 74 65 72 gitimately inter
14c0: 73 65 63 74 20 77 68 65 72 65 20 6e 6f 20 4e 6f sect where no No
14d0: 64 65 20 65 78 69 73 74 73 2c 20 61 73 20 65 78 de exists, as ex
14e0: 65 6d 70 6c 69 66 69 65 64 20 6f 6e 20 74 68 65 emplified on the
14f0: 20 61 62 6f 76 65 20 66 69 67 75 72 65 20 62 79 above figure by
1500: 20 4c 69 6e 6b 73 20 3c 62 3e 4c 34 3c 2f 62 3e Links <b>L4</b>
1510: 20 61 6e 64 20 3c 62 3e 4c 37 3c 2f 62 3e 20 28 and <b>L7</b> (
1520: 67 72 65 65 6e 20 73 70 6f 74 29 2e 3c 62 72 3e green spot).<br>
1530: 0d 0a 54 68 69 73 20 75 73 75 61 6c 6c 79 20 68 ..This usually h
1540: 61 70 70 65 6e 73 20 77 68 65 6e 20 6f 6e 65 20 appens when one
1550: 6f 66 20 74 68 65 20 74 77 6f 20 4c 69 6e 6b 73 of the two Links
1560: 20 6f 76 65 72 70 61 73 73 65 73 20 74 68 65 20 overpasses the
1570: 6f 74 68 65 72 2c 20 6f 72 20 77 68 65 72 65 20 other, or where
1580: 73 6f 6d 65 20 74 65 63 68 6e 69 63 61 6c 20 72 some technical r
1590: 65 73 74 72 69 63 74 69 6f 6e 20 65 78 69 73 74 estriction exist
15a0: 73 20 28 65 2e 67 2e 20 74 77 6f 20 69 6e 73 75 s (e.g. two insu
15b0: 6c 61 74 65 64 20 77 69 72 65 73 20 69 6e 20 61 lated wires in a
15c0: 6e 20 45 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 n Electrical Net
15d0: 77 6f 72 6b 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 work).</li>..<li
15e0: 3e 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72 ><b>Links</b> ar
15f0: 65 6e 27 74 20 73 74 72 69 63 74 6c 79 20 72 65 en't strictly re
1600: 71 75 69 72 65 64 20 74 6f 20 62 65 20 61 73 73 quired to be ass
1610: 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 6e 79 ociated with any
1620: 20 73 70 65 63 69 66 69 63 20 61 74 74 72 69 62 specific attrib
1630: 75 74 65 2c 20 62 75 74 20 74 68 65 20 66 6f 6c ute, but the fol
1640: 6c 6f 77 69 6e 67 20 61 74 74 72 69 62 75 74 65 lowing attribute
1650: 73 20 61 72 65 20 61 6c 6d 6f 73 74 20 75 6e 69 s are almost uni
1660: 76 65 72 73 61 6c 6c 79 20 73 75 70 70 6f 72 74 versally support
1670: 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 ed:..<ul>..<li>a
1680: 20 3c 62 3e 6e 61 6d 65 3c 2f 62 3e 20 69 64 65 <b>name</b> ide
1690: 6e 74 69 66 79 69 6e 67 20 74 68 65 20 4c 69 6e ntifying the Lin
16a0: 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70 k.<br>..<u>Examp
16b0: 6c 65 73 3c 2f 75 3e 3a 20 74 68 65 20 3c 69 3e les</u>: the <i>
16c0: 72 6f 61 64 20 74 6f 70 6f 6e 79 6d 3c 2f 69 3e road toponym</i>
16d0: 20 69 6e 20 61 20 3c 62 3e 72 6f 61 64 20 6e 65 in a <b>road ne
16e0: 74 77 6f 72 6b 3c 2f 62 3e 2c 20 6f 72 20 74 68 twork</b>, or th
16f0: 65 20 3c 69 3e 72 69 76 65 72 20 6e 61 6d 65 3c e <i>river name<
1700: 2f 69 3e 20 69 6e 20 61 6e 20 3c 62 3e 68 79 64 /i> in an <b>hyd
1710: 72 6f 67 72 61 70 68 69 63 20 6e 65 74 77 6f 72 rographic networ
1720: 6b 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 k</b>.</li>..<li
1730: 3e 6f 6e 65 20 28 6f 72 20 65 76 65 6e 20 6d 6f >one (or even mo
1740: 72 65 29 20 61 70 70 72 6f 70 72 69 61 74 65 20 re) appropriate
1750: 3c 62 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 <b>cost value</b
1760: 3e 28 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 >(s).<br>..<u>Ex
1770: 61 6d 70 6c 65 3c 2f 75 3e 3a 20 74 68 65 20 3c ample</u>: the <
1780: 69 3e 74 69 6d 65 3c 2f 69 3e 20 72 65 71 75 69 i>time</i> requi
1790: 72 65 64 20 74 6f 20 74 72 61 76 65 72 73 65 20 red to traverse
17a0: 74 68 65 20 4c 69 6e 6b 20 28 6d 61 79 20 62 65 the Link (may be
17b0: 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 62 distinguished b
17c0: 65 74 77 65 65 6e 20 70 65 64 65 73 74 72 69 61 etween pedestria
17d0: 6e 73 2c 20 62 69 63 79 63 6c 65 73 2c 20 63 61 ns, bicycles, ca
17e0: 72 73 2c 20 6c 6f 72 72 69 65 73 20 61 6e 64 20 rs, lorries and
17f0: 73 6f 20 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c so on).</li>..<l
1800: 69 3e 61 20 70 61 69 72 20 6f 66 20 3c 62 3e 62 i>a pair of <b>b
1810: 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 3c 2f 62 3e oolean flags</b>
1820: 20 28 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e (<b>from-to</b>
1830: 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c and <b>to-from<
1840: 2f 62 3e 29 20 61 72 65 20 69 6e 74 65 6e 64 65 /b>) are intende
1850: 6e 64 20 74 6f 20 73 70 65 63 69 66 79 20 69 66 nd to specify if
1860: 20 74 68 65 20 4c 69 6e 6b 20 63 61 6e 20 62 65 the Link can be
1870: 20 74 72 61 76 65 72 73 65 64 20 6f 6e 20 62 6f traversed on bo
1880: 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20 6f 72 th directions or
1890: 20 6a 75 73 74 20 69 6e 20 6f 6e 65 20 28 3c 62 just in one (<b
18a0: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c 2f >one-way</b>).</
18b0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
18c0: 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e 4c 6f 67 69 .</ul>..<h4>Logi
18d0: 63 61 6c 20 63 6f 6e 63 6c 75 73 69 6f 6e 73 3c cal conclusions<
18e0: 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f 70 6f 6c 6f /h4>..Any topolo
18f0: 67 69 63 61 6c 6c 79 20 76 61 6c 69 64 20 3c 62 gically valid <b
1900: 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 28 69 72 >Network</b> (ir
1910: 72 65 73 70 65 63 74 69 76 65 20 6f 66 20 77 68 respective of wh
1920: 65 74 68 65 72 20 69 74 20 69 73 20 61 20 3c 62 ether it is a <b
1930: 3e 53 70 61 74 69 61 6c 3c 2f 62 3e 20 6f 72 20 >Spatial</b> or
1940: 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f 62 3e 20 74 <b>Logical</b> t
1950: 79 70 65 29 20 69 73 20 61 20 76 61 6c 69 64 20 ype) is a valid
1960: 3c 62 3e 47 72 61 70 68 3c 2f 62 3e 2e 3c 62 72 <b>Graph</b>.<br
1970: 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20 61 6c 6c >..A Network all
1980: 6f 77 69 6e 67 20 74 68 65 20 73 75 70 70 6f 72 owing the suppor
1990: 74 20 28 64 69 72 65 63 74 20 6f 72 20 69 6e 64 t (direct or ind
19a0: 69 72 65 63 74 29 20 6f 66 20 73 6f 6d 65 20 61 irect) of some a
19b0: 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 63 6f ppropriate <b>co
19c0: 73 74 20 76 61 6c 75 65 3c 2f 62 3e 20 69 73 20 st value</b> is
19d0: 61 20 76 61 6c 69 64 20 3c 62 3e 57 65 69 67 68 a valid <b>Weigh
19e0: 74 65 64 20 47 72 61 70 68 3c 2f 62 3e 2c 20 61 ted Graph</b>, a
19f0: 6e 64 20 63 61 6e 20 63 6f 6e 73 65 71 75 65 6e nd can consequen
1a00: 74 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 52 tly support <b>R
1a10: 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d outing algorithm
1a20: 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 s</b>.<br>..All
1a30: 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 Routing algorith
1a40: 6d 73 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 ms are intended
1a50: 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 to identify the
1a60: 3c 62 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 <b>Shortest Path
1a70: 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 63 6f </b> solution co
1a80: 6e 6e 65 63 74 69 6e 67 20 74 77 6f 20 3c 62 3e nnecting two <b>
1a90: 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e 20 61 20 3c Nodes</b> in a <
1aa0: 62 3e 77 65 69 67 68 74 65 64 20 67 72 61 70 68 b>weighted graph
1ab0: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e </b> (<i>aka</i>
1ac0: 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 29 <b>Network</b>)
1ad0: 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 3c 75 .<br><br>..<b><u
1ae0: 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 >Note</u></b>: t
1af0: 68 65 20 74 65 72 6d 20 3c 62 3e 3c 69 3e 53 68 he term <b><i>Sh
1b00: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 69 3e 3c ortest Path</i><
1b10: 2f 62 3e 20 63 61 6e 20 62 65 20 65 61 73 69 6c /b> can be easil
1b20: 79 20 6d 69 73 75 6e 64 65 72 73 74 6f 6f 64 2e y misunderstood.
1b30: 3c 62 72 3e 0d 0a 44 75 65 20 74 6f 20 68 69 73 <br>..Due to his
1b40: 74 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e 73 20 torical reasons
1b50: 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 the most common
1b60: 61 70 70 6c 69 63 61 74 69 6f 6e 20 66 69 65 6c application fiel
1b70: 64 20 66 6f 72 20 52 6f 75 74 69 6e 67 20 61 6c d for Routing al
1b80: 67 6f 72 69 74 68 6d 73 20 69 73 20 72 65 6c 61 gorithms is rela
1b90: 74 65 64 20 74 6f 20 3c 62 3e 52 6f 61 64 20 4e ted to <b>Road N
1ba0: 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c 20 62 75 74 etworks</b>, but
1bb0: 20 61 6c 73 6f 20 6d 61 6e 79 20 6f 74 68 65 72 also many other
1bc0: 20 6b 69 6e 64 73 20 6f 66 20 4e 65 74 77 6f 72 kinds of Networ
1bd0: 6b 73 20 65 78 69 73 74 3a 0d 0a 3c 75 6c 3e 0d ks exist:..<ul>.
1be0: 0a 3c 6c 69 3e 48 79 64 72 6f 67 72 61 70 68 69 .<li>Hydrographi
1bf0: 63 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e c Networks.</li>
1c00: 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20 57 61 74 65 ..<li>Gas / Wate
1c10: 72 20 2f 20 4f 69 6c 20 4e 65 74 77 6f 72 6b 73 r / Oil Networks
1c20: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 6c 65 63 .</li>..<li>Elec
1c30: 74 72 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 2e trical Networks.
1c40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c 65 63 </li>..<li>Telec
1c50: 6f 6d 75 6e 69 63 61 74 69 6f 6e 20 4e 65 74 77 omunication Netw
1c60: 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e orks.</li>..<li>
1c70: 53 6f 63 69 61 6c 20 6f 72 20 45 63 6f 6e 6f 6d Social or Econom
1c80: 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 20 72 65 ical Networks re
1c90: 70 72 65 73 65 6e 74 69 6e 67 20 72 65 6c 61 74 presenting relat
1ca0: 69 6f 6e 73 68 69 70 73 20 62 65 74 77 65 65 6e ionships between
1cb0: 20 69 6e 64 69 76 69 64 75 61 6c 73 20 6f 72 20 individuals or
1cc0: 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f 6c 69 3e 0d companies.</li>.
1cd0: 0a 3c 6c 69 3e 45 70 69 64 65 6d 69 6f 6c 6f 67 .<li>Epidemiolog
1ce0: 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 20 72 65 ical Networks re
1cf0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 70 presenting the p
1d00: 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 69 6e ropagation of in
1d10: 66 65 63 74 69 76 65 20 64 69 73 65 61 73 65 73 fective diseases
1d20: 20 62 65 74 77 65 65 6e 20 69 6e 64 69 76 69 64 between individ
1d30: 75 61 6c 73 20 6f 72 20 67 72 6f 75 70 73 2e 3c uals or groups.<
1d40: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e /li>..</ul></li>
1d50: 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 61 6c 6c 20 ..<br>..In all
1d60: 74 68 65 20 61 62 6f 76 65 20 63 61 73 65 73 20 the above cases
1d70: 77 65 20 63 65 72 74 61 69 6e 6c 79 20 68 61 76 we certainly hav
1d80: 65 20 76 61 6c 69 64 20 4e 65 74 77 6f 72 6b 73 e valid Networks
1d90: 20 73 75 70 70 6f 72 74 69 6e 67 20 52 6f 75 74 supporting Rout
1da0: 69 6e 67 20 61 6c 67 6f 72 69 74 68 6e 73 2c 20 ing algorithns,
1db0: 62 75 74 20 6e 6f 74 20 61 6c 6c 20 6f 66 20 74 but not all of t
1dc0: 68 65 6d 20 63 61 6e 20 69 6d 70 6c 79 20 73 6f hem can imply so
1dd0: 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 61 20 3c mething like a <
1de0: 69 3e 73 70 61 74 69 61 6c 20 64 69 73 74 61 6e i>spatial distan
1df0: 63 65 3c 2f 69 3e 20 28 3c 69 3e 67 65 6f 6d 65 ce</i> (<i>geome
1e00: 74 72 69 63 20 6c 65 6e 67 74 68 3c 2f 69 3e 29 tric length</i>)
1e10: 20 6f 72 20 61 20 3c 69 3e 74 72 61 76 65 6c 20 or a <i>travel
1e20: 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a 49 time</i>.<br>..I
1e30: 6e 20 74 68 65 20 6d 6f 73 74 20 67 65 6e 65 72 n the most gener
1e40: 61 6c 20 61 63 63 65 70 74 69 6f 6e 20 3c 62 3e al acception <b>
1e50: 63 6f 73 74 73 3c 2f 62 3e 20 63 61 6e 20 62 65 costs</b> can be
1e60: 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 represented by
1e70: 61 6e 79 20 72 65 61 73 6f 6e 61 62 6c 65 20 70 any reasonable p
1e80: 68 79 73 69 63 61 6c 20 71 75 61 6e 74 69 74 79 hysical quantity
1e90: 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20 6d 6f 72 65 .<br>..So a more
1ea0: 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 64 65 66 generalized def
1eb0: 69 6e 69 74 69 6f 6e 20 69 73 20 61 73 73 75 6d inition is assum
1ec0: 69 6e 67 20 74 68 61 74 20 52 6f 75 74 69 6e 67 ing that Routing
1ed0: 20 61 6c 67 6f 72 69 74 68 6d 73 20 61 72 65 20 algorithms are
1ee0: 69 6e 74 65 6e 64 65 64 20 74 6f 20 69 64 65 6e intended to iden
1ef0: 74 69 66 79 20 3c 62 3e 6c 65 73 73 65 72 20 63 tify <b>lesser c
1f00: 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e ost</b> solution
1f10: 73 20 6f 6e 20 61 20 3c 62 3e 77 65 69 67 68 74 s on a <b>weight
1f20: 65 64 20 67 72 61 70 68 3c 2f 62 3e 2e 3c 62 72 ed graph</b>.<br
1f30: 3e 0d 0a 54 68 65 20 65 78 61 63 74 20 69 6e 74 >..The exact int
1f40: 65 72 70 72 65 74 61 74 69 6f 6e 20 6f 66 20 74 erpretation of t
1f50: 68 65 20 69 6e 76 6f 6c 76 65 64 20 3c 62 3e 63 he involved <b>c
1f60: 6f 73 74 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 osts</b> (<i>aka
1f70: 3c 2f 69 3e 20 3c 62 3e 77 65 69 67 68 74 73 3c </i> <b>weights<
1f80: 2f 62 3e 29 20 73 74 72 69 63 74 6c 79 20 64 65 /b>) strictly de
1f90: 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 76 65 72 pends on the ver
1fa0: 79 20 73 70 65 63 69 66 69 63 20 6e 61 74 75 72 y specific natur
1fb0: 65 20 6f 66 20 65 61 63 68 20 4e 65 74 77 6f 72 e of each Networ
1fc0: 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20 44 69 6a 6b k...<h3>The Dijk
1fd0: 73 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d stra's algorithm
1fe0: 3c 2f 68 33 3e 0d 0a 54 68 69 73 20 77 65 6c 6c </h3>..This well
1ff0: 20 6b 6e 6f 77 6e 20 3c 61 20 68 72 65 66 3d 22 known <a href="
2000: 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 https://en.wikip
2010: 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 44 69 edia.org/wiki/Di
2020: 6a 6b 73 74 72 61 25 32 37 73 5f 61 6c 67 6f 72 jkstra%27s_algor
2030: 69 74 68 6d 22 3e 61 6c 67 6f 72 69 74 68 6d 3c ithm">algorithm<
2040: 2f 61 3e 20 69 73 6e 27 74 20 6e 65 63 65 73 73 /a> isn't necess
2050: 61 72 69 6c 79 20 74 68 65 20 66 61 73 74 65 73 arily the fastes
2060: 74 20 6f 6e 65 2c 20 62 75 74 20 69 74 20 61 6c t one, but it al
2070: 77 61 79 73 20 65 6e 73 75 72 65 73 20 3c 62 3e ways ensures <b>
2080: 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73 full correctness
2090: 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 </b>:..<ul>..<li
20a0: 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f 2d 4e 6f 64 >Any Node-to-Nod
20b0: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 64 65 e connection ide
20c0: 6e 74 69 66 69 65 64 20 62 79 20 44 69 6a 6b 73 ntified by Dijks
20d0: 74 72 61 27 73 20 69 73 20 63 65 72 74 61 69 6e tra's is certain
20e0: 6c 79 20 65 6e 73 75 72 65 64 20 74 6f 20 62 65 ly ensured to be
20f0: 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e 2e <b>optimal</b>.
2100: 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 65 72 20 77 <br>..In other w
2110: 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e 6e 65 74 63 ords, no connetc
2120: 74 69 6f 6e 20 70 72 65 73 65 6e 74 69 6e 67 20 tion presenting
2130: 61 20 6c 6f 77 65 72 20 63 6f 73 74 20 63 61 6e a lower cost can
2140: 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 65 78 conceptually ex
2150: 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 ist.</li>..<li>W
2160: 68 65 6e 20 44 69 6a 73 6a 74 72 61 27 73 20 66 hen Dijsjtra's f
2170: 61 69 6c 73 20 74 6f 20 69 64 65 6e 74 69 66 79 ails to identify
2180: 20 61 20 73 6f 6c 75 74 69 6f 6e 20 74 68 69 73 a solution this
2190: 20 73 75 72 65 6c 79 20 6d 65 61 6e 73 20 74 68 surely means th
21a0: 61 74 20 6e 6f 20 73 6f 6c 75 74 69 6f 6e 20 69 at no solution i
21b0: 73 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c 69 3e s possible.</li>
21c0: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 54 68 65 ..</ul>..<h3>The
21d0: 20 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 68 A* algorithm</h
21e0: 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74 65 72 6e 61 3>..Many alterna
21f0: 74 69 76 65 20 52 6f 75 74 69 6e 67 20 61 6c 67 tive Routing alg
2200: 6f 72 69 74 68 6d 73 20 68 61 76 65 20 62 65 65 orithms have bee
2210: 6e 20 69 6e 76 65 6e 74 65 64 20 64 75 72 69 6e n invented durin
2220: 67 20 74 68 65 20 79 65 61 72 73 2e 3c 62 72 3e g the years.<br>
2230: 0d 0a 41 6c 6c 20 74 68 65 6d 20 61 72 65 20 62 ..All them are b
2240: 61 73 65 64 20 6f 6e 20 68 65 75 72 69 73 74 69 ased on heuristi
2250: 63 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 61 6e c assumptions an
2260: 64 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 d are intended t
2270: 6f 20 62 65 20 66 61 73 74 65 72 20 74 68 61 6e o be faster than
2280: 20 44 69 6a 6b 73 74 72 61 27 73 2c 20 62 75 74 Dijkstra's, but
2290: 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 63 61 none of them ca
22a0: 6e 20 65 6e 73 75 72 65 20 3c 62 3e 66 75 6c 6c n ensure <b>full
22b0: 20 63 6f 72 72 65 63 74 6e 65 73 73 3c 2f 62 3e correctness</b>
22c0: 20 61 73 20 44 69 6a 6b 73 74 72 61 27 73 20 64 as Dijkstra's d
22d0: 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68 65 20 3c 61 oes.<br>..The <a
22e0: 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 href="https://e
22f0: 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f n.wikipedia.org/
2300: 77 69 6b 69 2f 41 2a 5f 73 65 61 72 63 68 5f 61 wiki/A*_search_a
2310: 6c 67 6f 72 69 74 68 6d 22 3e 41 2a 20 61 6c 67 lgorithm">A* alg
2320: 6f 72 69 74 68 6d 3c 2f 61 3e 20 61 70 70 6c 69 orithm</a> appli
2330: 65 73 20 61 20 6d 69 6c 64 20 68 65 75 72 69 73 es a mild heuris
2340: 74 69 63 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e tic optimization
2350: 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 61 20 72 , and can be a r
2360: 65 61 6c 69 73 74 69 63 20 61 6c 74 65 72 6e 61 ealistic alterna
2370: 74 69 76 65 20 74 6f 20 44 69 6a 6b 73 74 72 61 tive to Dijkstra
2380: 27 73 20 69 6e 20 6d 61 6e 79 20 63 61 73 65 73 's in many cases
2390: 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d .<br><br>..<hr>.
23a0: 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 73 61 .<h1><a name="sa
23b0: 6d 70 6c 65 22 3e 32 20 2d 20 54 68 65 20 73 61 mple">2 - The sa
23c0: 6d 70 6c 65 2f 74 65 73 74 20 44 42 3c 2f 61 3e mple/test DB</a>
23d0: 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61 72 65 20 65 </h1>..You are e
23e0: 78 70 65 63 74 65 64 20 74 6f 20 66 6f 6c 6c 6f xpected to follo
23f0: 77 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 75 w the current tu
2400: 74 6f 72 69 61 6c 20 61 62 6f 75 74 20 3c 62 3e torial about <b>
2410: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f VirtualRouting</
2420: 62 3e 20 62 79 20 64 69 72 65 63 74 6c 79 20 74 b> by directly t
2430: 65 73 74 69 6e 67 20 61 6c 6c 20 53 51 4c 20 71 esting all SQL q
2440: 75 65 72 69 65 73 20 64 69 73 63 75 73 73 65 64 ueries discussed
2450: 20 62 65 6c 6f 77 20 6f 6e 20 62 65 68 61 6c 66 below on behalf
2460: 20 6f 66 20 74 68 65 20 3c 61 20 68 72 65 66 3d of the <a href=
2470: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
2480: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
2490: 6e 73 2f 72 6f 75 74 69 6e 67 2d 73 61 6d 70 6c ns/routing-sampl
24a0: 65 2d 35 2e 30 2e 30 2e 37 7a 22 3e 73 61 6d 70 e-5.0.0.7z">samp
24b0: 6c 65 2f 74 65 73 74 20 44 42 20 74 68 61 74 20 le/test DB that
24c0: 79 6f 75 20 63 61 6e 20 64 6f 77 6e 6c 6f 61 64 you can download
24d0: 20 66 72 6f 6d 20 68 65 72 65 3c 2f 61 3e 3c 62 from here</a><b
24e0: 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 73 61 6d 70 r><br>..The samp
24f0: 6c 65 20 44 42 20 63 6f 6e 74 61 69 6e 73 20 74 le DB contains t
2500: 68 65 20 66 75 6c 6c 20 3c 62 3e 72 6f 61 64 20 he full <b>road
2510: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 6f 66 20 3c network</b> of <
2520: 62 3e 54 75 73 63 61 6e 79 20 52 65 67 69 6f 6e b>Tuscany Region
2530: 20 28 49 74 61 6c 79 29 3c 2f 62 3e 20 28 3c 61 (Italy)</b> (<a
2540: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 href="http://ww
2550: 77 35 30 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 w502.regione.tos
2560: 63 61 6e 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 cana.it/geoscopi
2570: 6f 2f 64 6f 77 6e 6c 6f 61 64 2f 67 72 61 66 6f o/download/grafo
2580: 5f 73 74 72 61 64 61 6c 65 2f 69 74 65 72 6e 65 _stradale/iterne
2590: 74 2e 7a 69 70 22 3e 49 74 65 72 2e 4e 65 74 20 t.zip">Iter.Net
25a0: 64 61 74 61 73 65 74 3c 2f 61 3e 29 20 6b 69 6e dataset</a>) kin
25b0: 64 6c 79 20 72 65 6c 65 61 73 65 64 20 75 6e 64 dly released und
25c0: 65 72 20 74 68 65 20 3c 62 3e 43 43 2d 42 59 2d er the <b>CC-BY-
25d0: 53 41 20 34 2e 30 3c 2f 62 3e 20 6c 69 63 65 6e SA 4.0</b> licen
25e0: 63 65 20 74 65 72 6d 73 2e 3c 62 72 3e 0d 0a 54 ce terms.<br>..T
25f0: 68 65 20 63 6f 6e 74 65 6e 74 73 20 73 74 6f 72 he contents stor
2600: 65 64 20 69 6e 74 6f 20 74 68 65 20 73 61 6d 70 ed into the samp
2610: 6c 65 20 64 61 74 61 62 61 73 65 20 77 65 72 65 le database were
2620: 20 6f 70 70 6f 72 74 75 6e 65 6c 79 20 72 65 61 opportunely rea
2630: 72 72 61 6e 67 65 64 2c 20 61 6e 64 20 61 72 65 rranged, and are
2640: 20 73 74 69 6c 6c 20 73 75 62 6a 65 63 74 20 74 still subject t
2650: 6f 20 74 68 65 20 69 6e 69 74 69 61 6c 20 3c 62 o the initial <b
2660: 3e 43 43 2d 42 59 2d 53 41 20 34 2e 30 3c 2f 62 >CC-BY-SA 4.0</b
2670: 3e 20 63 6c 61 75 73 65 73 20 28 3c 69 3e 64 65 > clauses (<i>de
2680: 72 69 76 65 64 20 77 6f 72 6b 3c 2f 69 3e 29 2e rived work</i>).
2690: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e ..<br><br>..<ul>
26a0: 0d 0a 3c 6c 69 3e 61 6c 6c 20 72 6f 61 64 20 6e ..<li>all road n
26b0: 61 6d 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 ames are stored
26c0: 77 69 74 68 69 6e 20 74 68 65 20 3c 62 3e 74 6f within the <b>to
26d0: 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 ponyms</b> Table
26e0: 2e 3c 62 72 3e 0d 0a 74 68 65 20 73 61 6d 65 20 .<br>..the same
26f0: 72 6f 61 64 20 6e 61 6d 65 20 63 6f 75 6c 64 20 road name could
2700: 62 65 20 75 73 65 64 20 69 6e 20 64 69 66 66 65 be used in diffe
2710: 72 65 6e 74 20 4d 75 6e 69 63 69 70 61 6c 69 74 rent Municipalit
2720: 69 65 73 2c 20 73 6f 20 74 68 65 20 3c 62 3e 74 ies, so the <b>t
2730: 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c oponyms</b> Tabl
2740: 65 20 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72 e relationally r
2750: 65 66 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62 eferences the <b
2760: 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c >municipalities<
2770: 2f 62 3e 20 54 61 62 6c 65 20 28 76 69 61 20 3c /b> Table (via <
2780: 62 3e 50 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20 b>PRIMARY</b> /
2790: 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f <b>FOREIGN KEY</
27a0: 62 3e 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 b> relationships
27b0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 ).</li>..<li>the
27c0: 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70 <b>roads</b> Sp
27d0: 61 74 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74 atial Table cont
27e0: 61 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e 33 38 ains about <b>38
27f0: 30 2c 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c 0,000</b> Links,
2800: 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c and has the fol
2810: 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d lowing columns:.
2820: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 .<ul>..<li><b>id
2830: 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 </b>: unique ide
2840: 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 ntifier of each
2850: 4c 69 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59 Link (<b>PRIMARY
2860: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d KEY</b>).</li>.
2870: 0a 3c 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f .<li><b>node_fro
2880: 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64 m</b> and <b>nod
2890: 65 5f 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69 e_to</b>: Node i
28a0: 64 65 6e 74 69 66 69 65 72 73 2e 0d 0a 54 68 65 dentifiers...The
28b0: 20 6f 72 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e original Iter.N
28c0: 65 74 20 64 61 74 61 73 65 74 20 61 64 6f 70 74 et dataset adopt
28d0: 73 20 76 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63 s very long an c
28e0: 6f 6d 70 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65 omplex alphanume
28f0: 72 69 63 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20 ric Node codes;
2900: 74 68 65 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 the integer Node
2910: 20 49 44 73 20 77 65 72 65 20 6f 62 74 61 69 6e IDs were obtain
2920: 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 ed by calling th
2930: 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 e <b>CreateRouti
2940: 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 ngNodes()</b> SQ
2950: 4c 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 75 L function discu
2960: 73 73 65 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77 ssed in a follow
2970: 69 6e 67 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69 ing section.</li
2980: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70 >..<li><b>id_top
2990: 6f 6e 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69 onym</b>: relati
29a0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74 onal reference t
29b0: 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 o the correspond
29c0: 69 6e 67 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f ing road name co
29d0: 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 ntained into the
29e0: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e <b>toponyms</b>
29f0: 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49 Table (<b>FOREI
2a00: 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 GN KEY</b>).</li
2a10: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f >..<li><b>speed_
2a20: 6b 6d 68 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74 kmh</b>: the est
2a30: 69 6d 61 74 65 64 20 61 76 65 72 61 67 65 20 73 imated average s
2a40: 70 65 65 64 20 73 75 70 70 6f 72 74 65 64 20 62 peed supported b
2a50: 79 20 74 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72 y the Link, expr
2a60: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68 essed in <b>km/h
2a70: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f </b>.<br>..<u>No
2a80: 74 65 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74 te</u>: <b>negat
2a90: 69 76 65 3c 2f 62 3e 20 73 70 65 65 64 73 20 69 ive</b> speeds i
2aa0: 6e 74 65 6e 64 20 61 20 66 6f 72 62 69 64 64 65 ntend a forbidde
2ab0: 6e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c n Link.</li>..<l
2ac0: 69 3e 3c 62 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d i><b>oneway_from
2ad0: 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6f 6e to</b> and <b>on
2ae0: 65 77 61 79 5f 74 6f 66 72 6f 6d 3c 2f 62 3e 3a eway_tofrom</b>:
2af0: 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 20 69 boolean flags i
2b00: 6e 74 65 6e 64 65 64 20 74 6f 20 73 74 61 74 65 ntended to state
2b10: 20 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e 20 62 if a Link can b
2b20: 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20 62 e traversed in b
2b30: 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20 6f oth directions o
2b40: 72 20 6a 75 73 74 20 69 6e 20 61 20 73 69 6e 67 r just in a sing
2b50: 6c 65 20 64 69 72 65 63 74 69 6f 6e 20 28 3c 62 le direction (<b
2b60: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c 62 >one-way</b>).<b
2b70: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a r>..<u>Note</u>:
2b80: 20 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63 6c 61 all Links decla
2b90: 72 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79 5f 66 ring <b>oneway_f
2ba0: 72 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64 20 romto=0</b> and
2bb0: 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d <b>oneway_tofrom
2bc0: 3d 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74 65 6e =0</b> are inten
2bd0: 64 65 64 20 74 6f 20 62 65 20 61 6c 77 61 79 73 ded to be always
2be0: 20 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c 69 3e forbidden.</li>
2bf0: 0d 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f 62 ..<li><b>cost</b
2c00: 3e 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c 2f >: the <b>time</
2c10: 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 b> expressed in
2c20: 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20 72 <b>seconds</b> r
2c30: 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 76 65 equired to trave
2c40: 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 rse each Link.<b
2c50: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f r>..<u>Note #1</
2c60: 75 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77 65 72 u> all costs wer
2c70: 65 20 63 61 6c 63 75 6c 61 74 65 64 20 61 63 63 e calculated acc
2c80: 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 ordingly to the
2c90: 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 75 6c following formul
2ca0: 61 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28 28 53 a: <b>cost = ((S
2cb0: 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 2f T_Length(geom) /
2cc0: 20 31 30 30 30 2e 30 29 20 2f 20 73 70 65 65 64 1000.0) / speed
2cd0: 5f 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30 3c 2f _kmh) * 3600.0</
2ce0: 62 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 b><br>..<u>Note
2cf0: 23 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38 36 #2</u> all <b>86
2d00: 2c 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73 74 20 ,400.0</b> cost
2d10: 76 61 6c 75 65 73 20 28 65 71 75 69 76 61 6c 65 values (equivale
2d20: 6e 74 20 74 6f 20 31 20 64 61 79 29 20 61 70 70 nt to 1 day) app
2d30: 72 6f 78 69 6d 61 74 65 20 61 6e 20 3c 62 3e 69 roximate an <b>i
2d40: 6e 66 69 6e 69 74 69 76 65 20 63 6f 73 74 3c 2f nfinitive cost</
2d50: 62 3e 20 74 68 75 73 20 69 6e 74 65 6e 64 69 6e b> thus intendin
2d60: 67 20 61 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e g a <b>forbidden
2d70: 3c 2f 62 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d </b> Link.</li>.
2d80: 0a 3c 6c 69 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e .<li><b>geom</b>
2d90: 3a 20 61 20 3c 62 3e 33 44 20 4c 69 6e 65 73 74 : a <b>3D Linest
2da0: 72 69 6e 67 3c 2f 62 3e 20 72 65 70 72 65 73 65 ring</b> represe
2db0: 6e 74 69 6e 67 20 74 68 65 20 47 65 6f 6d 65 74 nting the Geomet
2dc0: 72 79 20 6f 66 20 65 61 63 68 20 4c 69 6e 6b 2e ry of each Link.
2dd0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 <br>..<u>Note</u
2de0: 3e 3a 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 >: the original
2df0: 3c 62 3e 49 74 65 72 2e 4e 65 74 3c 2f 62 3e 20 <b>Iter.Net</b>
2e00: 64 61 74 61 73 65 74 20 69 73 20 6a 75 73 74 20 dataset is just
2e10: 3c 62 3e 32 44 3c 2f 62 3e 3b 20 65 6c 65 76 61 <b>2D</b>; eleva
2e20: 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 tions (<b>Z</b>
2e30: 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72 coordinates) wer
2e40: 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 e interpolated b
2e50: 79 20 64 72 61 70 69 6e 67 20 74 68 65 20 64 61 y draping the da
2e60: 74 61 73 65 74 20 6f 76 65 72 20 61 6e 20 3c 61 taset over an <a
2e70: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 href="http://ww
2e80: 77 35 30 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 w502.regione.tos
2e90: 63 61 6e 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 cana.it/geoscopi
2ea0: 6f 2f 64 6f 77 6e 6c 6f 61 64 2f 61 6c 74 69 6d o/download/altim
2eb0: 65 74 72 69 61 2f 64 61 5f 63 74 72 31 30 6b 2f etria/da_ctr10k/
2ec0: 67 62 2f 44 54 4d 5f 4f 72 6f 67 72 61 66 69 63 gb/DTM_Orografic
2ed0: 6f 2e 37 7a 22 3e 6f 72 6f 67 72 61 70 68 69 63 o.7z">orographic
2ee0: 20 44 45 4d 20 28 31 30 6d 20 58 20 31 30 6d 20 DEM (10m X 10m
2ef0: 63 65 6c 6c 73 29 3c 2f 61 3e 3c 2f 6c 69 3e 0d cells)</a></li>.
2f00: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 .</ul></li>..<li
2f10: 3e 74 68 65 20 3c 62 3e 72 6f 61 64 73 5f 76 77 >the <b>roads_vw
2f20: 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 56 69 65 </b> Spatial Vie
2f30: 77 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e 64 w is just intend
2f40: 65 64 20 74 6f 20 66 75 6c 6c 79 20 72 65 73 6f ed to fully reso
2f50: 6c 76 65 20 61 6c 6c 20 72 65 6c 61 74 69 6f 6e lve all relation
2f60: 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20 62 65 al references be
2f70: 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73 3c 2f tween <b>roads</
2f80: 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c b>, <b>toponyms<
2f90: 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63 /b> and <b>munic
2fa0: 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74 ipalities</b>, t
2fb0: 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 hus allowing for
2fc0: 20 65 61 73 69 65 72 20 53 51 4c 20 71 75 65 72 easier SQL quer
2fd0: 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 ies.</li>..<li>t
2fe0: 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f he <b>house_nr</
2ff0: 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62 6c 65 b> Spatial Table
3000: 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75 74 20 contains about
3010: 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f 62 3e <b>1,480,000</b>
3020: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 2c 20 House Numbers,
3030: 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c 6c and has the foll
3040: 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d 0a owing columns:..
3050: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 3c <ul>..<li><b>id<
3060: 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 6e /b>: unique iden
3070: 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 48 tifier of each H
3080: 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c 62 3e ouse Number (<b>
3090: 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62 3e 29 PRIMARY KEY</b>)
30a0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 .</li>..<li><b>i
30b0: 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65 6c 61 d_road</b>: rela
30c0: 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 tional reference
30d0: 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f to the correspo
30e0: 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e 74 61 nding Link conta
30f0: 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 3c 62 ined into the <b
3100: 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62 6c 65 >roads</b> Table
3110: 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 (<b>FOREIGN KEY
3120: 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 </b>).</li>..<li
3130: 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a 20 74 ><b>label</b>: t
3140: 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62 65 6c he textual label
3150: 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79 69 6e fully qualifyin
3160: 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e 75 6d g each House Num
3170: 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ber.</li>..<li><
3180: 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62 b>geom</b>: a <b
3190: 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 72 65 >3D Point</b> re
31a0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 47 presenting the G
31b0: 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63 68 20 eometry of each
31c0: 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c 62 72 House Number.<br
31d0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 >..<u>Note #1</u
31e0: 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69 73 20 >: also in this
31f0: 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61 74 69 case all elevati
3200: 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f ons (<b>Z</b> co
3210: 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72 65 20 ordinates) were
3220: 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 79 20 interpolated by
3230: 64 72 61 70 69 6e 67 20 74 68 65 20 64 61 74 61 draping the data
3240: 73 65 74 20 6f 76 65 72 20 74 68 65 20 73 61 6d set over the sam
3250: 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65 2e 3c e DEM as above.<
3260: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c br>..<u>Note #2<
3270: 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 73 70 /u>: strictly sp
3280: 65 63 6b 69 6e 67 20 74 68 65 20 48 6f 75 73 65 ecking the House
3290: 20 4e 75 6d 62 65 72 73 20 61 72 65 20 6e 6f 74 Numbers are not
32a0: 20 70 61 72 74 20 6f 66 20 74 68 65 20 52 6f 61 part of the Roa
32b0: 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68 65 79 20 d Network; they
32c0: 61 72 65 20 69 6e 63 6c 75 64 65 20 69 6e 74 6f are include into
32d0: 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65 73 74 the sample/test
32e0: 20 64 61 74 61 62 61 73 65 20 6a 75 73 74 20 62 database just b
32f0: 65 63 61 75 73 65 20 74 68 65 79 27 6c 6c 20 62 ecause they'll b
3300: 65 20 75 73 65 66 75 6c 20 69 6e 20 73 6f 6d 65 e useful in some
3310: 20 6f 66 20 74 68 65 20 65 78 61 6d 70 6c 65 73 of the examples
3320: 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 62 65 explained in be
3330: 6c 6f 77 20 70 61 72 61 67 72 61 70 68 73 2e 3c low paragraphs.<
3340: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e /li>..</ul></li>
3350: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 ..<li>the <b>hou
3360: 73 65 5f 6e 72 5f 76 77 3c 2f 62 3e 20 53 70 61 se_nr_vw</b> Spa
3370: 74 69 61 6c 20 56 69 65 77 20 69 73 20 6a 75 73 tial View is jus
3380: 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 66 75 t intended to fu
3390: 6c 6c 79 20 72 65 73 6f 6c 76 65 20 61 6c 6c 20 lly resolve all
33a0: 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 relational refer
33b0: 65 6e 63 65 73 20 62 65 74 77 65 65 6e 20 3c 62 ences between <b
33c0: 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62 3e 2c 20 3c >house_nr</b>, <
33d0: 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c 20 3c 62 3e b>roads</b>, <b>
33e0: 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 61 6e 64 toponyms</b> and
33f0: 20 3c 62 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 <b>municipaliti
3400: 65 73 3c 2f 62 3e 2c 20 74 68 75 73 20 61 6c 6c es</b>, thus all
3410: 6f 77 69 6e 67 20 66 6f 72 20 65 61 73 69 65 72 owing for easier
3420: 20 53 51 4c 20 71 75 65 72 69 65 73 2e 3c 2f 6c SQL queries.</l
3430: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d i>..</ul>..<br>.
3440: 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e . <hr>..<h1><a n
3450: 61 6d 65 3d 22 63 72 65 61 74 65 22 3e 33 20 2d ame="create">3 -
3460: 20 43 72 65 61 74 69 6e 67 20 56 69 72 74 75 61 Creating Virtua
3470: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 3c lRouting Tables<
3480: 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c 6c 20 56 69 /a></h1>..All Vi
3490: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 71 75 65 rtualRouting que
34a0: 72 69 65 73 20 61 72 65 20 62 61 73 65 64 20 6f ries are based o
34b0: 6e 20 73 6f 6d 65 20 3c 62 3e 56 69 72 74 75 61 n some <b>Virtua
34c0: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f lRouting Table</
34d0: 62 3e 2c 20 61 6e 64 20 69 6e 20 74 75 72 6e 20 b>, and in turn
34e0: 61 6e 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 any VirtualRouti
34f0: 6e 67 20 54 61 62 6c 65 20 69 73 20 62 61 73 65 ng Table is base
3500: 64 20 6f 6e 20 73 6f 6d 65 20 61 70 70 72 6f 70 d on some approp
3510: 72 69 61 74 65 20 3c 62 3e 42 69 6e 61 72 79 20 riate <b>Binary
3520: 44 61 74 61 20 54 61 62 6c 65 3c 2f 62 3e 20 73 Data Table</b> s
3530: 75 70 70 6f 72 74 69 6e 67 20 61 6e 20 65 66 66 upporting an eff
3540: 69 63 69 65 6e 74 20 72 65 70 72 65 73 65 6e 74 icient represent
3550: 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 75 6e 64 ation of the und
3560: 65 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e erlying Network.
3570: 3c 62 72 3e 0d 0a 53 6f 20 77 65 27 6c 6c 20 73 <br>..So we'll s
3580: 74 61 72 74 20 66 69 72 73 74 20 62 79 20 63 72 tart first by cr
3590: 65 61 74 69 6e 67 20 73 75 63 68 20 74 61 62 6c eating such tabl
35a0: 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 es.<br><br>..The
35b0: 20 6f 6c 64 20 61 6e 64 20 6e 6f 77 20 73 75 70 old and now sup
35c0: 65 72 73 65 64 65 64 20 3c 62 3e 56 69 72 74 75 erseded <b>Virtu
35d0: 61 6c 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 alNetwork</b> re
35e0: 71 75 69 72 65 64 20 75 73 69 6e 67 20 61 20 73 quired using a s
35f0: 65 70 61 72 61 74 65 20 43 4c 49 20 74 6f 6f 6c eparate CLI tool
3600: 20 28 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f (<b>spatialite_
3610: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69 6e 20 network</b>) in
3620: 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65 72 6c order to properl
3630: 79 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 20 56 y initialize a V
3640: 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 54 61 irtualNetwork Ta
3650: 62 6c 65 20 61 6e 64 20 69 74 73 20 63 6f 6d 70 ble and its comp
3660: 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 anion Binary Dat
3670: 61 20 54 61 62 6c 65 3b 0d 0a 61 6c 74 65 72 6e a Table;..altern
3680: 61 74 69 76 65 6c 79 20 3c 62 3e 73 70 61 74 69 atively <b>spati
3690: 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 73 75 alite_gui</b> su
36a0: 70 70 6f 72 74 65 64 20 61 20 3c 62 3e 47 55 49 pported a <b>GUI
36b0: 20 77 69 7a 61 72 64 3c 2f 62 3e 20 66 6f 72 20 wizard</b> for
36c0: 74 68 65 20 73 61 6d 65 20 74 61 73 6b 2e 20 53 the same task. S
36d0: 69 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e ince version <b>
36e0: 35 2e 30 2e 30 3c 2f 62 3e 20 6e 6f 77 20 53 70 5.0.0</b> now Sp
36f0: 61 74 69 61 4c 69 74 65 20 64 69 72 65 63 74 6c atiaLite directl
3700: 79 20 73 75 70 70 6f 72 74 73 20 61 20 73 70 65 y supports a spe
3710: 63 69 66 69 63 20 3c 62 3e 43 72 65 61 74 65 52 cific <b>CreateR
3720: 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c outing()</b> SQL
3730: 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 function...<ver
3740: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 batim>..SELECT C
3750: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 reateRouting('by
3760: 66 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62 79 66 foot_data', 'byf
3770: 6f 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 oot', 'roads_vw'
3780: 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 , 'node_from', '
3790: 6e 6f 64 65 74 6f 27 2c 20 27 67 65 6f 6d 27 2c nodeto', 'geom',
37a0: 20 4e 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c 45 43 NULL);....SELEC
37b0: 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f T CreateRouting_
37c0: 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3b 0d GetLastError();.
37d0: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
37e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
37f0: 2d 2d 2d 2d 2d 0d 0a 54 6f 4e 6f 64 65 20 43 6f -----..ToNode Co
3800: 6c 75 6d 6e 20 22 6e 6f 64 65 74 6f 22 20 69 73 lumn "nodeto" is
3810: 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69 6e 20 not defined in
3820: 74 68 65 20 49 6e 70 75 74 20 54 61 62 6c 65 0d the Input Table.
3830: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 .</verbatim>..<u
3840: 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 >Note</u>: this
3850: 66 69 72 73 74 20 71 75 65 72 79 20 28 62 61 73 first query (bas
3860: 65 64 20 6f 6e 20 74 68 65 20 3c 69 3e 72 65 64 ed on the <i>red
3870: 75 63 65 64 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 uced form</i> of
3880: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e <b>CreateRoutin
3890: 67 3c 2f 62 3e 29 20 63 6f 6e 74 61 69 6e 73 20 g</b>) contains
38a0: 61 6e 20 69 6e 74 65 6e 64 65 64 20 65 72 72 6f an intended erro
38b0: 72 20 63 61 75 73 69 6e 67 20 61 20 66 61 69 6c r causing a fail
38c0: 75 72 65 20 61 6e 64 20 74 68 75 73 20 72 61 69 ure and thus rai
38d0: 73 69 6e 67 20 61 6e 20 65 78 63 65 70 74 69 6f sing an exceptio
38e0: 6e 2e 3c 62 72 3e 0d 0a 43 72 65 61 74 65 52 6f n.<br>..CreateRo
38f0: 75 74 69 6e 67 28 29 20 63 61 6e 20 66 61 69 6c uting() can fail
3900: 20 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20 72 65 for multiple re
3910: 61 73 6f 6e 73 2c 20 61 6e 64 20 62 79 20 63 61 asons, and by ca
3920: 6c 6c 69 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 lling <b>CreateR
3930: 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 outing_GetLastEr
3940: 72 6f 72 28 29 3c 2f 62 3e 20 79 6f 75 20 63 61 ror()</b> you ca
3950: 6e 20 65 61 73 69 6c 79 20 69 64 65 6e 74 69 66 n easily identif
3960: 79 20 74 68 65 20 65 78 61 63 74 20 72 65 61 73 y the exact reas
3970: 6f 6e 20 77 68 79 20 74 68 65 20 6d 6f 73 74 20 on why the most
3980: 72 65 63 65 6e 74 20 63 61 6c 6c 20 74 6f 20 43 recent call to C
3990: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 66 reateRouting() f
39a0: 61 69 6c 65 64 2e 3c 62 72 3e 0d 0a 3c 76 65 72 ailed.<br>..<ver
39b0: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 batim>..SELECT C
39c0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 reateRouting('by
39d0: 66 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62 79 66 foot_data', 'byf
39e0: 6f 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 oot', 'roads_vw'
39f0: 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 , 'node_from', '
3a00: 6e 6f 64 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 node_to', 'geom'
3a10: 2c 20 4e 55 4c 4c 2c 20 27 74 6f 70 6f 6e 79 6d , NULL, 'toponym
3a20: 27 2c 20 31 2c 20 31 29 3b 0d 0a 2d 2d 2d 2d 2d ', 1, 1);..-----
3a30: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d 0a 53 --------..1....S
3a40: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 ELECT CreateRout
3a50: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 ing_GetLastError
3a60: 28 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ();..-----------
3a70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3a80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c 4c 0d ---------..NULL.
3a90: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 .</verbatim>..Th
3aa0: 69 73 20 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 is second attemp
3ab0: 74 20 69 73 20 66 69 6e 61 6c 6c 79 20 73 75 63 t is finally suc
3ac0: 63 65 73 73 66 75 6c 2c 20 61 6e 64 20 6e 6f 77 cessful, and now
3ad0: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 CreateRouting()
3ae0: 20 72 65 74 75 72 6e 73 20 3c 62 3e 31 3c 2f 62 returns <b>1</b
3af0: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 > (<i>aka</i> <b
3b00: 3e 54 52 55 45 3c 2f 62 3e 29 2c 20 61 6e 64 20 >TRUE</b>), and
3b10: 61 73 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c as you can easil
3b20: 79 20 63 68 65 63 6b 20 6e 6f 77 20 74 68 65 20 y check now the
3b30: 44 61 74 61 62 61 73 65 20 63 6f 6e 74 61 69 6e Database contain
3b40: 73 20 74 77 6f 20 6e 65 77 20 54 61 62 6c 65 73 s two new Tables
3b50: 3a 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 : <b>byfoot</b>
3b60: 61 6e 64 20 3c 62 3e 62 79 66 6f 6f 74 5f 64 61 and <b>byfoot_da
3b70: 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e ta</b>.<br>..<u>
3b80: 4e 6f 74 65 3c 2f 75 3e 3a 20 61 66 74 65 72 20 Note</u>: after
3b90: 61 20 73 75 63 63 65 73 73 66 75 6c 20 63 61 6c a successful cal
3ba0: 6c 20 74 6f 20 43 72 65 61 74 65 52 6f 75 74 69 l to CreateRouti
3bb0: 6e 67 28 29 20 3c 62 3e 43 72 65 61 74 65 52 6f ng() <b>CreateRo
3bc0: 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 uting_GetLastErr
3bd0: 6f 72 28 29 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c or()</b> will al
3be0: 77 61 79 73 20 72 65 74 75 72 6e 20 3c 62 3e 4e ways return <b>N
3bf0: 55 4c 4c 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e ULL</b>.<br><br>
3c00: 0d 0a 59 6f 75 27 76 65 20 6a 75 73 74 20 75 73 ..You've just us
3c10: 65 64 20 6f 6e 65 20 6f 66 20 74 68 65 20 3c 69 ed one of the <i
3c20: 3e 70 61 72 74 69 61 6c 6c 79 20 72 65 64 75 63 >partially reduc
3c30: 65 64 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43 ed form</i> of C
3c40: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3b 20 reateRouting();
3c50: 6c 65 74 27 73 20 73 65 65 20 69 6e 20 6d 6f 72 let's see in mor
3c60: 65 20 64 65 70 74 68 20 61 6c 6c 20 74 68 65 20 e depth all the
3c70: 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 74 68 arguments and th
3c80: 65 69 72 20 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f eir meaning:..<o
3c90: 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f l>..<li><i>byfoo
3ca0: 74 5f 64 61 74 61 3c 2f 69 3e 3a 20 74 68 65 20 t_data</i>: the
3cb0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 4e 65 74 77 name of the Netw
3cc0: 6f 72 6b 20 42 69 6e 61 72 79 20 44 61 74 61 20 ork Binary Data
3cd0: 54 61 62 6c 65 20 74 6f 20 62 65 20 63 72 65 61 Table to be crea
3ce0: 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ted.</li>..<li><
3cf0: 69 3e 62 79 66 6f 6f 74 3c 2f 69 3e 3a 20 74 68 i>byfoot</i>: th
3d00: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 56 69 e name of the Vi
3d10: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 rtualRouting Tab
3d20: 6c 65 20 74 6f 20 62 65 20 63 72 65 61 74 65 64 le to be created
3d30: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72 .</li>..<li><i>r
3d40: 6f 61 64 73 5f 76 77 3c 2f 69 3e 3a 20 74 68 65 oads_vw</i>: the
3d50: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e name of the <b>
3d60: 53 70 61 74 69 61 6c 20 54 61 62 6c 65 3c 2f 62 Spatial Table</b
3d70: 3e 20 6f 72 20 3c 62 3e 53 70 61 74 69 61 6c 20 > or <b>Spatial
3d80: 56 69 65 77 3c 2f 62 3e 20 72 65 70 72 65 73 65 View</b> represe
3d90: 6e 74 69 6e 67 20 74 68 65 20 75 6e 64 65 72 6c nting the underl
3da0: 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 ying Network.<br
3db0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
3dc0: 69 6e 20 74 68 69 73 20 63 61 73 65 20 77 65 20 in this case we
3dd0: 61 63 74 75 61 6c 6c 79 20 75 73 65 64 20 61 20 actually used a
3de0: 53 70 61 74 69 61 6c 20 56 69 65 77 2e 3c 2f 6c Spatial View.</l
3df0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f i>..<li><i>node_
3e00: 66 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f from</i>: name o
3e10: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e f the column (in
3e20: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 the above Table
3e30: 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74 or View) expect
3e40: 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 ed to contain <b
3e50: 3e 6e 6f 64 65 2d 66 72 6f 6d 3c 2f 62 3e 20 76 >node-from</b> v
3e60: 61 6c 75 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 alues.</li>..<li
3e70: 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a ><i>node_to</i>:
3e80: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c name of the col
3e90: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 umn (in the abov
3ea0: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 e Table or View)
3eb0: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e expected to con
3ec0: 74 61 69 6e 20 3c 62 3e 6e 6f 64 65 2d 74 6f 3c tain <b>node-to<
3ed0: 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e /b> values.</li>
3ee0: 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 ..<li><i>geom</i
3ef0: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 >: name of the c
3f00: 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 olumn (in the ab
3f10: 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 ove Table or Vie
3f20: 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 w) expected to c
3f30: 6f 6e 74 61 69 6e 20 3c 62 3e 4c 69 6e 65 73 74 ontain <b>Linest
3f40: 72 69 6e 67 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a rings</b>.<br>..
3f50: 57 65 20 63 6f 75 6c 64 20 68 61 76 65 20 6c 65 We could have le
3f60: 67 69 74 69 6d 61 74 65 6c 79 20 70 61 73 73 65 gitimately passe
3f70: 64 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 d a <b>NULL</b>
3f80: 76 61 6c 75 65 20 66 6f 72 20 74 68 69 73 20 61 value for this a
3f90: 72 67 75 6d 65 6e 74 20 69 6e 20 74 68 65 20 63 rgument in the c
3fa0: 61 73 65 20 6f 66 20 61 20 3c 62 3e 4c 6f 67 69 ase of a <b>Logi
3fb0: 63 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 2e cal Network</b>.
3fc0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55 </li>..<li><i>NU
3fd0: 4c 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 LL</i>: name of
3fe0: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 the column (in t
3ff0: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f he above Table o
4000: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 r View) expected
4010: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 63 to contain <b>c
4020: 6f 73 74 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c ost</b> values.<
4030: 62 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 br>..In this cas
4040: 65 20 77 65 20 68 61 76 65 20 70 61 73 73 65 64 e we have passed
4050: 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 a <b>NULL</b> v
4060: 61 6c 75 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71 alue, and conseq
4070: 75 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 63 6f uently the <b>co
4080: 73 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c st</b> of each L
4090: 69 6e 6b 20 77 69 6c 6c 20 62 65 20 61 73 73 75 ink will be assu
40a0: 6d 65 64 20 74 6f 20 62 65 20 72 65 70 72 65 73 med to be repres
40b0: 65 6e 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e ented by the <b>
40c0: 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 geometric length
40d0: 3c 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 </b> of the corr
40e0: 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 65 73 74 esponding Linest
40f0: 72 69 6e 67 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f ring.<br>..<u>No
4100: 74 65 20 23 31 3c 2f 75 3e 3a 20 69 6e 20 74 68 te #1</u>: in th
4110: 65 20 63 61 73 65 20 6f 66 20 4e 65 74 77 6f 72 e case of Networ
4120: 6b 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 6c ks based on <b>l
4130: 6f 6e 67 69 74 75 64 65 73 3c 2f 62 3e 20 61 6e ongitudes</b> an
4140: 64 20 3c 62 3e 6c 61 74 69 74 75 64 65 73 3c 2f d <b>latitudes</
4150: 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c b> (<i>aka</i> <
4160: 62 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e b>geographic</b>
4170: 20 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 Reference Syste
4180: 6d 73 29 20 74 68 65 20 67 65 6f 6d 65 74 72 79 ms) the geometry
4190: 20 6c 65 6e 67 74 68 20 6f 66 20 61 6c 6c 20 4c length of all L
41a0: 69 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 inestrings will
41b0: 62 65 20 70 72 65 63 69 73 65 6c 79 20 3c 62 3e be precisely <b>
41c0: 6d 65 61 73 75 72 65 64 20 6f 6e 20 74 68 65 20 measured on the
41d0: 65 6c 6c 69 70 73 6f 69 64 3c 2f 62 3e 20 62 79 ellipsoid</b> by
41e0: 20 61 70 70 6c 79 69 6e 67 20 74 68 65 20 6d 6f applying the mo
41f0: 73 74 20 61 63 63 75 72 61 74 65 20 3c 62 3e 67 st accurate <b>g
4200: 65 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c 61 65 eodesic formulae
4210: 3c 2f 62 3e 20 61 6e 64 20 77 69 6c 6c 20 62 65 </b> and will be
4220: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 65 78 consequently ex
4230: 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 pressed in <b>me
4240: 74 65 72 73 3c 2f 62 3e 2e 20 49 6e 20 61 6e 79 ters</b>. In any
4250: 20 6f 74 68 65 72 20 63 61 73 65 20 28 3c 62 3e other case (<b>
4260: 70 72 6f 6a 65 63 74 65 64 3c 2f 62 3e 20 52 65 projected</b> Re
4270: 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d 73 29 ference Systems)
4280: 20 6c 65 6e 67 74 68 73 20 77 69 6c 6c 20 62 65 lengths will be
4290: 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 74 68 expressed in th
42a0: 65 20 3c 62 3e 6d 65 61 73 75 72 65 20 75 6e 69 e <b>measure uni
42b0: 74 3c 2f 62 3e 20 64 65 66 69 6e 65 64 20 62 79 t</b> defined by
42c0: 20 74 68 65 20 52 65 66 65 72 65 6e 63 65 20 53 the Reference S
42d0: 79 73 74 65 6d 20 28 65 2e 67 2e 20 3c 62 3e 6d ystem (e.g. <b>m
42e0: 65 74 65 72 73 3c 2f 62 3e 20 66 6f 72 20 3c 62 eters</b> for <b
42f0: 3e 55 54 4d 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 >UTM</b> project
4300: 69 6f 6e 73 20 61 6e 64 20 3c 62 3e 66 65 65 74 ions and <b>feet
4310: 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e 4e 41 44 2d </b> for <b>NAD-
4320: 66 74 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 6f ft</b> projectio
4330: 6e 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 ns).<br>..<u>Not
4340: 65 20 23 32 3c 2f 75 3e 3a 20 74 68 65 20 3c 62 e #2</u>: the <b
4350: 3e 67 65 6f 6d 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e >geom-column</b>
4360: 20 61 6e 64 20 3c 62 3e 63 6f 73 74 2d 63 6f 6c and <b>cost-col
4370: 75 6d 6e 3c 2f 62 3e 20 61 72 67 75 6d 65 6e 74 umn</b> argument
4380: 73 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f s are never allo
4390: 77 65 64 20 74 6f 20 62 65 20 3c 62 3e 4e 55 4c wed to be <b>NUL
43a0: 4c 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d L</b> at the sam
43b0: 65 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c e time.</li>..<l
43c0: 69 3e 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e i><i>toponym</i>
43d0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f : name of the co
43e0: 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f lumn (in the abo
43f0: 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 ve Table or View
4400: 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f ) expected to co
4410: 6e 74 61 69 6e 20 3c 62 3e 72 6f 61 64 2d 6e 61 ntain <b>road-na
4420: 6d 65 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 me</b> values.<b
4430: 72 3e 0d 0a 49 74 20 63 6f 75 6c 64 20 62 65 20 r>..It could be
4440: 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 legitimately set
4450: 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 to <b>NULL</b>
4460: 69 66 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 if all Links are
4470: 20 61 6e 6f 6e 79 6d 6f 75 73 2e 3c 2f 6c 69 3e anonymous.</li>
4480: 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 ..<li><i>1</i>:
4490: 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 a boolean flag i
44a0: 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69 ntended to speci
44b0: 66 79 20 69 66 20 74 68 65 20 4e 65 74 77 6f 72 fy if the Networ
44c0: 6b 20 6d 75 73 74 20 73 75 70 70 6f 72 74 20 74 k must support t
44d0: 68 65 20 3c 62 3e 41 2a 20 61 6c 67 6f 72 69 74 he <b>A* algorit
44e0: 68 6d 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 73 hm</b> or not (s
44f0: 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 et to <b>TRUE</b
4500: 3e 20 62 79 20 64 65 66 61 75 6c 74 29 2e 3c 2f > by default).</
4510: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 li>..<li><i>1</i
4520: 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 >: a boolean fla
4530: 67 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 g intended to sp
4540: 65 63 69 66 79 20 69 66 20 61 6c 6c 20 4e 65 74 ecify if all Net
4550: 77 6f 72 6b 27 73 20 4c 69 6e 6b 73 20 61 72 65 work's Links are
4560: 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 3c assumed to be <
4570: 62 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c b>bidirectional<
4580: 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 61 73 73 75 /b> or not (assu
4590: 6d 65 64 20 74 6f 20 62 65 20 3c 62 3e 54 52 55 med to be <b>TRU
45a0: 45 3c 2f 62 3e 20 62 79 20 64 65 66 61 75 6c 74 E</b> by default
45b0: 29 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 6f 6c 3e 0d ).</li> ..</ol>.
45c0: 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d .<table bgcolor=
45d0: 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 "#c0ffc0" cellsp
45e0: 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 acing="10" cellp
45f0: 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c adding="6"><tr><
4600: 74 64 3e 0d 0a 3c 68 33 3e 54 65 63 68 6e 69 63 td>..<h3>Technic
4610: 61 6c 20 6e 6f 74 65 3c 2f 68 33 3e 0d 0a 54 68 al note</h3>..Th
4620: 65 20 69 6e 74 65 72 6e 61 6c 20 65 6e 63 6f 64 e internal encod
4630: 69 6e 67 20 61 64 6f 70 74 65 64 20 62 79 20 74 ing adopted by t
4640: 68 65 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 he <b>Binary Dat
4650: 61 20 54 61 62 6c 65 3c 2f 62 3e 20 69 73 20 75 a Table</b> is u
4660: 6e 63 68 61 6e 67 65 64 20 61 6e 64 20 69 73 20 nchanged and is
4670: 74 68 65 20 73 61 6d 65 20 66 6f 72 20 62 6f 74 the same for bot
4680: 68 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 h <b>VirtualNetw
4690: 6f 6b 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 56 69 ok</b> and <b>Vi
46a0: 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e rtualRouting</b>
46b0: 2e 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 73 .<br>..You can s
46c0: 61 66 65 6c 79 20 62 61 73 65 20 61 20 3c 62 3e afely base a <b>
46d0: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 VirtualRouting T
46e0: 61 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 able</b> on any
46f0: 65 78 69 73 74 69 6e 67 20 42 69 6e 61 72 79 20 existing Binary
4700: 44 61 74 61 0d 0a 54 61 62 6c 65 20 63 72 65 61 Data..Table crea
4710: 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 73 70 ted by the <b>sp
4720: 61 74 69 61 6c 69 74 65 2d 6e 65 74 77 6f 72 6b atialite-network
4730: 3c 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 2c 20 65 </b> CLI tool, e
4740: 78 61 63 74 6c 79 20 61 73 20 79 6f 75 20 63 61 xactly as you ca
4750: 6e 20 62 61 73 65 20 61 20 3c 62 3e 56 69 72 74 n base a <b>Virt
4760: 75 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 ualNetwork Table
4770: 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 42 69 6e 61 </b> on any Bina
4780: 72 79 20 44 61 74 61 20 54 61 62 6c 65 20 63 72 ry Data Table cr
4790: 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e eated by the <b>
47a0: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c CreateRouting()<
47b0: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e /b> SQL function
47c0: 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 43 ...<verbatim>..C
47d0: 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 REATE VIRTUAL TA
47e0: 42 4c 45 20 74 65 73 74 5f 6e 65 74 77 6f 72 6b BLE test_network
47f0: 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 4e 65 USING VirtualNe
4800: 74 77 6f 72 6b 28 27 73 6f 6d 65 5f 64 61 74 61 twork('some_data
4810: 5f 74 61 62 6c 65 27 29 3b 0d 0a 0d 0a 43 52 45 _table');....CRE
4820: 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c ATE VIRTUAL TABL
4830: 45 20 74 65 73 74 5f 72 6f 75 74 69 6e 67 20 55 E test_routing U
4840: 53 49 4e 47 20 56 69 72 74 75 61 6c 52 6f 75 74 SING VirtualRout
4850: 69 6e 67 28 27 73 6f 6d 65 5f 64 61 74 61 5f 74 ing('some_data_t
4860: 61 62 6c 65 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 able');..</verba
4870: 74 69 6d 3e 0d 0a 49 6e 20 6f 72 64 65 72 20 74 tim>..In order t
4880: 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 72 65 61 74 o manually creat
4890: 65 20 79 6f 75 72 20 56 69 72 74 75 61 6c 20 54 e your Virtual T
48a0: 61 62 6c 65 73 20 79 6f 75 20 6a 75 73 74 20 68 ables you just h
48b0: 61 76 65 20 74 6f 20 65 78 65 63 75 74 65 20 61 ave to execute a
48c0: 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 n appropriate <b
48d0: 3e 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 >CREATE VIRTUAL
48e0: 54 41 42 4c 45 20 2e 2e 2e 20 55 53 49 4e 47 20 TABLE ... USING
48f0: 56 69 72 74 75 61 6c 2e 2e 2e 20 28 2e 2e 2e 29 Virtual... (...)
4900: 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0d </b> statement..
4910: 0a 3c 68 34 3e 57 61 72 6e 69 6e 67 3c 2f 68 34 .<h4>Warning</h4
4920: 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73 65 20 6f >..In the case o
4930: 66 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 f <b>Spatial Net
4940: 77 6f 72 6b 73 3c 2f 62 3e 20 62 61 73 65 64 20 works</b> based
4950: 6f 6e 20 61 6e 79 20 3c 62 3e 67 65 6f 67 72 61 on any <b>geogra
4960: 70 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e phic</b> Referen
4970: 63 65 20 53 79 73 74 65 6d 20 28 75 73 69 6e 67 ce System (using
4980: 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73 3c 2f <b>longitudes</
4990: 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69 74 75 b> and <b>latitu
49a0: 64 65 73 3c 2f 62 3e 29 20 74 68 65 72 65 20 69 des</b>) there i
49b0: 73 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 64 s an important d
49c0: 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 ifference betwee
49d0: 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 n Binary Data Ta
49e0: 62 6c 65 73 20 63 72 65 61 74 65 64 20 62 79 20 bles created by
49f0: 74 68 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 the <b>spatialit
4a00: 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 47 55 e_network</b> GU
4a10: 49 20 74 6f 6f 6c 20 61 6e 64 20 20 42 69 6e 61 I tool and Bina
4a20: 72 79 20 44 61 74 61 20 54 61 62 6c 65 73 20 63 ry Data Tables c
4a30: 72 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 reated by the <b
4a40: 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 >CreateRouting()
4a50: 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f </b> SQL functio
4a60: 6e 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74 73 3c n when <b>costs<
4a70: 2f 62 3e 20 61 72 65 20 69 6d 70 6c 69 63 69 74 /b> are implicit
4a80: 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 ly based on the
4a90: 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 geometric length
4aa0: 20 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73 20 4c of the Link's L
4ab0: 69 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c 3e inestring:..<ul>
4ac0: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 70 61 ..<li>the <b>spa
4ad0: 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c tialite_network<
4ae0: 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28 61 6e /b> CLI tool (an
4af0: 64 20 74 68 65 20 3c 62 3e 47 55 49 20 77 69 7a d the <b>GUI wiz
4b00: 61 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65 6e ard</b> implemen
4b10: 74 65 64 20 62 79 20 70 72 65 76 69 6f 75 73 20 ted by previous
4b20: 76 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e 73 versions of <b>s
4b30: 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 patialite_gui</b
4b40: 3e 29 20 63 6f 6d 70 75 74 65 20 74 68 65 20 4c >) compute the L
4b50: 69 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 inestring's leng
4b60: 74 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e 67 75 th as an <b>angu
4b70: 6c 61 72 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e lar distance</b>
4b80: 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 expressed in <b
4b90: 3e 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f 6c >degrees</b>.</l
4ba0: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 43 i>..<li>the <b>C
4bb0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f reateRouting()</
4bc0: 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 b> SQL function
4bd0: 63 6f 6d 70 75 74 65 73 20 74 68 65 20 4c 69 6e computes the Lin
4be0: 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 68 estring's length
4bf0: 20 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61 72 20 as a <b>linear
4c00: 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78 70 distance</b> exp
4c10: 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 ressed in <b>met
4c20: 72 65 73 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 res</b> by apply
4c30: 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63 63 ing the most acc
4c40: 75 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 urate <b>geodesi
4c50: 63 20 66 6f 72 6d 75 6c 61 65 3c 2f 62 3e 20 6f c formulae</b> o
4c60: 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64 2e n the ellipsoid.
4c70: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f </li>..</ul>..</
4c80: 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e td></tr></table>
4c90: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 <br><br>..<verba
4ca0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 tim>..SELECT Cre
4cb0: 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 63 61 ateRouting('byca
4cc0: 72 5f 64 61 74 61 27 2c 20 27 62 79 63 61 72 27 r_data', 'bycar'
4cd0: 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e , 'roads_vw', 'n
4ce0: 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 ode_from', 'node
4cf0: 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 27 63 _to', 'geom', 'c
4d00: 6f 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c ost', 'toponym',
4d10: 20 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79 5f 66 1, 1, 'oneway_f
4d20: 72 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61 79 5f romto', 'oneway_
4d30: 74 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d 2d tofrom', 0);..--
4d40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4d50: 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 --..1..</verbati
4d60: 6d 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c 69 6e m>..After callin
4d70: 67 20 79 65 74 20 61 6e 6f 74 68 65 72 20 74 69 g yet another ti
4d80: 6d 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 me <b>CreateRout
4d90: 69 6e 67 28 29 3c 2f 62 3e 20 6e 6f 77 20 74 68 ing()</b> now th
4da0: 65 20 44 61 74 61 62 61 73 65 20 63 6f 6e 74 61 e Database conta
4db0: 69 6e 73 20 74 77 6f 20 66 75 72 74 68 65 72 20 ins two further
4dc0: 54 61 62 6c 65 73 3a 20 3c 62 3e 62 79 63 61 72 Tables: <b>bycar
4dd0: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 62 79 63 61 </b> and <b>byca
4de0: 72 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d r_data</b>.<br>.
4df0: 0a 54 68 69 73 20 74 69 6d 65 20 79 6f 75 27 76 .This time you'v
4e00: 65 20 75 73 65 64 20 74 68 65 20 3c 69 3e 63 6f e used the <i>co
4e10: 6d 70 6c 65 74 65 20 66 6f 72 6d 3c 2f 69 3e 20 mplete form</i>
4e20: 6f 66 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 of CreateRouting
4e30: 28 29 3b 20 6c 65 74 27 73 20 73 65 65 20 69 6e (); let's see in
4e40: 20 6d 6f 72 65 20 64 65 70 74 68 20 61 6c 6c 20 more depth all
4e50: 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e the arguments an
4e60: 64 20 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 3a d their meaning:
4e70: 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 ..<ol>..<li><i>b
4e80: 79 63 61 72 5f 64 61 74 61 3c 2f 69 3e 3a 20 73 ycar_data</i>: s
4e90: 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c ame as above.</l
4ea0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 63 61 72 i>..<li><i>bycar
4eb0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 </i>: same as ab
4ec0: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ove.</li>..<li><
4ed0: 69 3e 72 6f 61 64 73 5f 76 77 3c 2f 69 3e 3a 20 i>roads_vw</i>:
4ee0: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f same as above.</
4ef0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 li>..<li><i>node
4f00: 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 73 61 6d 65 20 _from</i>: same
4f10: 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a as above.</li>..
4f20: 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f <li><i>node_to</
4f30: 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 i>: same as abov
4f40: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e e.</li>..<li><i>
4f50: 67 65 6f 6d 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 geom</i>: same a
4f60: 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c s above.</li>..<
4f70: 6c 69 3e 3c 69 3e 63 6f 73 74 3c 2f 69 3e 3a 20 li><i>cost</i>:
4f80: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 0d 0a same as above...
4f90: 49 6e 20 74 68 69 73 20 63 61 73 65 20 77 65 20 In this case we
4fa0: 68 61 76 65 20 72 65 66 65 72 65 6e 63 65 64 20 have referenced
4fb0: 61 20 63 6f 6c 75 6d 6e 20 70 72 65 6c 6f 61 64 a column preload
4fc0: 65 64 20 77 69 74 68 20 76 61 6c 75 65 73 20 63 ed with values c
4fd0: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 orresponding to
4fe0: 74 68 65 20 3c 62 3e 74 69 6d 65 3c 2f 62 3e 20 the <b>time</b>
4ff0: 6d 65 61 73 75 72 65 64 20 69 6e 20 3c 62 3e 73 measured in <b>s
5000: 65 63 6f 6e 64 73 3c 2f 62 3e 20 72 65 71 75 69 econds</b> requi
5010: 72 65 64 20 74 6f 20 74 72 61 76 65 72 73 65 20 red to traverse
5020: 65 61 63 68 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 20 each Link.</li>
5030: 0d 0a 3c 6c 69 3e 3c 69 3e 74 6f 70 6f 6e 79 6d ..<li><i>toponym
5040: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 </i>: same as ab
5050: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ove.</li>..<li><
5060: 69 3e 31 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 i>1</i>: same as
5070: 20 61 62 6f 76 65 20 28 3c 69 3e 41 2a 20 65 6e above (<i>A* en
5080: 61 62 6c 65 64 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e abled</i>).</li>
5090: 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 ..<li><i>1</i>:
50a0: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 3c same as above (<
50b0: 69 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 20 i>bidirectional
50c0: 4c 69 6e 6b 73 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e Links</i>).</li>
50d0: 0d 0a 3c 6c 69 3e 3c 69 3e 6f 6e 65 77 61 79 5f ..<li><i>oneway_
50e0: 66 72 6f 6d 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 fromto</i>: name
50f0: 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 of the column (
5100: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 in the above Tab
5110: 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 le or View) expe
5120: 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 cted to contain
5130: 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 20 73 70 boolean flags sp
5140: 65 63 69 66 79 69 6e 67 20 69 66 20 65 61 63 68 ecifying if each
5150: 20 4c 69 6e 6b 20 63 61 6e 20 62 65 20 74 72 61 Link can be tra
5160: 76 65 72 73 65 64 20 69 6e 20 74 68 65 20 3c 62 versed in the <b
5170: 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e 20 64 69 72 >from-to</b> dir
5180: 65 63 74 69 6f 6e 20 6f 72 20 6e 6f 74 2e 3c 2f ection or not.</
5190: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6f 6e 65 77 li>..<li><i>onew
51a0: 61 79 5f 74 6f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e ay_tofrom</i>: n
51b0: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d ame of the colum
51c0: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 n (in the above
51d0: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 Table or View) e
51e0: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 xpected to conta
51f0: 69 6e 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 in boolean flags
5200: 20 73 70 65 63 69 66 79 69 6e 67 20 69 66 20 65 specifying if e
5210: 61 63 68 20 4c 69 6e 6b 20 63 61 6e 20 62 65 20 ach Link can be
5220: 74 72 61 76 65 72 73 65 64 20 69 6e 20 74 68 65 traversed in the
5230: 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c 2f 62 3e 20 <b>to-from</b>
5240: 64 69 72 65 63 74 69 6f 6e 20 6f 72 20 6e 6f 74 direction or not
5250: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 .<br>..<u>Note #
5260: 31 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e 66 1</u>: both <b>f
5270: 72 6f 6d 2d 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c rom-to</b> and <
5280: 62 3e 74 6f 2d 66 72 6f 6d 3c 2f 62 3e 20 63 6f b>to-from</b> co
5290: 6c 75 6d 6e 20 6e 61 6d 65 73 20 63 61 6e 20 62 lumn names can b
52a0: 65 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 73 e legitimately s
52b0: 65 74 20 61 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 et as <b>NULL</b
52c0: 3e 20 69 66 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 > if no <b>one-w
52d0: 61 79 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 69 ay</b> restricti
52e0: 6f 6e 73 20 61 70 70 6c 79 20 74 6f 20 74 68 65 ons apply to the
52f0: 20 63 75 72 72 65 6e 74 20 4e 65 74 77 6f 72 6b current Network
5300: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 .<br>..<u>Note #
5310: 32 3c 2f 75 3e 3a 20 4e 65 74 77 6f 72 6b 73 20 2</u>: Networks
5320: 6f 66 20 74 68 65 20 3c 62 3e 75 6e 69 64 69 72 of the <b>unidir
5330: 65 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 74 79 70 ectional</b> typ
5340: 65 20 61 72 65 20 6e 65 76 65 72 20 65 6e 61 62 e are never enab
5350: 6c 65 64 20 74 6f 20 72 65 66 65 72 65 6e 63 65 led to reference
5360: 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 <b>one-way</b>
5370: 63 6f 6c 75 6d 6e 73 20 28 74 68 65 79 20 73 68 columns (they sh
5380: 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 73 ould always be s
5390: 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 et to <b>NULL</b
53a0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 >).</li>..<li><i
53b0: 3e 30 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61 >0</i>: a boolea
53c0: 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64 69 6e 67 n flag intending
53d0: 20 61 6e 20 3c 62 3e 6f 76 65 72 77 72 69 74 65 an <b>overwrite
53e0: 20 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3c 2f authorization</
53f0: 62 3e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 49 b>...<ul>..<li>I
5400: 66 20 73 65 74 20 74 6f 20 3c 62 3e 46 41 4c 53 f set to <b>FALS
5410: 45 3c 2f 62 3e 20 61 6e 20 65 78 63 65 70 74 69 E</b> an excepti
5420: 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61 69 73 65 on will be raise
5430: 64 20 69 66 20 74 68 65 20 3c 62 3e 42 69 6e 61 d if the <b>Bina
5440: 72 79 20 44 61 74 61 20 54 61 62 6c 65 3c 2f 62 ry Data Table</b
5450: 3e 20 61 6e 64 2f 6f 72 20 74 68 65 20 3c 62 3e > and/or the <b>
5460: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 VirtualRouting T
5470: 61 62 6c 65 3c 2f 62 3e 20 64 6f 20 61 6c 72 65 able</b> do alre
5480: 61 64 79 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d ady exist.</li>.
5490: 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 6f 20 3c .<li>If set to <
54a0: 62 3e 54 52 55 45 3c 2f 62 3e 20 65 76 65 6e 74 b>TRUE</b> event
54b0: 75 61 6c 6c 79 20 65 78 69 73 74 69 6e 67 20 54 ually existing T
54c0: 61 62 6c 65 73 20 77 69 6c 6c 20 62 65 20 70 72 ables will be pr
54d0: 65 76 65 6e 74 69 76 65 6c 79 20 64 72 6f 70 70 eventively dropp
54e0: 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 62 ed immediately b
54f0: 65 66 6f 72 65 20 73 74 61 72 74 69 6e 67 20 74 efore starting t
5500: 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 he execution of
5510: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 <b>CreateRouting
5520: 28 29 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f ()</b>.</li>..</
5530: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d ul></li>..</ol>.
5540: 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 .<br>..<table bg
5550: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 30 22 20 color="#ffffc0"
5560: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 cellspacing="10"
5570: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
5580: 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 ><tr><td>..<h3>H
5590: 69 67 68 6c 69 67 68 74 3a 20 77 68 65 72 65 20 ighlight: where
55a0: 79 6f 75 20 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f you are</h3>..Yo
55b0: 75 27 76 65 20 6a 75 73 74 20 63 72 65 61 74 65 u've just create
55c0: 64 20 74 77 6f 20 56 69 72 74 75 61 6c 52 6f 75 d two VirtualRou
55d0: 74 69 6e 67 20 54 61 62 6c 65 73 20 62 61 73 65 ting Tables base
55e0: 64 20 6f 6e 20 64 69 66 66 65 72 65 6e 74 20 73 d on different s
55f0: 65 74 74 69 6e 67 73 3b 20 62 6f 74 68 20 74 68 ettings; both th
5600: 65 6d 20 61 72 65 20 70 65 72 66 65 63 74 6c 79 em are perfectly
5610: 20 76 61 6c 69 64 20 61 6e 64 20 72 65 61 73 6f valid and reaso
5620: 6e 61 62 6c 65 2c 20 62 75 74 20 74 68 65 79 20 nable, but they
5630: 61 72 65 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 are intended for
5640: 20 64 69 66 66 65 72 65 6e 74 20 70 75 72 70 6f different purpo
5650: 73 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e ses:..<ul>..<li>
5660: 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 69 73 <b>byfoot</b> is
5670: 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e specifically in
5680: 74 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 70 65 tended for <b>pe
5690: 64 65 73 74 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a destrians</b>:..
56a0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69 <ul>..<li>all Li
56b0: 6e 6b 73 20 61 72 65 20 61 6c 77 61 79 73 20 61 nks are always a
56c0: 73 73 75 6d 65 64 20 74 6f 20 62 65 20 61 63 63 ssumed to be acc
56d0: 65 73 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f essible in <b>bo
56e0: 74 68 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62 th directions</b
56f0: 3e 3b 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 >; there are no
5700: 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 20 <b>one-ways</b>
5710: 61 6e 64 20 6e 6f 20 3c 62 3e 66 6f 72 62 69 64 and no <b>forbid
5720: 64 65 6e 3c 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f den</b> Links.</
5730: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e li>..<li>the <b>
5740: 63 6f 73 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 cost</b> of each
5750: 20 4c 69 6e 6b 20 69 73 20 64 69 72 65 63 74 6c Link is directl
5760: 79 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 y represented by
5770: 20 69 74 73 20 67 65 6f 6d 65 74 72 69 63 20 3c its geometric <
5780: 62 3e 6c 65 6e 67 74 68 3c 2f 62 3e 2c 20 77 68 b>length</b>, wh
5790: 69 63 68 20 69 73 20 63 6f 6e 73 69 73 74 65 6e ich is consisten
57a0: 74 20 77 69 74 68 20 74 68 65 20 61 73 73 75 6d t with the assum
57b0: 70 74 69 6f 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f ption of an almo
57c0: 73 74 20 63 6f 6e 73 74 61 6e 74 20 73 70 65 65 st constant spee
57d0: 64 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 d substantially
57e0: 69 6d 6d 75 6e 65 20 66 72 6f 6d 20 61 64 76 65 immune from adve
57f0: 72 73 65 20 72 6f 61 64 20 63 6f 6e 64 69 74 69 rse road conditi
5800: 6f 6e 73 20 61 6e 64 20 74 72 61 66 66 69 63 20 ons and traffic
5810: 63 6f 6e 67 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e congestion.</li>
5820: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c ..</ul></li>..<l
5830: 69 3e 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 69 i><b>bycar</b> i
5840: 73 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 s specifically i
5850: 6e 74 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 6d ntended for <b>m
5860: 6f 74 6f 72 20 76 65 68 69 63 6c 65 73 3c 2f 62 otor vehicles</b
5870: 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61 >:..<ul>..<li>ma
5880: 6e 79 20 4c 69 6e 6b 73 20 61 72 65 20 65 78 70 ny Links are exp
5890: 65 63 74 65 64 20 74 6f 20 62 65 20 61 63 63 65 ected to be acce
58a0: 73 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 ssible in <b>bot
58b0: 68 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e h directions</b>
58c0: 20 62 75 74 20 6f 74 68 65 72 73 20 63 6f 75 6c but others coul
58d0: 64 20 65 61 73 69 6c 79 20 62 65 20 73 75 62 6a d easily be subj
58e0: 65 63 74 20 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61 ect to <b>one-wa
58f0: 79 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 69 6f y</b> restrictio
5900: 6e 73 20 6f 72 20 65 76 65 6e 20 62 65 20 63 6f ns or even be co
5910: 6d 70 6c 65 74 65 6c 79 20 3c 62 3e 66 6f 72 62 mpletely <b>forb
5920: 69 64 64 65 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d idden</b>.</li>.
5930: 0a 3c 6c 69 3e 74 68 65 20 63 6f 73 74 20 6f 66 .<li>the cost of
5940: 20 65 61 63 68 20 4c 69 6e 6b 20 69 73 20 65 78 each Link is ex
5950: 70 72 65 73 73 65 64 20 61 73 20 61 6e 20 65 73 pressed as an es
5960: 74 69 6d 61 74 65 64 20 3c 62 3e 74 72 61 76 65 timated <b>trave
5970: 6c 20 74 69 6d 65 3c 2f 62 3e 2c 20 62 65 63 61 l time</b>, beca
5980: 75 73 65 20 74 68 65 20 65 78 70 65 63 74 65 64 use the expected
5990: 20 73 70 65 65 64 73 20 63 61 6e 20 67 72 65 61 speeds can grea
59a0: 74 6c 79 20 76 61 72 79 20 61 63 63 6f 72 64 69 tly vary accordi
59b0: 6e 67 6c 79 20 74 6f 20 73 70 65 63 69 66 69 63 ngly to specific
59c0: 20 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 road conditions
59d0: 2c 20 74 72 61 66 66 69 63 20 63 6f 6e 67 65 73 , traffic conges
59e0: 74 69 6f 6e 20 61 6e 64 20 6c 65 67 61 6c 20 72 tion and legal r
59f0: 65 67 75 6c 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e egulations.</li>
5a00: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f ..</ul></li>..</
5a10: 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f ul>..<br>..<u>Co
5a20: 6e 63 6c 75 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20 nclusion</u>: a
5a30: 73 69 6e 67 6c 65 20 56 69 72 74 75 61 6c 52 6f single VirtualRo
5a40: 75 74 69 6e 67 20 54 61 62 6c 65 20 63 61 6e 27 uting Table can'
5a50: 74 20 62 65 20 61 62 6c 65 20 74 6f 20 61 64 65 t be able to ade
5a60: 71 75 61 74 65 6c 79 20 73 75 70 70 6f 72 74 20 quately support
5a70: 73 75 70 70 6f 72 74 20 74 68 65 20 73 70 65 63 support the spec
5a80: 69 66 69 63 20 72 65 71 75 69 72 65 6d 65 6e 74 ific requirement
5a90: 73 20 61 6e 64 20 65 78 70 65 63 74 61 74 69 6f s and expectatio
5aa0: 6e 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 ns of different
5ab0: 75 73 65 72 73 2e 3c 62 72 3e 0d 0a 44 65 66 69 users.<br>..Defi
5ac0: 6e 69 6e 67 20 6d 6f 72 65 20 52 6f 75 74 69 6e ning more Routin
5ad0: 67 20 54 61 62 6c 65 73 20 77 69 74 68 20 64 69 g Tables with di
5ae0: 66 66 65 72 65 6e 74 20 73 65 74 74 69 6e 67 73 fferent settings
5af0: 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 4e 65 for the same Ne
5b00: 74 77 6f 72 6b 20 75 73 75 61 6c 6c 79 20 69 73 twork usually is
5b10: 20 61 20 67 6f 6f 64 20 64 65 73 69 67 6e 20 63 a good design c
5b20: 68 6f 69 63 65 20 6c 65 61 64 69 6e 67 20 74 6f hoice leading to
5b30: 20 6d 6f 72 65 20 72 65 61 6c 69 73 74 69 63 20 more realistic
5b40: 72 65 73 75 6c 74 73 2e 3c 62 72 3e 0d 0a 3c 2f results.<br>..</
5b50: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c td></tr>..</tabl
5b60: 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 e>..<br><br>..<h
5b70: 33 3e 55 74 69 6c 69 74 79 20 66 75 6e 63 74 69 3>Utility functi
5b80: 6f 6e 20 66 6f 72 20 61 75 74 6f 6d 61 74 69 63 on for automatic
5b90: 61 6c 6c 79 20 73 65 74 74 69 6e 67 20 4e 6f 64 ally setting Nod
5ba0: 65 46 72 6f 6d 20 61 6e 64 20 4e 6f 64 65 54 6f eFrom and NodeTo
5bb0: 20 49 44 73 3c 2f 68 33 3e 0d 0a 53 6f 6d 65 74 IDs</h3>..Somet
5bc0: 69 6d 65 73 20 69 74 20 63 6f 75 6c 64 20 65 76 imes it could ev
5bd0: 65 6e 74 75 61 6c 6c 79 20 68 61 70 70 65 6e 20 entually happen
5be0: 74 6f 20 65 6e 63 6f 75 6e 74 65 72 20 73 6f 6d to encounter som
5bf0: 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 e <b>Spatial Net
5c00: 77 6f 72 6b 3c 2f 62 3e 20 72 65 70 72 65 73 65 work</b> represe
5c10: 6e 74 61 74 69 6f 6e 20 62 65 69 6e 67 20 66 75 ntation being fu
5c20: 6c 6c 79 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 6c lly topologicall
5c30: 79 20 63 6f 6e 73 69 73 74 65 6e 74 20 62 75 74 y consistent but
5c40: 20 63 6f 6d 70 6c 65 74 65 6c 79 20 6c 61 63 6b completely lack
5c50: 69 6e 67 20 61 6e 79 20 64 65 66 69 6e 69 74 69 ing any definiti
5c60: 6f 6e 20 61 62 6f 75 74 20 3c 62 3e 4e 6f 64 65 on about <b>Node
5c70: 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e From</b> and <b>
5c80: 4e 6f 64 65 54 6f 3c 2f 62 3e 20 69 64 65 6e 74 NodeTo</b> ident
5c90: 69 66 69 65 72 73 2e 3c 62 72 3e 0d 0a 49 6e 20 ifiers.<br>..In
5ca0: 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63 61 this specific ca
5cb0: 73 65 20 79 6f 75 20 63 61 6e 20 73 75 63 63 65 se you can succe
5cc0: 73 73 66 75 6c 6c 79 20 72 65 63 6f 76 65 72 20 ssfully recover
5cd0: 61 20 70 65 72 66 65 63 74 6c 79 20 76 61 6c 69 a perfectly vali
5ce0: 64 20 4e 65 74 77 6f 72 6b 20 62 79 20 63 61 6c d Network by cal
5cf0: 6c 69 6e 67 20 74 68 65 20 3c 62 3e 43 72 65 61 ling the <b>Crea
5d00: 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 teRoutingNodes()
5d10: 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f </b> SQL functio
5d20: 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a n...<verbatim>..
5d30: 53 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 SELECT CreateRou
5d40: 74 69 6e 67 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20 tingNodes(NULL,
5d50: 27 74 61 62 6c 65 5f 6e 61 6d 65 27 2c 20 27 67 'table_name', 'g
5d60: 65 6f 6d 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d eom', 'node_from
5d70: 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a ', 'node_to');..
5d80: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f ________________
5d90: 5f 5f 5f 5f 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c 2f _________..1..</
5da0: 76 65 72 62 61 74 69 6d 3e 0d 0a 4c 65 74 27 73 verbatim>..Let's
5db0: 20 65 78 61 6d 69 6e 65 20 61 6c 6c 20 61 72 67 examine all arg
5dc0: 75 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72 uments and their
5dd0: 20 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d meaning:..<ol>.
5de0: 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e .<li><i>NULL</i>
5df0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 3c 62 : name of the <b
5e00: 3e 41 74 74 61 63 68 65 64 2d 44 42 3c 2f 62 3e >Attached-DB</b>
5e10: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 containing the
5e20: 53 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c 62 Spatial Table.<b
5e30: 72 3e 0d 0a 49 74 20 63 61 6e 20 62 65 20 6c 65 r>..It can be le
5e40: 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20 74 gitimately set t
5e50: 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61 o <b>NULL</b>, a
5e60: 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 nd in this case
5e70: 74 68 65 20 3c 62 3e 4d 41 49 4e 3c 2f 62 3e 20 the <b>MAIN</b>
5e80: 44 42 20 69 73 20 61 73 73 75 6d 65 64 2e 3c 2f DB is assumed.</
5e90: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 61 62 6c li>..<li><i>tabl
5ea0: 65 5f 6e 61 6d 65 3c 2f 69 3e 3a 20 6e 61 6d 65 e_name</i>: name
5eb0: 20 6f 66 20 74 68 65 20 53 70 61 74 69 61 6c 20 of the Spatial
5ec0: 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 Table.</li>..<li
5ed0: 3e 3c 69 3e 67 65 6f 6d 3c 2f 6c 69 3e 3a 20 6e ><i>geom</li>: n
5ee0: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d ame of the colum
5ef0: 6e 20 28 28 69 6e 20 74 68 65 20 61 62 6f 76 65 n ((in the above
5f00: 20 54 61 62 6c 65 29 20 63 6f 6e 74 61 69 6e 69 Table) containi
5f10: 6e 67 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e 67 ng <b>Linestring
5f20: 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 s</b>.</li>..<li
5f30: 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 ><i>node_from</i
5f40: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 >: name of the c
5f50: 6f 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65 olumn to be adde
5f60: 64 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54 d to the above T
5f70: 61 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74 able and populat
5f80: 65 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69 ed with appropri
5f90: 61 74 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c ate <b>NodeFrom<
5fa0: 2f 62 3e 20 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c /b> IDs.</li>..<
5fb0: 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 li><i>node_to</i
5fc0: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 >: name of the c
5fd0: 6f 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65 olumn to be adde
5fe0: 64 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54 d to the above T
5ff0: 61 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74 able and populat
6000: 65 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69 ed with appropri
6010: 61 74 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 ate <b>NodeTo</b
6020: 3e 20 49 44 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e > IDs.<br>..<u>N
6030: 6f 74 65 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 ote</u>: both <b
6040: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e >NodeFrom</b> an
6050: 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 d <b>NodeTo</b>
6060: 63 6f 6c 75 6d 6e 73 20 73 68 6f 75 6c 64 20 6e columns should n
6070: 6f 74 20 62 65 20 61 6c 72 65 61 64 79 20 64 65 ot be already de
6080: 66 69 6e 65 64 20 69 6e 20 74 68 65 20 61 62 6f fined in the abo
6090: 76 65 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a ve Table.</li>..
60a0: 3c 2f 6f 6c 3e 0d 0a 3c 62 3e 43 72 65 61 74 65 </ol>..<b>Create
60b0: 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f RoutingNodes()</
60c0: 62 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 3c b> will return <
60d0: 62 3e 31 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c b>1</b> (<i>aka<
60e0: 2f 69 3e 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 /i> <b>TRUE</b>)
60f0: 20 6f 6e 20 73 75 63 63 65 73 73 3b 20 61 6e 20 on success; an
6100: 65 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 exception will b
6110: 65 20 72 61 69 73 65 64 20 6f 6e 20 66 61 69 6c e raised on fail
6120: 75 72 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 ure.<br>..<u>Not
6130: 65 3c 2f 75 3e 3a 20 79 6f 75 20 63 61 6e 20 63 e</u>: you can c
6140: 61 6c 6c 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 all <b>CreateRou
6150: 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f ting_GetLastErro
6160: 72 28 29 3c 2f 62 3e 20 73 6f 20 74 6f 20 70 72 r()</b> so to pr
6170: 65 63 69 73 65 6c 79 20 69 64 65 6e 74 69 66 79 ecisely identify
6180: 20 74 68 65 20 63 61 75 73 65 20 61 63 63 6f 75 the cause accou
6190: 6e 74 69 6e 67 20 66 6f 72 20 66 61 69 6c 75 72 nting for failur
61a0: 65 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a e.<br><br><br>..
61b0: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 <table bgcolor="
61c0: 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 #c0ffc0" cellspa
61d0: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 cing="10" cellpa
61e0: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 dding="6"><tr><t
61f0: 64 3e 0d 0a 3c 68 33 3e 48 61 6e 64 6c 69 6e 67 d>..<h3>Handling
6200: 20 64 79 6e 61 6d 69 63 20 4e 65 74 77 6f 72 6b dynamic Network
6210: 73 3c 2f 68 33 3e 0d 0a 53 6f 6d 65 74 69 6d 65 s</h3>..Sometime
6220: 73 20 69 74 20 68 61 70 70 65 6e 73 20 74 68 61 s it happens tha
6230: 74 20 61 20 4e 65 74 77 6f 72 6b 20 63 6f 75 6c t a Network coul
6240: 64 20 62 65 20 73 75 62 6a 65 63 74 20 74 6f 20 d be subject to
6250: 72 61 74 68 65 72 20 66 72 65 71 75 65 6e 74 20 rather frequent
6260: 63 68 61 6e 67 65 73 3a 20 73 6f 6d 65 20 6e 65 changes: some ne
6270: 77 20 4c 69 6e 6b 73 20 72 65 71 75 69 72 65 20 w Links require
6280: 74 6f 20 62 65 20 61 64 64 65 64 2c 20 6f 62 73 to be added, obs
6290: 6f 6c 65 74 65 20 4c 69 6e 6b 73 20 72 65 71 75 olete Links requ
62a0: 69 72 65 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 ire to be remove
62b0: 64 2c 20 6f 74 68 65 72 20 4c 69 6e 6b 73 20 6d d, other Links m
62c0: 61 79 20 61 73 73 75 6d 65 20 61 20 64 69 66 66 ay assume a diff
62d0: 65 72 65 6e 74 20 43 6f 73 74 2c 20 6f 6e 65 2d erent Cost, one-
62e0: 77 61 79 73 20 63 6f 75 6c 64 20 62 65 20 72 65 ways could be re
62f0: 76 65 72 73 65 64 2c 20 74 68 65 20 64 69 73 63 versed, the disc
6300: 69 70 6c 69 6e 65 20 6f 66 20 70 65 64 65 73 74 ipline of pedest
6310: 72 69 61 6e 20 61 72 65 61 73 20 63 6f 75 6c 64 rian areas could
6320: 20 62 65 20 6d 6f 64 69 66 69 65 64 20 61 6e 64 be modified and
6330: 20 73 6f 20 6f 6e 2e 3c 62 72 3e 0d 0a 41 20 56 so on.<br>..A V
6340: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 irtualRouting Ta
6350: 62 6c 65 20 69 73 20 61 6c 77 61 79 73 20 62 61 ble is always ba
6360: 73 65 64 20 6f 6e 20 61 20 63 6f 6d 70 61 6e 69 sed on a compani
6370: 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 on Binary Data T
6380: 61 62 6c 65 2c 20 74 68 61 74 20 69 73 20 69 6e able, that is in
6390: 74 72 69 6e 73 69 63 61 6c 6c 79 20 3c 62 3e 73 trinsically <b>s
63a0: 74 61 74 69 63 3c 2f 62 3e 2c 20 61 6e 64 20 63 tatic</b>, and c
63b0: 6f 6e 73 65 71 75 65 6e 74 6c 79 20 79 6f 75 20 onsequently you
63c0: 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 are required to
63d0: 72 65 2d 63 72 65 61 74 65 20 62 6f 74 68 20 74 re-create both t
63e0: 68 65 6d 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f hem from time to
63f0: 20 74 69 6d 65 20 69 6e 20 6f 72 64 65 72 20 74 time in order t
6400: 6f 20 73 75 70 70 6f 72 74 20 61 6c 6c 20 72 65 o support all re
6410: 63 65 6e 74 20 63 68 61 6e 67 65 73 20 61 66 66 cent changes aff
6420: 65 63 74 69 6e 67 20 74 68 65 20 75 6e 64 65 72 ecting the under
6430: 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c laying Network.<
6440: 62 72 3e 0d 0a 54 68 65 20 6f 70 74 69 6d 61 6c br>..The optimal
6450: 20 66 72 65 71 75 65 6e 63 79 20 66 6f 72 20 63 frequency for c
6460: 79 63 6c 69 63 61 6c 6c 79 20 72 65 66 72 65 73 yclically refres
6470: 68 69 6e 67 20 74 68 65 20 52 6f 75 74 69 6e 67 hing the Routing
6480: 20 54 61 62 6c 65 73 20 73 74 72 69 63 74 6c 79 Tables strictly
6490: 20 64 65 70 65 6e 64 73 20 6f 6e 20 73 70 65 63 depends on spec
64a0: 69 66 69 63 20 72 65 71 75 69 72 65 6d 65 6e 74 ific requirement
64b0: 73 2c 20 62 75 74 20 74 68 65 20 74 77 6f 20 6f s, but the two o
64c0: 76 65 72 61 6c 6c 20 61 70 70 72 6f 61 63 68 65 verall approache
64d0: 73 20 61 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61 s are commonly a
64e0: 64 6f 70 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c dopted:..<ol>..<
64f0: 6c 69 3e 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65 li><b>low freque
6500: 6e 63 79 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a ncy refresh</b>:
6510: 20 62 65 73 74 20 66 69 74 20 66 6f 72 20 73 6c best fit for sl
6520: 6f 77 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 owly evolving Ne
6530: 74 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 tworks.<br>..In
6540: 74 68 69 73 20 63 61 73 65 20 72 65 2d 63 72 65 this case re-cre
6550: 61 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 ating the Networ
6560: 6b 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 61 20 k Tables once a
6570: 6d 6f 6e 74 68 20 2f 20 77 65 65 6b 20 2f 20 64 month / week / d
6580: 61 79 20 63 6f 75 6c 64 20 62 65 20 72 65 61 73 ay could be reas
6590: 6f 6e 61 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a onably enough...
65a0: 52 65 63 72 65 61 74 69 6e 67 20 74 68 65 20 54 Recreating the T
65b0: 61 62 6c 65 73 20 66 72 6f 6d 20 73 63 72 61 74 ables from scrat
65c0: 63 68 20 75 73 75 61 6c 6c 79 20 72 65 71 75 69 ch usually requi
65d0: 72 65 73 20 73 65 76 65 72 61 6c 20 73 65 63 6f res several seco
65e0: 6e 64 73 20 28 6f 72 20 65 76 65 6e 20 6c 65 73 nds (or even les
65f0: 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 s, depending on
6600: 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69 the number of Li
6610: 6e 6b 73 29 2e 3c 62 72 3e 0d 0a 54 68 65 20 72 nks).<br>..The r
6620: 65 66 72 65 73 68 20 61 63 74 69 76 69 74 69 65 efresh activitie
6630: 73 20 63 6f 75 6c 64 20 62 65 20 6f 70 70 6f 72 s could be oppor
6640: 74 75 6e 65 6c 79 20 70 6c 61 6e 6e 65 64 20 61 tunely planned a
6650: 74 20 6c 6f 77 20 74 72 61 66 66 69 63 20 68 6f t low traffic ho
6660: 75 72 73 20 28 65 2e 67 2e 20 64 75 72 69 6e 67 urs (e.g. during
6670: 20 74 68 65 20 6e 69 67 68 74 29 2c 20 61 6e 64 the night), and
6680: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e <b>CreateRoutin
6690: 67 28 29 3c 2f 62 3e 20 63 6f 75 6c 64 20 62 65 g()</b> could be
66a0: 20 75 73 65 66 75 6c 6c 79 20 63 61 6c 6c 65 64 usefully called
66b0: 20 62 79 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 by enabling the
66c0: 20 3c 62 3e 6f 76 65 72 77 72 69 74 65 3c 2f 62 <b>overwrite</b
66d0: 3e 20 6f 70 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a > option.</li>..
66e0: 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75 6d 2d 68 69 <li><b>medium-hi
66f0: 67 68 20 66 72 65 71 75 65 6e 63 79 20 72 65 66 gh frequency ref
6700: 72 65 73 68 3c 2f 62 3e 3a 20 62 65 73 74 20 66 resh</b>: best f
6710: 69 74 20 66 6f 72 20 71 75 69 63 6b 6c 79 20 65 it for quickly e
6720: 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f 72 6b 73 volving Networks
6730: 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72 65 61 74 69 .<br>..Re-creati
6740: 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 54 ng the Network T
6750: 61 62 6c 65 73 20 6f 6e 63 65 20 70 65 72 20 68 ables once per h
6760: 6f 75 72 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72 our (or even mor
6770: 65 20 66 72 65 71 75 65 6e 74 6c 79 29 20 63 6f e frequently) co
6780: 75 6c 64 20 62 65 20 73 74 72 69 63 74 6c 79 20 uld be strictly
6790: 72 65 71 75 69 72 65 64 2c 20 61 6e 64 20 66 72 required, and fr
67a0: 65 71 75 65 6e 74 20 3c 62 3e 6f 75 74 20 6f 66 equent <b>out of
67b0: 20 73 65 72 76 69 63 65 3c 2f 62 3e 20 70 65 72 service</b> per
67c0: 69 6f 64 73 20 77 68 69 6c 65 20 77 61 69 74 69 iods while waiti
67d0: 6e 67 20 66 6f 72 20 74 68 65 20 72 65 66 72 65 ng for the refre
67e0: 73 68 20 70 72 6f 63 65 73 73 20 74 6f 20 63 6f sh process to co
67f0: 6d 70 6c 65 74 65 20 63 6f 75 6c 64 20 65 61 73 mplete could eas
6800: 69 6c 79 20 62 65 20 75 6e 61 63 63 65 70 74 61 ily be unaccepta
6810: 62 6c 65 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69 ble.<br>..In thi
6820: 73 20 63 61 73 65 20 79 6f 75 20 63 6f 75 6c 64 s case you could
6830: 20 75 73 65 66 75 6c 6c 79 20 61 64 6f 70 74 20 usefully adopt
6840: 61 20 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65 61 a <b>multi-threa
6850: 64 65 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e ded strategy</b>
6860: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e :..<ul>..<li><b>
6870: 74 68 72 65 61 64 20 23 31 3c 2f 62 3e 20 28 3c thread #1</b> (<
6880: 69 3e 74 68 65 20 72 65 61 64 65 72 3c 2f 69 3e i>the reader</i>
6890: 29 3a 20 74 68 69 73 20 66 69 72 73 74 20 74 68 ): this first th
68a0: 72 65 61 64 20 69 73 20 69 6e 74 65 6e 64 65 64 read is intended
68b0: 20 74 6f 20 73 65 72 76 69 63 65 20 61 6e 79 20 to service any
68c0: 69 6e 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e 67 incoming Routing
68d0: 20 72 65 71 75 65 73 74 2e 20 49 74 20 77 69 6c request. It wil
68e0: 6c 20 62 65 20 61 6c 77 61 79 73 20 61 63 74 69 l be always acti
68f0: 76 65 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61 72 ve, and will tar
6900: 67 65 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e get a well known
6910: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 VirtualRouting
6920: 54 61 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e 6d Table (e.g. <b>m
6930: 79 5f 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 61 y_routing</b> ba
6940: 73 65 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f 75 sed on <b>my_rou
6950: 74 69 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e 3c ting_data</b>).<
6960: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72 /li>..<li><b>thr
6970: 65 61 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e 74 ead #2</b> (<i>t
6980: 68 65 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a 20 he writer</i>):
6990: 74 68 69 73 20 73 65 63 6f 6e 64 20 74 68 72 65 this second thre
69a0: 61 64 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e ad is just inten
69b0: 64 65 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 ded to re-create
69c0: 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 both Network Ta
69d0: 62 6c 65 73 20 61 74 20 70 72 65 64 65 66 69 6e bles at predefin
69e0: 65 64 20 69 6e 74 65 72 76 61 6c 73 2c 20 61 6e ed intervals, an
69f0: 64 20 69 74 20 77 69 6c 6c 20 73 6c 65 65 70 20 d it will sleep
6a00: 62 65 74 77 65 65 6e 20 61 6e 20 69 6e 74 65 72 between an inter
6a10: 76 61 6c 20 61 6e 64 20 74 68 65 20 6f 74 68 65 val and the othe
6a20: 72 2e 3c 62 72 3e 0d 0a 57 68 65 6e 20 74 68 69 r.<br>..When thi
6a30: 73 20 74 68 72 65 61 64 20 61 77 61 6b 65 6e 73 s thread awakens
6a40: 20 77 69 6c 6c 20 72 65 2d 63 72 65 61 74 65 20 will re-create
6a50: 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 62 both Network Tab
6a60: 6c 65 73 20 62 79 20 75 73 69 6e 67 20 64 69 66 les by using dif
6a70: 66 65 72 65 6e 74 20 6e 61 6d 65 73 2c 20 61 6e ferent names, an
6a80: 64 20 77 69 6c 6c 20 6f 76 65 72 77 72 69 74 65 d will overwrite
6a90: 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 6e the standard on
6aa0: 65 73 20 6a 75 73 74 20 61 74 20 74 68 65 20 76 es just at the v
6ab0: 65 72 79 20 65 6e 64 20 6f 66 20 74 68 65 20 70 ery end of the p
6ac0: 72 6f 63 65 73 73 20 28 61 63 74 69 76 61 74 69 rocess (activati
6ad0: 6e 67 20 61 20 73 65 6d 61 70 68 6f 72 65 20 64 ng a semaphore d
6ae0: 75 72 69 6e 67 20 74 68 69 73 20 73 68 6f 72 74 uring this short
6af0: 2d 74 69 6d 65 64 20 6c 61 73 74 20 73 74 65 70 -timed last step
6b00: 20 69 73 20 68 69 67 68 6c 79 20 72 65 63 6f 6d is highly recom
6b10: 6d 65 6e 64 65 64 29 2e 3c 62 72 3e 0d 0a 53 6f mended).<br>..So
6b20: 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 mething like thi
6b30: 73 20 70 73 65 75 64 6f 2d 63 6f 64 65 20 65 78 s pseudo-code ex
6b40: 65 6d 70 6c 69 66 69 65 73 3a 0d 0a 3c 76 65 72 emplifies:..<ver
6b50: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 batim>..SELECT C
6b60: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27 6e 65 reateRouting('ne
6b70: 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 w_my_routing_dat
6b80: 61 27 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 a', 'new_my_rout
6b90: 69 6e 67 27 2c 20 2e 2e 2e 29 3b 0d 0a 0d 0a 2d ing', ...);....-
6ba0: 2d 3e 20 73 74 61 72 74 20 74 68 65 20 73 65 6d -> start the sem
6bb0: 61 70 68 6f 72 65 20 73 6f 20 74 6f 20 6c 6f 63 aphore so to loc
6bc0: 6b 20 74 68 65 20 6f 74 68 65 72 20 74 68 72 65 k the other thre
6bd0: 61 64 0d 0a 0d 0a 42 45 47 49 4e 3b 0d 0a 44 52 ad....BEGIN;..DR
6be0: 4f 50 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 OP TABLE my_rout
6bf0: 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 ing;..DROP TABLE
6c00: 20 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 my_routing_data
6c10: 3b 0d 0a 53 45 4c 45 43 54 20 43 6c 6f 6e 65 54 ;..SELECT CloneT
6c20: 61 62 6c 65 28 27 4d 41 49 4e 27 2c 20 27 6e 65 able('MAIN', 'ne
6c30: 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 w_my_routing_dat
6c40: 61 27 2c 20 27 6d 79 5f 72 6f 75 74 69 6e 67 5f a', 'my_routing_
6c50: 64 61 74 61 27 2c 20 30 29 3b 0d 0a 43 52 45 41 data', 0);..CREA
6c60: 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 TE VIRTUAL TABLE
6c70: 20 6d 79 5f 72 6f 75 74 69 6e 67 20 55 53 49 4e my_routing USIN
6c80: 47 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 G VirtualRouting
6c90: 28 27 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 ('my_routing_dat
6ca0: 61 27 29 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 a');..DROP TABLE
6cb0: 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 3b new_my_routing;
6cc0: 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6e 65 77 ..DROP TABLE new
6cd0: 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 _my_routing_data
6ce0: 3b 0d 0a 43 4f 4d 4d 49 54 3b 0d 0a 0d 0a 2d 2d ;..COMMIT;....--
6cf0: 3e 20 72 65 6d 6f 76 65 20 74 68 65 20 73 65 6d > remove the sem
6d00: 61 70 68 6f 72 65 0d 0a 3c 2f 76 65 72 62 61 74 aphore..</verbat
6d10: 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e im>..<u>Note</u>
6d20: 3a 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 65 : strictly respe
6d30: 63 74 69 6e 67 20 74 68 65 20 61 62 6f 76 65 20 cting the above
6d40: 73 65 71 75 65 6e 63 65 20 6f 66 20 53 51 4c 20 sequence of SQL
6d50: 6f 70 65 72 61 74 69 6f 6e 73 20 69 73 20 61 62 operations is ab
6d60: 73 6f 6c 75 74 65 6c 79 20 72 65 71 75 69 72 65 solutely require
6d70: 64 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 3c d.</li> ..</ul><
6d80: 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 /li>..</ol>..</t
6d90: 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 d></tr>..</table
6da0: 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 >..<br>..<table
6db0: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 bgcolor="#ffb060
6dc0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 " cellspacing="1
6dd0: 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 0" cellpadding="
6de0: 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 6"><tr><td>..<h3
6df0: 3e 57 61 72 6e 69 6e 67 3a 20 68 6f 77 20 74 6f >Warning: how to
6e00: 20 63 6f 72 72 65 63 74 6c 79 20 64 72 6f 70 20 correctly drop
6e10: 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 3c 2f Network Tables</
6e20: 68 33 3e 0d 0a 57 68 65 6e 20 64 72 6f 70 70 69 h3>..When droppi
6e30: 6e 67 20 61 20 56 69 72 74 75 61 6c 52 6f 75 74 ng a VirtualRout
6e40: 69 6e 67 20 54 61 62 6c 65 20 61 6e 64 20 69 74 ing Table and it
6e50: 73 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 s companion Bina
6e60: 72 79 20 44 61 74 61 20 54 61 62 6c 65 20 66 6f ry Data Table fo
6e70: 6c 6c 6f 77 69 6e 67 20 74 68 65 20 63 6f 72 72 llowing the corr
6e80: 65 63 74 20 73 65 71 75 65 6e 63 65 20 6f 66 20 ect sequence of
6e90: 53 51 4c 20 63 6f 6d 6d 61 6e 64 73 20 69 73 20 SQL commands is
6ea0: 70 61 72 61 6d 6f 75 6e 74 2e 3c 62 72 3e 0d 0a paramount.<br>..
6eb0: 46 61 69 6c 69 6e 67 20 74 6f 20 73 74 72 69 63 Failing to stric
6ec0: 74 6c 79 20 72 65 73 70 65 63 74 20 74 68 65 20 tly respect the
6ed0: 65 78 70 65 63 74 65 64 20 73 65 71 75 65 6e 63 expected sequenc
6ee0: 65 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 63 61 e will surely ca
6ef0: 75 73 65 20 79 6f 75 20 73 65 76 65 72 61 6c 20 use you several
6f00: 74 72 6f 75 62 6c 65 73 20 61 6e 64 20 73 65 76 troubles and sev
6f10: 65 72 65 20 68 65 61 64 61 63 68 65 73 2c 20 61 ere headaches, a
6f20: 6e 64 20 77 69 6c 6c 20 70 6f 73 73 69 62 6c 79 nd will possibly
6f30: 20 6c 65 61 64 20 74 6f 20 61 6e 20 69 72 72 65 lead to an irre
6f40: 6d 65 64 69 61 62 6c 79 20 63 6f 72 72 75 70 74 mediably corrupt
6f50: 65 64 20 64 61 74 61 62 61 73 65 2e 0d 0a 3c 6f ed database...<o
6f60: 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 61 72 65 20 l>..<li>you are
6f70: 61 6c 77 61 79 73 20 65 78 70 65 63 74 65 64 20 always expected
6f80: 74 6f 20 44 52 4f 50 20 66 69 72 73 74 20 74 68 to DROP first th
6f90: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 e VirtualRouting
6fa0: 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c Table.</li>..<l
6fb0: 69 3e 79 6f 75 20 63 61 6e 20 73 61 66 65 6c 79 i>you can safely
6fc0: 20 44 52 4f 50 20 74 68 65 20 63 6f 6d 70 61 6e DROP the compan
6fd0: 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 ion Binary Data
6fe0: 54 61 62 6c 65 20 6f 6e 6c 79 20 6f 6e 63 65 20 Table only once
6ff0: 69 74 27 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 72 it's no longer r
7000: 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 eferenced by the
7010: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 VirtualRouting
7020: 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 Table.</li>..<li
7030: 3e 62 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 >by following th
7040: 65 20 72 65 76 65 72 73 65 20 73 65 71 75 65 6e e reverse sequen
7050: 63 65 20 79 6f 75 27 6c 6c 20 64 69 72 65 63 74 ce you'll direct
7060: 6c 79 20 63 72 65 61 74 65 20 61 6e 20 3c 62 3e ly create an <b>
7070: 6f 72 70 68 61 6e 3c 2f 62 3e 20 56 69 72 74 75 orphan</b> Virtu
7080: 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 alRouting Table
7090: 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 61 that cannot be a
70a0: 63 63 65 73 73 65 64 20 61 6e 79 20 6c 6f 6e 67 ccessed any long
70b0: 65 72 2c 20 61 6e 64 20 74 68 61 74 20 77 69 6c er, and that wil
70c0: 6c 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 72 l consequently r
70d0: 65 66 75 73 65 20 74 6f 20 62 65 20 64 72 6f 70 efuse to be drop
70e0: 70 65 64 2e 3c 62 72 3e 0d 0a 42 65 20 77 61 72 ped.<br>..Be war
70f0: 6e 65 64 20 21 21 3c 2f 6c 69 3e 0d 0a 3c 2f 6f ned !!</li>..</o
7100: 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a l>..</td></tr>..
7110: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 </table>..<br><b
7120: 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 r>..<hr><br>..<h
7130: 31 3e 3c 61 20 6e 61 6d 65 3d 22 66 72 6f 6d 5f 1><a name="from_
7140: 74 6f 22 3e 34 20 2d 20 53 6f 6c 76 69 6e 67 20 to">4 - Solving
7150: 63 6c 61 73 73 69 63 20 53 68 6f 72 74 65 73 74 classic Shortest
7160: 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 73 3c 2f Path problems</
7170: 61 3e 3c 2f 68 31 3e 0d 0a 54 68 65 20 6d 6f 73 a></h1>..The mos
7180: 74 20 63 6c 61 73 73 69 63 20 53 68 6f 72 74 65 t classic Shorte
7190: 73 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 20 st Path problem
71a0: 72 65 71 75 69 72 65 73 20 74 6f 20 69 64 65 6e requires to iden
71b0: 74 69 66 79 20 74 68 65 20 6f 70 74 69 6d 61 6c tify the optimal
71c0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 62 65 74 77 connection betw
71d0: 65 65 6e 20 61 6e 20 3c 62 3e 4f 72 69 67 69 6e een an <b>Origin
71e0: 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 20 61 20 Node</b> and a
71f0: 3c 62 3e 44 65 73 74 69 6e 61 74 69 6f 6e 20 4e <b>Destination N
7200: 6f 64 65 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 57 65 ode</b>.<br>..We
7210: 20 63 61 6e 20 65 61 73 69 6c 79 20 74 72 61 6e can easily tran
7220: 73 6c 61 74 65 20 73 75 63 68 20 61 20 70 72 6f slate such a pro
7230: 62 6c 65 6d 20 69 6e 74 6f 20 61 20 73 69 6d 70 blem into a simp
7240: 6c 65 20 53 51 4c 20 71 75 65 72 79 20 74 61 72 le SQL query tar
7250: 67 65 74 69 6e 67 20 73 6f 6d 65 20 56 69 72 74 geting some Virt
7260: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 ualRouting Table
7270: 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 ...<verbatim>..S
7280: 45 4c 45 43 54 20 2a 20 0d 0a 46 52 4f 4d 20 62 ELECT * ..FROM b
7290: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 yfoot..WHERE Nod
72a0: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 eFrom = 178731 A
72b0: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 ND NodeTo = 1832
72c0: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 86;..</verbatim>
72d0: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d ..<table border=
72e0: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 "1" bgcolor="#ff
72f0: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e ffcf" cellspacin
7300: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e g="4" cellpaddin
7310: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 g="6">..<tr><th
7320: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
7330: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e ">Algorithm</th>
7340: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
7350: 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 d0a0">Request</t
7360: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
7370: 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c d0d0a0">Options<
7380: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
7390: 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 "#d0d0a0">Delimi
73a0: 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ter</th><th bgco
73b0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
73c0: 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 uteId</th><th bg
73d0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
73e0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 RouteRow</th><th
73f0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
7400: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
7410: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
7420: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e ">LinkRowid</th>
7430: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
7440: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f d0a0">NodeFrom</
7450: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
7460: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c #d0d0a0">NodeTo<
7470: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
7480: 22 23 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 46 "#d0d0a0">PointF
7490: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f rom</th><th bgco
74a0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50 6f lor="#d0d0a0">Po
74b0: 69 6e 74 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 intTo</th><th bg
74c0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
74d0: 54 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c 74 Tolerance</th><t
74e0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
74f0: 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 a0">Cost</th><th
7500: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
7510: 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 0">Geometry</th>
7520: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
7530: 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c d0a0">Name</th><
7540: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
7550: 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 Dijkstra</td><td
7560: 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f >Shortest Path</
7570: 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e td><td>Full</td>
7580: 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 <td>, [dec=4
7590: 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 4, hex=2c]</
75a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
75b0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 ght">0</td><td a
75c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
75d0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
75e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
75f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
7600: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
7610: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
7620: 32 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 286</td><td>NULL
7630: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
7640: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
7650: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
7660: 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e >300.912208</td>
7670: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 <td>BLOB sz=272
7680: 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 GEOMETRY</td><td
7690: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
76a0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
76b0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
76c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
76d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
76e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
76f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
7700: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 right">1</td><td
7710: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
7720: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 ign="right">2240
7730: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
7740: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
7750: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
7760: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 ight">182885</td
7770: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7780: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
7790: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
77a0: 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 n="right">94.812
77b0: 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 424</td><td>NULL
77c0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 </td><td>VIA PIE
77d0: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e TRO ARETINO</td>
77e0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
77f0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
7800: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
7810: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
7820: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7830: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 ght">0</td><td a
7840: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f lign="right">2</
7850: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
7860: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
7870: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 ">224446</td><td
7880: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
7890: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 82885</td><td al
78a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
78b0: 38 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 80</td><td>NULL<
78c0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
78d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
78e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
78f0: 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 69.727726</td><t
7900: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
7910: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f IA MARGARITONE</
7920: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
7930: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
7940: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
7950: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
7960: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
7970: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
7980: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
7990: 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 3</td><td>Link</
79a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
79b0: 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e ght">224414</td>
79c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
79d0: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 ">178880</td><td
79e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
79f0: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 83286</td><td>NU
7a00: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
7a10: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
7a20: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
7a30: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 t">136.372057</t
7a40: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
7a50: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f td>VIA MARGARITO
7a60: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NE</td>..</tr>..
7a70: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a </table>..<br>..
7a80: 4c 65 74 27 73 20 71 75 69 63 6b 6c 79 20 65 78 Let's quickly ex
7a90: 61 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c 74 amine the result
7aa0: 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 set returned by
7ab0: 74 68 65 20 61 62 6f 76 65 20 52 6f 75 74 69 6e the above Routin
7ac0: 67 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d 0a g query:..<ul>..
7ad0: 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 <li>the <b>first
7ae0: 20 72 6f 77 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 row</b> (<i>aka
7af0: 3c 2f 69 3e 20 68 65 61 64 65 72 20 72 6f 77 29 </i> header row)
7b00: 20 68 61 73 20 61 20 73 70 65 63 69 61 6c 20 69 has a special i
7b10: 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 2c 20 61 nterpretation, a
7b20: 6e 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 nd is intended t
7b30: 6f 20 73 75 6d 6d 61 72 69 7a 65 20 74 68 65 20 o summarize the
7b40: 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 travel solution
7b50: 61 73 20 61 20 77 68 6f 6c 65 2e 3c 2f 6c 69 3e as a whole.</li>
7b60: 0d 0a 3c 6c 69 3e 61 6c 6c 20 74 68 65 20 3c 62 ..<li>all the <b
7b70: 3e 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 3c >following rows<
7b80: 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 20 61 20 /b> represent a
7b90: 73 69 6e 67 6c 65 20 4c 69 6e 6b 20 72 65 71 75 single Link requ
7ba0: 69 72 65 64 20 74 6f 20 62 75 69 6c 64 20 74 68 ired to build th
7bb0: 65 20 73 6f 6c 75 74 69 6f 6e 20 28 6f 70 74 69 e solution (opti
7bc0: 6d 61 20 70 61 74 68 29 3b 20 4c 69 6e 6b 73 20 ma path); Links
7bd0: 61 72 65 20 6f 72 64 65 72 65 64 20 61 63 63 6f are ordered acco
7be0: 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 74 rdingly to the t
7bf0: 72 61 76 65 6c 20 64 69 72 65 63 74 69 6f 6e 20 ravel direction
7c00: 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20 4f connecting the O
7c10: 72 69 67 69 6e 20 61 6e 64 20 74 68 65 20 44 65 rigin and the De
7c20: 73 74 69 6e 61 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d stination.</li>.
7c30: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c 62 3e .<li>columns <b>
7c40: 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c Algorithm</b>, <
7c50: 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c b>Request</b>, <
7c60: 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 2c 20 3c b>Options</b>, <
7c70: 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 2c b>Delimiter</b>,
7c80: 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 <b>PointFrom</b
7c90: 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 >, <b>PointTo</b
7ca0: 3e 2c 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c >, <b>Tolerance<
7cb0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 47 65 6f 6d 65 /b> and <b>Geome
7cc0: 74 72 79 3c 2f 62 3e 20 61 72 65 20 61 6c 77 61 try</b> are alwa
7cd0: 79 73 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c ys set to <b>NUL
7ce0: 4c 3c 2f 62 3e 20 65 78 63 65 70 74 20 74 68 61 L</b> except tha
7cf0: 74 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 72 t in the first r
7d00: 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 ow of the result
7d10: 73 65 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e set:..<ul>..<li>
7d20: 63 6f 6c 75 6d 6e 20 3c 62 3e 41 6c 67 6f 72 69 column <b>Algori
7d30: 74 68 6d 3c 2f 62 3e 20 61 63 63 6f 75 6e 74 73 thm</b> accounts
7d40: 20 66 6f 72 20 74 68 65 20 52 6f 75 74 69 6e 67 for the Routing
7d50: 20 41 6c 67 6f 72 69 74 68 6d 20 75 73 65 64 20 Algorithm used
7d60: 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 71 by the current q
7d70: 75 65 72 79 20 28 3c 69 3e 44 69 6a 6b 73 74 72 uery (<i>Dijkstr
7d80: 61 27 73 3c 2f 69 3e 20 6f 72 20 3c 69 3e 41 2a a's</i> or <i>A*
7d90: 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 </i>).</li>..<li
7da0: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 65 71 75 65 >column <b>Reque
7db0: 73 74 3c 2f 62 3e 20 73 70 65 63 69 66 69 65 73 st</b> specifies
7dc0: 20 74 68 65 20 65 78 61 63 74 20 6e 61 74 75 72 the exact natur
7dd0: 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 e of the current
7de0: 20 71 75 65 72 79 20 28 69 6e 20 74 68 69 73 20 query (in this
7df0: 73 70 65 63 69 66 69 63 20 63 61 73 65 20 3c 69 specific case <i
7e00: 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f >Shortest Path</
7e10: 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 77 i>).</li>..<li>w
7e20: 65 27 6c 6c 20 69 67 6e 6f 72 65 20 66 6f 72 20 e'll ignore for
7e30: 6e 6f 77 20 63 6f 6c 75 6d 6e 73 20 3c 62 3e 4f now columns <b>O
7e40: 70 74 69 6f 6e 73 3c 2f 62 3e 2c 20 3c 62 3e 44 ptions</b>, <b>D
7e50: 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 2c 20 3c 62 elimiter</b>, <b
7e60: 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 >PointFrom</b>,
7e70: 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 <b>PointTo</b> a
7e80: 6e 64 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c nd <b>Tolerance<
7e90: 2f 62 3e 3a 20 74 68 65 69 72 20 72 65 73 70 65 /b>: their respe
7ea0: 63 74 69 76 65 20 6d 65 61 6e 69 6e 67 73 20 77 ctive meanings w
7eb0: 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e 65 64 ill be explained
7ec0: 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 in following pa
7ed0: 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a ragraphs.</li>..
7ee0: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 <li>column <b>Ge
7ef0: 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f 6e 74 61 ometry</b> conta
7f00: 69 6e 73 20 61 20 3c 62 3e 4c 49 4e 45 53 54 52 ins a <b>LINESTR
7f10: 49 4e 47 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e ING</b> represen
7f20: 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 tation of the wh
7f30: 6f 6c 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 ole travel solut
7f40: 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 ion.<br>..<u>Not
7f50: 65 3c 2f 75 3e 3a 20 6f 6e 20 3c 62 3e 4c 6f 67 e</u>: on <b>Log
7f60: 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 ical Networks</b
7f70: 3e 20 28 6e 6f 74 20 73 75 70 70 6f 72 74 69 6e > (not supportin
7f80: 67 20 47 65 6f 6d 65 74 72 69 65 73 29 20 3c 62 g Geometries) <b
7f90: 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 77 69 >Geometry</b> wi
7fa0: 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 3c 62 3e ll always be <b>
7fb0: 4e 55 4c 4c 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a NULL</b>.</li>..
7fc0: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </ul></li>..<li>
7fd0: 77 65 27 6c 6c 20 69 67 6e 6f 72 65 20 66 6f 72 we'll ignore for
7fe0: 20 6e 6f 77 20 63 6f 6c 75 6d 6e 20 3c 62 3e 52 now column <b>R
7ff0: 6f 75 74 65 49 64 3c 2f 62 3e 3b 20 69 74 73 20 outeId</b>; its
8000: 6d 65 61 6e 69 6e 67 20 77 69 6c 6c 20 62 65 20 meaning will be
8010: 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 66 6f 6c explained in fol
8020: 6c 6f 77 69 6e 67 20 70 61 72 61 67 72 61 70 68 lowing paragraph
8030: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c s.</li>..<li>col
8040: 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c umn <b>RouteRow<
8050: 2f 62 3e 20 73 69 6d 70 6c 79 20 69 73 20 74 68 /b> simply is th
8060: 65 20 70 72 6f 67 72 65 73 73 69 76 65 20 6e 75 e progressive nu
8070: 6d 62 65 72 20 6f 66 20 74 68 65 20 72 6f 77 20 mber of the row
8080: 69 6e 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f in the travel so
8090: 6c 75 74 69 6f 6e 20 28 61 6c 77 61 79 73 20 3c lution (always <
80a0: 62 3e 30 3c 2f 62 3e 20 69 6e 20 74 68 65 20 68 b>0</b> in the h
80b0: 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f 6c 69 3e eader row).</li>
80c0: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e ..<li>column <b>
80d0: 52 6f 6c 65 3c 2f 62 3e 20 63 61 6e 20 62 65 20 Role</b> can be
80e0: 3c 69 3e 52 6f 75 74 65 3c 2f 69 3e 20 28 68 65 <i>Route</i> (he
80f0: 61 64 65 72 20 72 6f 77 29 20 6f 72 20 3c 69 3e ader row) or <i>
8100: 4c 69 6e 6b 3c 2f 69 3e 20 28 61 6c 6c 20 66 6f Link</i> (all fo
8110: 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 29 2e 3c 2f llowing rows).</
8120: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 li>..<li>column
8130: 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e <b>LinkRowid</b>
8140: 20 72 65 66 65 72 65 6e 63 65 73 20 74 68 65 20 references the
8150: 3c 62 3e 52 4f 57 49 44 3c 2f 62 3e 20 6f 66 20 <b>ROWID</b> of
8160: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e the correspondin
8170: 67 20 4c 69 6e 6b 20 28 61 6c 77 61 79 73 20 73 g Link (always s
8180: 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 et to <b>NULL</b
8190: 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 > in the header
81a0: 72 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e row).</li>..<li>
81b0: 63 6f 6c 75 6d 6e 20 3c 62 3e 4e 6f 64 65 46 72 column <b>NodeFr
81c0: 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f om</b> and <b>No
81d0: 64 65 54 6f 3c 2f 62 3e 20 68 61 76 65 20 74 68 deTo</b> have th
81e0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6e 74 65 e following inte
81f0: 72 70 72 65 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c rpretation:..<ul
8200: 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 68 65 >..<li>in the he
8210: 61 64 65 72 20 72 6f 77 20 74 68 65 79 20 63 6f ader row they co
8220: 72 72 65 73 70 6f 6e 64 20 74 6f 20 68 65 20 3c rrespond to he <
8230: 62 3e 4f 72 69 67 69 6e 3c 2f 62 3e 20 61 6e 64 b>Origin</b> and
8240: 20 3c 62 3e 44 65 73 74 69 6e 61 74 69 6f 6e 3c <b>Destination<
8250: 2f 62 3e 20 4e 6f 64 65 73 2e 3c 2f 6c 69 3e 0d /b> Nodes.</li>.
8260: 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 74 68 65 20 .<li>in all the
8270: 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20 74 following rows t
8280: 68 65 79 20 61 72 65 20 69 6e 74 65 6e 64 65 64 hey are intended
8290: 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 to specify the
82a0: 64 69 72 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 direction of the
82b0: 20 63 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f current Link.</
82c0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
82d0: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 43 .<li>column <b>C
82e0: 6f 73 74 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 ost</b> has the
82f0: 66 6f 6c 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70 following interp
8300: 72 65 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d retation:..<ul>.
8310: 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 68 65 61 64 .<li>in the head
8320: 65 72 20 74 6f 77 20 69 74 20 63 6f 72 72 65 73 er tow it corres
8330: 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c 62 3e ponds to the <b>
8340: 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 20 6f total cost</b> o
8350: 66 20 74 68 65 20 74 72 61 76 65 6c 2e 3c 2f 6c f the travel.</l
8360: 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 74 i>..<li>in all t
8370: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 he following row
8380: 73 20 69 74 20 72 65 70 72 65 73 65 6e 74 73 20 s it represents
8390: 74 68 65 20 73 70 65 63 69 66 69 63 20 63 6f 73 the specific cos
83a0: 74 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 t of the current
83b0: 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 Link.</li>..</u
83c0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c l></li>..<li>col
83d0: 75 6d 6e 20 3c 62 3e 4e 61 6d 65 3c 2f 62 3e 20 umn <b>Name</b>
83e0: 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 64 65 73 contains the des
83f0: 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 cription of the
8400: 63 75 72 72 65 6e 74 20 4c 69 6e 6b 20 28 75 73 current Link (us
8410: 75 61 6c 6c 79 20 61 20 72 6f 61 64 20 6e 61 6d ually a road nam
8420: 65 29 2c 20 61 6e 64 20 69 73 20 61 6c 77 61 79 e), and is alway
8430: 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e s <b>NULL</b> in
8440: 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 2e the header row.
8450: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 <br>..<u>Note</u
8460: 3e 20 69 74 20 63 6f 75 6c 64 20 62 65 20 61 6c > it could be al
8470: 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c ways be <b>NULL<
8480: 2f 62 3e 20 69 66 20 74 68 65 20 56 69 72 74 75 /b> if the Virtu
8490: 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 alRouting Table
84a0: 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 does not support
84b0: 73 20 6e 61 6d 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c s names.</li>..<
84c0: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e /ul></li>..</ul>
84d0: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 54 65 73 74 ..<br><br>..Test
84e0: 69 6e 67 20 74 68 65 20 72 65 74 75 72 6e 20 63 ing the return c
84f0: 6f 6e 6e 65 63 74 69 6f 6e 20 6a 75 73 74 20 72 onnection just r
8500: 65 71 75 69 72 65 73 20 73 77 61 70 70 69 6e 67 equires swapping
8510: 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 20 the Origin and
8520: 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 3b the Destination;
8530: 20 69 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 in this example
8540: 20 79 6f 75 27 6c 6c 20 6a 75 73 74 20 72 65 71 you'll just req
8550: 75 65 73 74 20 74 68 65 20 6d 65 61 6e 69 6e 67 uest the meaning
8560: 66 75 6c 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 76 ful columns:..<v
8570: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 erbatim>..SELECT
8580: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c RouteRow, Role,
8590: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 LinkRowid, Node
85a0: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f From, NodeTo, Co
85b0: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 st, Geometry, Na
85c0: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d me..FROM byfoot.
85d0: 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20 .WHERE NodeTo =
85e0: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46 178731 AND NodeF
85f0: 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c rom = 183286;..<
8600: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 /verbatim>..<tab
8610: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 le border="1" bg
8620: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 color="#ffffcf"
8630: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 cellspacing="4"
8640: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
8650: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f ..<tr><th bgcolo
8660: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 r="#d0d0a0">Rout
8670: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 eRow</th><th bgc
8680: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
8690: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ole</th><th bgco
86a0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 lor="#d0d0a0">Li
86b0: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 nkRowid</th><th
86c0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
86d0: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c ">NodeFrom</th><
86e0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
86f0: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 0a0">NodeTo</th>
8700: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
8710: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c d0a0">Cost</th><
8720: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
8730: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 0a0">Geometry</t
8740: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
8750: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 d0d0a0">Name</th
8760: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 ></tr>..<tr>..<t
8770: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8780: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 0</td><td>Route<
8790: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
87a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
87b0: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 t">183286</td><t
87c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
87d0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
87e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 lign="right">300
87f0: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e .912208</td><td>
8800: 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d BLOB sz=272 GEOM
8810: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c ETRY</td><td>NUL
8820: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
8830: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
8840: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 right">1</td><td
8850: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
8860: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
8870: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
8880: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c ="right">183286<
8890: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
88a0: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 ight">178880</td
88b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
88c0: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 t">136.372057</t
88d0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
88e0: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f td>VIA MARGARITO
88f0: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NE</td>..</tr>..
8900: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8910: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">2</td><td>Link
8920: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
8930: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 right">224446</t
8940: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8950: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c ht">178880</td><
8960: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8970: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 >182885</td><td
8980: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 align="right">69
8990: 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e .727726</td><td>
89a0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
89b0: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 MARGARITONE</td
89c0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
89d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
89e0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
89f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
8a00: 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 right">224014</t
8a10: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8a20: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c ht">182885</td><
8a30: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8a40: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
8a50: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 align="right">94
8a60: 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e .812424</td><td>
8a70: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
8a80: 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c PIETRO ARETINO<
8a90: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 /td>..</tr>..</t
8aa0: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 49 66 20 able>..<br>..If
8ab0: 79 6f 75 20 72 65 6d 65 6d 62 65 72 2c 20 74 68 you remember, th
8ac0: 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 e <b>byfoot</b>
8ad0: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 VirtualRouting T
8ae0: 61 62 6c 65 20 68 61 73 20 6e 6f 20 3c 62 3e 6f able has no <b>o
8af0: 6e 65 2d 77 61 79 73 3c 2f 62 3e 2c 20 61 6e 64 ne-ways</b>, and
8b00: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68 consequently th
8b10: 65 20 72 65 74 75 72 6e 20 70 61 74 68 20 65 78 e return path ex
8b20: 61 63 74 6c 79 20 63 6f 72 72 65 73 70 6f 6e 64 actly correspond
8b30: 73 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 6f s to the first o
8b40: 6e 65 2c 20 65 78 63 65 70 74 20 69 6e 20 74 68 ne, except in th
8b50: 61 74 20 61 6c 6c 20 64 69 72 65 63 74 69 6f 6e at all direction
8b60: 73 20 61 72 65 20 6e 6f 77 20 72 65 76 65 72 73 s are now revers
8b70: 65 64 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 ed...<br><br><br
8b80: 3e 0d 0a 4e 6f 77 20 79 6f 75 27 6c 6c 20 67 6f >..Now you'll go
8b90: 20 74 6f 20 74 65 73 74 20 74 68 65 20 73 61 6d to test the sam
8ba0: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 62 e connections, b
8bb0: 75 74 20 74 68 69 73 20 74 69 6d 65 20 79 6f 75 ut this time you
8bc0: 27 6c 6c 20 74 61 72 67 65 74 20 74 68 65 20 3c 'll target the <
8bd0: 62 3e 62 79 63 61 72 3c 2f 62 3e 20 56 69 72 74 b>bycar</b> Virt
8be0: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 ualRouting Table
8bf0: 20 74 68 61 74 20 66 75 6c 6c 79 20 73 75 70 70 that fully supp
8c00: 6f 72 74 73 20 3c 62 3e 6f 6e 65 2d 77 61 79 73 orts <b>one-ways
8c10: 3c 2f 62 3e 3a 0d 0a 3c 76 65 72 62 61 74 69 6d </b>:..<verbatim
8c20: 3e 0d 0a 53 45 4c 45 43 54 20 52 6f 75 74 65 52 >..SELECT RouteR
8c30: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f ow, Role, LinkRo
8c40: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e wid, NodeFrom, N
8c50: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f odeTo, Cost, Geo
8c60: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f metry, Name..FRO
8c70: 4d 20 62 79 63 61 72 0d 0a 57 48 45 52 45 20 4e M bycar..WHERE N
8c80: 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 odeFrom = 178731
8c90: 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 AND NodeTo = 18
8ca0: 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 3286;..</verbati
8cb0: 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 m>..<table borde
8cc0: 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 r="1" bgcolor="#
8cd0: 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 ffffcf" cellspac
8ce0: 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 ing="4" cellpadd
8cf0: 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 ing="6">..<tr><t
8d00: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
8d10: 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 a0">RouteRow</th
8d20: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
8d30: 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 0d0a0">Role</th>
8d40: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
8d50: 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c d0a0">LinkRowid<
8d60: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
8d70: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 "#d0d0a0">NodeFr
8d80: 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c om</th><th bgcol
8d90: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
8da0: 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f eTo</th><th bgco
8db0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f lor="#d0d0a0">Co
8dc0: 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
8dd0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f or="#d0d0a0">Geo
8de0: 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 metry</th><th bg
8df0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
8e00: 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a Name</th></tr>..
8e10: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
8e20: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
8e30: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
8e40: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
8e50: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
8e60: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
8e70: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
8e80: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8e90: 67 68 74 22 3e 31 30 31 2e 38 31 35 35 35 32 3c ght">101.815552<
8ea0: 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
8eb0: 32 30 33 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 2032 GEOMETRY</t
8ec0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
8ed0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
8ee0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8ef0: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
8f00: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8f10: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e ght">224014</td>
8f20: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8f30: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
8f40: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
8f50: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 82885</td><td al
8f60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 2e 31 ign="right">13.1
8f70: 32 37 38 37 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 27874</td><td>NU
8f80: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 LL</td><td>VIA P
8f90: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 IETRO ARETINO</t
8fa0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
8fb0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
8fc0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">2</td><td>Lin
8fd0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
8fe0: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f "right">224446</
8ff0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9000: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e ght">182885</td>
9010: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9020: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 ">178880</td><td
9030: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 align="right">9
9040: 2e 36 35 34 36 30 38 3c 2f 74 64 3e 3c 74 64 3e .654608</td><td>
9050: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
9060: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 MARGARITONE</td
9070: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
9080: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9090: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
90a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
90b0: 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c 2f 74 right">219171</t
90c0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
90d0: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c ht">178880</td><
90e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
90f0: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 >178732</td><td
9100: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e align="right">7.
9110: 38 30 39 39 35 32 3c 2f 74 64 3e 3c 74 64 3e 4e 809952</td><td>N
9120: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
9130: 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 FRANCESCO CRISPI
9140: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
9150: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
9160: 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e ight">4</td><td>
9170: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
9180: 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35 gn="right">21905
9190: 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 8</td><td align=
91a0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f "right">178732</
91b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
91c0: 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e ght">178754</td>
91d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
91e0: 22 3e 31 32 2e 34 34 35 36 32 36 3c 2f 74 64 3e ">12.445626</td>
91f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
9200: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 >VIA FRANCESCO C
9210: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RISPI</td>..</tr
9220: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
9230: 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 gn="right">5</td
9240: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
9250: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9260: 32 32 35 38 38 38 3c 2f 74 64 3e 3c 74 64 20 61 225888</td><td a
9270: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
9280: 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 754</td><td alig
9290: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 36 31 n="right">183461
92a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
92b0: 72 69 67 68 74 22 3e 31 2e 35 39 39 38 36 35 3c right">1.599865<
92c0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
92d0: 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 ><td>VIA FRANCES
92e0: 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a CO CRISPI</td>..
92f0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
9300: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 align="right">6
9310: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
9320: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9330: 68 74 22 3e 32 32 35 38 38 37 3c 2f 74 64 3e 3c ht">225887</td><
9340: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9350: 3e 31 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20 >183461</td><td
9360: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9370: 32 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2800</td><td ali
9380: 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 33 30 30 gn="right">3.300
9390: 35 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 590</td><td>NULL
93a0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 </td><td>VIA FRA
93b0: 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 NCESCO CRISPI</t
93c0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
93d0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
93e0: 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">7</td><td>Lin
93f0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
9400: 22 72 69 67 68 74 22 3e 32 32 33 39 33 35 3c 2f "right">223935</
9410: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9420: 67 68 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e ght">182800</td>
9430: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9440: 22 3e 31 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 ">182799</td><td
9450: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 align="right">6
9460: 2e 36 38 38 37 38 36 3c 2f 74 64 3e 3c 74 64 3e .688786</td><td>
9470: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
9480: 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c LE LUCA SIGNOREL
9490: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LI</td>..</tr>..
94a0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
94b0: 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 "right">8</td><t
94c0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
94d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 36 lign="right">226
94e0: 30 33 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 038</td><td alig
94f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 37 39 39 n="right">182799
9500: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9510: 72 69 67 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 right">183456</t
9520: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9530: 68 74 22 3e 31 2e 32 39 34 30 31 37 3c 2f 74 64 ht">1.294017</td
9540: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
9550: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 d>VIALE LUCA SIG
9560: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f NORELLI</td>..</
9570: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
9580: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f lign="right">9</
9590: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
95a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
95b0: 22 3e 32 32 35 38 33 32 3c 2f 74 64 3e 3c 74 64 ">225832</td><td
95c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
95d0: 38 33 34 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83456</td><td al
95e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 ign="right">1834
95f0: 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 44</td><td align
9600: 3d 22 72 69 67 68 74 22 3e 32 2e 33 38 35 34 38 ="right">2.38548
9610: 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 6</td><td>NULL</
9620: 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 td><td>VIALE LUC
9630: 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 A SIGNORELLI</td
9640: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
9650: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9660: 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e ">10</td><td>Lin
9670: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
9680: 22 72 69 67 68 74 22 3e 32 32 35 38 33 31 3c 2f "right">225831</
9690: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
96a0: 67 68 74 22 3e 31 38 33 34 34 34 3c 2f 74 64 3e ght">183444</td>
96b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
96c0: 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64 ">183554</td><td
96d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 align="right">3
96e0: 2e 31 36 30 36 36 32 3c 2f 74 64 3e 3c 74 64 3e .160662</td><td>
96f0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
9700: 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c LE LUCA SIGNOREL
9710: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LI</td>..</tr>..
9720: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
9730: 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c "right">11</td><
9740: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
9750: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
9760: 35 37 36 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 5765</td><td ali
9770: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 35 gn="right">18355
9780: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
9790: 22 72 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f "right">183954</
97a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
97b0: 67 68 74 22 3e 37 2e 34 36 39 39 31 37 3c 2f 74 ght">7.469917</t
97c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
97d0: 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 td>VIALE LUCA SI
97e0: 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c GNORELLI</td>..<
97f0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
9800: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 align="right">12
9810: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
9820: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9830: 68 74 22 3e 32 32 35 37 36 36 3c 2f 74 64 3e 3c ht">225766</td><
9840: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9850: 3e 31 38 33 39 35 34 3c 2f 74 64 3e 3c 74 64 20 >183954</td><td
9860: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9870: 33 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3905</td><td ali
9880: 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 32 33 36 gn="right">3.236
9890: 33 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 389</td><td>NULL
98a0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c </td><td>VIALE L
98b0: 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f UCA SIGNORELLI</
98c0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
98d0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
98e0: 68 74 22 3e 31 33 3c 2f 74 64 3e 3c 74 64 3e 4c ht">13</td><td>L
98f0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
9900: 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 39 37 39 n="right">225979
9910: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9920: 72 69 67 68 74 22 3e 31 38 33 39 30 35 3c 2f 74 right">183905</t
9930: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9940: 68 74 22 3e 31 38 33 36 32 36 3c 2f 74 64 3e 3c ht">183626</td><
9950: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9960: 3e 31 33 2e 39 38 33 36 32 39 3c 2f 74 64 3e 3c >13.983629</td><
9970: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
9980: 53 54 52 41 44 41 20 53 45 4e 5a 41 20 4e 4f 4d STRADA SENZA NOM
9990: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
99a0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
99b0: 72 69 67 68 74 22 3e 31 34 3c 2f 74 64 3e 3c 74 right">14</td><t
99c0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
99d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
99e0: 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 905</td><td alig
99f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32 36 n="right">183626
9a00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9a10: 72 69 67 68 74 22 3e 31 38 33 31 32 38 3c 2f 74 right">183128</t
9a20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9a30: 68 74 22 3e 35 2e 36 32 37 33 35 38 3c 2f 74 64 ht">5.627358</td
9a40: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
9a50: 64 3e 53 54 52 41 44 41 20 53 45 4e 5a 41 20 4e d>STRADA SENZA N
9a60: 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d OME</td>..</tr>.
9a70: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
9a80: 3d 22 72 69 67 68 74 22 3e 31 35 3c 2f 74 64 3e ="right">15</td>
9a90: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
9aa0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
9ab0: 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 24897</td><td al
9ac0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 ign="right">1831
9ad0: 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 28</td><td align
9ae0: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c ="right">183286<
9af0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9b00: 69 67 68 74 22 3e 31 30 2e 30 33 30 37 39 32 3c ight">10.030792<
9b10: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
9b20: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 ><td>VIA MARGARI
9b30: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TONE</td>..</tr>
9b40: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 76 65 72 ..</table>..<ver
9b50: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 batim>..SELECT R
9b60: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c outeRow, Role, L
9b70: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 inkRowid, NodeFr
9b80: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 om, NodeTo, Cost
9b90: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 , Geometry, Name
9ba0: 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48 ..FROM bycar..WH
9bb0: 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20 31 37 38 ERE NodeTo = 178
9bc0: 37 33 31 20 41 4e 44 20 4e 6f 64 65 46 72 6f 6d 731 AND NodeFrom
9bd0: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 = 183286;..</ve
9be0: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 rbatim>..<table
9bf0: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c border="1" bgcol
9c00: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c or="#ffffcf" cel
9c10: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c lspacing="4" cel
9c20: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c lpadding="6">..<
9c30: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 tr><th bgcolor="
9c40: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f #d0d0a0">RouteRo
9c50: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f w</th><th bgcolo
9c60: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 r="#d0d0a0">Role
9c70: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
9c80: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 ="#d0d0a0">LinkR
9c90: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 owid</th><th bgc
9ca0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
9cb0: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 odeFrom</th><th
9cc0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
9cd0: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 ">NodeTo</th><th
9ce0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
9cf0: 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 0">Cost</th><th
9d00: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
9d10: 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c ">Geometry</th><
9d20: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
9d30: 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 0a0">Name</th></
9d40: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
9d50: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
9d60: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
9d70: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
9d80: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9d90: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 183286</td><td a
9da0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
9db0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
9dc0: 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 33 30 n="right">103.30
9dd0: 35 32 35 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 5259</td><td>BLO
9de0: 42 20 73 7a 3d 39 34 34 20 47 45 4f 4d 45 54 52 B sz=944 GEOMETR
9df0: 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f Y</td><td>NULL</
9e00: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
9e10: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
9e20: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">1</td><td>Li
9e30: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
9e40: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c ="right">224414<
9e50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9e60: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 ight">183286</td
9e70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9e80: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 t">178880</td><t
9e90: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9ea0: 31 38 2e 38 38 32 32 38 35 3c 2f 74 64 3e 3c 74 18.882285</td><t
9eb0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
9ec0: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f IA MARGARITONE</
9ed0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
9ee0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
9ef0: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">2</td><td>Li
9f00: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
9f10: 3d 22 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c ="right">219171<
9f20: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9f30: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 ight">178880</td
9f40: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9f50: 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 t">178732</td><t
9f60: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9f70: 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e 3c 74 64 7.809952</td><td
9f80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
9f90: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 A FRANCESCO CRIS
9fa0: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a PI</td>..</tr>..
9fb0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
9fc0: 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 "right">3</td><t
9fd0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
9fe0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 lign="right">219
9ff0: 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 058</td><td alig
a000: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 n="right">178732
a010: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a020: 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 right">178754</t
a030: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a040: 68 74 22 3e 31 32 2e 34 34 35 36 32 36 3c 2f 74 ht">12.445626</t
a050: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
a060: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f td>VIA FRANCESCO
a070: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f CRISPI</td>..</
a080: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
a090: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f lign="right">4</
a0a0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
a0b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a0c0: 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e 3c 74 64 ">224538</td><td
a0d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a0e0: 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 78754</td><td al
a0f0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 ign="right">1819
a100: 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 72</td><td align
a110: 3d 22 72 69 67 68 74 22 3e 37 2e 30 34 37 37 38 ="right">7.04778
a120: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
a130: 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e td><td>VIA ANTON
a140: 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 IO GUADAGNOLI</t
a150: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
a160: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
a170: 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">5</td><td>Lin
a180: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
a190: 22 72 69 67 68 74 22 3e 32 32 32 35 37 35 3c 2f "right">222575</
a1a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a1b0: 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e ght">181972</td>
a1c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a1d0: 22 3e 31 38 31 39 37 31 3c 2f 74 64 3e 3c 74 64 ">181971</td><td
a1e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a1f0: 2e 38 35 32 32 38 33 3c 2f 74 64 3e 3c 74 64 3e .852283</td><td>
a200: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
a210: 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e ANTONIO GUADAGN
a220: 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d OLI</td>..</tr>.
a230: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
a240: 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">6</td><td>Lin
a250: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
a260: 22 72 69 67 68 74 22 3e 32 32 34 39 36 37 3c 2f "right">224967</
a270: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a280: 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74 64 3e ght">181971</td>
a290: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a2a0: 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64 ">182891</td><td
a2b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a2c0: 34 2e 32 37 33 31 38 35 3c 2f 74 64 3e 3c 74 64 4.273185</td><td
a2d0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
a2e0: 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 A ANTONIO GUADAG
a2f0: 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NOLI</td>..</tr>
a300: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 ..<tr>..<td alig
a310: 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e n="right">7</td>
a320: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
a330: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
a340: 32 34 31 36 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 24168</td><td al
a350: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 ign="right">1828
a360: 39 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 91</td><td align
a370: 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 37 3c ="right">183057<
a380: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a390: 69 67 68 74 22 3e 36 2e 36 34 33 33 30 39 3c 2f ight">6.643309</
a3a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
a3b0: 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45 27 <td>VIA MACALLE'
a3c0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
a3d0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
a3e0: 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e ight">8</td><td>
a3f0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
a400: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31 36 gn="right">22416
a410: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 7</td><td align=
a420: 22 72 69 67 68 74 22 3e 31 38 33 30 35 37 3c 2f "right">183057</
a430: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a440: 67 68 74 22 3e 31 38 33 30 35 36 3c 2f 74 64 3e ght">183056</td>
a450: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a460: 22 3e 33 2e 31 35 31 32 37 32 3c 2f 74 64 3e 3c ">3.151272</td><
a470: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
a480: 56 49 41 20 4d 41 43 41 4c 4c 45 27 3c 2f 74 64 VIA MACALLE'</td
a490: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
a4a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a4b0: 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">9</td><td>Link
a4c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a4d0: 72 69 67 68 74 22 3e 32 32 34 31 37 34 3c 2f 74 right">224174</t
a4e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a4f0: 68 74 22 3e 31 38 33 30 35 36 3c 2f 74 64 3e 3c ht">183056</td><
a500: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a510: 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64 20 >182941</td><td
a520: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e align="right">7.
a530: 39 36 36 38 37 30 3c 2f 74 64 3e 3c 74 64 3e 4e 966870</td><td>N
a540: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
a550: 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e RODI</td>..</tr>
a560: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 ..<tr>..<td alig
a570: 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 n="right">10</td
a580: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
a590: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a5a0: 32 32 34 30 35 39 3c 2f 74 64 3e 3c 74 64 20 61 224059</td><td a
a5b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
a5c0: 39 34 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 941</td><td alig
a5d0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 31 n="right">182001
a5e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a5f0: 72 69 67 68 74 22 3e 36 2e 33 39 33 37 34 37 3c right">6.393747<
a600: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
a610: 3e 3c 74 64 3e 56 49 41 20 52 4f 44 49 3c 2f 74 ><td>VIA RODI</t
a620: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
a630: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
a640: 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 t">11</td><td>Li
a650: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
a660: 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 37 3c ="right">222637<
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 30 30 31 3c 2f 74 64 ight">182001</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 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 t">182000</td><t
a6b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a6c0: 32 2e 34 37 35 35 33 38 3c 2f 74 64 3e 3c 74 64 2.475538</td><td
a6d0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
a6e0: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f A PIETRO ARETINO
a6f0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
a700: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
a710: 69 67 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 ight">12</td><td
a720: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
a730: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 ign="right">2226
a740: 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 36</td><td align
a750: 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c ="right">182000<
a760: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a770: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
a780: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a790: 74 22 3e 31 34 2e 33 36 33 34 30 38 3c 2f 74 64 t">14.363408</td
a7a0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
a7b0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 d>VIA PIETRO ARE
a7c0: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TINO</td>..</tr>
a7d0: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e ..</table>..<br>
a7e0: 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20 65 61 73 ..As you can eas
a7f0: 69 6c 79 20 6e 6f 74 69 63 65 2c 20 74 68 65 20 ily notice, the
a800: 6f 70 74 69 6d 61 6c 20 70 61 74 68 73 20 72 65 optimal paths re
a810: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 3c 62 turned by the <b
a820: 3e 62 79 63 61 72 3c 2f 62 3e 20 56 69 72 74 75 >bycar</b> Virtu
a830: 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 alRouting Table
a840: 74 68 65 20 70 61 74 68 73 20 69 6e 20 6f 70 70 the paths in opp
a850: 6f 73 69 74 65 20 64 69 72 65 63 74 69 6f 6e 73 osite directions
a860: 20 73 74 72 6f 6e 67 6c 79 20 64 69 66 66 65 72 strongly differ
a870: 20 62 65 74 77 65 65 6e 20 74 68 65 6d 2c 20 61 between them, a
a880: 6e 64 20 62 6f 74 68 20 61 72 65 20 63 6f 6d 70 nd both are comp
a890: 6c 65 74 65 6c 79 20 64 69 66 66 65 72 65 6e 74 letely different
a8a0: 20 66 72 6f 6d 20 74 68 65 20 70 61 74 68 20 72 from the path r
a8b0: 65 74 75 72 6e 65 64 20 62 79 20 71 75 65 72 79 eturned by query
a8c0: 69 6e 67 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 ing <b>byfoot</b
a8d0: 3e 2e 3c 62 72 3e 0d 0a 41 20 71 75 69 63 6b 20 >.<br>..A quick
a8e0: 67 6c 61 6e 63 65 20 61 74 20 74 68 65 20 62 65 glance at the be
a8f0: 6c 6f 77 20 6d 61 70 20 77 69 6c 6c 20 73 75 72 low map will sur
a900: 65 6c 79 20 68 65 6c 70 20 74 6f 20 75 6e 64 65 ely help to unde
a910: 72 73 74 61 6e 64 20 62 65 74 74 65 72 20 77 68 rstand better wh
a920: 61 74 27 73 20 72 65 61 6c 6c 79 20 68 61 70 70 at's really happ
a930: 65 6e 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 69 73 ening.<br>..This
a940: 20 69 73 20 61 20 63 65 6e 74 72 61 6c 20 61 72 is a central ar
a950: 65 61 20 6f 66 20 74 68 65 20 74 6f 77 6e 20 6f ea of the town o
a960: 66 20 41 72 65 7a 7a 6f 20 61 72 6f 75 6e 64 20 f Arezzo around
a970: 74 68 65 20 61 72 63 68 61 65 6f 6c 6f 67 69 63 the archaeologic
a980: 61 6c 20 72 75 69 6e 73 20 6f 66 20 74 68 65 20 al ruins of the
a990: 52 6f 6d 61 6e 20 41 6d 70 68 69 74 68 65 61 74 Roman Amphitheat
a9a0: 65 72 3b 20 63 69 72 63 75 6c 61 74 69 6e 67 20 er; circulating
a9b0: 62 79 20 63 61 72 20 69 73 20 64 69 73 63 6f 75 by car is discou
a9c0: 72 61 67 65 64 20 61 6e 64 20 69 73 20 73 75 62 raged and is sub
a9d0: 6a 65 63 74 20 74 6f 20 6d 61 6e 79 20 6f 6e 65 ject to many one
a9e0: 2d 77 61 79 20 72 65 73 74 72 69 63 74 69 6f 6e -way restriction
a9f0: 73 2e 20 4e 6f 74 20 73 75 72 70 72 69 73 69 6e s. Not surprisin
aa00: 67 6c 79 2c 20 6d 6f 76 69 6e 67 20 62 79 20 66 gly, moving by f
aa10: 6f 6f 74 20 69 73 20 74 68 65 20 66 61 73 74 65 oot is the faste
aa20: 72 20 6f 70 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c r option...<br><
aa30: 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 br>..<img src="h
aa40: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d ttps://www.gaia-
aa50: 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 gis.it/gaia-sins
aa60: 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f /routing-figs/ro
aa70: 75 74 69 6e 67 31 2e 6a 70 67 22 20 61 6c 74 3d uting1.jpg" alt=
aa80: 22 66 69 67 31 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c "fig1">..<ul>..<
aa90: 6c 69 3e 79 65 6c 6c 6f 77 20 70 61 74 68 3a 20 li>yellow path:
aaa0: 70 65 64 65 73 74 72 69 61 6e 73 3c 2f 6c 69 3e pedestrians</li>
aab0: 0d 0a 3c 6c 69 3e 67 72 65 65 6e 20 70 61 74 68 ..<li>green path
aac0: 3a 20 63 61 72 2c 20 64 69 72 65 63 74 20 64 69 : car, direct di
aad0: 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 6c rection</li>..<l
aae0: 69 3e 72 65 64 20 70 61 74 68 3a 20 63 61 72 2c i>red path: car,
aaf0: 20 72 65 74 75 72 6e 20 64 69 72 65 63 74 69 6f return directio
ab00: 6e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c n</li>..</ul>..<
ab10: 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f br>..<table bgco
ab20: 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 lor="#c0ffc0" ce
ab30: 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 llspacing="10" c
ab40: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c ellpadding="6"><
ab50: 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 4c 69 6e tr><td>..<h3>Lin
ab60: 65 73 74 72 69 6e 67 73 20 72 65 74 75 72 6e 65 estrings returne
ab70: 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 d by VirtualRout
ab80: 69 6e 67 3c 2f 68 33 3e 0d 0a 41 6c 6c 20 4c 49 ing</h3>..All LI
ab90: 4e 45 53 54 52 49 4e 47 20 47 65 6f 6d 65 74 72 NESTRING Geometr
aba0: 69 65 73 20 63 72 65 61 74 65 64 20 62 79 20 61 ies created by a
abb0: 6e 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e ny VirtualRoutin
abc0: 67 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f g will always co
abd0: 6e 74 61 69 6e 20 3c 62 3e 4d 20 76 61 6c 75 65 ntain <b>M value
abe0: 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c s</b>:..<ul>..<l
abf0: 69 3e 69 66 20 74 68 65 20 75 6e 64 65 72 6c 61 i>if the underla
ac00: 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 ying Network's G
ac10: 65 6f 6d 65 74 72 69 65 73 20 61 72 65 20 3c 62 eometries are <b
ac20: 3e 58 59 3c 2f 62 3e 20 74 68 65 6e 20 3c 62 3e >XY</b> then <b>
ac30: 58 59 4d 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 XYM</b> Linestri
ac40: 6e 67 73 20 77 69 6c 6c 20 62 65 20 72 65 74 75 ngs will be retu
ac50: 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e rned.</li>..<li>
ac60: 69 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 if the underlayi
ac70: 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f ng Network's Geo
ac80: 6d 65 74 72 69 65 73 20 61 72 65 20 3c 62 3e 58 metries are <b>X
ac90: 59 5a 3c 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58 YZ</b> then <b>X
aca0: 59 5a 4d 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 YZM</b> Linestri
acb0: 6e 67 73 20 77 69 6c 6c 20 62 65 20 72 65 74 75 ngs will be retu
acc0: 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e rned.</li>..<li>
acd0: 69 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 if the underlayi
ace0: 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f ng Network's Geo
acf0: 6d 65 74 72 69 65 73 20 61 72 65 20 3c 62 3e 58 metries are <b>X
ad00: 59 4d 3c 2f 62 3e 20 6f 72 20 3c 62 3e 58 59 5a YM</b> or <b>XYZ
ad10: 4d 3c 2f 62 3e 20 74 68 65 6e 20 20 4c 69 6e 65 M</b> then Line
ad20: 73 74 72 69 6e 67 73 20 72 65 74 75 72 6e 65 64 strings returned
ad30: 20 69 6e 74 6f 20 74 68 65 20 72 65 73 75 6c 74 into the result
ad40: 73 65 74 20 77 69 6c 6c 20 6d 61 69 6e 74 61 69 set will maintai
ad50: 6e 20 74 68 65 20 73 61 6d 65 20 64 69 6d 65 6e n the same dimen
ad60: 73 69 6f 6e 73 20 61 73 20 69 6e 20 74 68 65 20 sions as in the
ad70: 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 underlaying Netw
ad80: 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 ork.</li>..<li>i
ad90: 6e 20 61 6e 79 20 63 61 73 65 20 74 68 65 20 3c n any case the <
ada0: 62 3e 4d 3c 2f 62 3e 20 76 61 6c 75 65 73 20 77 b>M</b> values w
adb0: 69 6c 6c 20 62 65 20 61 70 70 72 6f 70 72 69 61 ill be appropria
adc0: 74 65 6c 79 20 73 65 74 20 73 6f 20 74 6f 20 72 tely set so to r
add0: 65 70 72 65 73 65 6e 74 20 74 68 65 20 3c 75 3e epresent the <u>
ade0: 70 61 72 74 69 61 6c 20 63 6f 73 74 3c 2f 75 3e partial cost</u>
adf0: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 corresponding t
ae00: 6f 20 65 61 63 68 20 76 65 72 74 65 78 2e 0d 0a o each vertex...
ae10: 28 69 66 20 74 68 65 20 69 6e 70 75 74 20 4c 69 (if the input Li
ae20: 6e 65 73 74 72 69 6e 67 73 20 61 6c 72 65 61 64 nestrings alread
ae30: 79 20 63 6f 6e 74 61 69 6e 73 20 4d 2d 76 61 6c y contains M-val
ae40: 75 65 73 20 74 68 65 79 27 6c 6c 20 62 65 20 6f ues they'll be o
ae50: 76 65 72 77 72 69 74 74 65 6e 29 2e 3c 2f 6c 69 verwritten).</li
ae60: 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a >..</ul>..<br>..
ae70: 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 In other words,
ae80: 61 6c 6c 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 all Linestrings
ae90: 72 65 74 75 72 6e 65 64 20 62 79 20 56 69 72 74 returned by Virt
aea0: 75 61 6c 52 6f 75 74 69 6e 67 20 63 61 6e 20 65 ualRouting can e
aeb0: 66 66 65 63 74 69 76 65 6c 79 20 73 75 70 70 6f ffectively suppo
aec0: 72 74 20 3c 62 3e 4c 52 3c 2f 62 3e 20 28 3c 69 rt <b>LR</b> (<i
aed0: 3e 4c 69 6e 65 61 72 20 52 65 66 65 72 65 6e 63 >Linear Referenc
aee0: 69 6e 67 3c 2f 69 3e 29 20 53 51 4c 20 66 75 6e ing</i>) SQL fun
aef0: 63 74 69 6f 6e 73 2c 20 61 73 20 69 6e 20 74 68 ctions, as in th
af00: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d e following exam
af10: 70 6c 65 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d ples:..<verbatim
af20: 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 4c 6f 63 >..SELECT ST_Loc
af30: 61 74 65 5f 42 65 74 77 65 65 6e 5f 4d 65 61 73 ate_Between_Meas
af40: 75 72 65 73 28 3c 67 65 6f 6d 65 74 72 79 3e 2c ures(<geometry>,
af50: 20 33 30 2e 30 2c 20 34 35 2e 30 29 3b 0d 0a 0d 30.0, 45.0);...
af60: 0a 53 45 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74 .SELECT ST_Locat
af70: 65 5f 42 65 74 77 65 65 6e 5f 4d 65 61 73 75 72 e_Between_Measur
af80: 65 73 28 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 38 es(<geometry>, 8
af90: 30 2e 30 2c 20 39 35 2e 30 29 3b 0d 0a 3c 2f 76 0.0, 95.0);..</v
afa0: 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 73 69 erbatim>..The si
afb0: 64 65 20 6d 61 70 20 67 72 61 70 68 69 63 61 6c de map graphical
afc0: 6c 79 20 73 68 6f 77 73 20 74 68 65 20 65 73 74 ly shows the est
afd0: 69 6d 61 74 65 64 20 70 6f 73 69 74 69 6f 6e 73 imated positions
afe0: 20 72 65 73 70 65 63 74 69 76 65 6c 79 20 3c 62 respectively <b
aff0: 3e 33 30 3c 2f 62 3e 2d 3c 62 3e 34 35 3c 2f 62 >30</b>-<b>45</b
b000: 3e 20 73 65 63 6f 6e 64 73 20 61 66 74 65 72 20 > seconds after
b010: 73 74 61 72 74 69 6e 67 20 28 79 65 6c 6c 6f 77 starting (yellow
b020: 20 64 6f 74 74 65 64 20 6c 69 6e 65 29 20 61 6e dotted line) an
b030: 64 20 3c 62 3e 38 30 3c 2f 62 3e 2d 3c 62 3e 39 d <b>80</b>-<b>9
b040: 35 3c 2f 62 3e 20 73 65 63 6f 6e 64 73 20 61 66 5</b> seconds af
b050: 74 65 72 20 73 74 61 72 74 69 6e 67 20 28 67 72 ter starting (gr
b060: 65 65 6e 20 64 6f 74 74 65 64 20 6c 69 6e 65 29 een dotted line)
b070: 2e 3c 62 72 3e 0d 0a 28 61 73 73 75 6d 69 6e 67 .<br>..(assuming
b080: 20 74 68 65 20 73 61 6d 65 20 70 61 74 68 20 72 the same path r
b090: 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 6c eturned by the l
b0a0: 61 74 65 73 74 20 3c 62 3e 62 79 63 61 72 3c 2f atest <b>bycar</
b0b0: 62 3e 20 71 75 65 72 79 29 2e 0d 0a 3c 2f 74 64 b> query)...</td
b0c0: 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d >..<td><img src=
b0d0: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
b0e0: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
b0f0: 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f ns/routing-figs/
b100: 72 6f 75 74 69 6e 67 32 2e 6a 70 67 22 20 61 6c routing2.jpg" al
b110: 74 3d 22 66 69 67 32 22 3e 3c 2f 74 64 3e 0d 0a t="fig2"></td>..
b120: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
b130: 0a 3c 62 72 3e 0d 0a 3c 68 32 3e 50 6c 61 79 69 .<br>..<h2>Playi
b140: 6e 67 20 77 69 74 68 20 56 69 72 74 75 61 6c 52 ng with VirtualR
b150: 6f 75 74 69 6e 67 20 63 6f 6e 66 69 67 75 72 61 outing configura
b160: 62 6c 65 20 6f 70 74 69 6f 6e 73 3c 2f 68 32 3e ble options</h2>
b170: 0d 0a 53 65 76 65 72 61 6c 20 61 73 70 65 63 74 ..Several aspect
b180: 73 20 6f 66 20 56 69 72 74 75 61 6c 52 6f 75 74 s of VirtualRout
b190: 69 6e 67 20 63 61 6e 20 62 65 20 66 72 65 65 6c ing can be freel
b1a0: 79 20 63 75 73 74 6f 6d 69 7a 65 64 2e 0d 0a 3c y customized...<
b1b0: 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 verbatim>..UPDAT
b1c0: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 E byfoot SET Alg
b1d0: 6f 72 69 74 68 6d 20 3d 20 27 41 2a 27 3b 0d 0a orithm = 'A*';..
b1e0: 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 ..SELECT Algorit
b1f0: 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 hm, Options, Rou
b200: 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e teRow, Role, Lin
b210: 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d kRowid, NodeFrom
b220: 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 , NodeTo, Cost,
b230: 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a Geometry, Name..
b240: 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 FROM byfoot..WHE
b250: 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 RE NodeFrom = 17
b260: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 8731 AND NodeTo
b270: 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 = 183286;..</ver
b280: 62 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 72 batim>..If you r
b290: 65 6d 65 6d 62 65 72 20 69 6e 20 61 6c 6c 20 74 emember in all t
b2a0: 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d he previous exam
b2b0: 70 6c 65 73 20 74 68 65 20 3c 62 3e 44 69 6a 6b ples the <b>Dijk
b2c0: 73 74 72 61 27 73 3c 2f 62 3e 20 61 6c 67 6f 72 stra's</b> algor
b2d0: 69 74 68 6d 20 77 61 73 20 75 73 65 64 3b 20 6e ithm was used; n
b2e0: 6f 77 20 28 61 66 74 65 72 20 65 78 65 63 75 74 ow (after execut
b2f0: 69 6e 67 20 74 68 65 20 61 62 6f 76 65 20 3c 62 ing the above <b
b300: 3e 55 50 44 41 54 45 3c 2f 62 3e 29 20 61 6c 6c >UPDATE</b>) all
b310: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 Shortest Path q
b320: 75 65 72 69 65 73 20 77 69 6c 6c 20 62 65 20 62 ueries will be b
b330: 61 73 65 64 20 6f 6e 20 74 68 65 20 61 6c 74 65 ased on the alte
b340: 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 rnative <b>A*</b
b350: 3e 20 61 6c 67 6f 72 69 74 68 6d 2e 3c 62 72 3e > algorithm.<br>
b360: 0d 0a 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f ..If you wish to
b370: 20 73 65 6c 65 63 74 20 61 67 61 69 6e 20 74 68 select again th
b380: 65 20 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 e Dijkstra's alg
b390: 6f 72 69 74 68 6d 20 79 6f 75 20 6a 75 73 74 20 orithm you just
b3a0: 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 65 3c have to execute<
b3b0: 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 62 79 br> <b>UPDATE by
b3c0: 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72 69 74 foot SET Algorit
b3d0: 68 6d 20 3d 20 27 44 49 4a 4b 53 54 52 41 27 3b hm = 'DIJKSTRA';
b3e0: 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 </b>.<br><br>..T
b3f0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 he following tab
b400: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 le shows the res
b410: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 ultset returned
b420: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 by the previous
b430: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 Shortest Path qu
b440: 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69 ery; please noti
b450: 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 ce the value in
b460: 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d the <b>Algorithm
b470: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 </b> column...<b
b480: 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 r><br>..<table b
b490: 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f order="1" bgcolo
b4a0: 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c r="#ffffcf" cell
b4b0: 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c spacing="4" cell
b4c0: 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 padding="6">..<t
b4d0: 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 r><th bgcolor="#
b4e0: 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 d0d0a0">Algorith
b4f0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f m</th><th bgcolo
b500: 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 r="#d0d0a0">Opti
b510: 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ons</th><th bgco
b520: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
b530: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 uteRow</th><th b
b540: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
b550: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 >Role</th><th bg
b560: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
b570: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 LinkRowid</th><t
b580: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
b590: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 a0">NodeFrom</th
b5a0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
b5b0: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 0d0a0">NodeTo</t
b5c0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
b5d0: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 d0d0a0">Cost</th
b5e0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
b5f0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 0d0a0">Geometry<
b600: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
b610: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f "#d0d0a0">Name</
b620: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 th></tr>..<tr><t
b630: 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c d>A*</td><td>Ful
b640: 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d l</td><td align=
b650: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
b660: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
b670: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
b680: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
b690: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
b6a0: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
b6b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
b6c0: 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c ght">300.912208<
b6d0: 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
b6e0: 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 272 GEOMETRY</td
b6f0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
b700: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
b710: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
b720: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
b730: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c ="right">1</td><
b740: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
b750: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
b760: 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4014</td><td ali
b770: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
b780: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
b790: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f "right">182885</
b7a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
b7b0: 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f ght">94.812424</
b7c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
b7d0: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 <td>VIA PIETRO A
b7e0: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 RETINO</td>..</t
b7f0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
b800: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
b810: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
b820: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e ight">2</td><td>
b830: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
b840: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 gn="right">22444
b850: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
b860: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f "right">182885</
b870: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
b880: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e ght">178880</td>
b890: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
b8a0: 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e ">69.727726</td>
b8b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
b8c0: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 >VIA MARGARITONE
b8d0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
b8e0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
b8f0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
b900: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
b910: 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 3</td><td>Link</
b920: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
b930: 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e ght">224414</td>
b940: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
b950: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 ">178880</td><td
b960: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
b970: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83286</td><td al
b980: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e ign="right">136.
b990: 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 372057</td><td>N
b9a0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
b9b0: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e MARGARITONE</td>
b9c0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 ..</tr>..</table
b9d0: 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d >..<br><br><br>.
b9e0: 0a 59 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 61 .You can eventua
b9f0: 6c 6c 79 20 63 6f 6e 66 69 67 75 72 65 20 74 68 lly configure th
ba00: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 e resultset retu
ba10: 72 6e 65 64 20 74 68 65 20 56 69 72 74 75 61 6c rned the Virtual
ba20: 52 6f 75 74 69 6e 67 20 71 75 65 72 69 65 73 2e Routing queries.
ba30: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 ..<verbatim>..UP
ba40: 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 DATE byfoot SET
ba50: 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49 Options = 'NO LI
ba60: 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 NKS';....SELECT
ba70: 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f Algorithm, Optio
ba80: 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f ns, RouteRow, Ro
ba90: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e le, LinkRowid, N
baa0: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c odeFrom, NodeTo,
bab0: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c Cost, Geometry,
bac0: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f Name..FROM byfo
bad0: 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 ot..WHERE NodeFr
bae0: 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 om = 178731 AND
baf0: 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b NodeTo = 183286;
bb00: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 ..</verbatim>..A
bb10: 66 74 65 72 20 73 65 74 74 69 6e 67 20 3c 62 3e fter setting <b>
bb20: 4f 70 74 69 6f 6e 73 3d 27 4e 4f 20 4c 49 4e 4b Options='NO LINK
bb30: 53 27 3c 2f 62 3e 20 74 68 65 20 72 65 73 75 6c S'</b> the resul
bb40: 74 73 65 74 20 77 69 6c 6c 20 73 69 6d 70 6c 79 tset will simply
bb50: 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 68 65 61 contain the hea
bb60: 64 65 72 20 72 6f 77 2c 20 61 6e 64 20 61 6c 6c der row, and all
bb70: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 the following r
bb80: 6f 77 73 20 77 69 6c 6c 20 62 65 20 73 75 70 70 ows will be supp
bb90: 72 65 73 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e ressed.<br>..<u>
bba0: 4e 6f 74 65 3c 2f 75 3e 3a 20 70 72 6f 64 75 63 Note</u>: produc
bbb0: 69 6e 67 20 61 20 72 65 64 75 63 65 64 20 72 65 ing a reduced re
bbc0: 73 75 6c 74 73 65 74 20 69 73 20 65 78 70 65 63 sultset is expec
bbd0: 74 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77 61 ted to be somewa
bbe0: 79 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54 y faster.<br>..T
bbf0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 he following tab
bc00: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 le shows the res
bc10: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 ultset returned
bc20: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 by the previous
bc30: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 Shortest Path qu
bc40: 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69 ery; please noti
bc50: 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 ce the value in
bc60: 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f the <b>Options</
bc70: 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e b> column...<br>
bc80: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 <br>..<table bor
bc90: 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d der="1" bgcolor=
bca0: 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 "#ffffcf" cellsp
bcb0: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 acing="4" cellpa
bcc0: 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e dding="6">..<tr>
bcd0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
bce0: 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c d0a0">Algorithm<
bcf0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
bd00: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e "#d0d0a0">Option
bd10: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f s</th><th bgcolo
bd20: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 r="#d0d0a0">Rout
bd30: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 eRow</th><th bgc
bd40: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
bd50: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ole</th><th bgco
bd60: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 lor="#d0d0a0">Li
bd70: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 nkRowid</th><th
bd80: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
bd90: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c ">NodeFrom</th><
bda0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
bdb0: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 0a0">NodeTo</th>
bdc0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
bdd0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c d0a0">Cost</th><
bde0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
bdf0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 0a0">Geometry</t
be00: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
be10: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 d0d0a0">Name</th
be20: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 ></tr>..<tr>..<t
be30: 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 d>A*</td><td>No
be40: 4c 69 6e 6b 73 3c 2f 74 64 3e 3c 74 64 20 61 6c Links</td><td al
be50: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
be60: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e d><td>Route</td>
be70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
be80: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
be90: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
bea0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 ign="right">1832
beb0: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 86</td><td align
bec0: 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 ="right">300.912
bed0: 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 208</td><td>BLOB
bee0: 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 sz=272 GEOMETRY
bef0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
bf00: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 d>..</tr>..</tab
bf10: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 le>..<br><br><br
bf20: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 >..<verbatim>..U
bf30: 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 PDATE byfoot SET
bf40: 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 Options = 'NO G
bf50: 45 4f 4d 45 54 52 49 45 53 27 3b 0d 0a 0d 0a 53 EOMETRIES';....S
bf60: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c ELECT Algorithm,
bf70: 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 Options, RouteR
bf80: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f ow, Role, LinkRo
bf90: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e wid, NodeFrom, N
bfa0: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f odeTo, Cost, Geo
bfb0: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f metry, Name..FRO
bfc0: 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 M byfoot..WHERE
bfd0: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 NodeFrom = 17873
bfe0: 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 1 AND NodeTo = 1
bff0: 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 83286;..</verbat
c000: 69 6d 3e 41 66 74 65 72 20 73 65 74 74 69 6e 67 im>After setting
c010: 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f 20 <b>Options='NO
c020: 47 45 4f 4d 45 54 52 49 45 53 27 3c 2f 62 3e 20 GEOMETRIES'</b>
c030: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 the resultset wi
c040: 6c 6c 20 63 6f 6e 74 61 69 6e 20 61 6c 6c 20 72 ll contain all r
c050: 6f 77 73 2c 20 62 75 74 20 61 6c 6c 20 47 65 6f ows, but all Geo
c060: 6d 65 74 72 69 65 73 20 77 69 6c 6c 20 62 65 20 metries will be
c070: 73 75 70 70 72 65 73 73 65 64 2e 3c 62 72 3e 0d suppressed.<br>.
c080: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 .<u>Note</u>: th
c090: 69 73 20 74 6f 6f 20 69 73 20 65 78 70 65 63 74 is too is expect
c0a0: 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77 61 79 ed to be someway
c0b0: 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54 68 faster.<br>..Th
c0c0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c e following tabl
c0d0: 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 e shows the resu
c0e0: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 ltset returned b
c0f0: 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 53 y the previous S
c100: 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65 hortest Path que
c110: 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69 63 ry; please notic
c120: 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 74 e the value in t
c130: 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 he <b>Options</b
c140: 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c > column...<br><
c150: 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 br>..<table bord
c160: 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 er="1" bgcolor="
c170: 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 #ffffcf" cellspa
c180: 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 cing="4" cellpad
c190: 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c ding="6">..<tr><
c1a0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
c1b0: 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 0a0">Algorithm</
c1c0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
c1d0: 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 #d0d0a0">Options
c1e0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
c1f0: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 ="#d0d0a0">Route
c200: 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f Row</th><th bgco
c210: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
c220: 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c le</th><th bgcol
c230: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e or="#d0d0a0">Lin
c240: 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 kRowid</th><th b
c250: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
c260: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 >NodeFrom</th><t
c270: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
c280: 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c a0">NodeTo</th><
c290: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
c2a0: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 0a0">Cost</th><t
c2b0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
c2c0: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 a0">Geometry</th
c2d0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
c2e0: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0d0a0">Name</th>
c2f0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 41 </tr>..<tr><td>A
c300: 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 47 65 6f *</td><td>No Geo
c310: 6d 65 74 72 69 65 73 3c 2f 74 64 3e 3c 74 64 20 metries</td><td
c320: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
c330: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 /td><td>Route</t
c340: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
c350: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
c360: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
c370: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
c380: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3286</td><td ali
c390: 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 gn="right">300.9
c3a0: 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 12208</td><td>NU
c3b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
c3c0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
c3d0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
c3e0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
c3f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
c400: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
c410: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
c420: 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c ht">224014</td><
c430: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
c440: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
c450: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
c460: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2885</td><td ali
c470: 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 gn="right">94.81
c480: 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 2424</td><td>NUL
c490: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 L</td><td>VIA PI
c4a0: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 ETRO ARETINO</td
c4b0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
c4c0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
c4d0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
c4e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
c4f0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
c500: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
c510: 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 >224446</td><td
c520: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
c530: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2885</td><td ali
c540: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
c550: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
c560: 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 "right">69.72772
c570: 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 6</td><td>NULL</
c580: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 td><td>VIA MARGA
c590: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 RITONE</td>..</t
c5a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
c5b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
c5c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
c5d0: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e ight">3</td><td>
c5e0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
c5f0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 gn="right">22441
c600: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
c610: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f "right">178880</
c620: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
c630: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e ght">183286</td>
c640: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
c650: 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 ">136.372057</td
c660: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
c670: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e d>VIA MARGARITON
c680: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
c690: 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 /table>..<br><br
c6a0: 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d ><br>..<verbatim
c6b0: 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 >..UPDATE byfoot
c6c0: 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 SET Options = '
c6d0: 53 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 45 SIMPLE';....SELE
c6e0: 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 CT Algorithm, Op
c6f0: 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c tions, RouteRow,
c700: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 Role, LinkRowid
c710: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 , NodeFrom, Node
c720: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 To, Cost, Geomet
c730: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 ry, Name..FROM b
c740: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 yfoot..WHERE Nod
c750: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 eFrom = 178731 A
c760: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 ND NodeTo = 1832
c770: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 86;..</verbatim>
c780: 53 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f Setting <b>Optio
c790: 6e 73 3d 27 53 49 4d 50 4c 45 27 3c 2f 62 3e 20 ns='SIMPLE'</b>
c7a0: 68 61 73 20 74 68 65 20 73 61 6d 65 20 65 66 66 has the same eff
c7b0: 65 63 74 20 74 68 61 6e 20 73 65 74 74 69 6e 67 ect than setting
c7c0: 20 62 6f 74 68 20 3c 62 3e 4e 4f 20 4c 49 4e 4b both <b>NO LINK
c7d0: 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 S</b> and <b>NO
c7e0: 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61 GEOMETRIES</b> a
c7f0: 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e t the same time.
c800: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 <br>..<u>Note</u
c810: 3e 3a 20 74 68 69 73 20 69 73 20 65 78 70 65 63 >: this is expec
c820: 74 65 64 20 74 6f 20 62 65 20 74 68 65 20 66 61 ted to be the fa
c830: 73 74 65 73 74 20 73 65 74 74 69 6e 67 2e 3c 62 stest setting.<b
c840: 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e r>..The followin
c850: 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 g table shows th
c860: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 e resultset retu
c870: 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76 rned by the prev
c880: 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61 ious Shortest Pa
c890: 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65 th query; please
c8a0: 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75 notice the valu
c8b0: 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69 e in the <b>Opti
c8c0: 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d ons</b> column..
c8d0: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c .<br><br>..<tabl
c8e0: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 e border="1" bgc
c8f0: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 olor="#ffffcf" c
c900: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 ellspacing="4" c
c910: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d ellpadding="6">.
c920: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 .<tr><th bgcolor
c930: 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 ="#d0d0a0">Algor
c940: 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ithm</th><th bgc
c950: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f olor="#d0d0a0">O
c960: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 ptions</th><th b
c970: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
c980: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 >RouteRow</th><t
c990: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
c9a0: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 a0">Role</th><th
c9b0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
c9c0: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 0">LinkRowid</th
c9d0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
c9e0: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 0d0a0">NodeFrom<
c9f0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
ca00: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f "#d0d0a0">NodeTo
ca10: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
ca20: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c ="#d0d0a0">Cost<
ca30: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
ca40: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 "#d0d0a0">Geomet
ca50: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ry</th><th bgcol
ca60: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d or="#d0d0a0">Nam
ca70: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 e</th></tr>..<tr
ca80: 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 >..<td>A*</td><t
ca90: 64 3e 53 69 6d 70 6c 65 3c 2f 74 64 3e 3c 74 64 d>Simple</td><td
caa0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
cab0: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
cac0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
cad0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
cae0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
caf0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
cb00: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83286</td><td al
cb10: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e ign="right">300.
cb20: 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 912208</td><td>N
cb30: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
cb40: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f </td>..</tr>..</
cb50: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 46 69 table>..<br>..Fi
cb60: 6e 61 6c 6c 79 2c 20 69 66 20 79 6f 75 20 77 69 nally, if you wi
cb70: 73 68 20 74 6f 20 73 65 6c 65 63 74 20 61 67 61 sh to select aga
cb80: 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 in the initial s
cb90: 74 61 6e 64 61 72 64 20 73 65 74 74 69 6e 67 20 tandard setting
cba0: 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f you just have to
cbb0: 20 65 78 65 63 75 74 65 3c 62 72 3e 20 3c 62 3e execute<br> <b>
cbc0: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 UPDATE byfoot SE
cbd0: 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 46 55 4c T Options = 'FUL
cbe0: 4c 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e L';</b>.<br><br>
cbf0: 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e ..<hr><br>..<h1>
cc00: 3c 61 20 6e 61 6d 65 3d 22 6d 75 6c 74 69 22 3e <a name="multi">
cc10: 35 20 2d 20 53 6f 6c 76 69 6e 67 20 6d 75 6c 74 5 - Solving mult
cc20: 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 i-destination Sh
cc30: 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f 62 ortest Path prob
cc40: 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 lems</a></h1>..A
cc50: 20 76 65 72 79 20 69 6e 74 65 72 65 73 74 69 6e very interestin
cc60: 67 20 66 65 61 74 75 72 65 20 73 75 70 70 6f 72 g feature suppor
cc70: 74 65 64 20 62 79 20 74 68 65 20 44 69 6a 6b 73 ted by the Dijks
cc80: 74 72 61 27 73 20 41 6c 67 6f 72 69 74 68 6d 20 tra's Algorithm
cc90: 69 73 20 74 68 61 74 20 69 74 20 72 6f 62 75 73 is that it robus
cca0: 74 6c 79 20 65 6e 73 75 72 65 73 20 74 68 61 74 tly ensures that
ccb0: 20 77 68 65 6e 20 61 20 64 65 73 74 69 6e 61 74 when a destinat
ccc0: 69 6f 6e 20 69 73 20 72 65 61 63 68 65 64 20 61 ion is reached a
ccd0: 6c 6c 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 ll the destinati
cce0: 6f 6e 73 20 70 72 65 73 65 6e 74 69 6e 67 20 61 ons presenting a
ccf0: 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f 73 74 3c <b>lesser cost<
cd00: 2f 62 3e 20 68 61 76 65 20 61 6c 72 65 61 64 79 /b> have already
cd10: 20 62 65 65 6e 20 72 65 61 63 68 65 64 20 69 6e been reached in
cd20: 20 73 6f 6d 65 20 70 72 65 76 69 6f 75 73 20 73 some previous s
cd30: 74 65 70 20 6f 66 20 74 68 65 20 70 72 6f 63 65 tep of the proce
cd40: 73 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 61 6c ss.<br>..This al
cd50: 6c 6f 77 73 20 74 6f 20 65 66 66 69 63 69 65 6e lows to efficien
cd60: 74 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 6d tly support <b>m
cd70: 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74 ultiple destinat
cd80: 69 6f 6e 73 3c 2f 62 3e 20 53 68 6f 72 74 65 73 ions</b> Shortes
cd90: 74 20 50 61 74 68 20 71 75 65 72 69 65 73 2e 0d t Path queries..
cda0: 0a 59 6f 75 20 73 69 6d 70 6c 79 20 68 61 76 65 .You simply have
cdb0: 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 3c 62 to specify a <b
cdc0: 3e 73 69 6e 67 6c 65 20 6f 72 69 67 69 6e 20 4e >single origin N
cdd0: 6f 64 65 3c 2f 62 3e 20 61 6e 64 20 61 6e 20 3c ode</b> and an <
cde0: 62 3e 61 72 62 69 74 72 61 72 79 20 6c 69 73 74 b>arbitrary list
cdf0: 20 6f 66 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 of destination
ce00: 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e 20 61 20 73 Nodes</b> in a s
ce10: 69 6e 67 6c 65 20 44 69 6a 6b 73 74 72 61 27 73 ingle Dijkstra's
ce20: 20 65 78 65 63 75 74 69 6f 6e 2e 3c 62 72 3e 3c execution.<br><
ce30: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e br>..<u>Note</u>
ce40: 3a 20 65 78 65 63 75 74 69 6e 67 20 61 20 6d 75 : executing a mu
ce50: 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 lti-destination
ce60: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 Shortest Path qu
ce70: 65 72 79 20 72 65 71 75 69 72 65 73 20 61 20 3c ery requires a <
ce80: 62 3e 70 72 6f 63 65 73 73 69 6e 67 20 74 69 6d b>processing tim
ce90: 65 3c 2f 62 3e 20 74 68 61 74 20 69 73 6e 27 74 e</b> that isn't
cea0: 20 74 68 65 20 3c 75 3e 73 75 6d 20 6f 66 20 61 the <u>sum of a
ceb0: 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 74 69 ll individual ti
cec0: 6d 69 6e 67 73 20 66 6f 72 20 65 61 63 68 20 64 mings for each d
ced0: 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c 20 estination</u>,
cee0: 62 75 74 20 73 69 6d 70 6c 79 20 69 73 20 74 68 but simply is th
cef0: 65 20 3c 75 3e 74 69 6d 65 20 72 65 71 75 69 72 e <u>time requir
cf00: 65 64 20 74 6f 20 72 65 61 63 68 20 74 68 65 20 ed to reach the
cf10: 6d 6f 73 74 20 63 6f 73 74 6c 79 20 6f 66 20 61 most costly of a
cf20: 6c 6c 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 ll destinations
cf30: 69 6e 20 74 68 65 20 6c 69 73 74 3c 2f 75 3e 2e in the list</u>.
cf40: 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 6e 27 74 <br>..This isn't
cf50: 20 72 69 67 6f 72 6f 75 73 6c 79 20 74 72 75 65 rigorously true
cf60: 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 in the case of
cf70: 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 the VirtualRouti
cf80: 6e 67 20 73 70 65 63 69 66 69 63 20 69 6d 70 6c ng specific impl
cf90: 65 6d 65 6e 74 61 74 69 6f 6e 2c 20 62 65 63 61 ementation, beca
cfa0: 75 73 65 20 61 72 72 61 6e 67 69 6e 67 20 74 68 use arranging th
cfb0: 65 20 72 65 73 75 6c 74 73 65 74 20 74 6f 20 62 e resultset to b
cfc0: 65 20 72 65 74 75 72 6e 65 64 20 61 6e 64 20 63 e returned and c
cfd0: 72 65 61 74 69 6e 67 20 61 6c 6c 20 74 68 65 20 reating all the
cfe0: 69 6e 64 69 76 69 64 75 61 6c 20 4c 69 6e 65 73 individual Lines
cff0: 74 72 69 6e 67 73 20 66 6f 72 20 65 61 63 68 20 trings for each
d000: 64 65 73 74 69 6e 61 74 69 6f 6e 20 77 69 6c 6c destination will
d010: 20 73 75 72 65 6c 79 20 69 6d 70 6f 73 65 20 73 surely impose s
d020: 6f 6d 65 20 66 75 72 74 68 65 72 20 6f 76 65 72 ome further over
d030: 68 65 61 64 2c 20 62 75 74 20 6e 6f 6e 65 74 68 head, but noneth
d040: 65 6c 65 73 73 20 69 74 20 72 65 6d 61 69 6e 73 eless it remains
d050: 20 63 6f 6e 66 69 72 6d 65 64 20 74 68 61 74 20 confirmed that
d060: 65 78 65 63 75 74 69 6e 67 20 61 20 73 69 6e 67 executing a sing
d070: 6c 65 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 le multi-destina
d080: 74 69 6f 6e 20 71 75 65 72 79 20 77 69 6c 6c 20 tion query will
d090: 73 75 72 65 6c 79 20 62 65 20 20 6e 6f 74 69 63 surely be notic
d0a0: 65 61 62 6c 79 20 66 61 73 74 65 72 20 74 68 65 eably faster the
d0b0: 6e 20 65 78 65 63 75 74 69 6e 67 20 6d 61 6e 79 n executing many
d0c0: 20 73 70 61 72 73 65 20 73 69 6e 67 6c 65 2d 64 sparse single-d
d0d0: 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 estination queri
d0e0: 65 73 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d es...<verbatim>.
d0f0: 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 .SELECT Algorith
d100: 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69 m, Request, Opti
d110: 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 ons, Delimiter,
d120: 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f RouteId, RouteRo
d130: 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 w, Role, LinkRow
d140: 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f id, NodeFrom, No
d150: 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d deTo, Cost, Geom
d160: 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d etry, Name..FROM
d170: 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e byfoot..WHERE N
d180: 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 odeFrom = 178731
d190: 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 AND NodeTo = '1
d1a0: 38 33 32 38 36 2c 32 39 30 34 35 38 2c 31 38 31 83286,290458,181
d1b0: 39 39 39 2c 31 38 34 30 33 30 2c 31 32 34 36 32 999,184030,12462
d1c0: 32 2c 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 2,183882,178754'
d1d0: 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a ;..</verbatim>..
d1e0: 41 73 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c As you can easil
d1f0: 79 20 6e 6f 74 69 63 65 2c 20 61 20 3c 62 3e 6d y notice, a <b>m
d200: 75 6c 74 69 70 6c 65 2d 64 65 73 74 69 6e 61 74 ultiple-destinat
d210: 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79 20 68 ions</b> query h
d220: 61 73 20 74 68 65 20 73 61 6d 65 20 69 64 65 6e as the same iden
d230: 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66 20 61 6e tical form of an
d240: 79 20 75 73 75 61 6c 20 53 68 6f 72 74 65 73 74 y usual Shortest
d250: 20 50 61 74 68 20 71 75 65 72 79 2c 20 65 78 63 Path query, exc
d260: 65 70 74 20 69 6e 20 74 68 61 74 20 3c 62 3e 4e ept in that <b>N
d270: 6f 64 65 54 6f 3c 2f 62 3e 20 6e 6f 77 20 63 6f odeTo</b> now co
d280: 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 20 63 rresponds to a c
d290: 6f 6d 6d 61 2d 73 65 70 61 72 61 74 65 64 20 6c omma-separated l
d2a0: 69 73 74 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f ist.<br>..The fo
d2b0: 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 llowing table sh
d2c0: 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 ows the resultse
d2d0: 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 t returned by th
d2e0: 65 20 70 72 65 76 69 6f 75 73 20 6d 75 6c 74 69 e previous multi
d2f0: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f -destination Sho
d300: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 rtest Path query
d310: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 ...<br><br>..<ta
d320: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 ble border="1" b
d330: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 gcolor="#ffffcf"
d340: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 cellspacing="4"
d350: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
d360: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c >..<tr><th bgcol
d370: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 or="#d0d0a0">Alg
d380: 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 orithm</th><th b
d390: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
d3a0: 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 >Request</th><th
d3b0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
d3c0: 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 0">Options</th><
d3d0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
d3e0: 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 0a0">Delimiter</
d3f0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
d400: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64 #d0d0a0">RouteId
d410: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
d420: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 ="#d0d0a0">Route
d430: 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f Row</th><th bgco
d440: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
d450: 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c le</th><th bgcol
d460: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e or="#d0d0a0">Lin
d470: 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 kRowid</th><th b
d480: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
d490: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 >NodeFrom</th><t
d4a0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
d4b0: 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c a0">NodeTo</th><
d4c0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
d4d0: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 0a0">Cost</th><t
d4e0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
d4f0: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 a0">Geometry</th
d500: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
d510: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0d0a0">Name</th>
d520: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
d530: 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 >Dijkstra</td><t
d540: 64 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c d>Shortest Path<
d550: 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 /td><td>Full</td
d560: 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d ><td>, [dec=
d570: 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 44, hex=2c]<
d580: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
d590: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 ight">0</td><td
d5a0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
d5b0: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 /td><td>Route</t
d5c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
d5d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
d5e0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
d5f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
d600: 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3882</td><td ali
d610: 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e 37 gn="right">154.7
d620: 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 50839</td><td>BL
d630: 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 OB sz=240 GEOMET
d640: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c RY</td><td>NULL<
d650: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
d660: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
d670: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
d680: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
d690: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
d6a0: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
d6b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
d6c0: 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >1</td><td>Link<
d6d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
d6e0: 69 67 68 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 ight">222636</td
d6f0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
d700: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 t">178731</td><t
d710: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
d720: 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 182000</td><td a
d730: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 lign="right">103
d740: 2e 37 33 35 37 32 32 3c 2f 74 64 3e 3c 74 64 3e .735722</td><td>
d750: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
d760: 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c PIETRO ARETINO<
d770: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
d780: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
d790: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
d7a0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
d7b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
d7c0: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
d7d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
d7e0: 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >2</td><td>Link<
d7f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
d800: 69 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 ight">225527</td
d810: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
d820: 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 t">182000</td><t
d830: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
d840: 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 183882</td><td a
d850: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e lign="right">51.
d860: 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 015117</td><td>N
d870: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
d880: 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f LICIO NENCETTI</
d890: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
d8a0: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
d8b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
d8c0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
d8d0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
d8e0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 "right">1</td><t
d8f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
d900: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 0</td><td>Route<
d910: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
d920: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
d930: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 t">178731</td><t
d940: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
d950: 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 184030</td><td a
d960: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 lign="right">176
d970: 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e .364755</td><td>
d980: 42 4c 4f 42 20 73 7a 3d 33 30 34 20 47 45 4f 4d BLOB sz=304 GEOM
d990: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c ETRY</td><td>NUL
d9a0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
d9b0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
d9c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
d9d0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
d9e0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
d9f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 gn="right">1</td
da00: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
da10: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">1</td><td>Lin
da20: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
da30: 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f "right">224014</
da40: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
da50: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
da60: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
da70: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 ">182885</td><td
da80: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 align="right">9
da90: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 4.812424</td><td
daa0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
dab0: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f A PIETRO ARETINO
dac0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
dad0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
dae0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
daf0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
db00: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
db10: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e n="right">1</td>
db20: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
db30: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">2</td><td>Link
db40: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
db50: 72 69 67 68 74 22 3e 32 32 34 38 36 32 3c 2f 74 right">224862</t
db60: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
db70: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c ht">182885</td><
db80: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
db90: 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 >182043</td><td
dba0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 align="right">37
dbb0: 2e 30 39 35 32 38 37 3c 2f 74 64 3e 3c 74 64 3e .095287</td><td>
dbc0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
dbd0: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 MARGARITONE</td
dbe0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
dbf0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
dc00: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
dc10: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
dc20: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
dc30: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 ight">1</td><td
dc40: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c align="right">3<
dc50: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
dc60: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
dc70: 74 22 3e 32 32 36 30 37 30 3c 2f 74 64 3e 3c 74 t">226070</td><t
dc80: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
dc90: 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 182043</td><td a
dca0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 lign="right">184
dcb0: 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 030</td><td alig
dcc0: 6e 3d 22 72 69 67 68 74 22 3e 34 34 2e 34 35 37 n="right">44.457
dcd0: 30 34 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 044</td><td>NULL
dce0: 3c 2f 74 64 3e 3c 74 64 3e 50 49 41 5a 5a 41 20 </td><td>PIAZZA
dcf0: 53 41 4e 54 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 SANT'AGOSTINO</t
dd00: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
dd10: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
dd20: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
dd30: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
dd40: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
dd50: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
dd60: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
dd70: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
dd80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
dd90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
dda0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
ddb0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
ddc0: 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 78754</td><td al
ddd0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 2e ign="right">224.
dde0: 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74 64 3e 42 677095</td><td>B
ddf0: 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 LOB sz=240 GEOME
de00: 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c TRY</td><td>NULL
de10: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
de20: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
de30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
de40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
de50: 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 ULL<td align="ri
de60: 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 ght">2</td><td a
de70: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
de80: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
de90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
dea0: 22 3e 32 31 39 30 34 35 3c 2f 74 64 3e 3c 74 64 ">219045</td><td
deb0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
dec0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
ded0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
dee0: 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 32</td><td align
def0: 3d 22 72 69 67 68 74 22 3e 37 36 2e 30 32 31 30 ="right">76.0210
df00: 30 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 07</td><td>NULL<
df10: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 53 53 41 /td><td>VIA ASSA
df20: 42 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c B</td>..</tr>..<
df30: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
df40: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
df50: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
df60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
df70: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 gn="right">2</td
df80: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
df90: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">2</td><td>Lin
dfa0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
dfb0: 22 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c 2f "right">219058</
dfc0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
dfd0: 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e ght">178732</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 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 ">178754</td><td
e000: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
e010: 34 38 2e 36 35 36 30 38 39 3c 2f 74 64 3e 3c 74 48.656089</td><t
e020: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
e030: 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 IA FRANCESCO CRI
e040: 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d SPI</td>..</tr>.
e050: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
e060: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e070: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e080: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
e090: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f lign="right">3</
e0a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e0b0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
e0c0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
e0d0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
e0e0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
e0f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e100: 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e ght">181999</td>
e110: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e120: 22 3e 32 36 30 2e 31 33 32 33 35 34 3c 2f 74 64 ">260.132354</td
e130: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 ><td>BLOB sz=240
e140: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
e150: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
e160: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
e170: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e180: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e190: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e1a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e1b0: 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 3</td><td align=
e1c0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 "right">1</td><t
e1d0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
e1e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
e1f0: 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 014</td><td alig
e200: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
e210: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e220: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 right">182885</t
e230: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e240: 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 ht">94.812424</t
e250: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e260: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 td>VIA PIETRO AR
e270: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ETINO</td>..</tr
e280: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
e290: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e2a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e2b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e2c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 align="right">3
e2d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e2e0: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
e2f0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
e300: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
e310: 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 46</td><td align
e320: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c ="right">182885<
e330: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e340: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 ight">178880</td
e350: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e360: 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 t">69.727726</td
e370: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e380: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e d>VIA MARGARITON
e390: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
e3a0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
e3b0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e3c0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
e3d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
e3e0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
e3f0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e400: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">3</td><td>Lin
e410: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
e420: 22 72 69 67 68 74 22 3e 32 32 35 38 30 30 3c 2f "right">225800</
e430: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e440: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e ght">178880</td>
e450: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e460: 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 ">181999</td><td
e470: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 align="right">9
e480: 35 2e 35 39 32 32 30 34 3c 2f 74 64 3e 3c 74 64 5.592204</td><td
e490: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
e4a0: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 A FRANCESCO CRIS
e4b0: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a PI</td>..</tr>..
e4c0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
e4d0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e4e0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e4f0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
e500: 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 ign="right">4</t
e510: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e520: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
e530: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
e540: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e550: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
e560: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e570: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c ht">183286</td><
e580: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e590: 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e >300.912208</td>
e5a0: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 <td>BLOB sz=272
e5b0: 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 GEOMETRY</td><td
e5c0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
e5d0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
e5e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e5f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e600: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e610: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
e620: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e630: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 right">1</td><td
e640: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
e650: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 ign="right">2240
e660: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
e670: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
e680: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e690: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 ight">182885</td
e6a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
e6b0: 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 t">94.812424</td
e6c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e6d0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 d>VIA PIETRO ARE
e6e0: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TINO</td>..</tr>
e6f0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
e700: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e710: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e720: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
e730: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c align="right">4<
e740: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e750: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e ight">2</td><td>
e760: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
e770: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 gn="right">22444
e780: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
e790: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f "right">182885</
e7a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e7b0: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e ght">178880</td>
e7c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e7d0: 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e ">69.727726</td>
e7e0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e7f0: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 >VIA MARGARITONE
e800: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
e810: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
e820: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e830: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
e840: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
e850: 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e n="right">4</td>
e860: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e870: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
e880: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e890: 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 right">224414</t
e8a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e8b0: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c ht">178880</td><
e8c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e8d0: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
e8e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 align="right">13
e8f0: 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 6.372057</td><td
e900: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
e910: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 A MARGARITONE</t
e920: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
e930: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
e940: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
e950: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e960: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e970: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e980: 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e td>Unreachable N
e990: 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 odeTo</td><td>NU
e9a0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
e9b0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
e9c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e9d0: 69 67 68 74 22 3e 32 39 30 34 35 38 3c 2f 74 64 ight">290458</td
e9e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e9f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
ea00: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
ea10: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
ea20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
ea30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
ea40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
ea50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
ea60: 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 </td><td>Unreach
ea70: 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e able NodeTo</td>
ea80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
ea90: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
eaa0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
eab0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 34 36 ign="right">1246
eac0: 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 22</td><td>NULL<
ead0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
eae0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
eaf0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
eb00: 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 .<br>..Let's qui
eb10: 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 ckly examine the
eb20: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 resultset retur
eb30: 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 ned by the above
eb40: 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e <b>multi-destin
eb50: 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79 ations</b> query
eb60: 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 ...<ul>..<li>the
eb70: 20 6f 76 65 72 61 6c 6c 20 6c 61 79 6f 75 74 20 overall layout
eb80: 69 73 20 61 6c 6d 6f 73 74 20 65 78 61 63 74 6c is almost exactl
eb90: 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 79 6f y the same as yo
eba0: 75 27 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 u've already see
ebb0: 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 n in the case of
ebc0: 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 <b>single-desti
ebd0: 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 nation</b> queri
ebe0: 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20 es, but in this
ebf0: 63 61 73 65 20 6d 6f 72 65 20 69 6e 64 69 76 69 case more indivi
ec00: 64 75 61 6c 20 74 72 61 76 65 6c 20 73 6f 6c 75 dual travel solu
ec10: 74 69 6f 6e 73 20 61 72 65 20 67 72 6f 75 70 65 tions are groupe
ec20: 64 20 61 6c 74 6f 67 65 74 68 65 72 2e 3c 2f 6c d altogether.</l
ec30: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 i>..<li>the <b>f
ec40: 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 irst row</b> of
ec50: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 69 73 the resultset is
ec60: 20 73 6f 6d 65 77 61 79 20 65 78 63 65 70 74 69 someway excepti
ec70: 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74 68 65 onal, and is the
ec80: 20 75 6e 69 71 75 65 20 72 6f 77 20 6f 66 20 74 unique row of t
ec90: 68 65 20 72 65 73 75 6c 74 73 65 74 20 70 72 65 he resultset pre
eca0: 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e senting <b>NOT N
ecb0: 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 69 ULL</b> values i
ecc0: 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 n the <b>Algorit
ecd0: 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 hm</b>, <b>Reque
ece0: 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f st</b>, <b>Optio
ecf0: 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 ns</b> and <b>De
ed00: 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 63 6f 6c 75 limiter</b> colu
ed10: 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 mns.</li>..<li>t
ed20: 68 65 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62 he <b>RouteId</b
ed30: 3e 20 63 6f 6c 75 6d 6e 20 69 73 20 69 6e 74 65 > column is inte
ed40: 6e 64 65 64 20 74 6f 20 67 72 6f 75 70 20 74 6f nded to group to
ed50: 67 65 74 68 65 72 20 61 6c 6c 20 72 6f 77 73 20 gether all rows
ed60: 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 73 61 6d belonging to sam
ed70: 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f e travel solutio
ed80: 6e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 n (<i>aka</i> <b
ed90: 3e 52 6f 75 74 65 3c 2f 62 3e 29 2e 3c 62 72 3e >Route</b>).<br>
eda0: 0d 0a 52 6f 75 74 65 73 20 61 72 65 20 70 72 6f ..Routes are pro
edb0: 67 72 65 73 73 69 76 65 6c 79 20 6e 75 6d 62 65 gressively numbe
edc0: 72 65 64 20 61 6e 64 20 61 72 65 20 6f 72 64 65 red and are orde
edd0: 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 red accordingly
ede0: 74 6f 20 74 68 65 69 72 20 3c 62 3e 74 6f 74 61 to their <b>tota
edf0: 6c 20 63 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c 69 3e l cost</b>.</li>
ee00: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 75 ..<li>the <b>Rou
ee10: 74 65 52 6f 77 3c 2f 62 3e 20 63 6f 6c 75 6d 6e teRow</b> column
ee20: 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 6e has the same in
ee30: 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61 73 20 terpretation as
ee40: 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e in single-destin
ee50: 61 74 69 6f 6e 20 72 65 73 75 6c 74 73 65 74 73 ation resultsets
ee60: 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e 64 65 , and is intende
ee70: 64 20 74 6f 20 70 72 6f 67 72 65 73 73 69 76 65 d to progressive
ee80: 6c 79 20 6f 72 64 65 72 20 69 6e 20 74 68 65 20 ly order in the
ee90: 63 6f 72 72 65 63 74 20 73 65 71 75 65 6e 63 65 correct sequence
eea0: 20 61 6c 6c 20 4c 69 6e 6b 73 20 63 6f 6e 6e 65 all Links conne
eeb0: 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67 69 6e cting the Origin
eec0: 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e 61 and the Destina
eed0: 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 52 6f 75 tion of each Rou
eee0: 74 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 52 6f 75 74 te.<br>..<b>Rout
eef0: 65 52 6f 77 3d 30 3c 2f 62 3e 20 61 6c 77 61 79 eRow=0</b> alway
ef00: 73 20 69 64 65 6e 74 69 66 69 65 73 20 74 68 65 s identifies the
ef10: 20 68 65 61 64 65 72 20 72 6f 77 20 6f 66 20 65 header row of e
ef20: 61 63 68 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 ach travel solut
ef30: 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e ion.</li>..</ul>
ef40: 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 69 63 ..<br>..<u>Notic
ef50: 65 3c 2f 75 3e 3a 20 74 68 65 20 6c 61 73 74 20 e</u>: the last
ef60: 74 77 6f 20 72 6f 77 73 20 69 6e 20 74 68 65 20 two rows in the
ef70: 72 65 73 75 6c 74 73 65 74 20 72 65 70 6f 72 74 resultset report
ef80: 73 20 3c 62 3e 55 6e 72 65 61 63 68 61 62 6c 65 s <b>Unreachable
ef90: 20 4e 6f 64 65 54 6f 09 3c 2f 62 3e 20 69 6e 20 NodeTo.</b> in
efa0: 74 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20 the <b>Role</b>
efb0: 63 6f 6c 75 6d 6e 2c 20 74 68 75 73 20 69 6d 70 column, thus imp
efc0: 6c 79 69 6e 67 20 61 20 3c 62 3e 66 6f 72 62 69 lying a <b>forbi
efd0: 64 64 65 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 3c dden connection<
efe0: 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 77 /b>.<br>..This w
eff0: 61 73 20 70 75 72 70 6f 73 65 6c 79 20 69 6e 74 as purposely int
f000: 65 6e 64 65 64 3a 20 4e 6f 64 65 73 20 3c 62 3e ended: Nodes <b>
f010: 32 39 30 34 35 38 3c 2f 62 3e 20 61 6e 64 20 3c 290458</b> and <
f020: 62 3e 31 32 34 36 32 32 3c 2f 62 3e 20 61 72 65 b>124622</b> are
f030: 20 6c 6f 63 61 74 65 64 20 6f 6e 20 45 6c 62 61 located on Elba
f040: 20 61 6e 64 20 47 69 67 6c 69 6f 20 69 73 6c 61 and Giglio isla
f050: 6e 64 73 2e 20 54 68 65 20 75 6e 64 65 72 6c 61 nds. The underla
f060: 79 69 6e 67 20 4e 65 74 77 6f 72 6b 20 69 73 20 ying Network is
f070: 62 61 73 65 64 20 6f 6e 20 3c 62 3e 49 74 65 72 based on <b>Iter
f080: 2e 4e 65 74 3c 2f 62 3e 20 74 68 61 74 20 64 6f .Net</b> that do
f090: 6e 27 74 20 73 75 70 70 6f 72 74 73 20 66 65 72 n't supports fer
f0a0: 72 79 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 ry connections,
f0b0: 73 6f 20 61 6e 79 20 74 72 61 76 65 6c 20 73 6f so any travel so
f0c0: 6c 75 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 lution between t
f0d0: 68 65 20 69 73 6c 61 6e 64 73 20 61 6e 64 20 74 he islands and t
f0e0: 68 65 20 6d 61 69 6e 6c 61 6e 64 20 77 69 6c 6c he mainland will
f0f0: 20 61 6c 77 61 79 73 20 66 61 69 6c 2e 0d 0a 3c always fail...<
f100: 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 41 6c 73 br><br><br>..Als
f110: 6f 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 o <b>multi-desti
f120: 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 nations</b> quer
f130: 69 65 73 20 63 61 6e 20 62 65 20 63 75 73 74 6f ies can be custo
f140: 6d 69 7a 65 64 2c 20 62 75 74 20 74 68 65 20 63 mized, but the c
f150: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 72 75 6c onfiguration rul
f160: 65 73 20 73 6c 69 67 68 74 6c 79 20 64 69 66 66 es slightly diff
f170: 65 72 20 66 72 6f 6d 20 77 68 61 74 20 79 6f 75 er from what you
f180: 20 68 61 76 65 20 61 6c 72 65 61 64 79 20 73 65 have already se
f190: 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f en in the case o
f1a0: 66 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 f single-destina
f1b0: 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 tion...<ul>..<li
f1c0: 3e 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 ><b>Algorithm</b
f1d0: 3e 3a 20 6f 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 >: only <b>Dijks
f1e0: 74 72 61 3c 2f 62 3e 20 69 73 20 73 75 70 70 6f tra</b> is suppo
f1f0: 72 74 65 64 20 62 79 20 6d 75 6c 74 69 2d 64 65 rted by multi-de
f200: 73 74 69 6e 61 74 69 6f 6e 2c 20 61 6e 64 20 77 stination, and w
f210: 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63 69 74 6c ill be implicitl
f220: 79 20 61 73 73 75 6d 65 64 20 65 76 65 6e 20 77 y assumed even w
f230: 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 74 hen the alternat
f240: 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c ive <b>A*</b> al
f250: 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72 65 gorithm is curre
f260: 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 3c 2f ntly selected.</
f270: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 li>..<li><b>Opti
f280: 6f 6e 73 3c 2f 62 3e 3a 20 74 68 65 20 75 73 75 ons</b>: the usu
f290: 61 6c 20 3c 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 al <b>FULL</b>,
f2a0: 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c <b>SIMPLE</b>, <
f2b0: 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 b>NO LINKS</b> a
f2c0: 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 nd <b>NO GEOMETR
f2d0: 49 45 53 3c 2f 62 3e 20 61 72 65 20 73 75 70 70 IES</b> are supp
f2e0: 6f 72 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 68 orted and will h
f2f0: 61 76 65 20 74 68 65 20 73 61 6d 65 20 65 66 66 ave the same eff
f300: 65 63 74 20 61 73 20 69 6e 20 73 69 6e 67 6c 65 ect as in single
f310: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 -destination que
f320: 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c ries.</li>..</ul
f330: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 >..<verbatim>..U
f340: 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 PDATE byfoot SET
f350: 20 4f 70 74 69 6f 6e 73 20 3d 20 27 53 49 4d 50 Options = 'SIMP
f360: 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 LE';....SELECT A
f370: 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 lgorithm, Reques
f380: 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 t, Options, Deli
f390: 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 miter, RouteId,
f3a0: 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 RouteRow, Role,
f3b0: 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 LinkRowid, NodeF
f3c0: 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 rom, NodeTo, Cos
f3d0: 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d t, Geometry, Nam
f3e0: 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a e..FROM byfoot..
f3f0: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d WHERE NodeFrom =
f400: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 178731 AND Node
f410: 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 32 39 30 To = '183286,290
f420: 34 35 38 2c 31 38 31 39 39 39 2c 31 38 34 30 33 458,181999,18403
f430: 30 2c 31 32 34 36 32 32 2c 31 38 33 38 38 32 2c 0,124622,183882,
f440: 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 178754';..</verb
f450: 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f atim>..The follo
f460: 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 wing table shows
f470: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 the resultset r
f480: 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 73 eturned by the s
f490: 61 6d 65 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e ame multi-destin
f4a0: 61 74 69 6f 6e 20 71 75 65 72 79 20 75 73 65 64 ation query used
f4b0: 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 in the previous
f4c0: 20 65 78 61 6d 70 6c 65 20 61 66 74 65 72 20 65 example after e
f4d0: 6e 61 62 6c 69 6e 67 20 74 68 65 20 3c 62 3e 53 nabling the <b>S
f4e0: 49 4d 50 4c 45 3c 2f 62 3e 20 6f 70 74 69 6f 6e IMPLE</b> option
f4f0: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 ...<br><br>..<ta
f500: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 ble border="1" b
f510: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 gcolor="#ffffcf"
f520: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 cellspacing="4"
f530: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
f540: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c >..<tr><th bgcol
f550: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 or="#d0d0a0">Alg
f560: 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 orithm</th><th b
f570: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
f580: 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 >Request</th><th
f590: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
f5a0: 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 0">Options</th><
f5b0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
f5c0: 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 0a0">Delimiter</
f5d0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
f5e0: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64 #d0d0a0">RouteId
f5f0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
f600: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 ="#d0d0a0">Route
f610: 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f Row</th><th bgco
f620: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
f630: 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c le</th><th bgcol
f640: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e or="#d0d0a0">Lin
f650: 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 kRowid</th><th b
f660: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
f670: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 >NodeFrom</th><t
f680: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
f690: 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c a0">NodeTo</th><
f6a0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
f6b0: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 0a0">Cost</th><t
f6c0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
f6d0: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 a0">Geometry</th
f6e0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
f6f0: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0d0a0">Name</th>
f700: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
f710: 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 >Dijkstra</td><t
f720: 64 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c d>Shortest Path<
f730: 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 /td><td>Full</td
f740: 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d ><td>, [dec=
f750: 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 44, hex=2c]<
f760: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
f770: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 ight">0</td><td
f780: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
f790: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 /td><td>Route</t
f7a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
f7b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
f7c0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
f7d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
f7e0: 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3882</td><td ali
f7f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e 37 gn="right">154.7
f800: 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 50839</td><td>NU
f810: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
f820: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
f830: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
f840: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
f850: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
f860: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
f870: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c ="right">1</td><
f880: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
f890: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
f8a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
f8b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
f8c0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
f8d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
f8e0: 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 >184030</td><td
f8f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
f900: 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 74 64 6.364755</td><td
f910: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
f920: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
f930: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
f940: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
f950: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
f960: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
f970: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
f980: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
f990: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
f9a0: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
f9b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
f9c0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
f9d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
f9e0: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c ht">178754</td><
f9f0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
fa00: 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f 74 64 3e >224.677095</td>
fa10: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fa20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
fa30: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
fa40: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fa50: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fa60: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fa70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 align="right">3
fa80: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
fa90: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
faa0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
fab0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
fac0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
fad0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
fae0: 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
faf0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
fb00: 68 74 22 3e 32 36 30 2e 31 33 32 33 35 34 3c 2f ht">260.132354</
fb10: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fb20: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
fb30: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
fb40: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fb50: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fb60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fb70: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
fb80: 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">4</td><td alig
fb90: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
fba0: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
fbb0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
fbc0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
fbd0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
fbe0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 n="right">183286
fbf0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
fc00: 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 right">300.91220
fc10: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
fc20: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fc30: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
fc40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
fc50: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fc60: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fc70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fc80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fc90: 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 >Unreachable Nod
fca0: 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c eTo</td><td>NULL
fcb0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
fcc0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
fcd0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
fce0: 68 74 22 3e 32 39 30 34 35 38 3c 2f 74 64 3e 3c ht">290458</td><
fcf0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
fd00: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fd10: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
fd20: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
fd30: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
fd40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
fd50: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fd60: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fd70: 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 td><td>Unreachab
fd80: 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 le NodeTo</td><t
fd90: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
fda0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
fdb0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
fdc0: 6e 3d 22 72 69 67 68 74 22 3e 31 32 34 36 32 32 n="right">124622
fdd0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
fde0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
fdf0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
fe00: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
fe10: 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c br>..The map bel
fe20: 6f 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73 ow graphically s
fe30: 68 6f 77 73 20 74 68 65 20 70 72 65 76 69 6f 75 hows the previou
fe40: 73 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 s <b>multi-desti
fe50: 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 nations</b> quer
fe60: 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a ies...<br><br>..
fe70: 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a <img src="https:
fe80: 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 //www.gaia-gis.i
fe90: 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 t/gaia-sins/rout
fea0: 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e 67 ing-figs/routing
feb0: 33 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 33 3.jpg" alt="fig3
fec0: 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65 ">..<ul>..<li>Re
fed0: 64 20 73 74 61 72 3a 20 74 68 65 20 4f 72 69 67 d star: the Orig
fee0: 69 6e 20 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c in Node.</li>..<
fef0: 6c 69 3e 47 72 65 65 6e 20 64 6f 74 73 3a 20 74 li>Green dots: t
ff00: 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 4e he Destination N
ff10: 6f 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e odes.</li>..<li>
ff20: 59 65 6c 6c 6f 77 20 6c 69 6e 65 73 3a 20 61 6c Yellow lines: al
ff30: 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 74 72 61 l individual tra
ff40: 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 73 2e 3c 2f vel solutions.</
ff50: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e li>..</ul>..<br>
ff60: 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 ..<table bgcolor
ff70: 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73 ="#ffb060" cells
ff80: 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c pacing="10" cell
ff90: 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e padding="6"><tr>
ffa0: 3c 74 64 3e 0d 0a 3c 68 33 3e 44 61 6e 67 65 72 <td>..<h3>Danger
ffb0: 6f 75 73 20 70 69 74 66 61 6c 6c 73 20 72 65 6c ous pitfalls rel
ffc0: 61 74 65 64 20 74 6f 20 6d 75 6c 74 69 70 6c 65 ated to multiple
ffd0: 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 6c 69 73 destination lis
ffe0: 74 73 3c 2f 68 33 3e 0d 0a 53 51 4c 20 73 79 6e ts</h3>..SQL syn
fff0: 74 61 78 20 64 69 72 65 63 74 6c 79 20 61 6c 6c tax directly all
10000 6f 77 73 20 74 6f 20 73 70 65 63 69 66 79 20 6c ows to specify l
10010 69 73 74 73 20 6f 66 20 20 6d 75 6c 74 69 70 6c ists of multipl
10020 65 20 76 61 6c 75 65 73 2c 20 73 6f 20 6d 61 79 e values, so may
10030 20 62 65 20 79 6f 75 20 61 72 65 20 6e 6f 77 20 be you are now
10040 77 6f 6e 64 65 72 69 6e 67 20 61 62 6f 75 74 20 wondering about
10050 77 72 69 74 69 6e 67 20 74 68 65 20 3c 62 3e 6d writing the <b>m
10060 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74 ultiple destinat
10070 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79 20 74 ions</b> query t
10080 65 73 74 65 64 20 69 6e 20 74 68 65 20 70 72 65 ested in the pre
10090 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 73 20 74 vious examples t
100a0 68 69 73 20 77 61 79 3a 0d 0a 3c 76 65 72 62 61 his way:..<verba
100b0 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67 tim>..SELECT Alg
100c0 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c orithm, Request,
100d0 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 Options, Delimi
100e0 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f ter, RouteId, Ro
100f0 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 uteRow, Role, Li
10100 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f nkRowid, NodeFro
10110 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c m, NodeTo, Cost,
10120 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d Geometry, Name.
10130 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 .FROM byfoot..WH
10140 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 ERE NodeFrom = 1
10150 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 78731 AND NodeTo
10160 20 49 4e 20 28 31 38 33 32 38 36 2c 20 32 39 30 IN (183286, 290
10170 34 35 38 2c 20 31 38 31 39 39 39 2c 20 31 38 34 458, 181999, 184
10180 30 33 30 2c 20 31 32 34 36 32 32 2c 20 31 38 33 030, 124622, 183
10190 38 38 32 2c 20 31 37 38 37 35 34 29 3b 0d 0a 3c 882, 178754);..<
101a0 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 72 /verbatim>..Ther
101b0 65 20 69 73 20 61 20 76 65 72 79 20 67 6f 6f 64 e is a very good
101c0 20 72 65 61 73 6f 6e 20 64 69 73 63 6f 75 72 61 reason discoura
101d0 67 69 6e 67 20 66 72 6f 6d 20 64 6f 69 6e 67 20 ging from doing
101e0 73 75 63 68 20 61 20 74 68 69 6e 67 2c 20 6c 65 such a thing, le
101f0 74 27 73 20 73 65 65 20 77 68 79 2e 3c 62 72 3e t's see why.<br>
10200 0d 0a 3c 62 3e 53 51 4c 69 74 65 3c 2f 62 3e 20 ..<b>SQLite</b>
10210 77 69 6c 6c 20 70 72 6f 63 65 73 73 20 61 20 72 will process a r
10220 65 71 75 65 73 74 20 77 72 69 74 74 65 6e 20 74 equest written t
10230 68 69 73 20 77 61 79 20 62 79 20 72 65 70 65 61 his way by repea
10240 74 65 64 6c 79 20 63 61 6c 6c 69 6e 67 20 56 69 tedly calling Vi
10250 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 70 61 73 rtualRouting pas
10260 73 69 6e 67 20 65 61 63 68 20 74 69 6d 65 20 61 sing each time a
10270 20 73 69 6e 67 6c 65 20 44 65 73 74 69 6e 61 74 single Destinat
10280 69 6f 6e 3b 20 61 6e 64 20 63 6f 6e 73 65 71 75 ion; and consequ
10290 65 6e 74 6c 79 20 3c 62 3e 56 69 72 74 75 61 6c ently <b>Virtual
102a0 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 77 69 6c 6c Routing</b> will
102b0 20 6e 65 76 65 72 20 72 65 63 65 69 76 65 20 74 never receive t
102c0 68 65 20 63 72 69 74 69 63 61 6c 20 69 6e 66 6f he critical info
102d0 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 61 20 73 rmation that a s
102e0 69 6e 67 6c 65 20 6d 6f 6e 6f 6c 69 74 68 69 63 ingle monolithic
102f0 20 72 65 71 75 65 73 74 20 77 61 73 20 69 6e 74 request was int
10300 65 6e 64 65 64 20 74 6f 20 62 65 20 65 78 65 63 ended to be exec
10310 75 74 65 64 20 69 6e 20 61 20 73 69 6e 67 6c 65 uted in a single
10320 20 73 68 6f 74 2e 20 53 6f 20 74 68 65 20 72 65 shot. So the re
10330 71 75 65 73 74 20 63 6f 6e 74 65 78 74 20 77 69 quest context wi
10340 6c 6c 20 62 65 20 65 61 73 69 6c 79 20 6d 69 73 ll be easily mis
10350 69 6e 74 65 72 70 72 65 74 65 64 2c 20 61 6e 64 interpreted, and
10360 20 61 6e 79 20 65 78 70 65 63 74 65 64 20 73 70 any expected sp
10370 65 65 64 20 62 65 6e 65 66 69 74 20 77 69 6c 6c eed benefit will
10380 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 66 be completely f
10390 72 75 73 74 72 61 74 65 64 2e 0d 0a 3c 68 33 3e rustrated...<h3>
103a0 42 65 77 61 72 65 3c 2f 68 33 3e 0d 0a 3c 62 3e Beware</h3>..<b>
103b0 4e 65 76 65 72 20 65 76 65 72 3c 2f 62 3e 20 61 Never ever</b> a
103c0 74 74 65 6d 70 74 20 74 6f 20 64 65 66 69 6e 65 ttempt to define
103d0 20 61 20 6c 69 73 74 20 6f 66 20 6d 75 6c 74 69 a list of multi
103e0 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 ple destinations
103f0 20 75 73 69 6e 67 20 74 68 65 20 73 74 61 6e 64 using the stand
10400 61 72 64 20 53 51 4c 20 73 79 6e 74 61 78 20 3c ard SQL syntax <
10410 62 3e 3c 69 3e 57 48 45 52 45 20 4e 6f 64 65 54 b><i>WHERE NodeT
10420 6f 20 49 4e 20 28 2e 2e 2e 2e 2e 2e 29 3c 2f 69 o IN (......)</i
10430 3e 3c 2f 62 3e 2c 20 62 65 63 61 75 73 65 20 74 ></b>, because t
10440 68 69 73 20 77 69 6c 6c 20 63 65 72 74 61 69 6e his will certain
10450 6c 79 20 63 61 75 73 65 20 6d 61 6e 79 20 75 6e ly cause many un
10460 65 78 70 65 63 74 65 64 20 74 72 6f 75 62 6c 65 expected trouble
10470 73 2e 3c 62 72 3e 0d 0a 42 61 64 6c 79 20 66 6f s.<br>..Badly fo
10480 72 6d 61 74 74 65 64 20 72 65 73 75 6c 74 73 65 rmatted resultse
10490 74 73 20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20 ts will be then
104a0 72 65 74 75 72 6e 65 64 2c 20 6d 61 79 20 62 65 returned, may be
104b0 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77 72 6f 6e containing wron
104c0 67 20 72 65 73 75 6c 74 73 2e 20 3c 62 3e 59 6f g results. <b>Yo
104d0 75 20 61 72 65 20 77 61 72 6e 65 64 3c 2f 62 3e u are warned</b>
104e0 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e .<br><br>..</td>
104f0 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c </tr></table>..<
10500 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f br>..<table bgco
10510 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 lor="#c0ffc0" ce
10520 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 llspacing="10" c
10530 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c ellpadding="6"><
10540 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 6f 77 tr><td>..<h3>How
10550 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 66 6f to correctly fo
10560 72 6d 61 74 20 6d 75 6c 74 69 70 6c 65 20 64 65 rmat multiple de
10570 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74 73 stinations lists
10580 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52 6f </h3>..VirtualRo
10590 75 74 69 6e 67 20 61 6c 77 61 79 73 20 65 78 70 uting always exp
105a0 65 63 74 73 20 74 6f 20 72 65 63 65 69 76 65 20 ects to receive
105b0 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 a <b>multi-desti
105c0 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 6c 69 73 74 nations</b> list
105d0 20 61 73 20 61 20 3c 62 3e 54 45 58 54 3c 2f 62 as a <b>TEXT</b
105e0 3e 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e > string contain
105f0 69 6e 67 20 74 69 67 68 74 6c 79 20 70 61 63 6b ing tightly pack
10600 65 64 20 76 61 6c 75 65 73 20 73 65 70 61 72 61 ed values separa
10610 74 65 64 20 62 79 20 61 20 63 6f 6e 76 65 6e 74 ted by a convent
10620 69 6f 6e 61 6c 20 3c 62 3e 64 65 6c 69 6d 69 74 ional <b>delimit
10630 65 72 3c 2f 62 3e 20 28 75 73 75 61 6c 6c 79 20 er</b> (usually
10640 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 61 represented by a
10650 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 29 2e 3c <b>comma</b>).<
10660 62 72 3e 0d 0a 45 78 61 6d 70 6c 65 73 20 6f 66 br>..Examples of
10670 20 3c 62 3e 77 65 6c 6c 20 66 6f 72 6d 61 74 74 <b>well formatt
10680 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d 64 65 73 ed</b> multi-des
10690 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74 73 3a tinations lists:
106a0 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 27 31 ..<verbatim>..'1
106b0 2c 32 2c 33 2c 34 2c 35 2c 31 30 2c 31 30 30 2c ,2,3,4,5,10,100,
106c0 31 30 30 30 2c 31 30 30 30 30 30 27 20 20 20 2d 1000,100000' -
106d0 2d 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20 49 - integer Node I
106e0 44 73 0d 0a 0d 0a 27 41 31 30 30 42 2c 41 31 30 Ds....'A100B,A10
106f0 30 46 2c 42 32 35 30 5a 2c 43 30 31 30 4d 2c 5a 0F,B250Z,C010M,Z
10700 39 39 39 41 27 20 20 2d 2d 20 61 6c 70 68 61 6e 999A' -- alphan
10710 75 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f 64 65 umeric Node Code
10720 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a s..</verbatim>..
10730 45 78 61 6d 70 6c 65 73 20 6f 66 20 3c 62 3e 62 Examples of <b>b
10740 61 64 6c 79 20 66 6f 72 6d 61 74 74 65 64 3c 2f adly formatted</
10750 62 3e 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 b> multi-destina
10760 74 69 6f 6e 73 20 6c 69 73 74 73 3a 0d 0a 3c 76 tions lists:..<v
10770 65 72 62 61 74 69 6d 3e 0d 0a 27 20 20 31 2c 20 erbatim>..' 1,
10780 32 2c 20 33 2c 20 34 20 2c 20 35 20 2c 20 31 30 2, 3, 4 , 5 , 10
10790 2c 20 31 30 30 2c 20 31 30 30 30 2c 20 31 30 30 , 100, 1000, 100
107a0 30 30 30 20 20 27 20 20 20 2d 2d 20 69 6e 74 65 000 ' -- inte
107b0 67 65 72 20 4e 6f 64 65 20 49 44 73 0d 0a 0d 0a ger Node IDs....
107c0 27 20 20 41 31 30 30 42 2c 20 41 31 30 30 46 20 ' A100B, A100F
107d0 2c 20 42 32 35 30 5a 20 2c 20 43 30 31 30 4d 2c , B250Z , C010M,
107e0 20 5a 39 39 39 41 20 20 27 20 20 20 20 20 20 2d Z999A ' -
107f0 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 4e - alphanumeric N
10800 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76 65 72 ode Codes..</ver
10810 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c batim>..<u>Note<
10820 2f 75 3e 3a 20 61 6c 6c 20 77 68 69 74 65 73 70 /u>: all whitesp
10830 61 63 65 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 aces immediately
10840 20 70 72 65 63 65 64 69 6e 67 20 6f 72 20 66 6f preceding or fo
10850 6c 6c 6f 77 69 6e 67 20 74 68 65 20 3c 62 3e 64 llowing the <b>d
10860 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 77 69 6c elimiter</b> wil
10870 6c 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 l be considered
10880 74 6f 20 62 65 20 69 6e 74 65 67 72 61 6c 20 70 to be integral p
10890 61 72 74 20 6f 66 20 74 68 65 20 76 61 6c 75 65 art of the value
108a0 20 69 74 73 65 6c 66 2e 3c 62 72 3e 0d 0a 54 68 itself.<br>..Th
108b0 69 73 20 77 69 6c 6c 20 68 61 76 65 20 6e 6f 20 is will have no
108c0 61 64 76 65 72 73 65 20 63 6f 6e 73 65 71 75 65 adverse conseque
108d0 6e 63 65 73 20 69 6e 20 74 68 65 20 63 61 73 65 nces in the case
108e0 20 6f 66 20 69 6e 74 65 67 65 72 20 76 61 6c 75 of integer valu
108f0 65 73 2c 20 62 75 74 20 63 61 6e 20 65 61 73 69 es, but can easi
10900 6c 79 20 68 61 76 65 20 63 61 74 61 73 74 72 6f ly have catastro
10910 70 68 69 63 20 65 66 66 65 63 74 73 20 6f 6e 20 phic effects on
10920 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 76 61 6c alphanumeric val
10930 75 65 73 2e 0d 0a 3c 68 33 3e 44 65 66 69 6e 69 ues...<h3>Defini
10940 6e 67 20 61 20 63 75 73 74 6f 6d 20 64 65 6c 69 ng a custom deli
10950 6d 69 74 65 72 3c 2f 68 33 3e 0d 0a 53 6f 6d 65 miter</h3>..Some
10960 74 69 6d 65 73 20 69 74 20 63 6f 75 6c 64 20 62 times it could b
10970 65 20 75 73 65 66 75 6c 20 73 65 74 74 69 6e 67 e useful setting
10980 20 75 70 20 61 20 64 65 6c 69 6d 69 74 65 72 20 up a delimiter
10990 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 3c different from <
109a0 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 2e 0d 0a 3c 76 b>comma</b>...<v
109b0 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 erbatim>..UPDATE
109c0 20 62 79 66 6f 6f 74 20 53 45 54 20 44 65 6c 69 byfoot SET Deli
109d0 6d 69 74 65 72 20 3d 20 27 2a 27 3b 0d 0a 0d 0a miter = '*';....
109e0 53 45 4c 45 43 54 20 44 65 6c 69 6d 69 74 65 72 SELECT Delimiter
109f0 20 46 52 4f 4d 20 62 79 66 6f 6f 74 3b 0d 0a 2d FROM byfoot;..-
10a00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
10a10 2d 0d 0a 2a 20 5b 64 65 63 3d 34 32 2c 20 68 65 -..* [dec=42, he
10a20 78 3d 32 61 5d 0d 0a 3c 2f 76 65 72 62 61 74 69 x=2a]..</verbati
10a30 6d 3e 20 0d 0a 59 6f 75 20 73 69 6d 70 6c 79 20 m> ..You simply
10a40 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 65 20 have to execute
10a50 61 6e 20 3c 62 3e 55 50 44 41 54 45 3c 2f 62 3e an <b>UPDATE</b>
10a60 20 73 74 61 74 65 6d 65 6e 74 20 62 79 20 73 70 statement by sp
10a70 65 63 69 66 79 69 6e 67 20 74 68 65 20 6e 65 77 ecifying the new
10a80 20 64 65 6c 69 6d 69 74 65 72 20 76 61 6c 75 65 delimiter value
10a90 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e .<br><br>..</td>
10aa0 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c </tr></table>..<
10ab0 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 br><br>..<hr><br
10ac0 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 >..<h1><a name="
10ad0 69 73 6f 63 68 72 6f 6e 65 22 3e 36 20 2d 20 53 isochrone">6 - S
10ae0 6f 6c 76 69 6e 67 20 49 73 6f 63 68 72 6f 6e 65 olving Isochrone
10af0 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 problems</a></h
10b00 31 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 1>..<a href="htt
10b10 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 ps://en.wikipedi
10b20 61 2e 6f 72 67 2f 77 69 6b 69 2f 49 73 6f 63 68 a.org/wiki/Isoch
10b30 72 6f 6e 65 5f 6d 61 70 22 3e 49 73 6f 63 68 72 rone_map">Isochr
10b40 6f 6e 65 73 3c 2f 61 3e 20 61 72 65 20 61 72 65 ones</a> are are
10b50 61 73 20 28 6f 72 20 63 75 72 76 65 73 29 20 63 as (or curves) c
10b60 6f 6e 6e 65 63 74 69 6e 67 20 70 6f 69 6e 74 73 onnecting points
10b70 20 61 74 20 77 68 69 63 68 20 73 6f 6d 65 74 68 at which someth
10b80 69 6e 67 20 6f 63 63 75 72 73 20 6f 72 20 61 72 ing occurs or ar
10b90 72 69 76 65 73 20 61 74 20 74 68 65 20 73 61 6d rives at the sam
10ba0 65 20 74 69 6d 65 2e 3c 62 72 3e 0d 0a 49 73 6f e time.<br>..Iso
10bb0 63 68 72 6f 6e 65 73 20 61 72 65 20 75 73 75 61 chrones are usua
10bc0 6c 6c 79 20 72 65 6c 61 74 65 64 20 74 6f 20 4e lly related to N
10bd0 65 74 77 6f 72 6b 20 41 6e 61 6c 79 73 69 73 20 etwork Analysis
10be0 61 6e 64 20 52 6f 75 74 69 6e 67 20 62 65 63 61 and Routing beca
10bf0 75 73 65 20 74 68 65 79 20 61 6c 6c 6f 77 20 74 use they allow t
10c00 6f 20 65 61 73 69 6c 79 20 69 64 65 6e 74 69 66 o easily identif
10c10 79 20 77 68 69 63 68 20 73 70 65 63 69 66 69 63 y which specific
10c20 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 portion of the
10c30 4e 65 74 77 6f 72 6b 20 63 61 6e 20 62 65 20 72 Network can be r
10c40 65 61 63 68 65 64 20 73 74 61 72 74 69 6e 67 20 eached starting
10c50 62 79 20 73 6f 6d 65 20 3c 62 3e 6f 72 69 67 69 by some <b>origi
10c60 6e 20 4e 6f 64 65 3c 2f 62 3e 20 73 70 65 6e 64 n Node</b> spend
10c70 69 6e 67 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e ing no more than
10c80 20 61 20 67 69 76 65 6e 20 3c 62 3e 43 6f 73 74 a given <b>Cost
10c90 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 41 </b>.<br><br>..A
10ca0 73 20 79 6f 75 20 68 61 76 65 20 61 6c 72 65 61 s you have alrea
10cb0 64 79 20 73 65 65 6e 20 61 62 6f 75 74 20 3c 62 dy seen about <b
10cc0 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 >multi-destinati
10cd0 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 65 73 2c 20 on</b> queries,
10ce0 74 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20 41 the Dijkstra's A
10cf0 6c 67 6f 72 69 74 68 6d 20 72 6f 62 75 73 74 6c lgorithm robustl
10d00 79 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 77 y ensures that w
10d10 68 65 6e 20 61 20 64 65 73 74 69 6e 61 74 69 6f hen a destinatio
10d20 6e 20 69 73 20 72 65 61 63 68 65 64 20 61 6c 6c n is reached all
10d30 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e the destination
10d40 73 20 70 72 65 73 65 6e 74 69 6e 67 20 61 20 3c s presenting a <
10d50 62 3e 6c 65 73 73 65 72 20 63 6f 73 74 3c 2f 62 b>lesser cost</b
10d60 3e 20 68 61 76 65 20 61 6c 72 65 61 64 79 20 62 > have already b
10d70 65 65 6e 20 72 65 61 63 68 65 64 20 69 6e 20 73 een reached in s
10d80 6f 6d 65 20 70 72 65 76 69 6f 75 73 20 73 74 65 ome previous ste
10d90 70 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 p of the process
10da0 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f .<br>..This allo
10db0 77 73 20 74 6f 20 65 66 66 69 63 69 65 6e 74 6c ws to efficientl
10dc0 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 49 73 6f y support <b>Iso
10dd0 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 69 chrone</b> queri
10de0 65 73 2e 0d 0a 59 6f 75 20 73 69 6d 70 6c 79 20 es...You simply
10df0 68 61 76 65 20 74 6f 20 73 70 65 63 69 66 79 20 have to specify
10e00 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69 67 a <b>single orig
10e10 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 20 in Node</b> and
10e20 61 20 3c 62 3e 43 6f 73 74 20 74 68 72 65 73 68 a <b>Cost thresh
10e30 6f 6c 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e old</b>.<br><br>
10e40 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65 ..<u>Note</u>: e
10e50 78 65 63 75 74 69 6e 67 20 61 6e 20 49 73 6f 63 xecuting an Isoc
10e60 68 72 6f 6e 65 20 71 75 65 72 79 20 72 65 71 75 hrone query requ
10e70 69 72 65 73 20 61 20 3c 62 3e 70 72 6f 63 65 73 ires a <b>proces
10e80 73 69 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 74 68 sing time</b> th
10e90 61 74 20 69 73 6e 27 74 20 74 68 65 20 3c 75 3e at isn't the <u>
10ea0 73 75 6d 20 6f 66 20 61 6c 6c 20 69 6e 64 69 76 sum of all indiv
10eb0 69 64 75 61 6c 20 74 69 6d 69 6e 67 73 20 66 6f idual timings fo
10ec0 72 20 65 61 63 68 20 64 65 73 74 69 6e 61 74 69 r each destinati
10ed0 6f 6e 3c 2f 75 3e 2c 20 62 75 74 20 73 69 6d 70 on</u>, but simp
10ee0 6c 79 20 69 73 20 74 68 65 20 3c 75 3e 74 69 6d ly is the <u>tim
10ef0 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 e required to re
10f00 61 63 68 20 74 68 65 20 6d 6f 73 74 20 63 6f 73 ach the most cos
10f10 74 6c 79 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c tly destination<
10f20 2f 75 3e 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 /u>.<br>..<verba
10f30 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67 tim>..SELECT Alg
10f40 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c orithm, Request,
10f50 20 52 6f 6c 65 2c 20 4e 6f 64 65 46 72 6f 6d 2c Role, NodeFrom,
10f60 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 NodeTo, Cost, G
10f70 65 6f 6d 65 74 72 79 0d 0a 46 52 4f 4d 20 62 79 eometry..FROM by
10f80 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 foot..WHERE Node
10f90 46 72 6f 6d 20 3d 20 31 38 31 39 39 39 20 41 4e From = 181999 AN
10fa0 44 20 43 6f 73 74 20 3c 3d 20 31 30 30 30 2e 30 D Cost <= 1000.0
10fb0 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a ;..</verbatim>..
10fc0 41 6e 20 3c 62 3e 49 73 6f 63 68 72 6f 6e 65 3c An <b>Isochrone<
10fd0 2f 62 3e 20 71 75 65 72 79 20 61 73 20 73 75 70 /b> query as sup
10fe0 70 6f 72 74 65 64 20 62 79 20 3c 62 3e 56 69 72 ported by <b>Vir
10ff0 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 tualRouting</b>
11000 6a 75 73 74 20 72 65 71 75 69 72 65 73 20 74 6f just requires to
11010 20 73 70 65 63 69 66 79 3a 0d 0a 3c 75 6c 3e 0d specify:..<ul>.
11020 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64 65 46 72 6f 6d .<li><b>NodeFrom
11030 3c 2f 62 3e 3a 20 74 68 65 20 3c 62 3e 3c 69 3e </b>: the <b><i>
11040 49 44 3c 2f 69 3e 3c 2f 62 3e 20 6f 72 20 3c 62 ID</i></b> or <b
11050 3e 3c 69 3e 43 6f 64 65 3c 2f 69 3e 3c 2f 62 3e ><i>Code</i></b>
11060 20 75 6e 69 71 75 65 6c 79 20 69 64 65 6e 74 69 uniquely identi
11070 66 79 69 6e 67 20 74 68 65 20 3c 62 3e 6f 72 69 fying the <b>ori
11080 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 2f 6c gin Node</b>.</l
11090 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 43 6f 73 74 3c i>..<li><b>Cost<
110a0 2f 62 3e 3a 20 74 68 65 20 6d 61 78 69 6d 75 6d /b>: the maximum
110b0 20 3c 62 3e 43 6f 73 74 20 74 68 72 65 73 68 6f <b>Cost thresho
110c0 6c 64 3c 2f 62 3e 20 6e 6f 74 20 74 6f 20 62 65 ld</b> not to be
110d0 20 65 78 63 65 65 64 65 64 2e 3c 62 72 3e 0d 0a exceeded.<br>..
110e0 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6e 79 <u>Note</u>: any
110f0 20 76 61 6c 69 64 20 49 73 6f 63 68 72 6f 6e 65 valid Isochrone
11100 20 71 75 65 72 79 20 3c 62 3e 6d 75 73 74 3c 2f query <b>must</
11110 62 3e 20 6e 65 63 65 73 73 61 72 69 6c 79 20 73 b> necessarily s
11120 70 65 63 69 66 79 20 61 20 3c 62 3e 3c 3d 3c 2f pecify a <b><=</
11130 62 3e 20 28 3c 75 3e 3c 69 3e 6c 65 73 73 65 72 b> (<u><i>lesser
11140 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 than or equal t
11150 6f 3c 2f 69 3e 3c 2f 75 3e 29 20 63 6f 6d 70 61 o</i></u>) compa
11160 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f 72 2e 3c rison operator.<
11170 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 /li>..</ul>..<br
11180 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 >..The following
11190 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 table shows the
111a0 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 resultset retur
111b0 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 ned by the above
111c0 20 49 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 Isochrone query
111d0 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 ...<br><br>..<ta
111e0 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 ble border="1" b
111f0 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 gcolor="#ffffcf"
11200 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 cellspacing="4"
11210 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
11220 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c >..<tr><th bgcol
11230 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 or="#d0d0a0">Alg
11240 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 orithm</th><th b
11250 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
11260 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 >Request</th><th
11270 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
11280 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
11290 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
112a0 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c ">NodeFrom</th><
112b0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
112c0 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 0a0">NodeTo</th>
112d0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
112e0 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c d0a0">Cost</th><
112f0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
11300 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 0a0">Geometry</t
11310 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c h></tr>..<tr>..<
11320 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 tr>..<td>Dijkstr
11330 61 3c 2f 74 64 3e 3c 74 64 3e 49 73 6f 63 68 72 a</td><td>Isochr
11340 6f 6e 65 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 one</td><td>Solu
11350 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 tion</td><td ali
11360 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 gn="right">18199
11370 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 9</td><td align=
11380 22 72 69 67 68 74 22 3e 31 37 38 37 31 37 3c 2f "right">178717</
11390 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
113a0 67 68 74 22 3e 35 37 32 2e 34 35 35 31 34 33 3c ght">572.455143<
113b0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
113c0 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 60 GEOMETRY</td>
113d0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
113e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
113f0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c NULL</td><td>Sol
11400 75 74 69 6f 6e 3c 74 64 20 61 6c 69 67 6e 3d 22 ution<td align="
11410 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
11420 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
11430 68 74 22 3e 31 37 38 37 31 38 3c 2f 74 64 3e 3c ht">178718</td><
11440 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
11450 3e 35 38 37 2e 33 30 33 37 37 39 3c 2f 74 64 3e >587.303779</td>
11460 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47 <td>BLOB sz=60 G
11470 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f EOMETRY</td>..</
11480 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
11490 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 20 63 6f lign="center" co
114a0 6c 73 70 61 6e 3d 22 37 22 3e 2e 2e 2e 2e 2e 2e lspan="7">......
114b0 2e 2e 2e 2e 2e 2e 2e 3c 2f 74 64 3e 0d 0a 3c 2f .......</td>..</
114c0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
114d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
114e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
114f0 72 69 67 68 74 22 3e 53 6f 6c 75 74 69 6f 6e 3c right">Solution<
11500 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
11510 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 ight">181999</td
11520 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
11530 74 22 3e 31 38 34 30 33 35 3c 2f 74 64 3e 3c 74 t">184035</td><t
11540 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
11550 35 37 39 2e 37 38 36 37 32 34 3c 2f 74 64 3e 3c 579.786724</td><
11560 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47 45 td>BLOB sz=60 GE
11570 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 OMETRY</td>..</t
11580 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
11590 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
115a0 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e /td><td>Solution
115b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
115c0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
115d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
115e0 68 74 22 3e 31 38 34 30 33 36 3c 2f 74 64 3e 3c ht">184036</td><
115f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
11600 3e 36 34 32 2e 36 39 31 35 39 37 3c 2f 74 64 3e >642.691597</td>
11610 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47 <td>BLOB sz=60 G
11620 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f EOMETRY</td>..</
11630 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
11640 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b br>..Let's quick
11650 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 ly examine the r
11660 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 esultset returne
11670 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c d by the above <
11680 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 b>isochrone</b>
11690 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c query...<ul>..<l
116a0 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72 i>the <b>first r
116b0 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 ow</b> of the re
116c0 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d 65 77 sultset is somew
116d0 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 ay exceptional,
116e0 61 6e 64 20 69 73 20 74 68 65 20 75 6e 69 71 75 and is the uniqu
116f0 65 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73 e row of the res
11700 75 6c 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e ultset presentin
11710 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 g <b>NOT NULL</b
11720 3e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 > values in the
11730 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e <b>Algorithm</b>
11740 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e , <b>Request</b>
11750 2c 20 3c 2f 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 , </b>Options</b
11760 3e 20 28 61 6e 64 20 3c 2f 62 3e 44 65 6c 69 6d > (and </b>Delim
11770 69 74 65 72 3c 2f 62 3e 29 20 63 6f 6c 75 6d 6e iter</b>) column
11780 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c s.</li>..<li>all
11790 20 72 6f 77 73 20 28 69 6e 63 6c 75 64 69 6e 67 rows (including
117a0 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 29 20 the first one)
117b0 68 61 76 65 20 3c 62 3e 52 6f 6c 65 20 3d 20 53 have <b>Role = S
117c0 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20 61 6e 64 olution</b>, and
117d0 20 72 65 70 72 65 73 65 6e 74 20 61 20 73 69 6e represent a sin
117e0 67 6c 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 62 gle connection b
117f0 65 74 77 65 65 6e 20 3c 62 3e 4e 6f 64 65 46 72 etween <b>NodeFr
11800 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f om</b> and <b>No
11810 64 65 54 6f 3c 2f 62 3e 2c 20 77 69 74 68 20 74 deTo</b>, with t
11820 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 he corresponding
11830 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c <b>Cost</b>.</l
11840 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 47 i>..<li>the <b>G
11850 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f 6c 75 eometry</b> colu
11860 6d 6e 20 61 6c 77 61 79 73 20 63 6f 72 72 65 73 mn always corres
11870 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c 62 3e ponds to the <b>
11880 32 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 77 68 65 2D Point</b> whe
11890 72 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e re <b>NodeTo</b>
118a0 20 69 73 20 6c 6f 63 61 74 65 64 2e 3c 2f 6c 69 is located.</li
118b0 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a >..</ul>..<br>..
118c0 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 3c 62 3e <u>Note</u>: <b>
118d0 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 isochrone</b> qu
118e0 65 72 69 65 73 20 61 72 65 20 6e 6f 74 20 61 66 eries are not af
118f0 66 65 63 74 65 64 20 62 79 20 63 6f 6e 66 69 67 fected by config
11900 75 72 61 62 6c 65 20 6f 70 74 69 6f 6e 73 2e 0d urable options..
11910 0a 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 .<b>Algorithm</b
11920 3e 20 77 69 6c 6c 20 62 65 20 61 6c 77 61 79 73 > will be always
11930 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 3c assumed to be <
11940 62 3e 44 69 6a 73 6b 74 72 61 3c 2f 62 3e 2c 20 b>Dijsktra</b>,
11950 61 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 and the current
11960 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 73 <b>Options</b> s
11970 65 74 74 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 ettings will be
11980 73 69 6d 70 6c 79 20 69 67 6e 6f 72 65 64 2e 0d simply ignored..
11990 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
119a0 45 43 54 20 53 54 5f 43 6f 6e 63 61 76 65 48 75 ECT ST_ConcaveHu
119b0 6c 6c 28 53 54 5f 43 6f 6c 6c 65 63 74 28 47 65 ll(ST_Collect(Ge
119c0 6f 6d 65 74 72 79 29 29 0d 0a 46 52 4f 4d 20 62 ometry))..FROM b
119d0 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 yfoot..WHERE Nod
119e0 65 46 72 6f 6d 20 3d 20 31 38 31 39 39 39 20 41 eFrom = 181999 A
119f0 4e 44 20 43 6f 73 74 20 3c 3d 20 31 30 30 30 2e ND Cost <= 1000.
11a00 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0;..</verbatim>.
11a10 0a 41 6e 79 20 69 73 6f 63 68 72 6f 6e 65 20 71 .Any isochrone q
11a20 75 65 72 79 20 77 69 6c 6c 20 6a 75 73 74 20 72 uery will just r
11a30 65 74 75 72 6e 20 61 20 50 6f 69 6e 74 2d 73 65 eturn a Point-se
11a40 74 3b 20 69 66 20 79 6f 75 20 65 76 65 6e 74 75 t; if you eventu
11a50 61 6c 6c 79 20 77 69 73 68 20 74 6f 20 6f 62 74 ally wish to obt
11a60 61 69 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f ain the correspo
11a70 6e 64 69 6e 67 20 61 72 65 61 6c 20 72 65 70 72 nding areal repr
11a80 65 73 65 6e 74 61 74 69 6f 6e 20 79 6f 75 20 6a esentation you j
11a90 75 73 74 20 68 61 76 65 20 74 6f 20 63 61 6c 6c ust have to call
11aa0 20 3c 62 3e 53 54 5f 43 6f 6c 6c 65 63 74 28 29 <b>ST_Collect()
11ab0 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f </b> in order to
11ac0 20 67 65 74 20 61 20 6d 6f 6e 6f 6c 69 74 68 69 get a monolithi
11ad0 63 20 4d 75 6c 74 69 50 6f 69 6e 74 2c 20 74 68 c MultiPoint, th
11ae0 65 6e 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53 54 en calling <b>ST
11af0 5f 43 6f 6e 63 61 76 65 48 75 6c 6c 28 29 3c 2f _ConcaveHull()</
11b00 62 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 67 b> in order to g
11b10 65 74 20 61 20 50 6f 6c 79 67 6f 6e 2e 0d 0a 3c et a Polygon...<
11b20 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 br><br><br>..The
11b30 20 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68 map below graph
11b40 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 ically shows the
11b50 20 70 72 65 76 69 6f 75 73 20 3c 62 3e 69 73 6f previous <b>iso
11b60 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79 chrone</b> query
11b70 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d ...<br><br>..<im
11b80 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 g src="https://w
11b90 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 ww.gaia-gis.it/g
11ba0 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 aia-sins/routing
11bb0 2d 66 69 67 73 2f 69 73 6f 63 68 72 6f 6e 65 2e -figs/isochrone.
11bc0 6a 70 67 22 20 61 6c 74 3d 22 69 73 6f 63 68 72 jpg" alt="isochr
11bd0 6f 6e 65 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 one">..<ul>..<li
11be0 3e 59 65 6c 6c 6f 77 20 73 74 61 72 3a 20 74 68 >Yellow star: th
11bf0 65 20 4f 72 69 67 69 6e 20 4e 6f 64 65 2e 3c 2f e Origin Node.</
11c00 6c 69 3e 0d 0a 3c 6c 69 3e 42 6c 75 65 20 64 6f li>..<li>Blue do
11c10 74 73 3a 20 61 6c 6c 20 44 65 73 74 69 6e 61 74 ts: all Destinat
11c20 69 6f 6e 20 4e 6f 64 65 73 20 77 69 74 68 69 6e ion Nodes within
11c30 20 74 68 65 20 67 69 76 65 6e 20 43 6f 73 74 2e the given Cost.
11c40 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68 69 74 65 </li>..<li>White
11c50 20 6c 69 6e 65 3a 20 74 68 65 20 62 6f 75 6e 64 line: the bound
11c60 61 72 79 20 6f 66 20 74 68 65 20 49 73 6f 63 68 ary of the Isoch
11c70 72 6f 6e 65 2e 20 0d 0a 3c 62 72 3e 3c 62 72 3e rone. ..<br><br>
11c80 0d 0a 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 ....<hr><br>..<h
11c90 31 3e 3c 61 20 6e 61 6d 65 3d 22 74 73 70 22 3e 1><a name="tsp">
11ca0 36 20 2d 20 53 6f 6c 76 69 6e 67 20 54 53 50 20 6 - Solving TSP
11cb0 28 74 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 73 (traveling sales
11cc0 6d 61 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 man) problems</a
11cd0 3e 3c 2f 68 31 3e 0d 0a 3c 62 3e 54 53 50 3c 2f ></h1>..<b>TSP</
11ce0 62 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74 74 b> (<a href="htt
11cf0 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 ps://en.wikipedi
11d00 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 72 61 76 65 a.org/wiki/Trave
11d10 6c 6c 69 6e 67 5f 73 61 6c 65 73 6d 61 6e 5f 70 lling_salesman_p
11d20 72 6f 62 6c 65 6d 22 3e 54 72 61 76 65 6c 69 6e roblem">Travelin
11d30 67 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62 6c g Salesman Probl
11d40 65 6d 3c 2f 61 3e 29 20 69 73 20 61 20 77 65 6c em</a>) is a wel
11d50 6c 20 6b 6e 6f 77 6e 20 4f 70 65 72 61 74 69 6f l known Operatio
11d60 6e 73 20 52 65 73 65 61 72 63 68 20 70 72 6f 62 ns Research prob
11d70 6c 65 6d 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a lem...<br><br>..
11d80 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 <table bgcolor="
11d90 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 #c0ffc0" cellspa
11da0 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 cing="10" cellpa
11db0 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 dding="6"><tr><t
11dc0 64 3e 0d 0a 3c 68 33 3e 54 68 65 20 54 72 61 76 d>..<h3>The Trav
11dd0 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50 eling Salesman P
11de0 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a 3c 62 3e roblem</h3>..<b>
11df0 3c 69 3e 47 69 76 65 6e 20 61 20 6c 69 73 74 20 <i>Given a list
11e00 6f 66 20 63 69 74 69 65 73 20 61 6e 64 20 74 68 of cities and th
11e10 65 20 64 69 73 74 61 6e 63 65 73 20 62 65 74 77 e distances betw
11e20 65 65 6e 20 65 61 63 68 20 70 61 69 72 20 6f 66 een each pair of
11e30 20 63 69 74 69 65 73 2c 20 77 68 61 74 20 69 73 cities, what is
11e40 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 70 6f the shortest po
11e50 73 73 69 62 6c 65 20 72 6f 75 74 65 20 74 68 61 ssible route tha
11e60 74 20 76 69 73 69 74 73 20 65 61 63 68 20 63 69 t visits each ci
11e70 74 79 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 ty and returns t
11e80 6f 20 74 68 65 20 6f 72 69 67 69 6e 20 63 69 74 o the origin cit
11e90 79 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 y ?</i></b>..<br
11ea0 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 ><br>..</td></tr
11eb0 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d ></table>..<br>.
11ec0 0a 3c 75 3e 4e 6f 74 65 3a 3c 2f 75 3e 20 74 68 .<u>Note:</u> th
11ed0 65 20 74 65 72 6d 73 20 3c 69 3e 3c 75 3e 73 61 e terms <i><u>sa
11ee0 6c 65 73 6d 61 6e 3c 2f 75 3e 3c 2f 69 3e 20 61 lesman</u></i> a
11ef0 6e 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 nd <i><u>city</u
11f00 3e 3c 2f 69 3e 20 61 72 65 20 75 6e 69 76 65 72 ></i> are univer
11f10 73 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 68 sally used for h
11f20 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e istorical reason
11f30 73 2c 20 62 75 74 20 79 6f 75 20 73 68 6f 75 6c s, but you shoul
11f40 64 20 61 76 6f 69 64 20 74 6f 20 6c 69 74 65 72 d avoid to liter
11f50 61 6c 6c 79 20 69 6e 74 65 6e 64 20 62 6f 74 68 ally intend both
11f60 20 74 68 65 6d 2e 3c 62 72 3e 0d 0a 54 68 65 20 them.<br>..The
11f70 74 65 72 6d 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 term <u><i>sales
11f80 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 69 6e 20 74 man</i></u> in t
11f90 68 69 73 20 73 70 65 63 69 66 69 63 20 63 6f 6e his specific con
11fa0 74 65 78 74 20 69 6e 74 65 6e 64 73 20 61 6e 79 text intends any
11fb0 20 70 6f 73 73 69 62 6c 65 20 6b 69 6e 64 20 6f possible kind o
11fc0 66 20 3c 75 3e 3c 69 3e 6d 6f 76 69 6e 67 20 61 f <u><i>moving a
11fd0 67 65 6e 74 3c 2f 69 3e 3c 2f 75 3e 20 28 70 65 gent</i></u> (pe
11fe0 64 65 73 74 72 69 61 6e 2c 20 76 65 68 69 63 6c destrian, vehicl
11ff0 65 2c 20 70 61 73 73 65 6e 67 65 72 20 6f 72 20 e, passenger or
12000 77 68 61 74 65 76 65 72 20 65 6c 73 65 29 2c 20 whatever else),
12010 65 78 61 63 74 6c 79 20 61 73 20 3c 69 3e 3c 75 exactly as <i><u
12020 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20 73 69 >city</u></i> si
12030 6d 70 6c 79 20 73 74 61 6e 64 73 20 66 6f 72 20 mply stands for
12040 61 6e 79 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 69 any <i><u>generi
12050 63 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 c destination</u
12060 3e 3c 2f 69 3e 20 6f 6e 20 61 20 67 69 76 65 6e ></i> on a given
12070 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 62 72 3e 3c Network...<br><
12080 62 72 3e 0d 0a 57 65 20 63 61 6e 20 63 6f 6e 63 br>..We can conc
12090 65 70 74 75 61 6c 79 20 73 70 6c 69 74 20 54 50 eptualy split TP
120a0 53 20 69 6e 20 74 77 6f 20 68 61 6c 76 65 73 3a S in two halves:
120b0 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6d 70 ..<ol>..<li>comp
120c0 75 74 69 6e 67 20 61 6c 6c 20 64 69 73 74 61 6e uting all distan
120d0 63 65 73 20 62 65 74 77 65 65 6e 20 70 61 69 72 ces between pair
120e0 73 20 6f 66 20 3c 69 3e 63 69 74 69 65 73 3c 2f s of <i>cities</
120f0 69 3e 2e 20 54 68 69 73 20 69 73 20 61 20 74 79 i>. This is a ty
12100 70 69 63 61 6c 20 3c 62 3e 53 68 6f 72 74 65 73 pical <b>Shortes
12110 74 50 61 74 68 3c 2f 62 3e 20 70 72 6f 62 6c 65 tPath</b> proble
12120 6d 2c 20 61 6e 64 20 77 65 20 63 61 6e 20 64 75 m, and we can du
12130 6c 79 20 75 73 65 20 74 68 65 20 44 69 6a 6b 73 ly use the Dijks
12140 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d 20 tra's algorithm
12150 66 6f 72 20 74 68 69 73 2e 3c 2f 6c 69 3e 0d 0a for this.</li>..
12160 3c 6c 69 3e 74 68 65 6e 20 77 65 20 68 61 76 65 <li>then we have
12170 20 74 6f 20 63 68 65 63 6b 20 61 6c 6c 20 70 6f to check all po
12180 73 73 69 62 6c 65 20 3c 62 3e 70 65 72 6d 75 74 ssible <b>permut
12190 61 74 69 6f 6e 73 3c 2f 62 3e 20 2f 20 3c 62 3e ations</b> / <b>
121a0 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e combinations</b>
121b0 20 73 6f 20 74 6f 20 69 64 65 6e 74 69 66 79 20 so to identify
121c0 74 68 65 20 6f 70 74 69 6d 61 6c 20 54 53 50 20 the optimal TSP
121d0 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a solution.</li>..
121e0 3c 2f 6f 6c 3e 0d 0a 55 6e 68 61 70 70 69 6c 79 </ol>..Unhappily
121f0 20 74 68 65 72 65 20 69 73 20 61 20 70 72 61 63 there is a prac
12200 74 69 63 61 6c 20 64 69 66 66 69 63 75 6c 74 79 tical difficulty
12210 20 69 6e 20 73 75 63 68 20 61 20 73 74 72 61 69 in such a strai
12220 67 68 74 20 61 70 70 72 6f 61 63 68 3b 20 74 68 ght approach; th
12230 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6d 62 e number of comb
12240 69 6e 61 74 69 6f 6e 73 20 77 69 6c 6c 20 67 72 inations will gr
12250 6f 77 20 65 78 74 72 65 6d 65 6c 79 20 66 61 73 ow extremely fas
12260 74 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 t as the number
12270 6f 66 20 3c 62 3e 3c 69 3e 63 69 74 69 65 73 3c of <b><i>cities<
12280 2f 69 3e 3c 2f 62 3e 20 69 6e 63 72 65 61 73 65 /i></b> increase
12290 73 2e 3c 62 72 3e 0d 0a 53 69 6d 70 6c 79 20 63 s.<br>..Simply c
122a0 6f 6d 70 75 74 69 6e 67 20 74 68 65 20 63 6f 6d omputing the com
122b0 70 6c 65 74 65 20 54 53 50 20 73 6f 6c 75 74 69 plete TSP soluti
122c0 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20 74 65 6e on for about ten
122d0 20 63 69 74 69 65 73 20 77 69 6c 6c 20 72 65 71 cities will req
122e0 75 69 72 65 20 61 20 3c 62 3e 76 65 72 79 20 6c uire a <b>very l
122f0 6f 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 65 76 65 ong time</b> eve
12300 6e 20 75 73 69 6e 67 20 61 20 73 75 70 65 72 63 n using a superc
12310 6f 6d 70 75 74 65 72 2e 3c 62 72 3e 0d 0a 41 6e omputer.<br>..An
12320 64 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 d attempting to
12330 63 6f 6d 70 75 74 65 20 61 20 54 53 50 20 73 6f compute a TSP so
12340 6c 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 lution for about
12350 20 68 75 6e 64 72 65 64 20 63 69 74 69 65 73 20 hundred cities
12360 77 69 6c 6c 20 72 65 71 75 69 72 65 20 61 20 3c will require a <
12370 62 3e 70 72 61 63 74 69 63 61 6c 6c 79 20 69 6e b>practically in
12380 66 69 6e 69 74 65 3c 2f 62 3e 20 74 69 6d 65 2e finite</b> time.
12390 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 48 6f 77 65 ..<br><br>..Howe
123a0 76 65 72 20 73 6f 6c 76 69 6e 67 20 54 53 50 20 ver solving TSP
123b0 69 73 20 68 69 67 68 6c 79 20 64 65 73 69 72 61 is highly desira
123c0 62 6c 65 20 69 6e 20 6d 61 6e 79 20 61 70 70 6c ble in many appl
123d0 69 63 61 74 69 6f 6e 20 66 69 65 6c 64 73 3a 20 ication fields:
123e0 3c 62 3e 6c 6f 67 69 73 74 69 63 73 3c 2f 62 3e <b>logistics</b>
123f0 20 28 6a 75 73 74 20 74 68 69 6e 6b 20 61 62 6f (just think abo
12400 75 74 20 63 6f 75 72 69 65 72 20 63 6f 6d 70 61 ut courier compa
12410 6e 69 65 73 20 61 73 20 44 48 4c 2c 20 46 65 64 nies as DHL, Fed
12420 45 58 2c 20 55 50 53 20 6f 72 20 54 4e 54 29 2c EX, UPS or TNT),
12430 20 3c 62 3e 66 69 65 6c 64 20 6d 61 69 6e 74 65 <b>field mainte
12440 6e 61 6e 63 65 3c 2f 62 3e 20 2f 20 3c 62 3e 61 nance</b> / <b>a
12450 73 73 69 73 74 61 6e 63 65 3c 2f 62 3e 2c 20 3c ssistance</b>, <
12460 62 3e 77 61 73 74 65 20 63 6f 6c 6c 65 63 74 69 b>waste collecti
12470 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e 73 63 68 6f 6f on</b>, <b>schoo
12480 6c 62 75 73 3c 2f 62 3e 20 2f 20 3c 62 3e 73 68 lbus</b> / <b>sh
12490 61 72 65 64 20 74 61 78 69 20 73 65 72 76 69 63 ared taxi servic
124a0 65 73 3c 2f 62 3e 20 65 74 63 2e 3c 62 72 3e 0d es</b> etc.<br>.
124b0 0a 4d 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d 73 .Many algorithms
124c0 20 68 61 76 65 20 62 65 65 6e 20 69 6e 76 65 6e have been inven
124d0 74 65 64 20 64 75 72 69 6e 67 20 6c 61 73 74 20 ted during last
124e0 64 65 63 61 64 65 73 20 69 6e 74 65 6e 64 65 64 decades intended
124f0 20 74 6f 20 70 72 6f 64 75 63 65 20 70 72 61 63 to produce prac
12500 74 69 63 61 6c 20 61 6c 74 68 6f 75 67 68 20 61 tical although a
12510 70 70 72 6f 78 69 6d 61 74 65 20 2f 20 69 6d 70 pproximate / imp
12520 65 72 66 65 63 74 20 54 53 50 20 73 6f 6c 75 74 erfect TSP solut
12530 69 6f 6e 73 20 69 6e 20 61 20 72 65 61 73 6f 6e ions in a reason
12540 61 62 6c 79 20 73 68 6f 72 74 20 74 69 6d 65 2e ably short time.
12550 0d 0a 4d 61 6e 79 20 6f 66 20 74 68 65 6d 20 73 ..Many of them s
12560 74 72 6f 6e 67 6c 79 20 64 65 70 65 6e 64 20 6f trongly depend o
12570 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 n <a href="https
12580 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e ://en.wikipedia.
12590 6f 72 67 2f 77 69 6b 69 2f 48 65 75 72 69 73 74 org/wiki/Heurist
125a0 69 63 22 3e 68 65 75 72 69 73 74 69 63 3c 2f 61 ic">heuristic</a
125b0 3e 20 61 6e 64 20 2f 20 6f 72 20 3c 61 20 68 72 > and / or <a hr
125c0 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 ef="https://en.w
125d0 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b ikipedia.org/wik
125e0 69 2f 52 61 6e 64 6f 6d 6e 65 73 73 22 3e 72 61 i/Randomness">ra
125f0 6e 64 6f 6d 6e 65 73 73 3c 2f 61 3e 2e 0d 0a 3c ndomness</a>...<
12600 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 56 69 72 74 br><br>..<b>Virt
12610 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 73 ualRouting</b> s
12620 75 70 70 6f 72 74 73 20 74 77 6f 20 64 69 66 66 upports two diff
12630 65 72 65 6e 74 20 54 53 50 20 61 6c 67 6f 72 69 erent TSP algori
12640 74 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 thms:..<ul>..<li
12650 3e 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 28 ><b>TSP NN</b> (
12660 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c 69 <i>aka</i> <b><i
12670 3e 4e 65 61 72 65 73 74 20 4e 65 69 67 68 62 6f >Nearest Neighbo
12680 75 72 3c 2f 69 3e 3c 2f 62 3e 29 3c 62 72 3e 0d ur</i></b>)<br>.
12690 0a 54 68 69 73 20 3c 61 20 68 72 65 66 3d 22 68 .This <a href="h
126a0 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 ttps://en.wikipe
126b0 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 4e 65 61 dia.org/wiki/Nea
126c0 72 65 73 74 5f 6e 65 69 67 68 62 6f 75 72 5f 61 rest_neighbour_a
126d0 6c 67 6f 72 69 74 68 6d 22 3e 66 69 72 73 74 20 lgorithm">first
126e0 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69 73 algorithm</a> is
126f0 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 straightforward
12700 20 73 69 6d 70 6c 65 20 61 6e 64 20 76 65 72 79 simple and very
12710 20 66 61 73 74 3b 20 69 74 20 63 61 6e 20 65 66 fast; it can ef
12720 66 65 63 74 69 76 65 6c 79 20 73 6f 6c 76 65 20 fectively solve
12730 68 75 67 65 20 54 53 50 20 73 6f 6c 75 74 69 6f huge TSP solutio
12740 6e 73 20 28 74 68 6f 75 73 61 6e 64 20 3c 69 3e ns (thousand <i>
12750 63 69 74 69 65 73 3c 2f 69 3e 20 6f 72 20 65 76 cities</i> or ev
12760 65 6e 20 6d 6f 72 65 29 20 69 6e 20 61 20 76 65 en more) in a ve
12770 72 79 20 73 68 6f 72 74 20 74 69 6d 65 2e 3c 62 ry short time.<b
12780 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74 20 64 65 73 r>..<u>Short des
12790 63 72 69 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c cription</u>:..<
127a0 75 6c 3e 0d 0a 3c 6c 69 3e 73 74 61 72 74 69 6e ul>..<li>startin
127b0 67 20 66 72 6f 6d 20 74 68 65 20 3c 75 3e 3c 69 g from the <u><i
127c0 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f >base city</i></
127d0 75 3e 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c u> the <u><i>sal
127e0 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67 6f esman</i></u> go
127f0 65 73 20 74 6f 20 74 68 65 20 3c 75 3e 3c 69 3e es to the <u><i>
12800 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 city</i></u> pre
12810 73 65 6e 74 69 6e 67 20 74 68 65 20 3c 69 3e 3c senting the <i><
12820 75 3e 6c 65 73 73 65 72 20 63 6f 6e 6e 65 63 74 u>lesser connect
12830 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e ion cost</u></i>
12840 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 .</li>..<li>the
12850 61 6c 72 65 61 64 79 20 76 69 73 69 74 65 64 20 already visited
12860 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f <i><u>city</u></
12870 69 3e 20 69 73 20 63 61 6e 63 65 6c 6c 65 64 20 i> is cancelled
12880 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 2c 20 61 from the list, a
12890 6e 64 20 74 68 65 6e 20 74 68 65 20 3c 75 3e 3c nd then the <u><
128a0 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f i>salesman</i></
128b0 75 3e 20 67 6f 65 73 20 74 6f 20 74 68 65 20 6e u> goes to the n
128c0 65 78 74 20 3c 75 3e 3c 69 3e 63 69 74 79 3c 2f ext <u><i>city</
128d0 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e 74 69 6e i></u> presentin
128e0 67 20 74 68 65 20 3c 69 3e 3c 75 3e 6c 65 73 73 g the <i><u>less
128f0 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6f er connection co
12900 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 3e st</u></i>.</li>
12910 0d 0a 3c 6c 69 3e 74 68 65 20 63 79 63 6c 65 20 ..<li>the cycle
12920 63 6f 6e 74 69 6e 75 65 73 20 75 6e 74 69 6c 20 continues until
12930 61 6c 6c 20 20 3c 69 3e 3c 75 3e 63 69 74 69 65 all <i><u>citie
12940 73 3c 2f 75 3e 3c 2f 69 3e 20 69 6e 20 74 68 65 s</u></i> in the
12950 20 6c 69 73 74 20 68 61 76 65 20 62 65 65 6e 20 list have been
12960 76 69 73 69 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c visited.</li>..<
12970 6c 69 3e 66 69 6e 61 6c 6c 79 2c 20 74 68 65 20 li>finally, the
12980 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f <u><i>salesman</
12990 69 3e 3c 2f 75 3e 20 72 65 74 75 72 6e 73 20 74 i></u> returns t
129a0 6f 20 68 69 73 2f 68 65 72 20 69 6e 69 74 69 61 o his/her initia
129b0 6c 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69 74 l <u><i>base cit
129c0 79 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c 69 3e 0d 0a y</i></u></li>..
129d0 3c 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f </ul>..<u>Note</
129e0 75 3e 20 69 74 27 73 20 76 65 72 79 20 75 6e 6c u> it's very unl
129f0 69 6b 65 20 74 68 61 74 20 54 53 50 20 4e 4e 20 ike that TSP NN
12a00 63 6f 75 6c 64 20 66 69 6e 64 20 74 68 65 20 3c could find the <
12a10 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e 20 73 6f b>optimal</b> so
12a20 6c 75 74 69 6f 6e 2c 20 62 75 74 20 69 74 20 63 lution, but it c
12a30 61 6e 20 71 75 69 63 6b 6c 79 20 66 69 6e 64 20 an quickly find
12a40 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 some reasonable
12a50 3c 62 3e 61 70 70 72 6f 78 69 6d 61 74 65 3c 2f <b>approximate</
12a60 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e b> solution (<i>
12a70 66 65 77 20 69 73 20 73 75 72 65 6c 79 20 62 65 few is surely be
12a80 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 68 69 6e tter than nothin
12a90 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a 49 6e 20 g</i>).<br>..In
12aa0 74 68 65 20 6d 6f 73 74 20 75 6e 6c 75 63 6b 79 the most unlucky
12ab0 20 63 61 73 65 20 54 53 50 20 4e 4e 20 63 6f 75 case TSP NN cou
12ac0 6c 64 20 70 6f 73 73 69 62 6c 79 20 72 65 74 75 ld possibly retu
12ad0 72 6e 20 74 68 65 20 3c 62 3e 77 6f 72 73 74 20 rn the <b>worst
12ae0 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20 62 75 solution</b>, bu
12af0 74 20 74 68 65 20 73 70 65 63 69 66 69 63 20 69 t the specific i
12b00 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 64 mplementation ad
12b10 6f 70 74 65 64 20 62 79 20 56 69 72 74 75 61 6c opted by Virtual
12b20 52 6f 75 74 69 6e 67 20 63 68 65 63 6b 73 20 61 Routing checks a
12b30 67 61 69 6e 73 74 20 74 68 69 73 20 70 6f 73 73 gainst this poss
12b40 69 62 69 6c 69 74 79 3a 0d 0a 3c 75 6c 3e 0d 0a ibility:..<ul>..
12b50 3c 6c 69 3e 65 61 63 68 20 54 53 50 20 4e 4e 20 <li>each TSP NN
12b60 69 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 75 74 is always comput
12b70 65 64 20 74 77 69 63 65 20 62 79 20 72 61 6e 64 ed twice by rand
12b80 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67 20 61 20 omly choosing a
12b90 64 69 66 66 65 72 65 6e 74 20 3c 75 3e 3c 69 3e different <u><i>
12ba0 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 base city</i></u
12bb0 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 > and then norma
12bc0 6c 69 7a 69 6e 67 20 74 68 65 20 73 6f 6c 75 74 lizing the solut
12bd0 69 6f 6e 3b 20 74 68 65 20 62 65 73 74 20 6f 66 ion; the best of
12be0 20 74 68 65 20 74 77 6f 20 73 6f 6c 75 74 69 6f the two solutio
12bf0 6e 73 20 69 73 20 74 68 65 6e 20 72 65 74 75 72 ns is then retur
12c00 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 ned.</li>..<li>t
12c10 68 69 73 20 73 69 6d 70 6c 65 20 62 75 74 20 65 his simple but e
12c20 66 66 65 63 74 69 76 65 20 70 72 65 63 61 75 74 ffective precaut
12c30 69 6f 6e 20 72 6f 62 75 73 74 6c 79 20 65 6e 73 ion robustly ens
12c40 75 72 65 73 20 74 68 61 74 20 74 68 65 20 3c 62 ures that the <b
12c50 3e 77 6f 72 73 74 20 73 6f 6c 75 74 69 6f 6e 3c >worst solution<
12c60 2f 62 3e 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 /b> will never b
12c70 65 20 72 65 74 75 72 6e 65 64 2c 20 61 6e 64 20 e returned, and
12c80 6a 75 73 74 20 69 6d 70 6c 69 65 73 20 61 20 6d just implies a m
12c90 6f 64 65 72 61 74 65 6c 79 20 69 6e 63 72 65 61 oderately increa
12ca0 73 65 64 20 65 78 65 63 75 74 69 6f 6e 20 74 69 sed execution ti
12cb0 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c me.</li>..</ul><
12cc0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 53 50 /li>..<li><b>TSP
12cd0 20 47 41 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c GA</b> (<i>aka<
12ce0 2f 69 3e 20 3c 62 3e 3c 69 3e 47 65 6e 65 74 69 /i> <b><i>Geneti
12cf0 63 20 41 6c 67 6f 72 69 74 68 6d 3c 2f 69 3e 3c c Algorithm</i><
12d00 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 /b>).<br>..This
12d10 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f <a href="https:/
12d20 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 /en.wikipedia.or
12d30 67 2f 77 69 6b 69 2f 47 65 6e 65 74 69 63 5f 61 g/wiki/Genetic_a
12d40 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 74 65 72 6e lgorithm">altern
12d50 61 74 69 76 65 20 61 6c 67 6f 72 69 74 68 6d 3c ative algorithm<
12d60 2f 61 3e 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 /a> is much more
12d70 20 63 6f 6d 70 6c 65 78 20 61 6e 64 20 73 6f 70 complex and sop
12d80 68 69 73 74 69 63 61 74 65 64 2c 20 61 6e 64 20 histicated, and
12d90 69 73 20 64 69 72 65 63 74 6c 79 20 69 6e 73 70 is directly insp
12da0 69 72 65 64 20 62 79 20 62 69 6f 6c 6f 67 69 63 ired by biologic
12db0 61 6c 20 63 6f 6e 63 65 70 74 73 20 73 75 63 68 al concepts such
12dc0 20 61 73 20 3c 62 3e 73 65 78 75 61 6c 20 72 65 as <b>sexual re
12dd0 70 72 6f 64 75 63 74 69 6f 6e 3c 2f 62 3e 2c 20 production</b>,
12de0 3c 62 3e 67 65 6e 65 74 69 63 20 6d 75 74 61 74 <b>genetic mutat
12df0 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e ions</b> and <b>
12e00 6e 61 74 75 72 61 6c 20 73 65 6c 65 63 74 69 6f natural selectio
12e10 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 n</b>.<br>..<u>S
12e20 68 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f 6e hort description
12e30 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 </u>:..<ul>..<li
12e40 3e 61 20 66 69 72 73 74 20 69 6e 69 74 69 61 6c >a first initial
12e50 20 73 65 74 20 6f 66 20 73 6f 6c 75 74 69 6f 6e set of solution
12e60 73 20 28 3c 69 3e 3c 75 3e 74 68 65 20 70 6f 70 s (<i><u>the pop
12e70 75 6c 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29 ulation</u></i>)
12e80 20 69 73 20 63 72 65 61 74 65 64 20 62 79 20 75 is created by u
12e90 73 69 6e 67 20 54 53 50 20 4e 4e 20 61 66 74 65 sing TSP NN afte
12ea0 72 20 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 r randomly choos
12eb0 69 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 62 61 ing the <u><i>ba
12ec0 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 se city</i></u>
12ed0 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 6c 69 and then normali
12ee0 7a 69 6e 67 20 65 61 63 68 20 73 6f 6c 75 74 69 zing each soluti
12ef0 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 on.</li>..<li>th
12f00 65 6e 20 64 75 72 69 6e 67 20 65 61 63 68 20 73 en during each s
12f10 74 65 70 20 6f 66 20 74 68 65 20 65 78 65 63 75 tep of the execu
12f20 74 69 6f 6e 20 6c 6f 6f 70 20 28 3c 69 3e 3c 75 tion loop (<i><u
12f30 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 75 3e 3c >generation</u><
12f40 2f 69 3e 29 20 70 61 69 72 73 20 6f 66 20 73 6f /i>) pairs of so
12f50 6c 75 74 69 6f 6e 73 20 3c 69 3e 3c 75 3e 73 65 lutions <i><u>se
12f60 78 75 61 6c 6c 79 20 72 65 70 72 6f 64 75 63 65 xually reproduce
12f70 73 3c 2f 69 3e 3c 2f 75 3e 20 67 69 76 69 6e 67 s</i></u> giving
12f80 20 62 69 72 74 68 20 74 6f 20 3c 75 3e 3c 69 3e birth to <u><i>
12f90 63 68 69 6c 64 72 65 6e 20 73 6f 6c 75 74 69 6f children solutio
12fa0 6e 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 72 65 70 72 ns</i></u>; repr
12fb0 6f 64 75 63 74 69 6f 6e 20 69 73 20 73 75 62 6a oduction is subj
12fc0 65 63 74 20 74 6f 20 3c 75 3e 3c 69 3e 63 68 72 ect to <u><i>chr
12fd0 6f 6d 6f 73 6f 6d 65 20 63 72 6f 73 73 6f 76 65 omosome crossove
12fe0 72 73 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 3c rs</i></u> and <
12ff0 69 3e 3c 75 3e 72 61 6e 64 6f 6d 20 6d 75 74 61 i><u>random muta
13000 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c tion</u></i>.</l
13010 69 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 65 61 63 68 i>..<li>for each
13020 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f <i><u>generatio
13030 6e 3c 2f 75 3e 3c 2f 69 3e 20 74 68 65 20 3c 69 n</u></i> the <i
13040 3e 3c 75 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65 ><u>natural sele
13050 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 65 6c ction</u></i> el
13060 69 6d 69 6e 61 74 65 73 20 61 6c 6c 20 70 6f 6f iminates all poo
13070 72 6c 79 20 66 69 74 20 69 6e 64 69 76 69 64 75 rly fit individu
13080 61 6c 73 20 66 72 6f 6d 20 74 68 65 20 3c 75 3e als from the <u>
13090 3c 69 3e 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f 69 <i>population</i
130a0 3e 3c 2f 75 3e 20 61 6e 64 20 63 6f 6e 73 65 71 ></u> and conseq
130b0 75 65 6e 74 6c 79 20 6f 6e 6c 79 20 74 68 65 20 uently only the
130c0 62 65 73 74 20 66 69 74 20 69 6e 64 69 76 69 64 best fit individ
130d0 75 61 6c 73 20 63 61 6e 20 66 75 72 74 68 65 72 uals can further
130e0 20 70 72 6f 70 61 67 61 74 65 20 74 68 65 69 72 propagate their
130f0 20 3c 75 3e 3c 69 3e 67 65 6e 6f 6d 65 3c 2f 69 <u><i>genome</i
13100 3e 3c 2f 75 3e 20 74 6f 20 74 68 65 20 6e 65 78 ></u> to the nex
13110 74 20 3c 75 3e 3c 69 3e 67 65 6e 65 72 61 74 69 t <u><i>generati
13120 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c 2f 6c 69 3e on</i></u>.</li>
13130 0d 0a 3c 6c 69 3e 61 66 74 65 72 20 61 20 63 65 ..<li>after a ce
13140 72 74 61 69 6e 20 6e 75 6d 62 65 72 20 6f 66 20 rtain number of
13150 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e <i><u>generation
13160 73 3c 2f 69 3e 3c 2f 75 3e 20 28 6c 65 74 27 73 s</i></u> (let's
13170 20 73 61 79 20 61 62 6f 75 74 20 73 6f 6d 65 20 say about some
13180 68 75 6e 64 72 65 64 74 68 20 69 74 65 72 61 74 hundredth iterat
13190 69 6f 6e 73 29 20 74 68 65 20 3c 62 3e 6f 70 74 ions) the <b>opt
131a0 69 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 imal solution</b
131b0 3e 20 28 6f 72 20 61 74 20 6c 65 61 73 74 20 61 > (or at least a
131c0 20 3c 62 3e 66 61 69 72 6c 79 20 67 6f 6f 64 20 <b>fairly good
131d0 73 75 62 2d 6f 70 74 69 6d 61 6c 20 73 6f 6c 75 sub-optimal solu
131e0 74 69 6f 6e 3c 2f 62 3e 29 20 73 68 6f 75 6c 64 tion</b>) should
131f0 20 66 69 6e 61 6c 6c 79 20 65 6d 65 72 67 65 2c finally emerge,
13200 20 61 6e 64 20 73 6f 20 74 68 65 20 6c 6f 6f 70 and so the loop
13210 20 63 61 6e 20 65 78 69 74 2e 3c 2f 6c 69 3e 0d can exit.</li>.
13220 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 .</ul></li>..<li
13230 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 54 53 ><u>Note</u>: TS
13240 50 20 47 41 20 69 73 20 75 73 75 61 6c 6c 79 20 P GA is usually
13250 65 78 70 65 63 74 65 64 20 74 6f 20 69 64 65 6e expected to iden
13260 74 69 66 79 20 62 65 74 74 65 72 20 73 6f 6c 75 tify better solu
13270 74 69 6f 6e 73 20 74 68 61 6e 20 54 53 50 20 4e tions than TSP N
13280 4e 20 63 61 6e 20 64 6f 2c 20 62 75 74 20 69 74 N can do, but it
13290 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 72 65 71 will surely req
132a0 75 69 72 65 20 6d 75 63 68 20 6d 6f 72 65 20 74 uire much more t
132b0 69 6d 65 20 74 6f 20 63 6f 6d 70 6c 65 74 65 2e ime to complete.
132c0 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 0d 0a 3c </li> ..</ul>..<
132d0 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e br><br>..Let's n
132e0 6f 77 20 65 78 61 6d 69 6e 65 20 61 20 70 72 61 ow examine a pra
132f0 63 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 20 6f ctical example o
13300 66 20 54 53 50 20 73 6f 6c 76 69 6e 67 20 75 73 f TSP solving us
13310 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 69 ing VirtualRouti
13320 6e 67 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d 3e ng. ..<verbatim>
13330 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 ..UPDATE byfoot
13340 53 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 SET Request = 'T
13350 53 50 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 SP';....SELECT A
13360 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 lgorithm, Reques
13370 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 t, Options, Deli
13380 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 miter, RouteId,
13390 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 RouteRow, Role,
133a0 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 LinkRowid, NodeF
133b0 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 rom, NodeTo, Cos
133c0 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d t, Geometry, Nam
133d0 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a e..FROM byfoot..
133e0 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d WHERE NodeFrom =
133f0 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 178731 AND Node
13400 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31 To = '183286,181
13410 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38 999,184030,18388
13420 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 2,178754';..</ve
13430 72 62 61 74 69 6d 3e 0d 0a 41 20 56 69 72 74 75 rbatim>..A Virtu
13440 61 6c 52 6f 75 74 69 6e 67 20 3c 62 3e 54 53 50 alRouting <b>TSP
13450 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20 74 </b> query has t
13460 68 65 20 73 61 6d 65 20 69 64 65 6e 74 69 63 61 he same identica
13470 6c 20 66 6f 72 6d 20 6f 66 20 61 20 3c 62 3e 6d l form of a <b>m
13480 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e ulti-destination
13490 3c 2f 62 3e 20 71 75 65 72 79 3b 20 74 68 65 20 </b> query; the
134a0 3c 69 3e 3c 75 3e 62 61 73 65 20 63 69 74 79 3c <i><u>base city<
134b0 75 3e 3c 2f 69 3e 20 69 73 20 61 6c 77 61 79 73 u></i> is always
134c0 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 72 expected to cor
134d0 72 65 73 70 6f 6e 64 20 74 6f 20 3c 62 3e 4e 6f respond to <b>No
134e0 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 61 deFrom</b> and a
134f0 6c 6c 20 6f 74 68 65 72 20 3c 69 3e 3c 75 3e 63 ll other <i><u>c
13500 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 74 6f ities</u></i> to
13510 20 62 65 20 76 69 73 69 74 65 64 20 61 72 65 20 be visited are
13520 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 65 expected to be e
13530 6e 75 6d 65 72 61 74 65 64 20 69 6e 74 6f 20 61 numerated into a
13540 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e <b>multi-destin
13550 61 74 69 6f 6e 3c 2f 62 3e 20 6c 69 73 74 20 61 ation</b> list a
13560 73 73 69 67 6e 65 64 20 74 6f 20 3c 62 3e 4e 6f ssigned to <b>No
13570 64 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c 75 3e 4e 6f deTo</b>...<u>No
13580 74 65 3c 2f 75 3e 3a 20 79 6f 75 20 6d 75 73 74 te</u>: you must
13590 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 74 20 explicitly set
135a0 74 68 65 20 63 75 72 72 65 6e 74 20 3c 62 3e 52 the current <b>R
135b0 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 equest</b> as <b
135c0 3e 54 53 50 3c 2f 62 3e 2c 20 3c 62 3e 54 53 50 >TSP</b>, <b>TSP
135d0 20 4e 4e 3c 2f 62 3e 20 6f 72 20 3c 62 3e 54 53 NN</b> or <b>TS
135e0 50 20 47 41 3c 2f 62 3e 20 28 54 53 50 20 61 6e P GA</b> (TSP an
135f0 64 20 54 53 50 20 4e 4e 20 61 72 65 20 73 79 6e d TSP NN are syn
13600 6f 6e 79 6d 73 29 2e 0d 0a 3c 62 72 3e 3c 62 72 onyms)...<br><br
13610 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 >..<table border
13620 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 ="1" bgcolor="#f
13630 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 fffcf" cellspaci
13640 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 ng="4" cellpaddi
13650 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 ng="6">..<tr><th
13660 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
13670 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 0">Algorithm</th
13680 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
13690 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 0d0a0">Request</
136a0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
136b0 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 #d0d0a0">Options
136c0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
136d0 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d ="#d0d0a0">Delim
136e0 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 iter</th><th bgc
136f0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
13700 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 outeId</th><th b
13710 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
13720 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 >RouteRow</th><t
13730 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
13740 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 a0">Role</th><th
13750 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
13760 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 0">LinkRowid</th
13770 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
13780 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 0d0a0">NodeFrom<
13790 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
137a0 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f "#d0d0a0">NodeTo
137b0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
137c0 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c ="#d0d0a0">Cost<
137d0 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
137e0 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 "#d0d0a0">Geomet
137f0 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ry</th><th bgcol
13800 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d or="#d0d0a0">Nam
13810 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 e</th></tr>..<tr
13820 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c >..<td>Dijkstra<
13830 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c 2f /td><td>TSP NN</
13840 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e td><td>Full</td>
13850 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 <td>, [dec=4
13860 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 4, hex=2c]</
13870 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
13880 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 ght">0</td><td a
13890 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
138a0 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f 6c 75 74 td><td>TSP Solut
138b0 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ion</td><td>NULL
138c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
138d0 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
138e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
138f0 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
13900 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
13910 3e 31 32 35 34 2e 34 33 33 39 33 33 3c 2f 74 64 >1254.433933</td
13920 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 30 30 ><td>BLOB sz=200
13930 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 0 GEOMETRY</td><
13940 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
13950 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
13960 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
13970 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
13980 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c d><td>NULL<td al
13990 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
139a0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
139b0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
139c0 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
139d0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
139e0 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
139f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
13a00 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c ht">184030</td><
13a10 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
13a20 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e >176.364755</td>
13a30 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 20 <td>BLOB sz=304
13a40 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 GEOMETRY</td><td
13a50 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
13a60 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
13a70 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
13a80 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
13a90 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
13aa0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
13ab0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
13ac0 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 right">1</td><td
13ad0 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
13ae0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 ign="right">2240
13af0 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
13b00 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
13b10 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
13b20 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 ight">182885</td
13b30 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
13b40 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 t">94.812424</td
13b50 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
13b60 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 d>VIA PIETRO ARE
13b70 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TINO</td>..</tr>
13b80 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 ..<tr>..<tr>..<t
13b90 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
13ba0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
13bb0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
13bc0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
13bd0 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">2</td><td al
13be0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
13bf0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
13c00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
13c10 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c 74 64 20 >224862</td><td
13c20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
13c30 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2885</td><td ali
13c40 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 34 gn="right">18204
13c50 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 3</td><td align=
13c60 22 72 69 67 68 74 22 3e 33 37 2e 30 39 35 32 38 "right">37.09528
13c70 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 7</td><td>NULL</
13c80 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 td><td>VIA MARGA
13c90 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 RITONE</td>..</t
13ca0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
13cb0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
13cc0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
13cd0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
13ce0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
13cf0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
13d00 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 "right">3</td><t
13d10 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
13d20 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 36 lign="right">226
13d30 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 070</td><td alig
13d40 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 34 33 n="right">182043
13d50 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
13d60 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 right">184030</t
13d70 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
13d80 68 74 22 3e 34 34 2e 34 35 37 30 34 34 3c 2f 74 ht">44.457044</t
13d90 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
13da0 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e 54 27 41 td>PIAZZA SANT'A
13db0 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f GOSTINO</td>..</
13dc0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
13dd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
13de0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
13df0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
13e00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
13e10 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >2</td><td align
13e20 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
13e30 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 td>Route</td><td
13e40 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
13e50 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 ign="right">1840
13e60 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 30</td><td align
13e70 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c ="right">181999<
13e80 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
13e90 69 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33 38 ight">139.114938
13ea0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
13eb0 3d 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =496 GEOMETRY</t
13ec0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
13ed0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
13ee0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
13ef0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
13f00 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
13f10 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
13f20 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">3</td><td al
13f30 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
13f40 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
13f50 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
13f60 3e 32 32 36 30 37 31 3c 2f 74 64 3e 3c 74 64 20 >226071</td><td
13f70 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
13f80 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4030</td><td ali
13f90 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 gn="right">18262
13fa0 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 9</td><td align=
13fb0 22 72 69 67 68 74 22 3e 35 35 2e 36 38 39 30 30 "right">55.68900
13fc0 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 9</td><td>NULL</
13fd0 74 64 3e 3c 74 64 3e 56 49 41 20 47 49 55 53 45 td><td>VIA GIUSE
13fe0 50 50 45 20 47 41 52 49 42 41 4c 44 49 3c 2f 74 PPE GARIBALDI</t
13ff0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
14000 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
14010 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14020 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
14030 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14040 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
14050 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
14060 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
14070 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14080 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c ht">225512</td><
14090 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
140a0 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 >182629</td><td
140b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
140c0 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2933</td><td ali
140d0 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31 38 gn="right">34.18
140e0 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4194</td><td>NUL
140f0 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 L</td><td>CORSO
14100 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 ITALIA</td>..</t
14110 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
14120 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
14130 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
14140 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14150 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14160 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 3</td><td align=
14170 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 "right">3</td><t
14180 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
14190 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
141a0 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 511</td><td alig
141b0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 n="right">182933
141c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
141d0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
141e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
141f0 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74 ht">49.241735</t
14200 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14210 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c td>CORSO ITALIA<
14220 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
14230 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
14240 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14250 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
14260 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
14270 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
14280 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14290 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
142a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
142b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
142c0 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c ht">181999</td><
142d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
142e0 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
142f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 align="right">21
14300 37 2e 36 37 32 38 38 35 3c 2f 74 64 3e 3c 74 64 7.672885</td><td
14310 3e 42 4c 4f 42 20 73 7a 3d 36 38 38 20 47 45 4f >BLOB sz=688 GEO
14320 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 METRY</td><td>NU
14330 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
14340 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
14350 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14360 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14370 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
14380 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 ign="right">4</t
14390 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
143a0 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">1</td><td>Li
143b0 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
143c0 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 35 3c ="right">222635<
143d0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
143e0 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 ight">181999</td
143f0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
14400 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 t">181998</td><t
14410 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14420 31 30 31 2e 36 32 39 37 35 30 3c 2f 74 64 3e 3c 101.629750</td><
14430 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14440 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 CORSO ITALIA</td
14450 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
14460 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14470 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
14480 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
14490 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
144a0 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 ight">4</td><td
144b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
144c0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
144d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
144e0 74 22 3e 32 32 34 37 38 30 3c 2f 74 64 3e 3c 74 t">224780</td><t
144f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14500 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20 61 181998</td><td a
14510 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
14520 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 560</td><td alig
14530 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e 37 33 33 n="right">73.733
14540 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 572</td><td>NULL
14550 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c </td><td>VIA DEL
14560 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 L'ANFITEATRO</td
14570 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
14580 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14590 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
145a0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
145b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
145c0 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >4</td><td align
145d0 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
145e0 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
145f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
14600 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 5827</td><td ali
14610 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 36 gn="right">18356
14620 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
14630 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
14640 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14650 67 68 74 22 3e 34 32 2e 33 30 39 35 36 34 3c 2f ght">42.309564</
14660 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14670 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 <td>VIA DELL'ANF
14680 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f ITEATRO</td>..</
14690 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
146a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
146b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
146c0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
146d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
146e0 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >4</td><td align
146f0 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
14700 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 td>Route</td><td
14710 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
14720 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 ign="right">1832
14730 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 86</td><td align
14740 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c ="right">178754<
14750 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
14760 69 67 68 74 22 3e 33 37 38 2e 33 31 33 36 38 34 ight">378.313684
14770 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
14780 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =272 GEOMETRY</t
14790 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
147a0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
147b0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
147c0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
147d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
147e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
147f0 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">5</td><td al
14800 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
14810 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
14820 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14830 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 >224414</td><td
14840 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
14850 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3286</td><td ali
14860 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
14870 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
14880 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30 "right">136.3720
14890 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 57</td><td>NULL<
148a0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
148b0 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
148c0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
148d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
148e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
148f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14900 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14910 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >5</td><td align
14920 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c ="right">2</td><
14930 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
14940 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 align="right">21
14950 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 9171</td><td ali
14960 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
14970 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
14980 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f "right">178732</
14990 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
149a0 67 68 74 22 3e 39 33 2e 32 38 35 35 33 38 3c 2f ght">93.285538</
149b0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
149c0 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 <td>VIA FRANCESC
149d0 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c O CRISPI</td>..<
149e0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
149f0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14a00 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14a10 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14a20 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14a30 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">5</td><td alig
14a40 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e n="right">3</td>
14a50 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
14a60 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
14a70 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 19058</td><td al
14a80 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
14a90 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 32</td><td align
14aa0 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c ="right">178754<
14ab0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
14ac0 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38 39 ight">148.656089
14ad0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14ae0 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 d><td>VIA FRANCE
14af0 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d SCO CRISPI</td>.
14b00 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
14b10 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14b20 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
14b30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14b40 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14b50 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">5</td><td al
14b60 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
14b70 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e d><td>Route</td>
14b80 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14b90 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14ba0 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 78754</td><td al
14bb0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 ign="right">1838
14bc0 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 82</td><td align
14bd0 3d 22 72 69 67 68 74 22 3e 31 38 38 2e 32 31 36 ="right">188.216
14be0 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 831</td><td>BLOB
14bf0 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 54 52 59 sz=400 GEOMETRY
14c00 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14c10 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
14c20 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
14c30 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14c40 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
14c50 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14c60 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 right">6</td><td
14c70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14c80 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
14c90 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14ca0 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e 3c ht">224538</td><
14cb0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14cc0 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 >178754</td><td
14cd0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
14ce0 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1972</td><td ali
14cf0 67 6e 3d 22 72 69 67 68 74 22 3e 35 30 2e 39 30 gn="right">50.90
14d00 30 36 36 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 0663</td><td>NUL
14d10 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e L</td><td>VIA AN
14d20 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 TONIO GUADAGNOLI
14d30 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
14d40 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
14d50 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14d60 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14d70 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61 6c ULL</td>..<td al
14d80 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 ign="right">6</t
14d90 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14da0 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">2</td><td>Li
14db0 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
14dc0 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 37 3c ="right">224537<
14dd0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
14de0 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 ight">181972</td
14df0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
14e00 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 t">182000</td><t
14e10 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14e20 38 36 2e 33 30 31 30 35 31 3c 2f 74 64 3e 3c 74 86.301051</td><t
14e30 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
14e40 49 41 20 44 45 4c 20 4e 49 4e 46 45 4f 3c 2f 74 IA DEL NINFEO</t
14e50 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
14e60 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
14e70 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14e80 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
14e90 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14ea0 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 right">6</td><td
14eb0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 align="right">3
14ec0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
14ed0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14ee0 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c ht">225527</td><
14ef0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14f00 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 >182000</td><td
14f10 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
14f20 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3882</td><td ali
14f30 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 gn="right">51.01
14f40 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 5117</td><td>NUL
14f50 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 L</td><td>VIA LI
14f60 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 CIO NENCETTI</td
14f70 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
14f80 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
14f90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
14fa0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
14fb0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
14fc0 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20 ight">6</td><td
14fd0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
14fe0 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 /td><td>Route</t
14ff0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c d><td>NULL<td al
15000 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 ign="right">1838
15010 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 82</td><td align
15020 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
15030 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
15040 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33 39 ight">154.750839
15050 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
15060 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =240 GEOMETRY</t
15070 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
15080 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
15090 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
150a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
150b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
150c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
150d0 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">7</td><td al
150e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
150f0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
15100 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15110 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74 64 20 >225527</td><td
15120 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
15130 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3882</td><td ali
15140 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 gn="right">18200
15150 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
15160 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35 31 31 "right">51.01511
15170 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 7</td><td>NULL</
15180 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43 49 4f td><td>VIA LICIO
15190 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e 0d 0a NENCETTI</td>..
151a0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
151b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
151c0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
151d0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
151e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
151f0 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">7</td><td ali
15200 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 gn="right">2</td
15210 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
15220 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15230 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61 222636</td><td a
15240 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
15250 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 000</td><td alig
15260 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
15270 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
15280 72 69 67 68 74 22 3e 31 30 33 2e 37 33 35 37 32 right">103.73572
15290 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 2</td><td>NULL</
152a0 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 td><td>VIA PIETR
152b0 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a O ARETINO</td>..
152c0 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
152d0 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 .<br>..Let's now
152e0 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 quickly examine
152f0 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 the resultset r
15300 65 74 75 72 6e 65 64 20 62 79 20 61 6e 79 20 54 eturned by any T
15310 53 50 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d SP query:..<ul>.
15320 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65 72 61 6c .<li>the general
15330 20 6c 61 79 6f 75 74 20 69 73 20 6d 6f 72 65 20 layout is more
15340 6f 72 20 6c 65 73 73 20 74 68 65 20 73 61 6d 65 or less the same
15350 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 61 as you've alrea
15360 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63 dy seen in the c
15370 61 73 65 20 6f 66 20 3c 62 3e 53 68 6f 72 74 65 ase of <b>Shorte
15380 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 69 stPath</b> queri
15390 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 es.</li>..<li>th
153a0 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f e <b>first row</
153b0 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 b> of the result
153c0 73 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20 65 set is someway e
153d0 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 xceptional, and
153e0 69 73 20 74 68 65 20 75 6e 69 71 75 65 20 72 6f is the unique ro
153f0 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 w of the results
15400 65 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c 62 et presenting <b
15410 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 >NOT NULL</b> va
15420 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e 41 lues in the <b>A
15430 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 lgorithm</b>, <b
15440 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 62 >Request</b>, <b
15450 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 >Options</b> and
15460 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 <b>Delimiter</b
15470 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 62 72 3e 0d 0a > columns.<br>..
15480 49 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 It contains the
15490 3c 62 3e 54 53 50 20 73 6f 6c 75 74 69 6f 6e 3c <b>TSP solution<
154a0 2f 62 3e 20 61 73 20 61 20 77 68 6f 6c 65 3a 20 /b> as a whole:
154b0 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c 2f column <b>Cost</
154c0 62 3e 20 69 73 20 74 68 65 20 3c 75 3e 74 6f 74 b> is the <u>tot
154d0 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 61 6e 64 20 al cost</u> and
154e0 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74 column <b>Geomet
154f0 72 79 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c 75 ry</b> is the <u
15500 3e 6f 76 65 72 61 6c 6c 20 73 6f 6c 75 74 69 6f >overall solutio
15510 6e 20 70 61 74 68 3c 2f 75 3e 2e 3c 2f 6c 69 3e n path</u>.</li>
15520 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c 62 ..<li>columns <b
15530 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 61 6e 64 >RouteId</b> and
15540 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e <b>RouteRow</b>
15550 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 69 have the same i
15560 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61 73 nterpretation as
15570 20 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 in <b>multi-des
15580 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 tination Shortes
15590 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 69 65 tPath</b> querie
155a0 73 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20 73 s, but in this s
155b0 70 65 63 69 66 69 63 20 63 61 73 65 20 65 61 63 pecific case eac
155c0 68 20 3c 75 3e 3c 69 3e 72 6f 75 74 65 3c 2f 69 h <u><i>route</i
155d0 3e 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f 6e 64 ></u> correspond
155e0 73 20 74 6f 20 61 20 63 6f 6e 6e 65 63 74 69 6f s to a connectio
155f0 6e 20 62 65 74 77 65 65 6e 20 74 77 6f 20 3c 69 n between two <i
15600 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f ><u>cities</u></
15610 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 3c 69 3e i>.<br>..All <i>
15620 3c 75 3e 72 6f 75 74 65 73 3c 2f 75 3e 3c 2f 69 <u>routes</u></i
15630 3e 20 61 72 65 20 6f 72 64 65 72 20 61 63 63 6f > are order acco
15640 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 72 rdingly to the r
15650 75 6e 6e 69 6e 67 20 73 65 71 75 65 6e 63 65 20 unning sequence
15660 6f 66 20 74 68 65 20 54 53 50 20 73 6f 6c 75 74 of the TSP solut
15670 69 6f 6e 2e 20 3c 62 3e 52 6f 75 74 65 49 64 3d ion. <b>RouteId=
15680 30 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 73 0</b> identifies
15690 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 54 53 50 the overall TSP
156a0 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d solution.</li>.
156b0 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d 0a .</ul><br><br>..
156c0 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 <verbatim>..UPDA
156d0 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65 TE byfoot SET Re
156e0 71 75 65 73 74 20 3d 20 27 54 53 50 20 47 41 27 quest = 'TSP GA'
156f0 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f ;....SELECT Algo
15700 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 rithm, Request,
15710 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 Options, Delimit
15720 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 er, RouteId, Rou
15730 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e teRow, Role, Lin
15740 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d kRowid, NodeFrom
15750 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 , NodeTo, Cost,
15760 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a Geometry, Name..
15770 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 FROM byfoot..WHE
15780 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 RE NodeFrom = 17
15790 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 8731 AND NodeTo
157a0 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 39 39 = '183286,181999
157b0 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c 31 ,184030,183882,1
157c0 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 78754';..</verba
157d0 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 77 69 73 tim>..If you wis
157e0 68 20 74 6f 20 67 65 74 20 61 20 3c 62 3e 54 53 h to get a <b>TS
157f0 50 20 47 41 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f P GA</b> solutio
15800 6e 20 79 6f 75 20 73 69 6d 70 6c 65 20 68 61 76 n you simple hav
15810 65 20 74 6f 20 73 65 74 20 3c 62 3e 52 65 71 75 e to set <b>Requ
15820 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 53 est</b> as <b>TS
15830 50 20 47 41 3c 2f 62 3e 3b 20 61 6e 64 20 79 6f P GA</b>; and yo
15840 75 20 63 61 6e 20 73 65 74 20 61 67 61 69 6e 20 u can set again
15850 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 <b>Request</b> a
15860 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 6f 72 20 s <b>TSP</b> or
15870 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 74 6f <b>TSP NN</b> to
15880 20 72 65 76 65 72 74 20 62 61 63 6b 20 74 6f 20 revert back to
15890 74 68 65 20 73 69 6d 70 6c 65 72 20 2f 20 66 61 the simpler / fa
158a0 73 74 65 72 20 61 6c 67 6f 72 69 74 68 6d 2e 0d ster algorithm..
158b0 0a 3c 62 72 3e 0d 0a 41 6c 73 6f 20 69 6e 20 74 .<br>..Also in t
158c0 68 65 20 63 61 73 65 20 6f 66 20 54 53 50 20 79 he case of TSP y
158d0 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 61 6c 6c ou can eventuall
158e0 79 20 61 63 74 69 76 61 74 65 20 74 68 65 20 75 y activate the u
158f0 73 75 61 6c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c sual <b>Options<
15900 2f 62 3e 20 61 6c 72 65 61 64 79 20 65 78 70 6c /b> already expl
15910 61 69 6e 65 64 20 69 6e 20 74 68 65 20 53 68 6f ained in the Sho
15920 72 74 65 73 74 50 61 74 68 20 65 78 61 6d 70 6c rtestPath exampl
15930 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 es.<br>..<u>Note
15940 3c 2f 75 3e 3a 54 53 50 20 70 72 6f 62 6c 65 6d </u>:TSP problem
15950 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 69 6d s will always im
15960 70 6c 79 20 75 73 69 6e 67 20 74 68 65 20 3c 62 ply using the <b
15970 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 3e 20 >Dijkstra's</b>
15980 61 6c 67 6f 72 69 74 68 6d 2c 20 65 76 65 6e 20 algorithm, even
15990 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 when the alterna
159a0 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 tive <b>A*</b> a
159b0 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72 lgorithm is curr
159c0 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 0d ently selected..
159d0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 .<verbatim>..UPD
159e0 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 ATE byfoot SET R
159f0 65 71 75 65 73 74 20 3d 20 27 54 53 50 27 2c 20 equest = 'TSP',
15a00 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49 Options = 'NO LI
15a10 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 NKS';....SELECT
15a20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 Algorithm, Reque
15a30 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c st, Options, Del
15a40 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c imiter, RouteId,
15a50 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c RouteRow, Role,
15a60 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 LinkRowid, Node
15a70 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f From, NodeTo, Co
15a80 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 st, Geometry, Na
15a90 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d me..FROM byfoot.
15aa0 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 .WHERE NodeFrom
15ab0 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 = 178731 AND Nod
15ac0 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 eTo = '183286,18
15ad0 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 1999,184030,1838
15ae0 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 82,178754';..</v
15af0 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f erbatim>..The fo
15b00 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 llowing table sh
15b10 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 ows the resultse
15b20 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 t returned by th
15b30 65 20 73 61 6d 65 20 54 53 50 20 71 75 65 72 79 e same TSP query
15b40 20 75 73 65 64 20 69 6e 20 74 68 65 20 70 72 65 used in the pre
15b50 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 61 66 vious example af
15b60 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 ter enabling the
15b70 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e <b>NO LINKS</b>
15b80 20 6f 70 74 69 6f 6e 2e 20 3c 62 72 3e 3c 62 72 option. <br><br
15b90 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 >..<table border
15ba0 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 ="1" bgcolor="#f
15bb0 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 fffcf" cellspaci
15bc0 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 ng="4" cellpaddi
15bd0 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 ng="6">..<tr><th
15be0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
15bf0 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 0">Algorithm</th
15c00 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
15c10 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 0d0a0">Request</
15c20 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
15c30 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 #d0d0a0">Options
15c40 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
15c50 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d ="#d0d0a0">Delim
15c60 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 iter</th><th bgc
15c70 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
15c80 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 outeId</th><th b
15c90 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
15ca0 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 >RouteRow</th><t
15cb0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
15cc0 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 a0">Role</th><th
15cd0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
15ce0 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 0">LinkRowid</th
15cf0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
15d00 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 0d0a0">NodeFrom<
15d10 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
15d20 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f "#d0d0a0">NodeTo
15d30 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
15d40 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c ="#d0d0a0">Cost<
15d50 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
15d60 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 "#d0d0a0">Geomet
15d70 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ry</th><th bgcol
15d80 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d or="#d0d0a0">Nam
15d90 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 e</th></tr>..<tr
15da0 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c >..<td>Dijkstra<
15db0 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c 2f /td><td>TSP NN</
15dc0 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 3c td><td>No Links<
15dd0 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 /td><td>, [d
15de0 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 ec=44, hex=2c	
15df0 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3;</td><td align
15e00 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
15e10 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15e20 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 >0</td><td>TSP S
15e30 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e olution</td><td>
15e40 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
15e50 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
15e60 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
15e70 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
15e80 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15e90 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33 33 ght">1254.433933
15ea0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
15eb0 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f =2000 GEOMETRY</
15ec0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
15ed0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
15ee0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15ef0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
15f00 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 L</td><td>NULL<t
15f10 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15f20 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
15f30 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
15f40 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
15f50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
15f60 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
15f70 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
15f80 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f "right">184030</
15f90 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15fa0 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c ght">176.364755<
15fb0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
15fc0 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 304 GEOMETRY</td
15fd0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
15fe0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
15ff0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
16000 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
16010 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 /td><td>NULL<td
16020 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
16030 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
16040 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e ight">0</td><td>
16050 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 Route</td><td>NU
16060 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
16070 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c ="right">184030<
16080 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
16090 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 ight">181999</td
160a0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
160b0 74 22 3e 31 33 39 2e 31 31 34 39 33 38 3c 2f 74 t">139.114938</t
160c0 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 39 d><td>BLOB sz=49
160d0 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 6 GEOMETRY</td><
160e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
160f0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
16100 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
16110 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
16120 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
16130 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16140 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >3</td><td align
16150 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
16160 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 td>Route</td><td
16170 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
16180 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 ign="right">1819
16190 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 99</td><td align
161a0 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c ="right">183286<
161b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
161c0 69 67 68 74 22 3e 32 31 37 2e 36 37 32 38 38 35 ight">217.672885
161d0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
161e0 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =688 GEOMETRY</t
161f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
16200 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
16210 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
16220 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
16230 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
16240 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
16250 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">4</td><td al
16260 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
16270 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e d><td>Route</td>
16280 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
16290 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
162a0 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83286</td><td al
162b0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
162c0 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 54</td><td align
162d0 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 31 33 ="right">378.313
162e0 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 684</td><td>BLOB
162f0 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 sz=272 GEOMETRY
16300 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
16310 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
16320 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
16330 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
16340 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
16350 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
16360 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 right">5</td><td
16370 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
16380 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
16390 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
163a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
163b0 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 ">178754</td><td
163c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
163d0 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 83882</td><td al
163e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 2e ign="right">188.
163f0 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 216831</td><td>B
16400 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 LOB sz=400 GEOME
16410 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c TRY</td><td>NULL
16420 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
16430 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
16440 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
16450 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
16460 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
16470 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e n="right">6</td>
16480 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
16490 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
164a0 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
164b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
164c0 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e ght">183882</td>
164d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
164e0 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
164f0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
16500 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 54.750839</td><t
16510 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 d>BLOB sz=240 GE
16520 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e OMETRY</td><td>N
16530 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
16540 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c .</table>..<br><
16550 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 br><br>..The map
16560 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 6c below graphical
16570 6c 79 20 73 68 6f 77 73 20 74 68 65 20 70 72 65 ly shows the pre
16580 76 69 6f 75 73 20 3c 62 3e 54 53 50 3c 2f 62 3e vious <b>TSP</b>
16590 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c queries...<br><
165a0 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 br>..<img src="h
165b0 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d ttps://www.gaia-
165c0 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 gis.it/gaia-sins
165d0 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 74 73 /routing-figs/ts
165e0 70 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 p1.jpg" alt="fig
165f0 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 4">..<ul>..<li>R
16600 65 64 20 73 74 61 72 3a 20 74 68 65 20 3c 75 3e ed star: the <u>
16610 3c 69 3e 62 61 73 65 2d 63 69 74 79 3c 2f 69 3e <i>base-city</i>
16620 3c 2f 75 3e 20 28 66 72 6f 6d 20 77 68 65 72 65 </u> (from where
16630 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 the <u><i>sales
16640 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 62 65 67 man</i></u>) beg
16650 69 6e 73 20 68 69 73 2f 68 65 72 20 74 72 69 70 ins his/her trip
16660 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65 65 .</li>..<li>Gree
16670 6e 20 64 6f 74 73 3a 20 74 68 65 20 3c 75 3e 3c n dots: the <u><
16680 69 3e 63 69 74 69 65 73 3c 2f 69 3e 3c 2f 75 3e i>cities</i></u>
16690 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 2e 3c to be visited.<
166a0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 /li>..<li>Yellow
166b0 20 6c 69 6e 65 3a 20 74 68 65 20 54 53 50 20 73 line: the TSP s
166c0 6f 6c 75 74 69 6f 6e 20 28 74 68 61 74 20 69 73 olution (that is
166d0 20 61 6c 77 61 79 73 20 61 20 63 69 72 63 75 6c always a circul
166e0 61 72 20 70 61 74 68 29 2e 3c 2f 6c 69 3e 0d 0a ar path).</li>..
166f0 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c </ul><br>..<tabl
16700 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 e bgcolor="#ffb0
16710 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 60" cellspacing=
16720 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 "10" cellpadding
16730 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c ="6"><tr><td>..<
16740 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f 77 20 h3>Warning: how
16750 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 68 61 6e to correctly han
16760 64 6c 69 6e 67 20 54 53 50 20 72 65 73 75 6c 74 dling TSP result
16770 73 65 74 73 20 77 69 74 68 20 73 70 61 74 69 61 sets with spatia
16780 6c 69 74 65 5f 67 75 69 3c 2f 68 33 3e 0d 0a 59 lite_gui</h3>..Y
16790 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 ou should never
167a0 66 6f 72 67 65 74 20 6f 72 20 6f 76 65 72 6c 6f forget or overlo
167b0 6f 6b 20 74 68 61 74 20 62 6f 74 68 20 3c 62 3e ok that both <b>
167c0 54 53 50 20 4e 4e 3c 2f 62 3e 20 61 6e 64 20 3c TSP NN</b> and <
167d0 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 61 72 65 b>TSP GA</b> are
167e0 20 3c 75 3e 3c 69 3e 68 65 75 72 69 73 74 69 63 <u><i>heuristic
167f0 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 69 3e 3c algorithms</i><
16800 2f 75 3e 20 68 65 61 76 69 6c 79 20 72 65 6c 79 /u> heavily rely
16810 69 6e 67 20 6f 6e 20 3c 75 3e 3c 69 3e 72 61 6e ing on <u><i>ran
16820 64 6f 6d 3c 69 3e 3c 2f 75 3e 20 63 68 6f 69 63 dom<i></u> choic
16830 65 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 63 6f es.<br>..This co
16840 75 6c 64 20 65 61 73 69 6c 79 20 68 61 76 65 20 uld easily have
16850 74 68 65 20 70 72 61 63 74 69 63 61 6c 20 63 6f the practical co
16860 6e 73 65 71 75 65 6e 63 65 20 74 68 61 74 20 72 nsequence that r
16870 65 73 6f 6c 76 69 6e 67 20 74 77 69 63 65 20 28 esolving twice (
16880 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20 74 69 6d or even more tim
16890 65 73 29 20 74 68 65 20 73 61 6d 65 20 69 64 65 es) the same ide
168a0 6e 74 69 63 61 6c 20 54 53 50 20 71 75 65 72 79 ntical TSP query
168b0 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c could eventuall
168c0 79 20 72 65 74 75 72 6e 20 64 69 66 66 65 72 65 y return differe
168d0 6e 74 20 72 65 73 75 6c 74 73 65 74 73 2e 3c 62 nt resultsets.<b
168e0 72 3e 0d 0a 54 68 65 72 65 20 69 73 20 6e 6f 74 r>..There is not
168f0 68 69 6e 67 20 69 6e 74 72 69 6e 73 69 63 61 6c hing intrinsical
16900 6c 79 20 77 72 6f 6e 67 20 69 6e 20 74 68 69 73 ly wrong in this
16910 2c 20 69 74 20 73 69 6d 70 6c 79 20 69 73 20 61 , it simply is a
16920 20 64 69 72 65 63 74 20 63 6f 6e 73 65 71 75 65 direct conseque
16930 6e 63 65 20 6f 66 20 75 73 69 6e 67 20 3c 75 3e nce of using <u>
16940 3c 69 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f 69 <i>randomness</i
16950 3e 3c 2f 75 3e 3b 20 77 65 20 61 72 65 20 73 69 ></u>; we are si
16960 6d 70 6c 79 20 62 61 72 67 61 69 6e 69 6e 67 20 mply bargaining
16970 3c 62 3e 65 78 61 63 74 6e 65 73 73 3c 2f 62 3e <b>exactness</b>
16980 20 61 6e 64 20 3c 62 3e 72 65 70 72 6f 64 75 63 and <b>reproduc
16990 69 62 69 6c 69 74 79 3c 2f 62 3e 20 66 6f 72 20 ibility</b> for
169a0 3c 62 3e 71 75 69 63 6b 6e 65 73 73 3c 2f 62 3e <b>quickness</b>
169b0 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 73 70 .<br><br>..<b>sp
169c0 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e atialite_gui</b>
169d0 20 6f 6e 20 69 74 73 20 6f 77 6e 20 61 64 6f 70 on its own adop
169e0 74 73 20 61 20 3c 62 3e 70 61 67 65 64 20 73 74 ts a <b>paged st
169f0 72 61 74 65 67 79 3c 2f 62 3e 20 77 68 65 6e 20 rategy</b> when
16a00 73 68 6f 77 69 6e 67 20 68 75 67 65 20 72 65 73 showing huge res
16a10 75 6c 74 73 65 74 73 3b 20 74 68 69 73 20 72 65 ultsets; this re
16a20 71 75 69 72 65 73 20 72 65 70 65 61 74 69 6e 67 quires repeating
16a30 20 61 67 61 69 6e 20 74 68 65 20 69 6e 69 74 69 again the initi
16a40 61 6c 20 53 51 4c 20 71 75 65 72 79 20 65 61 63 al SQL query eac
16a50 68 20 74 69 6d 65 20 74 68 61 74 20 61 20 3c 62 h time that a <b
16a60 3e 6e 65 77 20 70 61 67 65 20 6f 66 20 35 30 30 >new page of 500
16a70 20 72 6f 77 73 3c 2f 62 3e 20 68 61 73 20 74 6f rows</b> has to
16a80 20 62 65 20 73 68 6f 77 6e 20 6f 6e 20 74 68 65 be shown on the
16a90 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 20 current window
16aa0 70 61 6e 65 6c 2e 3c 62 72 3e 0d 0a 54 68 65 20 panel.<br>..The
16ab0 74 77 6f 20 74 68 69 6e 67 73 20 64 6f 6e 27 74 two things don't
16ac0 20 67 6f 20 74 6f 67 65 74 68 65 72 20 77 65 6c go together wel
16ad0 6c 3b 20 73 6f 20 64 6f 6e 27 74 20 62 65 20 73 l; so don't be s
16ae0 75 72 70 72 69 73 65 64 20 77 68 65 6e 20 65 76 urprised when ev
16af0 65 6e 74 75 61 6c 6c 79 20 64 69 73 63 6f 76 65 entually discove
16b00 72 69 6e 67 20 74 68 61 74 20 3c 62 3e 73 70 61 ring that <b>spa
16b10 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 tialite_gui</b>
16b20 77 69 6c 6c 20 62 65 68 61 76 65 20 62 69 7a 61 will behave biza
16b30 72 72 65 6c 79 20 77 68 69 6c 65 20 70 72 65 73 rrely while pres
16b40 65 6e 74 69 6e 67 20 73 6f 6d 65 20 72 65 73 75 enting some resu
16b50 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 ltset returned b
16b60 79 20 61 20 54 53 50 20 71 75 65 72 79 2e 20 0d y a TSP query. .
16b70 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 .<verbatim>..UPD
16b80 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 ATE byfoot SET R
16b90 65 71 75 65 73 74 20 3d 20 27 54 53 50 27 3b 0d equest = 'TSP';.
16ba0 0a 0d 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20 ...CREATE TABLE
16bb0 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 my_tsp_solution
16bc0 41 53 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 AS..SELECT Algor
16bd0 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f ithm, Request, O
16be0 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 ptions, Delimite
16bf0 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 r, RouteId, Rout
16c00 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b eRow, Role, Link
16c10 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c Rowid, NodeFrom,
16c20 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 NodeTo, Cost, G
16c30 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 eometry, Name..F
16c40 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 ROM byfoot..WHER
16c50 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 E NodeFrom = 178
16c60 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 731 AND NodeTo =
16c70 20 27 31 38 33 32 38 36 2c 31 38 31 39 39 39 2c '183286,181999,
16c80 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c 31 37 184030,183882,17
16c90 38 37 35 34 27 3b 0d 0a 0d 0a 2e 2e 2e 20 20 3c 8754';....... <
16ca0 6e 6f 77 20 71 75 65 72 79 20 22 6d 79 5f 74 73 now query "my_ts
16cb0 70 5f 73 6f 6c 75 74 69 6f 6e 22 20 75 73 69 6e p_solution" usin
16cc0 67 20 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 g spatialite_gui
16cd0 3e 20 20 2e 2e 2e 0d 0a 0d 0a 44 52 4f 50 20 54 > .......DROP T
16ce0 41 42 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 ABLE my_tsp_solu
16cf0 74 69 6f 6e 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 tion;..</verbati
16d00 6d 3e 0d 0a 3c 75 3e 48 69 6e 74 3c 2f 75 3e 3a m>..<u>Hint</u>:
16d10 20 72 65 73 6f 6c 76 69 6e 67 20 74 68 69 73 20 resolving this
16d20 70 75 7a 7a 6c 69 6e 67 20 69 73 73 75 65 20 69 puzzling issue i
16d30 73 20 68 6f 77 65 76 65 72 20 62 61 73 69 63 61 s however basica
16d40 6c 6c 79 20 73 69 6d 70 6c 65 3a 0d 0a 3c 6f 6c lly simple:..<ol
16d50 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 73 69 6d 70 6c >..<li>you simpl
16d60 79 20 68 61 76 65 20 74 6f 20 74 61 6b 65 20 61 y have to take a
16d70 20 3c 62 3e 73 74 61 74 69 63 20 73 6e 61 70 73 <b>static snaps
16d80 68 6f 74 3c 2f 62 3e 20 6f 66 20 79 6f 75 72 20 hot</b> of your
16d90 54 53 50 20 72 65 73 75 6c 74 73 65 74 20 62 79 TSP resultset by
16da0 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e 43 52 using the <b>CR
16db0 45 41 54 45 20 54 41 42 4c 45 20 3c 69 3e 6e 61 EATE TABLE <i>na
16dc0 6d 65 3c 2f 69 3e 20 41 53 20 3c 69 3e 54 53 50 me</i> AS <i>TSP
16dd0 20 71 75 65 72 79 3c 69 3e 3c 2f 62 3e 2e 3c 2f query<i></b>.</
16de0 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 79 6f li>..<li>then yo
16df0 75 20 63 61 6e 20 66 72 65 65 6c 79 20 65 78 61 u can freely exa
16e00 6d 69 6e 65 20 74 68 65 20 61 62 6f 76 65 20 73 mine the above s
16e10 6e 61 70 73 68 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c napshot.</li>..<
16e20 6c 69 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20 79 li>and finally y
16e30 6f 75 20 63 61 6e 20 64 75 6c 79 20 3c 62 3e 44 ou can duly <b>D
16e40 52 4f 50 3c 2f 62 3e 20 74 68 65 20 73 6e 61 70 ROP</b> the snap
16e50 73 68 6f 74 20 6f 6e 63 65 20 69 74 27 73 20 6e shot once it's n
16e60 6f 20 6c 6f 6e 67 65 72 20 75 73 65 66 75 6c 2e o longer useful.
16e70 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f </li>..</ol>..</
16e80 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c td></tr>..</tabl
16e90 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 e>..<br>..<table
16ea0 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 bgcolor="#c0ffc
16eb0 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 0" cellspacing="
16ec0 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 10" cellpadding=
16ed0 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 "6"><tr><td>..<h
16ee0 33 3e 4d 6f 72 65 20 61 62 6f 75 74 20 4c 69 6e 3>More about Lin
16ef0 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e 67 20 ear Referencing
16f00 61 6e 64 20 56 69 72 74 75 61 6c 52 6f 75 74 69 and VirtualRouti
16f10 6e 67 20 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f ng Linestrings</
16f20 68 33 3e 20 0d 0a 59 6f 75 20 68 61 76 65 20 61 h3> ..You have a
16f30 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 61 lready seen in a
16f40 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c previous exampl
16f50 65 20 74 68 61 74 20 61 6c 6c 20 4c 49 4e 45 53 e that all LINES
16f60 54 52 49 4e 47 73 20 63 72 65 61 74 65 64 20 62 TRINGs created b
16f70 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 y VirtualRouting
16f80 20 73 75 70 70 6f 72 74 20 74 68 65 20 3c 62 3e support the <b>
16f90 4d 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e 6d 65 61 M</b> (<b><i>mea
16fa0 73 75 72 65 3c 2f 69 3e 3c 2f 62 3e 29 20 63 6f sure</i></b>) co
16fb0 6f 72 64 69 6e 61 74 65 20 69 6e 74 65 6e 64 65 ordinate intende
16fc0 64 20 61 73 20 61 20 3c 62 3e 70 72 6f 67 72 65 d as a <b>progre
16fd0 73 73 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 66 ssive cost</b> f
16fe0 6f 72 20 65 61 63 68 20 76 65 72 74 65 78 2e 20 or each vertex.
16ff0 41 6e 64 20 79 6f 75 20 61 6c 72 65 61 64 79 20 And you already
17000 6b 6e 6f 77 20 74 68 65 20 74 68 65 79 20 63 61 know the they ca
17010 6e 20 73 75 70 70 6f 72 74 20 3c 62 3e 3c 69 3e n support <b><i>
17020 6c 69 6e 65 61 72 20 72 65 66 65 72 65 6e 63 69 linear referenci
17030 6e 67 3c 2f 69 3e 3c 2f 62 3e 20 28 3c 62 3e 4c ng</i></b> (<b>L
17040 52 3c 2f 62 3e 29 20 53 51 4c 20 66 75 6e 63 74 R</b>) SQL funct
17050 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 4c 65 74 27 73 ions.<br>..Let's
17060 20 6e 6f 77 20 67 6f 20 69 6e 20 66 75 72 74 68 now go in furth
17070 65 72 20 64 65 70 74 68 2e 0d 0a 3c 68 33 3e 54 er depth...<h3>T
17080 72 61 6a 65 63 74 6f 72 79 20 6f 62 6a 65 63 74 rajectory object
17090 73 3c 2f 68 33 3e 0d 0a 41 20 3c 62 3e 54 72 61 s</h3>..A <b>Tra
170a0 6a 65 63 74 6f 72 79 3c 2f 62 3e 20 69 73 20 61 jectory</b> is a
170b0 6e 79 20 4c 69 6e 65 73 74 72 69 6e 67 20 73 75 ny Linestring su
170c0 70 70 6f 72 74 69 6e 67 20 3c 62 3e 4d 20 63 6f pporting <b>M co
170d0 6f 72 64 69 6e 61 74 65 73 3c 2f 62 3e 20 77 69 ordinates</b> wi
170e0 74 68 20 61 20 63 6f 6e 74 69 6e 75 6f 75 73 6c th a continuousl
170f0 79 20 69 6e 63 72 65 61 73 69 6e 67 20 74 72 65 y increasing tre
17100 6e 64 2e 3c 62 72 3e 0d 0a 49 6e 20 73 69 6d 70 nd.<br>..In simp
17110 6c 65 72 20 77 6f 72 64 73 2c 20 74 68 65 20 3c ler words, the <
17120 62 3e 4d 2d 76 61 6c 75 65 3c 2f 62 3e 20 6f 66 b>M-value</b> of
17130 20 65 61 63 68 20 76 65 72 74 65 78 20 28 65 78 each vertex (ex
17140 63 65 70 74 20 74 68 65 20 6c 61 73 74 20 6f 6e cept the last on
17150 65 29 20 6d 75 73 74 20 62 65 20 3c 62 3e 6c 65 e) must be <b>le
17160 73 73 65 72 3c 2f 62 3e 20 74 68 61 6e 20 74 68 sser</b> than th
17170 65 20 4d 2d 56 61 6c 75 65 20 6f 66 20 74 68 65 e M-Value of the
17180 20 6e 65 78 74 20 76 65 72 74 65 78 2e 0d 0a 3c next vertex...<
17190 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 verbatim>..SELEC
171a0 54 20 2a 20 46 52 4f 4d 20 6d 79 5f 74 73 70 5f T * FROM my_tsp_
171b0 73 6f 6c 75 74 69 6f 6e 20 57 48 45 52 45 20 53 solution WHERE S
171c0 54 5f 49 73 56 61 6c 69 64 54 72 61 6a 65 63 74 T_IsValidTraject
171d0 6f 72 79 28 67 65 6f 6d 65 74 72 79 29 20 3d 20 ory(geometry) =
171e0 31 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 1;..------------
171f0 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 -------..1..</ve
17200 72 62 61 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 rbatim>..As you
17210 63 61 6e 20 65 61 73 69 6c 79 20 63 68 65 63 6b can easily check
17220 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53 by calling <b>S
17230 54 5f 49 73 56 61 6c 69 64 54 72 61 6a 65 63 74 T_IsValidTraject
17240 6f 72 79 28 29 3c 2f 62 3e 20 65 76 65 72 79 20 ory()</b> every
17250 4c 69 6e 65 73 74 72 69 6e 67 20 63 72 65 61 74 Linestring creat
17260 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75 ed by VirtualRou
17270 74 69 6e 67 20 69 73 20 61 20 3c 62 3e 76 61 6c ting is a <b>val
17280 69 64 20 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62 id Trajectory</b
17290 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a >...<verbatim>..
172a0 53 45 4c 45 43 54 20 53 54 5f 54 72 61 6a 65 63 SELECT ST_Trajec
172b0 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61 74 65 50 toryInterpolateP
172c0 6f 69 6e 74 28 47 65 6f 6d 65 74 72 79 2c 20 31 oint(Geometry, 1
172d0 30 30 2e 30 29 0d 0a 46 52 4f 4d 20 6d 79 5f 74 00.0)..FROM my_t
172e0 73 70 5f 73 6f 6c 75 74 69 6f 6e 0d 0a 57 48 45 sp_solution..WHE
172f0 52 45 20 52 6f 75 74 65 49 64 20 3d 20 30 3b 0d RE RouteId = 0;.
17300 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 53 6f .</verbatim>..So
17310 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 you just have t
17320 6f 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 54 72 61 o call <b>ST_Tra
17330 6a 65 63 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61 jectoryInterpola
17340 74 65 50 6f 69 6e 74 28 29 3c 2f 62 3e 20 69 6e tePoint()</b> in
17350 20 6f 72 64 65 72 20 74 6f 20 63 72 65 61 74 65 order to create
17360 20 61 20 50 4f 49 4e 54 20 70 72 65 63 69 73 65 a POINT precise
17370 6c 79 20 6c 6f 63 61 74 65 64 20 6f 6e 20 74 68 ly located on th
17380 65 20 4c 69 6e 65 73 74 72 69 6e 67 20 61 74 20 e Linestring at
17390 74 68 65 20 67 69 76 65 6e 20 3c 62 3e 63 6f 73 the given <b>cos
173a0 74 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e t</b>...<br><br>
173b0 3c 68 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 <hr><br><br>..Th
173c0 65 20 73 69 64 65 20 6d 61 70 20 67 72 61 70 68 e side map graph
173d0 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 ically shows the
173e0 20 65 73 74 69 6d 61 74 65 64 20 70 6f 73 69 74 estimated posit
173f0 69 6f 6e 73 20 65 76 65 72 79 20 31 30 30 6d 20 ions every 100m
17400 61 73 73 75 6d 69 6e 67 20 74 68 65 20 73 61 6d assuming the sam
17410 65 20 70 61 74 68 20 72 65 74 75 72 6e 65 64 20 e path returned
17420 62 79 20 74 68 65 20 6c 61 74 65 73 74 20 54 53 by the latest TS
17430 50 20 71 75 65 72 79 2e 0d 0a 3c 2f 74 64 3e 3c P query...</td><
17440 74 64 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 td>
17450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
174a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
174b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
174c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
174d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
174e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
174f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
175a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
175b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
175c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
175d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
175e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
175f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
176a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
176b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
176c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
176d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
176e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
176f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
177f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
178f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
179f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ada0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1add0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ade0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1baf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1beb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1caa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1caf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ceb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ced0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1daa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1daf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1deb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ded0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1def0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ead0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ede0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1faf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb80 20 20 20 20 20 20 20 20 20 20 0d 0a 3c 69 6d 67 ..<img
1fb90 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 src="https://ww
1fba0 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 w.gaia-gis.it/ga
1fbb0 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d ia-sins/routing-
1fbc0 66 69 67 73 2f 74 73 70 32 2e 6a 70 67 22 20 61 figs/tsp2.jpg" a
1fbd0 6c 74 3d 22 66 69 67 35 22 3e 0d 0a 3c 2f 74 64 lt="fig5">..</td
1fbe0 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a ></tr></table>..
1fbf0 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72 65 <hr><br>..<a hre
1fc00 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 f="https://www.g
1fc10 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 aia-gis.it/fossi
1fc20 6c 2f 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f l/libspatialite/
1fc30 77 69 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d wiki?name=4.3.0-
1fc40 64 6f 63 22 3e 62 61 63 6b 3c 2f 61 3e 0a 5a 20 doc">back</a>.Z
1fc50 66 31 36 66 31 34 32 36 66 30 64 32 39 64 38 35 f16f1426f0d29d85
1fc60 35 37 61 38 32 34 64 61 32 30 37 33 63 65 36 36 57a824da2073ce66
1fc70 0a .