Wiki page
[VirtualRouting] by
sandro
2019-12-26 16:00:19.
0000: 44 20 32 30 31 39 2d 31 32 2d 32 36 54 31 36 3a D 2019-12-26T16:
0010: 30 30 3a 31 39 2e 34 37 31 0a 4c 20 56 69 72 74 00:19.471.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 36 36 62 ualRouting.P 66b
0030: 62 65 38 37 38 61 64 33 65 32 37 65 35 39 31 39 be878ad3e27e5919
0040: 35 31 32 33 33 32 39 61 65 36 36 34 30 38 35 64 5123329ae664085d
0050: 31 65 64 64 64 0a 55 20 73 61 6e 64 72 6f 0a 57 1eddd.U sandro.W
0060: 20 31 35 33 34 33 32 0a 42 61 63 6b 20 74 6f 20 153432.Back to
0070: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f <a href="https:/
0080: 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 /www.gaia-gis.it
0090: 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61 74 69 /fossil/libspati
00a0: 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d 65 3d alite/wiki?name=
00b0: 35 2e 30 2e 30 2d 64 6f 63 22 3e 35 2e 30 2e 30 5.0.0-doc">5.0.0
00c0: 2d 64 6f 63 20 6d 61 69 6e 20 70 61 67 65 3c 2f -doc main page</
00d0: 61 3e 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e a><hr><br>..<h1>
00e0: 54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e 74 Table of Content
00f0: 73 3c 2f 68 31 3e 0d 0a 31 20 2d 20 3c 61 20 68 s</h1>..1 - <a h
0100: 72 65 66 3d 22 23 69 6e 74 72 6f 22 3e 49 6e 74 ref="#intro">Int
0110: 72 6f 64 75 63 74 69 6f 6e 3c 2f 61 3e 3c 62 72 roduction</a><br
0120: 3e 0d 0a 32 20 2d 20 3c 61 20 68 72 65 66 3d 22 >..2 - <a href="
0130: 23 73 61 6d 70 6c 65 22 3e 54 68 65 20 73 61 6d #sample">The sam
0140: 70 6c 65 2f 74 65 73 74 20 44 42 3c 2f 61 3e 3c ple/test DB</a><
0150: 62 72 3e 0d 0a 33 20 2d 20 3c 61 20 68 72 65 66 br>..3 - <a href
0160: 3d 22 23 63 72 65 61 74 65 22 3e 43 72 65 61 74 ="#create">Creat
0170: 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 69 ing VirtualRouti
0180: 6e 67 20 54 61 62 6c 65 73 3c 2f 61 3e 3c 62 72 ng Tables</a><br
0190: 3e 0d 0a 34 20 2d 20 3c 61 20 68 72 65 66 3d 22 >..4 - <a href="
01a0: 23 66 72 6f 6d 5f 74 6f 22 3e 53 6f 6c 76 69 6e #from_to">Solvin
01b0: 67 20 63 6c 61 73 73 69 63 20 53 68 6f 72 74 65 g classic Shorte
01c0: 73 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 73 st Path problems
01d0: 3c 2f 61 3e 3c 62 72 3e 0d 0a 35 20 2d 20 3c 61 </a><br>..5 - <a
01e0: 20 68 72 65 66 3d 22 23 6d 75 6c 74 69 22 3e 53 href="#multi">S
01f0: 6f 6c 76 69 6e 67 20 6d 75 6c 74 69 2d 64 65 73 olving multi-des
0200: 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 tination Shortes
0210: 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 73 3c t Path problems<
0220: 2f 61 3e 3c 62 72 3e 0d 0a 36 20 2d 20 3c 61 20 /a><br>..6 - <a
0230: 68 72 65 66 3d 22 23 69 73 6f 63 68 72 6f 6e 65 href="#isochrone
0240: 22 3e 53 6f 6c 76 69 6e 67 20 49 73 6f 63 68 72 ">Solving Isochr
0250: 6f 6e 65 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e one problems</a>
0260: 3c 62 72 3e 0d 0a 37 20 2d 20 3c 61 20 68 72 65 <br>..7 - <a hre
0270: 66 3d 22 23 74 73 70 22 3e 53 6f 6c 76 69 6e 67 f="#tsp">Solving
0280: 20 54 53 50 20 28 74 72 61 76 65 6c 69 6e 67 20 TSP (traveling
0290: 73 61 6c 65 73 6d 61 6e 29 20 70 72 6f 62 6c 65 salesman) proble
02a0: 6d 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 38 20 2d 20 ms</a><br>..8 -
02b0: 3c 61 20 68 72 65 66 3d 22 23 70 32 70 22 3e 53 <a href="#p2p">S
02c0: 6f 6c 76 69 6e 67 20 50 6f 69 6e 74 2d 74 6f 2d olving Point-to-
02d0: 50 6f 69 6e 74 20 70 72 6f 62 6c 65 6d 73 3c 2f Point problems</
02e0: 61 3e 3c 62 72 3e 0d 0a 3c 62 72 3e 3c 68 72 3e a><br>..<br><hr>
02f0: 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 69 ..<h1><a name="i
0300: 6e 74 72 6f 22 3e 31 20 2d 20 49 6e 74 72 6f 64 ntro">1 - Introd
0310: 75 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 68 31 3e 0d uction</a></h1>.
0320: 0a 50 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f .Previous versio
0330: 6e 73 20 6f 66 20 53 70 61 74 69 61 4c 69 74 65 ns of SpatiaLite
0340: 20 74 72 61 64 69 74 69 6f 6e 61 6c 6c 79 20 73 traditionally s
0350: 75 70 70 6f 72 74 65 64 20 61 20 3c 62 3e 70 75 upported a <b>pu
0360: 72 65 20 53 51 4c 20 72 6f 75 74 69 6e 67 20 6d re SQL routing m
0370: 6f 64 75 6c 65 3c 2f 62 3e 20 74 68 61 74 20 77 odule</b> that w
0380: 61 73 20 6e 61 6d 65 64 20 3c 61 20 68 72 65 66 as named <a href
0390: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 ="https://www.ga
03a0: 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c ia-gis.it/fossil
03b0: 2f 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 /libspatialite/w
03c0: 69 6b 69 3f 6e 61 6d 65 3d 56 69 72 74 75 61 6c iki?name=Virtual
03d0: 4e 65 74 77 6f 72 6b 2b 72 65 6c 6f 61 64 65 64 Network+reloaded
03e0: 22 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b ">VirtualNetwork
03f0: 3c 2f 61 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53 </a>.<br><br>..S
0400: 69 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e ince version <b>
0410: 35 2e 30 2e 30 3c 2f 62 3e 20 61 20 62 72 61 6e 5.0.0</b> a bran
0420: 64 20 6e 65 77 20 3c 62 3e 72 6f 75 74 69 6e 67 d new <b>routing
0430: 20 6d 6f 64 75 6c 65 3c 2f 62 3e 20 28 6d 6f 72 module</b> (mor
0440: 65 20 61 64 76 61 6e 63 65 64 20 61 6e 64 20 73 e advanced and s
0450: 6f 70 68 69 73 74 69 63 61 74 65 64 29 20 69 73 ophisticated) is
0460: 20 61 76 61 69 6c 61 62 6c 65 2c 20 74 68 61 74 available, that
0470: 20 69 73 20 63 61 6c 6c 65 64 20 3c 62 3e 56 69 is called <b>Vi
0480: 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e rtualRouting</b>
0490: 2e 3c 62 72 3e 0d 0a 54 68 65 20 6e 6f 77 20 6f .<br>..The now o
04a0: 62 73 6f 6c 65 74 65 20 3c 62 3e 56 69 72 74 75 bsolete <b>Virtu
04b0: 61 6c 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73 alNetwork</b> is
04c0: 20 73 74 69 6c 6c 20 73 75 70 70 6f 72 74 65 64 still supported
04d0: 20 62 79 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35 by version <b>5
04e0: 2e 30 2e 30 3c 2f 62 3e 20 73 6f 20 61 73 20 74 .0.0</b> so as t
04f0: 6f 20 6e 6f 74 20 63 61 75 73 65 20 61 6e 20 61 o not cause an a
0500: 62 72 75 70 74 20 62 72 65 61 6b 20 74 6f 20 61 brupt break to a
0510: 6c 72 65 61 64 79 20 65 78 69 73 74 69 6e 67 20 lready existing
0520: 61 70 70 6c 69 63 61 74 69 6f 6e 73 2c 20 62 75 applications, bu
0530: 74 20 77 69 6c 6c 20 70 72 65 73 75 6d 61 62 6c t will presumabl
0540: 79 20 62 65 20 64 69 73 63 6f 6e 74 69 6e 75 65 y be discontinue
0550: 64 20 69 6e 20 66 75 74 75 72 65 20 76 65 72 73 d in future vers
0560: 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 55 73 69 6e 67 ions.<br>..Using
0570: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 <b>VirtualRouti
0580: 6e 67 3c 2f 62 3e 20 69 6e 73 74 65 61 64 20 6f ng</b> instead o
0590: 66 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 f <b>VirtualNetw
05a0: 69 72 6b 3c 2f 62 3e 20 69 73 20 77 61 72 6d 6c irk</b> is warml
05b0: 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 66 6f y recommended fo
05c0: 72 20 61 6e 79 20 6e 65 77 20 64 65 76 65 6c 6f r any new develo
05d0: 70 6d 65 6e 74 2e 20 0d 0a 3c 68 32 3e 54 68 65 pment. ..<h2>The
05e0: 6f 72 65 74 69 63 61 6c 20 66 6f 75 6e 64 61 74 oretical foundat
05f0: 69 6f 6e 73 20 2d 20 61 6e 20 75 6c 74 72 61 2d ions - an ultra-
0600: 71 75 69 63 6b 20 72 65 63 61 6c 6c 3c 2f 68 32 quick recall</h2
0610: 3e 0d 0a 41 6c 6c 20 3c 62 3e 52 6f 75 74 69 6e >..All <b>Routin
0620: 67 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 62 3e g algorithms</b>
0630: 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e (<i>aka</i> <b>
0640: 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 62 Shortest Path</b
0650: 3e 20 61 6c 67 6f 72 69 74 68 6d 73 29 20 61 72 > algorithms) ar
0660: 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6d e based on the m
0670: 61 74 68 65 6d 61 74 69 63 73 20 6f 66 20 74 68 athematics of th
0680: 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 e <a href="https
0690: 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e ://en.wikipedia.
06a0: 6f 72 67 2f 77 69 6b 69 2f 47 72 61 70 68 5f 74 org/wiki/Graph_t
06b0: 68 65 6f 72 79 22 3e 47 72 61 70 68 20 74 68 65 heory">Graph the
06c0: 6f 72 79 3c 2f 61 3e 20 6f 72 20 74 6f 20 62 65 ory</a> or to be
06d0: 20 6d 6f 72 65 20 70 72 65 63 69 73 65 3a 20 6f more precise: o
06e0: 6e 20 3c 62 3e 57 65 69 67 68 74 65 64 20 47 72 n <b>Weighted Gr
06f0: 61 70 68 73 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 0d aphs</b>...<br>.
0700: 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 .<img src="https
0710: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
0720: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 it/gaia-sins/rou
0730: 74 69 6e 67 2d 66 69 67 73 2f 6e 65 74 77 6f 72 ting-figs/networ
0740: 6b 2e 70 6e 67 22 20 61 6c 74 3d 22 6e 65 74 77 k.png" alt="netw
0750: 6f 72 6b 22 3e 0d 0a 3c 62 72 3e 0d 0a 41 20 74 ork">..<br>..A t
0760: 6f 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c opologically val
0770: 69 64 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 id <b>Network</b
0780: 3e 20 69 73 20 61 20 64 61 74 61 73 65 74 20 74 > is a dataset t
0790: 68 61 74 20 66 75 6c 66 69 6c 6c 73 20 74 68 65 hat fulfills the
07a0: 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 65 71 75 69 following requi
07b0: 72 65 6d 65 6e 74 73 3a 0d 0a 3c 75 6c 3e 0d 0a rements:..<ul>..
07c0: 3c 6c 69 3e 41 6c 6c 20 69 74 65 6d 73 20 69 6e <li>All items in
07d0: 20 74 68 65 20 64 61 74 61 73 65 74 20 61 72 65 the dataset are
07e0: 20 63 61 6c 6c 65 64 20 3c 62 3e 4c 69 6e 6b 73 called <b>Links
07f0: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e </b> (<i>aka</i>
0800: 20 3c 62 3e 41 72 63 73 3c 2f 62 3e 29 2c 20 61 <b>Arcs</b>), a
0810: 6e 64 20 61 72 65 20 65 78 70 65 63 74 65 64 20 nd are expected
0820: 74 6f 20 72 65 70 72 65 73 65 6e 74 20 73 6f 6d to represent som
0830: 65 20 6f 72 69 65 6e 74 65 64 20 63 6f 6e 6e 65 e oriented conne
0840: 63 74 69 6f 6e 20 6a 6f 69 6e 69 6e 67 20 74 77 ction joining tw
0850: 6f 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c o <b>Nodes</b>.<
0860: 62 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c br>..<u>Example<
0870: 2f 75 3e 3a 20 69 6e 20 74 68 65 20 61 62 6f 76 /u>: in the abov
0880: 65 20 66 69 67 75 72 65 20 4c 69 6e 6b 20 3c 62 e figure Link <b
0890: 3e 4c 33 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74 73 >L3</b> connects
08a0: 20 4e 6f 64 65 73 20 3c 62 3e 4e 32 3c 2f 62 3e Nodes <b>N2</b>
08b0: 20 61 6e 64 20 3c 62 3e 4e 35 3c 2f 62 3e 2e 3c and <b>N5</b>.<
08c0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 65 72 65 66 /li>..<li>Theref
08d0: 6f 72 65 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 ore all <b>Links
08e0: 3c 2f 62 3e 20 61 72 65 20 61 6c 77 61 79 73 20 </b> are always
08f0: 65 78 70 65 63 74 65 64 20 74 6f 20 65 78 70 6c expected to expl
0900: 69 63 69 74 6c 79 20 72 65 66 65 72 65 6e 63 65 icitly reference
0910: 20 61 20 3c 62 3e 53 74 61 72 74 2d 4e 6f 64 65 a <b>Start-Node
0920: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e </b> (<i>aka</i>
0930: 20 3c 62 3e 4e 6f 64 65 2d 46 72 6f 6d 3c 2f 62 <b>Node-From</b
0940: 3e 29 20 61 6e 64 20 61 6e 20 3c 62 3e 45 6e 64 >) and an <b>End
0950: 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c 69 3e 61 6b -Node</b> (<i>ak
0960: 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64 65 2d 54 6f a</i> <b>Node-To
0970: 3c 2f 62 3e 29 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c </b>)...<ul>..<l
0980: 69 3e 4c 69 6e 6b 73 20 61 72 65 20 61 6c 77 61 i>Links are alwa
0990: 79 73 20 3c 62 3e 6f 72 69 65 6e 74 65 64 3c 2f ys <b>oriented</
09a0: 62 3e 2c 20 61 6e 64 20 74 68 65 69 72 20 6e 61 b>, and their na
09b0: 74 75 72 61 6c 20 64 69 72 65 63 74 69 6f 6e 20 tural direction
09c0: 69 73 20 3c 62 3e 46 72 6f 6d 2d 54 6f 3c 2f 62 is <b>From-To</b
09d0: 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e >:..<ul>..<li>in
09e0: 20 61 6e 20 3c 62 3e 75 6e 69 64 69 72 65 63 74 an <b>unidirect
09f0: 69 6f 6e 61 6c 3c 2f 62 3e 20 4e 65 74 77 6f 72 ional</b> Networ
0a00: 6b 20 65 61 63 68 20 4c 69 6e 6b 20 69 73 20 61 k each Link is a
0a10: 6e 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e n <b>one-way</b>
0a20: 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 3c 62 72 3e connection.<br>
0a30: 0d 0a 49 66 20 74 68 65 20 63 6f 6e 6e 65 63 74 ..If the connect
0a40: 69 6f 6e 20 69 73 20 74 6f 20 62 65 20 61 76 61 ion is to be ava
0a50: 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 6f 70 ilable in the op
0a60: 70 6f 73 69 74 65 20 64 69 72 65 63 74 69 6f 6e posite direction
0a70: 2c 20 61 20 73 65 63 6f 6e 64 20 4c 69 6e 6b 20 , a second Link
0a80: 6d 75 73 74 20 62 65 20 65 78 70 6c 69 63 69 74 must be explicit
0a90: 6c 79 20 64 65 63 6c 61 72 65 64 2e 3c 62 72 3e ly declared.<br>
0aa0: 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e ..<u>Example</u>
0ab0: 3a 20 4c 69 6e 6b 20 3c 62 3e 58 31 3c 2f 62 3e : Link <b>X1</b>
0ac0: 20 67 6f 65 73 20 66 72 6f 6d 20 4e 6f 64 65 20 goes from Node
0ad0: 3c 62 3e 41 3c 2f 62 3e 20 74 6f 20 4e 6f 64 65 <b>A</b> to Node
0ae0: 20 3c 62 3e 42 3c 2f 62 3e 2c 20 61 6e 64 20 4c <b>B</b>, and L
0af0: 69 6e 6b 20 3c 62 3e 58 32 3c 2f 62 3e 20 67 6f ink <b>X2</b> go
0b00: 65 73 20 66 72 6f 6d 20 4e 6f 64 65 20 3c 62 3e es from Node <b>
0b10: 42 3c 2f 62 3e 20 74 6f 20 4e 6f 64 65 20 3c 62 B</b> to Node <b
0b20: 3e 41 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c >A</b>.</li>..<l
0b30: 69 3e 69 6e 20 61 20 3c 62 3e 62 69 64 69 72 65 i>in a <b>bidire
0b40: 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 4e 65 74 77 ctional</b> Netw
0b50: 6f 72 6b 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 ork all Links ar
0b60: 65 20 61 73 73 75 6d 65 64 20 74 6f 20 65 73 74 e assumed to est
0b70: 61 62 6c 69 73 68 20 61 20 63 6f 6e 6e 65 63 74 ablish a connect
0b80: 69 6f 6e 20 69 6e 20 62 6f 74 68 20 64 69 72 65 ion in both dire
0b90: 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 44 65 66 ctions.<br>..Def
0ba0: 69 6e 69 74 69 6e 67 20 61 6e 20 3c 62 3e 6f 6e initing an <b>on
0bb0: 65 2d 77 61 79 20 63 6f 6e 6e 65 63 74 69 6f 6e e-way connection
0bc0: 3c 2f 62 3e 20 72 65 71 75 69 72 65 73 20 61 6e </b> requires an
0bd0: 20 61 70 70 72 6f 70 72 69 61 74 65 20 61 74 74 appropriate att
0be0: 72 69 62 75 74 65 20 74 6f 20 62 65 20 73 65 74 ribute to be set
0bf0: 20 28 73 65 65 20 62 65 6c 6f 77 29 2e 3c 2f 6c (see below).</l
0c00: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
0c10: 3c 6c 69 3e 54 68 65 20 3c 62 3e 53 74 61 72 74 <li>The <b>Start
0c20: 2d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 6e 64 -</b> and <b>End
0c30: 2d 4e 6f 64 65 3c 2f 62 3e 20 63 6f 75 6c 64 20 -Node</b> could
0c40: 65 76 65 6e 74 75 61 6c 6c 79 20 62 65 20 74 68 eventually be th
0c50: 65 20 73 61 6d 65 2c 20 61 6e 64 20 69 6e 20 74 e same, and in t
0c60: 68 69 73 20 63 61 73 65 20 77 65 27 6c 6c 20 68 his case we'll h
0c70: 61 76 65 20 61 20 3c 62 3e 73 65 6c 66 2d 63 6c ave a <b>self-cl
0c80: 6f 73 65 64 3c 2f 62 3e 20 4c 69 6e 6b 2e 3c 2f osed</b> Link.</
0c90: 6c 69 3e 0d 0a 3c 6c 69 3e 4e 65 74 77 6f 72 6b li>..<li>Network
0ca0: 27 73 20 4c 69 6e 6b 73 20 3c 62 3e 63 61 6e 3c 's Links <b>can<
0cb0: 2f 62 3e 20 65 76 65 6e 74 75 61 6c 6c 79 20 64 /b> eventually d
0cc0: 65 66 69 6e 65 20 61 20 6c 69 6e 65 61 72 20 47 efine a linear G
0cd0: 65 6f 6d 65 74 72 79 20 28 3c 62 3e 4c 49 4e 45 eometry (<b>LINE
0ce0: 53 54 52 49 4e 47 3c 2f 62 3e 29 20 67 6f 69 6e STRING</b>) goin
0cf0: 67 20 66 72 6f 6d 20 74 68 65 20 3c 62 3e 53 74 g from the <b>St
0d00: 61 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 74 6f 20 art-Node</b> to
0d10: 74 68 65 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c the <b>End-Node<
0d20: 2f 62 3e 2c 20 62 75 74 20 74 68 69 73 20 69 73 /b>, but this is
0d30: 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 an optional fea
0d40: 74 75 72 65 2c 20 6e 6f 74 20 61 20 6d 61 6e 64 ture, not a mand
0d50: 61 74 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e atory requiremen
0d60: 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68 61 t.</li>..<li>Wha
0d70: 74 20 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 t is absolutely
0d80: 72 65 71 75 69 72 65 64 20 69 73 20 74 68 61 74 required is that
0d90: 20 65 61 63 68 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 each <b>Link</b
0da0: 3e 20 6d 75 73 74 20 65 78 70 6c 69 63 69 74 6c > must explicitl
0db0: 79 20 72 65 66 65 72 65 6e 63 65 20 69 74 73 20 y reference its
0dc0: 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c 2f 6c <b>Nodes</b>.</l
0dd0: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
0de0: 3c 6c 69 3e 41 20 4e 65 74 77 6f 72 6b 20 73 75 <li>A Network su
0df0: 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65 74 72 pporting Geometr
0e00: 69 65 73 20 69 73 20 61 20 3c 62 3e 53 70 61 74 ies is a <b>Spat
0e10: 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 3b ial Network</b>;
0e20: 20 6f 74 68 65 72 77 69 73 65 20 61 20 4e 65 74 otherwise a Net
0e30: 77 6f 72 6b 20 6c 61 63 6b 69 6e 67 20 61 6e 79 work lacking any
0e40: 20 47 65 6f 6d 65 74 72 79 20 69 73 20 61 20 3c Geometry is a <
0e50: 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 b>Logical Networ
0e60: 6b 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c k</b>...<ul>..<l
0e70: 69 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61 i>In a <b>Spatia
0e80: 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c l Network</b> al
0e90: 6c 20 4c 69 6e 6b 73 20 3c 62 3e 6d 75 73 74 3c l Links <b>must<
0ea0: 2f 62 3e 20 68 61 76 65 20 61 20 63 6f 72 72 65 /b> have a corre
0eb0: 73 70 6f 6e 64 69 6e 67 20 47 65 6f 6d 65 74 72 sponding Geometr
0ec0: 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 y.</li>..<li>In
0ed0: 61 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 a <b>Logical Net
0ee0: 77 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20 4c 69 6e work</b> all Lin
0ef0: 6b 73 20 3c 62 3e 61 72 65 20 73 74 72 69 63 74 ks <b>are strict
0f00: 6c 79 20 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e ly forbidden</b>
0f10: 20 74 6f 20 68 61 76 65 20 61 6e 79 20 47 65 6f to have any Geo
0f20: 6d 65 74 72 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 metry.</li>..<li
0f30: 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61 6c >In a <b>Spatial
0f40: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 62 6f 74 Network</b> bot
0f50: 68 20 74 68 65 20 3c 62 3e 53 74 61 72 74 50 6f h the <b>StartPo
0f60: 69 6e 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 int</b> and <b>E
0f70: 6e 64 50 6f 69 6e 74 3c 2f 62 3e 20 6f 66 20 65 ndPoint</b> of e
0f80: 61 63 68 20 4c 69 6e 6b 27 73 20 3c 62 3e 4c 49 ach Link's <b>LI
0f90: 4e 45 53 54 52 49 4e 47 3c 2f 62 3e 20 61 72 65 NESTRING</b> are
0fa0: 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65 64 always expected
0fb0: 20 74 6f 20 65 78 61 63 74 6c 79 20 63 6f 69 6e to exactly coin
0fc0: 63 69 64 65 20 77 69 74 68 20 74 68 65 20 63 6f cide with the co
0fd0: 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62 3e 4e rresponding <b>N
0fe0: 6f 64 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a odes</b>.</li>..
0ff0: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </ul></li>..<li>
1000: 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 In a <b>Spatial
1010: 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20 Network</b> all
1020: 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 74 68 references to th
1030: 65 20 73 61 6d 65 20 3c 62 3e 4e 6f 64 65 3c 2f e same <b>Node</
1040: 62 3e 20 62 79 20 64 69 66 66 65 72 65 6e 74 20 b> by different
1050: 4c 69 6e 6b 73 20 3c 62 3e 6d 75 73 74 3c 2f 62 Links <b>must</b
1060: 3e 20 62 65 20 61 6e 20 65 78 61 63 74 20 6d 61 > be an exact ma
1070: 74 63 68 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61 tch.<br>..<u>Exa
1080: 6d 70 6c 65 3c 2f 75 3e 3a 20 4e 6f 64 65 20 3c mple</u>: Node <
1090: 62 3e 4e 35 3c 2f 62 3e 20 69 73 20 73 68 61 72 b>N5</b> is shar
10a0: 65 64 20 62 79 20 4c 69 6e 6b 73 20 3c 62 3e 4c ed by Links <b>L
10b0: 33 3c 2f 62 3e 2c 20 3c 62 3e 4c 36 3c 2f 62 3e 3</b>, <b>L6</b>
10c0: 2c 20 3c 62 3e 4c 37 3c 2f 62 3e 2c 20 3c 62 3e , <b>L7</b>, <b>
10d0: 4c 39 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 31 L9</b> and <b>L1
10e0: 30 3c 2f 62 3e 2c 20 73 6f 20 61 6c 6c 20 74 68 0</b>, so all th
10f0: 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e eir correspondin
1100: 67 20 4c 49 4e 45 53 54 52 49 4e 47 53 20 61 72 g LINESTRINGS ar
1110: 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 68 61 e expected to ha
1120: 76 65 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e ve the correspon
1130: 64 69 6e 67 20 65 78 74 72 65 6d 69 74 79 20 28 ding extremity (
1140: 3c 62 3e 53 74 61 72 74 2d 3c 2f 62 3e 20 6f 72 <b>Start-</b> or
1150: 20 3c 62 3e 45 6e 64 2d 3c 2f 62 3e 2c 20 64 65 <b>End-</b>, de
1160: 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6f pending on the o
1170: 72 69 65 6e 74 61 74 69 6f 6e 29 20 70 6f 69 6e rientation) poin
1180: 74 73 20 74 68 61 74 20 6d 75 73 74 20 65 78 61 ts that must exa
1190: 63 74 6c 79 20 6d 61 74 63 68 20 74 68 65 20 6f ctly match the o
11a0: 74 68 65 72 2e 3c 62 72 3e 0d 0a 41 20 3c 62 3e ther.<br>..A <b>
11b0: 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 69 6e 63 6f topological inco
11c0: 6e 73 69 73 74 65 6e 63 79 3c 2f 62 3e 20 65 78 nsistency</b> ex
11d0: 69 73 74 73 20 69 66 20 61 6e 79 20 6f 66 20 74 ists if any of t
11e0: 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 hese conditions
11f0: 61 72 65 20 6e 6f 74 20 73 61 74 69 73 66 69 65 are not satisfie
1200: 64 2c 20 77 68 69 63 68 20 6c 65 61 64 73 20 74 d, which leads t
1210: 6f 20 61 6e 20 3c 62 3e 69 6e 76 61 6c 69 64 3c o an <b>invalid<
1220: 2f 62 3e 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 /b> Network.</li
1230: 3e 0d 0a 3c 6c 69 3e 41 63 63 6f 72 64 69 6e 67 >..<li>According
1240: 6c 79 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 ly to the above
1250: 70 72 65 6d 69 73 65 73 2c 20 3c 62 3e 4e 6f 64 premises, <b>Nod
1260: 65 73 3c 2f 62 3e 20 61 72 65 20 6e 65 76 65 72 es</b> are never
1270: 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 expected to be
1280: 65 78 70 6c 69 63 69 74 6c 79 20 64 65 63 6c 61 explicitly decla
1290: 72 65 64 20 69 6e 20 61 20 73 65 70 61 72 61 74 red in a separat
12a0: 65 20 54 61 62 6c 65 2e 3c 62 72 3e 0d 0a 4a 75 e Table.<br>..Ju
12b0: 73 74 20 61 20 73 69 6e 67 6c 65 20 54 61 62 6c st a single Tabl
12c0: 65 20 64 65 63 6c 61 72 69 6e 67 20 61 6c 6c 20 e declaring all
12d0: 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 69 73 20 <b>Links</b> is
12e0: 72 65 71 75 69 72 65 64 20 69 6e 20 6f 72 64 65 required in orde
12f0: 72 20 74 6f 20 66 75 6c 6c 79 20 64 65 66 69 6e r to fully defin
1300: 65 20 61 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 6c e a topologicall
1310: 79 20 76 61 6c 69 64 20 4e 65 74 77 6f 72 6b 2e y valid Network.
1320: 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 20 4e 6f <br>..All the No
1330: 64 65 73 20 63 61 6e 20 74 68 65 6e 20 62 65 20 des can then be
1340: 65 61 73 69 6c 79 20 65 78 74 72 61 63 74 65 64 easily extracted
1350: 20 66 72 6f 6d 20 74 68 65 20 4c 69 6e 6b 27 73 from the Link's
1360: 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e 64 definitions and
1370: 20 74 68 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 the coordinates
1380: 20 66 6f 72 20 65 61 63 68 20 4e 6f 64 65 20 63 for each Node c
1390: 61 6e 20 62 65 20 64 69 72 65 63 74 6c 79 20 73 an be directly s
13a0: 65 74 20 62 79 20 65 78 74 72 61 63 74 69 6e 67 et by extracting
13b0: 20 74 68 65 20 65 78 74 72 65 6d 65 20 50 6f 69 the extreme Poi
13c0: 6e 74 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 nt of the corres
13d0: 70 6f 6e 64 69 6e 67 20 4c 69 6e 65 73 74 72 69 ponding Linestri
13e0: 6e 67 73 2e 3c 62 72 3e 0d 0a 49 66 20 61 6e 79 ngs.<br>..If any
13f0: 20 6d 69 73 6d 61 74 63 68 20 69 73 20 64 65 74 mismatch is det
1400: 65 63 74 65 64 20 74 68 65 20 4e 65 74 77 6f 72 ected the Networ
1410: 6b 20 77 69 6c 6c 20 62 65 63 6f 6d 65 20 69 6e k will become in
1420: 76 61 6c 69 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 valid.</li>..<li
1430: 3e 41 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 6d >A <b>Link</b> m
1440: 61 79 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 ay legitimately
1450: 73 65 6c 66 2d 69 6e 74 65 72 73 65 63 74 20 69 self-intersect i
1460: 74 73 65 6c 66 20 28 65 2e 67 2e 20 66 6f 72 6d tself (e.g. form
1470: 69 6e 67 20 61 20 6c 6f 6f 70 29 2c 20 61 73 20 ing a loop), as
1480: 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 61 62 6f shown in the abo
1490: 76 65 20 66 69 67 75 72 65 20 62 79 20 4c 69 6e ve figure by Lin
14a0: 6b 20 3c 62 3e 4c 31 35 3c 2f 62 3e 20 28 6f 72 k <b>L15</b> (or
14b0: 61 6e 67 65 20 73 70 6f 74 29 2e 3c 2f 6c 69 3e ange spot).</li>
14c0: 0d 0a 3c 6c 69 3e 54 77 6f 20 3c 62 3e 4c 69 6e ..<li>Two <b>Lin
14d0: 6b 73 3c 2f 62 3e 20 6d 61 79 20 6c 65 67 69 74 ks</b> may legit
14e0: 69 6d 61 74 65 6c 79 20 69 6e 74 65 72 73 65 63 imately intersec
14f0: 74 20 77 68 65 72 65 20 6e 6f 20 4e 6f 64 65 20 t where no Node
1500: 65 78 69 73 74 73 2c 20 61 73 20 65 78 65 6d 70 exists, as exemp
1510: 6c 69 66 69 65 64 20 6f 6e 20 74 68 65 20 61 62 lified on the ab
1520: 6f 76 65 20 66 69 67 75 72 65 20 62 79 20 4c 69 ove figure by Li
1530: 6e 6b 73 20 3c 62 3e 4c 34 3c 2f 62 3e 20 61 6e nks <b>L4</b> an
1540: 64 20 3c 62 3e 4c 37 3c 2f 62 3e 20 28 67 72 65 d <b>L7</b> (gre
1550: 65 6e 20 73 70 6f 74 29 2e 3c 62 72 3e 0d 0a 54 en spot).<br>..T
1560: 68 69 73 20 75 73 75 61 6c 6c 79 20 68 61 70 70 his usually happ
1570: 65 6e 73 20 77 68 65 6e 20 6f 6e 65 20 6f 66 20 ens when one of
1580: 74 68 65 20 74 77 6f 20 4c 69 6e 6b 73 20 6f 76 the two Links ov
1590: 65 72 70 61 73 73 65 73 20 74 68 65 20 6f 74 68 erpasses the oth
15a0: 65 72 2c 20 6f 72 20 77 68 65 72 65 20 73 6f 6d er, or where som
15b0: 65 20 74 65 63 68 6e 69 63 61 6c 20 72 65 73 74 e technical rest
15c0: 72 69 63 74 69 6f 6e 20 65 78 69 73 74 73 20 28 riction exists (
15d0: 65 2e 67 2e 20 74 77 6f 20 69 6e 73 75 6c 61 74 e.g. two insulat
15e0: 65 64 20 77 69 72 65 73 20 69 6e 20 61 6e 20 45 ed wires in an E
15f0: 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f 72 lectrical Networ
1600: 6b 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 k).</li>..<li><b
1610: 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72 65 6e 27 >Links</b> aren'
1620: 74 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 t strictly requi
1630: 72 65 64 20 74 6f 20 62 65 20 61 73 73 6f 63 69 red to be associ
1640: 61 74 65 64 20 77 69 74 68 20 61 6e 79 20 73 70 ated with any sp
1650: 65 63 69 66 69 63 20 61 74 74 72 69 62 75 74 65 ecific attribute
1660: 2c 20 62 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 , but the follow
1670: 69 6e 67 20 61 74 74 72 69 62 75 74 65 73 20 61 ing attributes a
1680: 72 65 20 61 6c 6d 6f 73 74 20 75 6e 69 76 65 72 re almost univer
1690: 73 61 6c 6c 79 20 73 75 70 70 6f 72 74 65 64 3a sally supported:
16a0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 20 3c 62 ..<ul>..<li>a <b
16b0: 3e 6e 61 6d 65 3c 2f 62 3e 20 69 64 65 6e 74 69 >name</b> identi
16c0: 66 79 69 6e 67 20 74 68 65 20 4c 69 6e 6b 2e 3c fying the Link.<
16d0: 62 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 73 br>..<u>Examples
16e0: 3c 2f 75 3e 3a 20 74 68 65 20 3c 69 3e 72 6f 61 </u>: the <i>roa
16f0: 64 20 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 20 69 6e d toponym</i> in
1700: 20 61 20 3c 62 3e 72 6f 61 64 20 6e 65 74 77 6f a <b>road netwo
1710: 72 6b 3c 2f 62 3e 2c 20 6f 72 20 74 68 65 20 3c rk</b>, or the <
1720: 69 3e 72 69 76 65 72 20 6e 61 6d 65 3c 2f 69 3e i>river name</i>
1730: 20 69 6e 20 61 6e 20 3c 62 3e 68 79 64 72 6f 67 in an <b>hydrog
1740: 72 61 70 68 69 63 20 6e 65 74 77 6f 72 6b 3c 2f raphic network</
1750: 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 6e b>.</li>..<li>on
1760: 65 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65 29 e (or even more)
1770: 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e appropriate <b>
1780: 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e 28 73 cost value</b>(s
1790: 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70 ).<br>..<u>Examp
17a0: 6c 65 3c 2f 75 3e 3a 20 74 68 65 20 3c 69 3e 74 le</u>: the <i>t
17b0: 69 6d 65 3c 2f 69 3e 20 72 65 71 75 69 72 65 64 ime</i> required
17c0: 20 74 6f 20 74 72 61 76 65 72 73 65 20 74 68 65 to traverse the
17d0: 20 4c 69 6e 6b 20 28 6d 61 79 20 62 65 20 64 69 Link (may be di
17e0: 73 74 69 6e 67 75 69 73 68 65 64 20 62 65 74 77 stinguished betw
17f0: 65 65 6e 20 70 65 64 65 73 74 72 69 61 6e 73 2c een pedestrians,
1800: 20 62 69 63 79 63 6c 65 73 2c 20 63 61 72 73 2c bicycles, cars,
1810: 20 6c 6f 72 72 69 65 73 20 61 6e 64 20 73 6f 20 lorries and so
1820: 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 on).</li>..<li>a
1830: 20 70 61 69 72 20 6f 66 20 3c 62 3e 62 6f 6f 6c pair of <b>bool
1840: 65 61 6e 20 66 6c 61 67 73 3c 2f 62 3e 20 28 3c ean flags</b> (<
1850: 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e 20 61 6e b>from-to</b> an
1860: 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c 2f 62 3e d <b>to-from</b>
1870: 29 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 ) are intended t
1880: 6f 20 73 70 65 63 69 66 79 20 69 66 20 74 68 65 o specify if the
1890: 20 4c 69 6e 6b 20 63 61 6e 20 62 65 20 74 72 61 Link can be tra
18a0: 76 65 72 73 65 64 20 6f 6e 20 62 6f 74 68 20 64 versed on both d
18b0: 69 72 65 63 74 69 6f 6e 73 20 6f 72 20 6a 75 73 irections or jus
18c0: 74 20 69 6e 20 6f 6e 65 20 28 3c 62 3e 6f 6e 65 t in one (<b>one
18d0: 2d 77 61 79 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d -way</b>).</li>.
18e0: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 .</ul></li>..<li
18f0: 3e 3c 75 3e 53 70 65 63 69 61 6c 20 63 61 73 65 ><u>Special case
1900: 3c 2f 75 3e 3a 20 61 20 3c 62 3e 66 6f 72 62 69 </u>: a <b>forbi
1910: 64 64 65 6e 20 4c 69 6e 6b 3c 2f 62 3e 20 69 73 dden Link</b> is
1920: 20 61 6e 79 20 70 65 72 66 65 63 74 6c 79 20 76 any perfectly v
1930: 61 6c 69 64 20 4c 69 6e 6b 20 74 68 61 74 20 66 alid Link that f
1940: 6f 72 20 61 6e 79 20 67 6f 6f 64 20 72 65 61 73 or any good reas
1950: 6f 6e 20 63 61 6e 20 6e 65 76 65 72 20 62 65 20 on can never be
1960: 74 72 61 76 65 72 73 65 64 20 69 6e 20 62 6f 74 traversed in bot
1970: 68 20 64 69 72 65 63 74 69 6f 6e 73 2e 20 50 72 h directions. Pr
1980: 61 63 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 73 actical examples
1990: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 6f 61 :..<ul>..<li>Roa
19a0: 64 20 4e 65 74 77 6f 72 6b 73 3a 20 69 74 20 63 d Networks: it c
19b0: 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c 20 72 ould be useful r
19c0: 65 70 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e 70 epresenting <b>p
19d0: 65 64 65 73 74 72 69 61 6e 20 73 74 72 65 65 74 edestrian street
19e0: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 62 69 63 s</b> and <b>bic
19f0: 79 63 6c 65 20 6c 61 6e 65 73 3c 2f 62 3e 2c 20 ycle lanes</b>,
1a00: 62 75 74 20 74 68 65 20 63 6f 72 72 65 73 70 6f but the correspo
1a10: 6e 64 69 6e 67 20 4c 69 6e 6b 73 20 77 69 6c 6c nding Links will
1a20: 20 62 65 20 61 6c 77 61 79 73 20 66 6f 72 62 69 be always forbi
1a30: 64 64 65 6e 20 74 6f 20 63 61 72 20 63 69 72 63 dden to car circ
1a40: 75 6c 61 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c ulation.</li>..<
1a50: 6c 69 3e 54 65 6c 63 6f 6d 20 2f 20 45 6c 65 63 li>Telcom / Elec
1a60: 74 72 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 3a trical Networks:
1a70: 20 73 65 76 65 72 61 6c 20 4c 69 6e 6b 73 20 28 several Links (
1a80: 3c 62 3e 77 69 72 65 73 3c 2f 62 3e 29 20 63 6f <b>wires</b>) co
1a90: 75 6c 64 20 62 65 20 70 68 79 73 69 63 61 6c 6c uld be physicall
1aa0: 79 20 69 6e 73 74 61 6c 6c 65 64 20 62 75 74 20 y installed but
1ab0: 74 65 6d 70 6f 72 61 72 69 6c 79 20 3c 62 3e 6f temporarily <b>o
1ac0: 75 74 2d 6f 66 2d 73 65 72 76 69 63 65 3c 2f 62 ut-of-service</b
1ad0: 3e 20 66 6f 72 20 74 65 63 68 6e 69 63 61 6c 20 > for technical
1ae0: 72 65 61 73 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c reasons.</li>..<
1af0: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e /ul></li>..</ul>
1b00: 0d 0a 3c 68 34 3e 4c 6f 67 69 63 61 6c 20 63 6f ..<h4>Logical co
1b10: 6e 63 6c 75 73 69 6f 6e 73 3c 2f 68 34 3e 0d 0a nclusions</h4>..
1b20: 41 6e 79 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 6c Any topologicall
1b30: 79 20 76 61 6c 69 64 20 3c 62 3e 4e 65 74 77 6f y valid <b>Netwo
1b40: 72 6b 3c 2f 62 3e 20 28 69 72 72 65 73 70 65 63 rk</b> (irrespec
1b50: 74 69 76 65 20 6f 66 20 77 68 65 74 68 65 72 20 tive of whether
1b60: 69 74 20 69 73 20 61 20 3c 62 3e 53 70 61 74 69 it is a <b>Spati
1b70: 61 6c 3c 2f 62 3e 20 6f 72 20 3c 62 3e 4c 6f 67 al</b> or <b>Log
1b80: 69 63 61 6c 3c 2f 62 3e 20 74 79 70 65 29 20 69 ical</b> type) i
1b90: 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 47 72 61 s a valid <b>Gra
1ba0: 70 68 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 20 4e ph</b>.<br>..A N
1bb0: 65 74 77 6f 72 6b 20 61 6c 6c 6f 77 69 6e 67 20 etwork allowing
1bc0: 74 68 65 20 73 75 70 70 6f 72 74 20 28 64 69 72 the support (dir
1bd0: 65 63 74 20 6f 72 20 69 6e 64 69 72 65 63 74 29 ect or indirect)
1be0: 20 6f 66 20 73 6f 6d 65 20 61 70 70 72 6f 70 72 of some appropr
1bf0: 69 61 74 65 20 3c 62 3e 63 6f 73 74 20 76 61 6c iate <b>cost val
1c00: 75 65 3c 2f 62 3e 20 69 73 20 61 20 76 61 6c 69 ue</b> is a vali
1c10: 64 20 3c 62 3e 57 65 69 67 68 74 65 64 20 47 72 d <b>Weighted Gr
1c20: 61 70 68 3c 2f 62 3e 2c 20 61 6e 64 20 63 61 6e aph</b>, and can
1c30: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 73 75 consequently su
1c40: 70 70 6f 72 74 20 3c 62 3e 52 6f 75 74 69 6e 67 pport <b>Routing
1c50: 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 62 3e 2e algorithms</b>.
1c60: 3c 62 72 3e 0d 0a 41 6c 6c 20 52 6f 75 74 69 6e <br>..All Routin
1c70: 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 61 72 65 g algorithms are
1c80: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 69 64 65 intended to ide
1c90: 6e 74 69 66 79 20 74 68 65 20 3c 62 3e 53 68 6f ntify the <b>Sho
1ca0: 72 74 65 73 74 20 50 61 74 68 3c 2f 62 3e 20 73 rtest Path</b> s
1cb0: 6f 6c 75 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 olution connecti
1cc0: 6e 67 20 74 77 6f 20 3c 62 3e 4e 6f 64 65 73 3c ng two <b>Nodes<
1cd0: 2f 62 3e 20 69 6e 20 61 20 3c 62 3e 77 65 69 67 /b> in a <b>weig
1ce0: 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e 20 28 hted graph</b> (
1cf0: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 65 <i>aka</i> <b>Ne
1d00: 74 77 6f 72 6b 3c 2f 62 3e 29 2e 3c 62 72 3e 3c twork</b>).<br><
1d10: 62 72 3e 0d 0a 3c 62 3e 3c 75 3e 4e 6f 74 65 3c br>..<b><u>Note<
1d20: 2f 75 3e 3c 2f 62 3e 3a 20 74 68 65 20 74 65 72 /u></b>: the ter
1d30: 6d 20 3c 62 3e 3c 69 3e 53 68 6f 72 74 65 73 74 m <b><i>Shortest
1d40: 20 50 61 74 68 3c 2f 69 3e 3c 2f 62 3e 20 63 61 Path</i></b> ca
1d50: 6e 20 62 65 20 65 61 73 69 6c 79 20 6d 69 73 75 n be easily misu
1d60: 6e 64 65 72 73 74 6f 6f 64 2e 3c 62 72 3e 0d 0a nderstood.<br>..
1d70: 44 75 65 20 74 6f 20 68 69 73 74 6f 72 69 63 61 Due to historica
1d80: 6c 20 72 65 61 73 6f 6e 73 20 74 68 65 20 6d 6f l reasons the mo
1d90: 73 74 20 63 6f 6d 6d 6f 6e 20 61 70 70 6c 69 63 st common applic
1da0: 61 74 69 6f 6e 20 66 69 65 6c 64 20 66 6f 72 20 ation field for
1db0: 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 Routing algorith
1dc0: 6d 73 20 69 73 20 72 65 6c 61 74 65 64 20 74 6f ms is related to
1dd0: 20 3c 62 3e 52 6f 61 64 20 4e 65 74 77 6f 72 6b <b>Road Network
1de0: 73 3c 2f 62 3e 2c 20 62 75 74 20 61 6c 73 6f 20 s</b>, but also
1df0: 6d 61 6e 79 20 6f 74 68 65 72 20 6b 69 6e 64 73 many other kinds
1e00: 20 6f 66 20 4e 65 74 77 6f 72 6b 73 20 65 78 69 of Networks exi
1e10: 73 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 48 st:..<ul>..<li>H
1e20: 79 64 72 6f 67 72 61 70 68 69 63 20 4e 65 74 77 ydrographic Netw
1e30: 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e orks.</li>..<li>
1e40: 47 61 73 20 2f 20 57 61 74 65 72 20 2f 20 4f 69 Gas / Water / Oi
1e50: 6c 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e l Networks.</li>
1e60: 0d 0a 3c 6c 69 3e 45 6c 65 63 74 72 69 63 61 6c ..<li>Electrical
1e70: 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d Networks.</li>.
1e80: 0a 3c 6c 69 3e 54 65 6c 65 63 6f 6d 75 6e 69 63 .<li>Telecomunic
1e90: 61 74 69 6f 6e 20 4e 65 74 77 6f 72 6b 73 2e 3c ation Networks.<
1ea0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 53 6f 63 69 61 6c /li>..<li>Social
1eb0: 20 6f 72 20 45 63 6f 6e 6f 6d 69 63 61 6c 20 4e or Economical N
1ec0: 65 74 77 6f 72 6b 73 20 72 65 70 72 65 73 65 6e etworks represen
1ed0: 74 69 6e 67 20 72 65 6c 61 74 69 6f 6e 73 68 69 ting relationshi
1ee0: 70 73 20 62 65 74 77 65 65 6e 20 69 6e 64 69 76 ps between indiv
1ef0: 69 64 75 61 6c 73 20 6f 72 20 63 6f 6d 70 61 6e iduals or compan
1f00: 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 ies.</li>..<li>E
1f10: 70 69 64 65 6d 69 6f 6c 6f 67 69 63 61 6c 20 4e pidemiological N
1f20: 65 74 77 6f 72 6b 73 20 72 65 70 72 65 73 65 6e etworks represen
1f30: 74 69 6e 67 20 74 68 65 20 70 72 6f 70 61 67 61 ting the propaga
1f40: 74 69 6f 6e 20 6f 66 20 69 6e 66 65 63 74 69 76 tion of infectiv
1f50: 65 20 64 69 73 65 61 73 65 73 20 62 65 74 77 65 e diseases betwe
1f60: 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73 20 6f en individuals o
1f70: 72 20 67 72 6f 75 70 73 2e 3c 2f 6c 69 3e 0d 0a r groups.</li>..
1f80: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c 62 72 </ul></li> ..<br
1f90: 3e 0d 0a 49 6e 20 61 6c 6c 20 74 68 65 20 61 62 >..In all the ab
1fa0: 6f 76 65 20 63 61 73 65 73 20 77 65 20 63 65 72 ove cases we cer
1fb0: 74 61 69 6e 6c 79 20 68 61 76 65 20 76 61 6c 69 tainly have vali
1fc0: 64 20 4e 65 74 77 6f 72 6b 73 20 73 75 70 70 6f d Networks suppo
1fd0: 72 74 69 6e 67 20 52 6f 75 74 69 6e 67 20 61 6c rting Routing al
1fe0: 67 6f 72 69 74 68 6e 73 2c 20 62 75 74 20 6e 6f gorithns, but no
1ff0: 74 20 61 6c 6c 20 6f 66 20 74 68 65 6d 20 63 61 t all of them ca
2000: 6e 20 69 6d 70 6c 79 20 73 6f 6d 65 74 68 69 6e n imply somethin
2010: 67 20 6c 69 6b 65 20 61 20 3c 69 3e 73 70 61 74 g like a <i>spat
2020: 69 61 6c 20 64 69 73 74 61 6e 63 65 3c 2f 69 3e ial distance</i>
2030: 20 28 3c 69 3e 67 65 6f 6d 65 74 72 69 63 20 6c (<i>geometric l
2040: 65 6e 67 74 68 3c 2f 69 3e 29 20 6f 72 20 61 20 ength</i>) or a
2050: 3c 69 3e 74 72 61 76 65 6c 20 74 69 6d 65 3c 2f <i>travel time</
2060: 69 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 65 20 i>.<br>..In the
2070: 6d 6f 73 74 20 67 65 6e 65 72 61 6c 20 61 63 63 most general acc
2080: 65 70 74 69 6f 6e 20 3c 62 3e 63 6f 73 74 73 3c eption <b>costs<
2090: 2f 62 3e 20 63 61 6e 20 62 65 20 72 65 70 72 65 /b> can be repre
20a0: 73 65 6e 74 65 64 20 62 79 20 61 6e 79 20 72 65 sented by any re
20b0: 61 73 6f 6e 61 62 6c 65 20 70 68 79 73 69 63 61 asonable physica
20c0: 6c 20 71 75 61 6e 74 69 74 79 2e 3c 62 72 3e 0d l quantity.<br>.
20d0: 0a 53 6f 20 61 20 6d 6f 72 65 20 67 65 6e 65 72 .So a more gener
20e0: 61 6c 69 7a 65 64 20 64 65 66 69 6e 69 74 69 6f alized definitio
20f0: 6e 20 69 73 20 61 73 73 75 6d 69 6e 67 20 74 68 n is assuming th
2100: 61 74 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 at Routing algor
2110: 69 74 68 6d 73 20 61 72 65 20 69 6e 74 65 6e 64 ithms are intend
2120: 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 3c ed to identify <
2130: 62 3e 6c 65 73 73 65 72 20 63 6f 73 74 3c 2f 62 b>lesser cost</b
2140: 3e 20 73 6f 6c 75 74 69 6f 6e 73 20 6f 6e 20 61 > solutions on a
2150: 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67 72 61 <b>weighted gra
2160: 70 68 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 65 ph</b>.<br>..The
2170: 20 65 78 61 63 74 20 69 6e 74 65 72 70 72 65 74 exact interpret
2180: 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 69 6e 76 ation of the inv
2190: 6f 6c 76 65 64 20 3c 62 3e 63 6f 73 74 73 3c 2f olved <b>costs</
21a0: 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c b> (<i>aka</i> <
21b0: 62 3e 77 65 69 67 68 74 73 3c 2f 62 3e 29 20 73 b>weights</b>) s
21c0: 74 72 69 63 74 6c 79 20 64 65 70 65 6e 64 73 20 trictly depends
21d0: 6f 6e 20 74 68 65 20 76 65 72 79 20 73 70 65 63 on the very spec
21e0: 69 66 69 63 20 6e 61 74 75 72 65 20 6f 66 20 65 ific nature of e
21f0: 61 63 68 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 68 ach Network...<h
2200: 33 3e 54 68 65 20 44 69 6a 6b 73 74 72 61 27 73 3>The Dijkstra's
2210: 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 68 33 3e 0d algorithm</h3>.
2220: 0a 54 68 69 73 20 77 65 6c 6c 20 6b 6e 6f 77 6e .This well known
2230: 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a <a href="https:
2240: 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f //en.wikipedia.o
2250: 72 67 2f 77 69 6b 69 2f 44 69 6a 6b 73 74 72 61 rg/wiki/Dijkstra
2260: 25 32 37 73 5f 61 6c 67 6f 72 69 74 68 6d 22 3e %27s_algorithm">
2270: 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69 73 algorithm</a> is
2280: 6e 27 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 n't necessarily
2290: 74 68 65 20 66 61 73 74 65 73 74 20 6f 6e 65 2c the fastest one,
22a0: 20 62 75 74 20 69 74 20 61 6c 77 61 79 73 20 65 but it always e
22b0: 6e 73 75 72 65 73 20 3c 62 3e 66 75 6c 6c 20 63 nsures <b>full c
22c0: 6f 72 72 65 63 74 6e 65 73 73 3c 2f 62 3e 3a 0d orrectness</b>:.
22d0: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 6e 79 20 4e .<ul>..<li>Any N
22e0: 6f 64 65 2d 74 6f 2d 4e 6f 64 65 20 63 6f 6e 6e ode-to-Node conn
22f0: 65 63 74 69 6f 6e 20 69 64 65 6e 74 69 66 69 65 ection identifie
2300: 64 20 62 79 20 44 69 6a 6b 73 74 72 61 27 73 20 d by Dijkstra's
2310: 69 73 20 63 65 72 74 61 69 6e 6c 79 20 65 6e 73 is certainly ens
2320: 75 72 65 64 20 74 6f 20 62 65 20 3c 62 3e 6f 70 ured to be <b>op
2330: 74 69 6d 61 6c 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a timal</b>.<br>..
2340: 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 In other words,
2350: 6e 6f 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 70 72 no connection pr
2360: 65 73 65 6e 74 69 6e 67 20 61 20 6c 6f 77 65 72 esenting a lower
2370: 20 63 6f 73 74 20 63 61 6e 20 63 6f 6e 63 65 70 cost can concep
2380: 74 75 61 6c 6c 79 20 65 78 69 73 74 2e 3c 2f 6c tually exist.</l
2390: 69 3e 0d 0a 3c 6c 69 3e 57 68 65 6e 20 44 69 6a i>..<li>When Dij
23a0: 73 6a 74 72 61 27 73 20 66 61 69 6c 73 20 74 6f sjtra's fails to
23b0: 20 69 64 65 6e 74 69 66 79 20 61 20 73 6f 6c 75 identify a solu
23c0: 74 69 6f 6e 20 74 68 69 73 20 73 75 72 65 6c 79 tion this surely
23d0: 20 6d 65 61 6e 73 20 74 68 61 74 20 6e 6f 20 73 means that no s
23e0: 6f 6c 75 74 69 6f 6e 20 69 73 20 70 6f 73 73 69 olution is possi
23f0: 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e ble.</li>..</ul>
2400: 0d 0a 3c 68 33 3e 54 68 65 20 41 2a 20 61 6c 67 ..<h3>The A* alg
2410: 6f 72 69 74 68 6d 3c 2f 68 33 3e 0d 0a 4d 61 6e orithm</h3>..Man
2420: 79 20 61 6c 74 65 72 6e 61 74 69 76 65 20 52 6f y alternative Ro
2430: 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 uting algorithms
2440: 20 68 61 76 65 20 62 65 65 6e 20 69 6e 76 65 6e have been inven
2450: 74 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 79 ted during the y
2460: 65 61 72 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 74 ears.<br>..All t
2470: 68 65 6d 20 61 72 65 20 62 61 73 65 64 20 6f 6e hem are based on
2480: 20 68 65 75 72 69 73 74 69 63 20 61 73 73 75 6d heuristic assum
2490: 70 74 69 6f 6e 73 20 61 6e 64 20 61 72 65 20 69 ptions and are i
24a0: 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 66 61 ntended to be fa
24b0: 73 74 65 72 20 74 68 61 6e 20 44 69 6a 6b 73 74 ster than Dijkst
24c0: 72 61 27 73 2c 20 62 75 74 20 6e 6f 6e 65 20 6f ra's, but none o
24d0: 66 20 74 68 65 6d 20 63 61 6e 20 65 6e 73 75 72 f them can ensur
24e0: 65 20 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 e <b>full correc
24f0: 74 6e 65 73 73 3c 2f 62 3e 20 61 73 20 44 69 6a tness</b> as Dij
2500: 6b 73 74 72 61 27 73 20 64 6f 65 73 2e 3c 62 72 kstra's does.<br
2510: 3e 0d 0a 54 68 65 20 3c 61 20 68 72 65 66 3d 22 >..The <a href="
2520: 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 https://en.wikip
2530: 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 41 2a edia.org/wiki/A*
2540: 5f 73 65 61 72 63 68 5f 61 6c 67 6f 72 69 74 68 _search_algorith
2550: 6d 22 3e 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c m">A* algorithm<
2560: 2f 61 3e 20 61 70 70 6c 69 65 73 20 61 20 6d 69 /a> applies a mi
2570: 6c 64 20 68 65 75 72 69 73 74 69 63 20 6f 70 74 ld heuristic opt
2580: 69 6d 69 7a 61 74 69 6f 6e 2c 20 61 6e 64 20 63 imization, and c
2590: 61 6e 20 62 65 20 61 20 72 65 61 6c 69 73 74 69 an be a realisti
25a0: 63 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f c alternative to
25b0: 20 44 69 6a 6b 73 74 72 61 27 73 20 69 6e 20 6d Dijkstra's in m
25c0: 61 6e 79 20 63 61 73 65 73 2e 3c 62 72 3e 3c 62 any cases.<br><b
25d0: 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 68 31 3e 3c 61 r>..<hr>..<h1><a
25e0: 20 6e 61 6d 65 3d 22 73 61 6d 70 6c 65 22 3e 32 name="sample">2
25f0: 20 2d 20 54 68 65 20 73 61 6d 70 6c 65 2f 74 65 - The sample/te
2600: 73 74 20 44 42 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a st DB</a></h1>..
2610: 59 6f 75 20 61 72 65 20 65 78 70 65 63 74 65 64 You are expected
2620: 20 74 6f 20 66 6f 6c 6c 6f 77 20 74 68 65 20 63 to follow the c
2630: 75 72 72 65 6e 74 20 74 75 74 6f 72 69 61 6c 20 urrent tutorial
2640: 61 62 6f 75 74 20 3c 62 3e 56 69 72 74 75 61 6c about <b>Virtual
2650: 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 79 20 64 Routing</b> by d
2660: 69 72 65 63 74 6c 79 20 74 65 73 74 69 6e 67 20 irectly testing
2670: 61 6c 6c 20 53 51 4c 20 71 75 65 72 69 65 73 20 all SQL queries
2680: 64 69 73 63 75 73 73 65 64 20 20 62 65 6c 6f 77 discussed below
2690: 20 77 69 74 68 20 74 68 65 20 3c 61 20 68 72 65 with the <a hre
26a0: 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 f="https://www.g
26b0: 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d aia-gis.it/gaia-
26c0: 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 73 61 6d sins/routing-sam
26d0: 70 6c 65 2d 35 2e 30 2e 30 2e 37 7a 22 3e 73 61 ple-5.0.0.7z">sa
26e0: 6d 70 6c 65 2f 74 65 73 74 20 44 42 20 74 68 61 mple/test DB tha
26f0: 74 20 79 6f 75 20 63 61 6e 20 64 6f 77 6e 6c 6f t you can downlo
2700: 61 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 61 3e ad from here</a>
2710: 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 73 61 <br><br>..The sa
2720: 6d 70 6c 65 20 44 42 20 63 6f 6e 74 61 69 6e 73 mple DB contains
2730: 20 74 68 65 20 66 75 6c 6c 20 3c 62 3e 72 6f 61 the full <b>roa
2740: 64 20 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 6f 66 d network</b> of
2750: 20 3c 62 3e 54 75 73 63 61 6e 79 20 52 65 67 69 <b>Tuscany Regi
2760: 6f 6e 20 28 49 74 61 6c 79 29 3c 2f 62 3e 20 28 on (Italy)</b> (
2770: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f <a href="http://
2780: 77 77 77 35 30 32 2e 72 65 67 69 6f 6e 65 2e 74 www502.regione.t
2790: 6f 73 63 61 6e 61 2e 69 74 2f 67 65 6f 73 63 6f oscana.it/geosco
27a0: 70 69 6f 2f 64 6f 77 6e 6c 6f 61 64 2f 67 72 61 pio/download/gra
27b0: 66 6f 5f 73 74 72 61 64 61 6c 65 2f 69 74 65 72 fo_stradale/iter
27c0: 6e 65 74 2e 7a 69 70 22 3e 49 74 65 72 2e 4e 65 net.zip">Iter.Ne
27d0: 74 20 64 61 74 61 73 65 74 3c 2f 61 3e 29 20 6b t dataset</a>) k
27e0: 69 6e 64 6c 79 20 72 65 6c 65 61 73 65 64 20 75 indly released u
27f0: 6e 64 65 72 20 74 68 65 20 3c 62 3e 43 43 2d 42 nder the <b>CC-B
2800: 59 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 6c 69 63 Y-SA 4.0</b> lic
2810: 65 6e 63 65 20 74 65 72 6d 73 2e 3c 62 72 3e 0d ence terms.<br>.
2820: 0a 41 6c 6c 74 68 6f 75 67 68 20 74 68 65 20 63 .Allthough the c
2830: 6f 6e 74 65 6e 74 73 20 73 74 6f 72 65 64 20 69 ontents stored i
2840: 6e 20 74 68 65 20 73 61 6d 70 6c 65 20 64 61 74 n the sample dat
2850: 61 62 61 73 65 20 68 61 76 65 20 62 65 65 6e 20 abase have been
2860: 72 65 61 72 72 61 6e 67 65 64 2c 20 69 74 20 69 rearranged, it i
2870: 73 20 73 74 69 6c 6c 20 73 75 62 6a 65 63 74 20 s still subject
2880: 74 6f 20 74 68 65 20 69 6e 69 74 69 61 6c 20 3c to the initial <
2890: 62 3e 43 43 2d 42 59 2d 53 41 20 34 2e 30 3c 2f b>CC-BY-SA 4.0</
28a0: 62 3e 20 63 6c 61 75 73 65 73 20 28 3c 69 3e 64 b> clauses (<i>d
28b0: 65 72 69 76 65 64 20 77 6f 72 6b 3c 2f 69 3e 29 erived work</i>)
28c0: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 6c ...<br><br>..<ul
28d0: 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 72 6f 61 64 20 >..<li>all road
28e0: 6e 61 6d 65 73 20 61 72 65 20 73 74 6f 72 65 64 names are stored
28f0: 20 77 69 74 68 69 6e 20 74 68 65 20 3c 62 3e 74 within the <b>t
2900: 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c oponyms</b> Tabl
2910: 65 2e 3c 62 72 3e 0d 0a 73 69 6e 63 65 20 74 68 e.<br>..since th
2920: 65 20 73 61 6d 65 20 72 6f 61 64 20 6e 61 6d 65 e same road name
2930: 73 20 63 6f 75 6c 64 20 62 65 20 75 73 65 64 20 s could be used
2940: 69 6e 20 64 69 66 66 65 72 65 6e 74 20 4d 75 6e in different Mun
2950: 69 63 69 70 61 6c 69 74 69 65 73 2c 20 74 68 65 icipalities, the
2960: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e <b>toponyms</b>
2970: 20 54 61 62 6c 65 20 72 65 6c 61 74 69 6f 6e 61 Table relationa
2980: 6c 6c 79 20 72 65 66 65 72 65 6e 63 65 73 20 74 lly references t
2990: 68 65 20 3c 62 3e 6d 75 6e 69 63 69 70 61 6c 69 he <b>municipali
29a0: 74 69 65 73 3c 2f 62 3e 20 54 61 62 6c 65 20 28 ties</b> Table (
29b0: 76 69 61 20 3c 62 3e 50 52 49 4d 41 52 59 3c 2f via <b>PRIMARY</
29c0: 62 3e 20 2f 20 3c 62 3e 46 4f 52 45 49 47 4e 20 b> / <b>FOREIGN
29d0: 4b 45 59 3c 2f 62 3e 20 72 65 6c 61 74 69 6f 6e KEY</b> relation
29e0: 73 68 69 70 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c ships).</li>..<l
29f0: 69 3e 74 68 65 20 3c 62 3e 72 6f 61 64 73 3c 2f i>the <b>roads</
2a00: 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62 6c 65 b> Spatial Table
2a10: 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75 74 20 contains about
2a20: 3c 62 3e 33 38 30 2c 30 30 30 3c 2f 62 3e 20 4c <b>380,000</b> L
2a30: 69 6e 6b 73 2c 20 61 6e 64 20 68 61 73 20 74 68 inks, and has th
2a40: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 e following colu
2a50: 6d 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e mns:..<ul>..<li>
2a60: 3c 62 3e 69 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 <b>id</b>: uniqu
2a70: 65 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 e identifier of
2a80: 65 61 63 68 20 4c 69 6e 6b 20 28 3c 62 3e 50 52 each Link (<b>PR
2a90: 49 4d 41 52 59 20 4b 45 59 3c 2f 62 3e 29 2e 3c IMARY KEY</b>).<
2aa0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6e 6f 64 /li>..<li><b>nod
2ab0: 65 5f 66 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c e_from</b> and <
2ac0: 62 3e 6e 6f 64 65 5f 74 6f 3c 2f 62 3e 3a 20 4e b>node_to</b>: N
2ad0: 6f 64 65 20 69 64 65 6e 74 69 66 69 65 72 73 2e ode identifiers.
2ae0: 0d 0a 54 68 65 20 6f 72 69 67 69 6e 61 6c 20 49 ..The original I
2af0: 74 65 72 2e 4e 65 74 20 64 61 74 61 73 65 74 20 ter.Net dataset
2b00: 61 64 6f 70 74 73 20 76 65 72 79 20 6c 6f 6e 67 adopts very long
2b10: 20 61 6e 20 63 6f 6d 70 6c 65 78 20 61 6c 70 68 an complex alph
2b20: 61 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20 63 6f anumeric Node co
2b30: 64 65 73 3b 20 74 68 65 20 69 6e 74 65 67 65 72 des; the integer
2b40: 20 4e 6f 64 65 20 49 44 73 20 77 65 72 65 20 6f Node IDs were o
2b50: 62 74 61 69 6e 65 64 20 62 79 20 63 61 6c 6c 69 btained by calli
2b60: 6e 67 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 ng the <b>Create
2b70: 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f RoutingNodes()</
2b80: 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 b> SQL function
2b90: 64 69 73 63 75 73 73 65 64 20 69 6e 20 61 20 66 discussed in a f
2ba0: 6f 6c 6c 6f 77 69 6e 67 20 73 65 63 74 69 6f 6e ollowing section
2bb0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 .</li>..<li><b>i
2bc0: 64 5f 74 6f 70 6f 6e 79 6d 3c 2f 62 3e 3a 20 72 d_toponym</b>: r
2bd0: 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 elational refere
2be0: 6e 63 65 20 74 6f 20 74 68 65 20 63 6f 72 72 65 nce to the corre
2bf0: 73 70 6f 6e 64 69 6e 67 20 72 6f 61 64 20 6e 61 sponding road na
2c00: 6d 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 74 me contained int
2c10: 6f 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d o the <b>toponym
2c20: 73 3c 2f 62 3e 20 54 61 62 6c 65 20 28 3c 62 3e s</b> Table (<b>
2c30: 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f 62 3e 29 FOREIGN KEY</b>)
2c40: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 .</li>..<li><b>s
2c50: 70 65 65 64 5f 6b 6d 68 3c 2f 62 3e 3a 20 74 68 peed_kmh</b>: th
2c60: 65 20 65 73 74 69 6d 61 74 65 64 20 61 76 65 72 e estimated aver
2c70: 61 67 65 20 73 70 65 65 64 20 73 75 70 70 6f 72 age speed suppor
2c80: 74 65 64 20 62 79 20 74 68 65 20 4c 69 6e 6b 2c ted by the Link,
2c90: 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 expressed in <b
2ca0: 3e 6b 6d 2f 68 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a >km/h</b>.<br>..
2cb0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 3c 62 3e <u>Note</u>: <b>
2cc0: 6e 65 67 61 74 69 76 65 3c 2f 62 3e 20 73 70 65 negative</b> spe
2cd0: 65 64 73 20 69 6e 74 65 6e 64 20 61 20 66 6f 72 eds intend a for
2ce0: 62 69 64 64 65 6e 20 4c 69 6e 6b 20 28 61 73 20 bidden Link (as
2cf0: 69 74 20 63 6f 75 6c 64 20 62 65 20 74 68 65 20 it could be the
2d00: 63 61 73 65 20 6f 66 20 70 65 64 65 73 74 72 69 case of pedestri
2d10: 61 6e 20 73 74 72 65 65 74 73 20 6f 72 20 62 69 an streets or bi
2d20: 63 79 63 6c 65 20 6c 61 6e 65 73 20 65 78 6c 75 cycle lanes exlu
2d30: 64 69 6e 67 20 6d 6f 74 6f 72 20 76 65 68 69 63 ding motor vehic
2d40: 6c 65 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e les).</li>..<li>
2d50: 3c 62 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f <b>oneway_fromto
2d60: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6f 6e 65 77 </b> and <b>onew
2d70: 61 79 5f 74 6f 66 72 6f 6d 3c 2f 62 3e 3a 20 62 ay_tofrom</b>: b
2d80: 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 20 64 65 74 oolean flags det
2d90: 65 72 6d 69 6e 65 20 69 66 20 61 20 4c 69 6e 6b ermine if a Link
2da0: 20 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 can be traverse
2db0: 64 20 69 6e 20 62 6f 74 68 20 64 69 72 65 63 74 d in both direct
2dc0: 69 6f 6e 73 20 6f 72 20 6a 75 73 74 20 69 6e 20 ions or just in
2dd0: 61 20 73 69 6e 67 6c 65 20 64 69 72 65 63 74 69 a single directi
2de0: 6f 6e 20 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f on (<b>one-way</
2df0: 62 3e 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 b>).<br>..<u>Not
2e00: 65 3c 2f 75 3e 3a 20 61 6c 6c 20 4c 69 6e 6b 73 e</u>: all Links
2e10: 20 64 65 63 6c 61 72 69 6e 67 20 3c 62 3e 6f 6e declaring <b>on
2e20: 65 77 61 79 5f 66 72 6f 6d 74 6f 3d 30 3c 2f 62 eway_fromto=0</b
2e30: 3e 20 61 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f > and <b>oneway_
2e40: 74 6f 66 72 6f 6d 3d 30 3c 2f 62 3e 20 61 72 65 tofrom=0</b> are
2e50: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 intended to be
2e60: 61 6c 77 61 79 73 20 66 6f 72 62 69 64 64 65 6e always forbidden
2e70: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 63 .</li>..<li><b>c
2e80: 6f 73 74 3c 2f 62 3e 3a 20 74 68 65 20 3c 62 3e ost</b>: the <b>
2e90: 74 69 6d 65 3c 2f 62 3e 20 65 78 70 72 65 73 73 time</b> express
2ea0: 65 64 20 69 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 ed in <b>seconds
2eb0: 3c 2f 62 3e 20 72 65 71 75 69 72 65 64 20 74 6f </b> required to
2ec0: 20 74 72 61 76 65 72 73 65 20 65 61 63 68 20 4c traverse each L
2ed0: 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 ink.<br>..<u>Not
2ee0: 65 20 23 31 3c 2f 75 3e 20 61 6c 6c 20 63 6f 73 e #1</u> all cos
2ef0: 74 73 20 77 65 72 65 20 63 61 6c 63 75 6c 61 74 ts were calculat
2f00: 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 ed accordingly t
2f10: 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 o the following
2f20: 66 6f 72 6d 75 6c 61 3a 20 3c 62 3e 63 6f 73 74 formula: <b>cost
2f30: 20 3d 20 28 28 53 54 5f 4c 65 6e 67 74 68 28 67 = ((ST_Length(g
2f40: 65 6f 6d 29 20 2f 20 31 30 30 30 2e 30 29 20 2f eom) / 1000.0) /
2f50: 20 73 70 65 65 64 5f 6b 6d 68 29 20 2a 20 33 36 speed_kmh) * 36
2f60: 30 30 2e 30 3c 2f 62 3e 3c 62 72 3e 0d 0a 3c 75 00.0</b><br>..<u
2f70: 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 20 61 6c 6c >Note #2</u> all
2f80: 20 3c 62 3e 38 36 2c 34 30 30 2e 30 3c 2f 62 3e <b>86,400.0</b>
2f90: 20 63 6f 73 74 20 76 61 6c 75 65 73 20 28 65 71 cost values (eq
2fa0: 75 69 76 61 6c 65 6e 74 20 74 6f 20 31 20 64 61 uivalent to 1 da
2fb0: 79 29 20 69 6d 70 6c 79 20 61 6e 20 3c 62 3e 69 y) imply an <b>i
2fc0: 6e 66 69 6e 69 74 69 76 65 20 63 6f 73 74 3c 2f nfinitive cost</
2fd0: 62 3e 20 74 68 75 73 20 69 6e 74 65 6e 64 69 6e b> thus intendin
2fe0: 67 20 61 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e g a <b>forbidden
2ff0: 3c 2f 62 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d </b> Link.</li>.
3000: 0a 3c 6c 69 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e .<li><b>geom</b>
3010: 3a 20 61 20 3c 62 3e 33 44 20 4c 69 6e 65 73 74 : a <b>3D Linest
3020: 72 69 6e 67 3c 2f 62 3e 20 72 65 70 72 65 73 65 ring</b> represe
3030: 6e 74 69 6e 67 20 74 68 65 20 47 65 6f 6d 65 74 nting the Geomet
3040: 72 79 20 6f 66 20 65 61 63 68 20 4c 69 6e 6b 2e ry of each Link.
3050: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 <br>..<u>Note</u
3060: 3e 3a 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 >: the original
3070: 3c 62 3e 49 74 65 72 2e 4e 65 74 3c 2f 62 3e 20 <b>Iter.Net</b>
3080: 64 61 74 61 73 65 74 20 69 73 20 6a 75 73 74 20 dataset is just
3090: 3c 62 3e 32 44 3c 2f 62 3e 3b 20 65 6c 65 76 61 <b>2D</b>; eleva
30a0: 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 tions (<b>Z</b>
30b0: 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72 coordinates) wer
30c0: 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 e interpolated b
30d0: 79 20 64 72 61 70 69 6e 67 20 74 68 65 20 64 61 y draping the da
30e0: 74 61 73 65 74 20 6f 76 65 72 20 61 6e 20 3c 61 taset over an <a
30f0: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 href="http://ww
3100: 77 35 30 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 w502.regione.tos
3110: 63 61 6e 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 cana.it/geoscopi
3120: 6f 2f 64 6f 77 6e 6c 6f 61 64 2f 61 6c 74 69 6d o/download/altim
3130: 65 74 72 69 61 2f 64 61 5f 63 74 72 31 30 6b 2f etria/da_ctr10k/
3140: 67 62 2f 44 54 4d 5f 4f 72 6f 67 72 61 66 69 63 gb/DTM_Orografic
3150: 6f 2e 37 7a 22 3e 6f 72 6f 67 72 61 70 68 69 63 o.7z">orographic
3160: 20 44 45 4d 20 28 31 30 6d 20 58 20 31 30 6d 20 DEM (10m X 10m
3170: 63 65 6c 6c 73 29 3c 2f 61 3e 3c 2f 6c 69 3e 0d cells)</a></li>.
3180: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 .</ul></li>..<li
3190: 3e 74 68 65 20 3c 62 3e 72 6f 61 64 73 5f 76 77 >the <b>roads_vw
31a0: 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 56 69 65 </b> Spatial Vie
31b0: 77 20 72 65 73 6f 6c 76 65 73 20 61 6c 6c 20 72 w resolves all r
31c0: 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 elational refere
31d0: 6e 63 65 73 20 62 65 74 77 65 65 6e 20 3c 62 3e nces between <b>
31e0: 72 6f 61 64 73 3c 2f 62 3e 2c 20 3c 62 3e 74 6f roads</b>, <b>to
31f0: 70 6f 6e 79 6d 73 3c 2f 62 3e 20 61 6e 64 20 3c ponyms</b> and <
3200: 62 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 73 b>municipalities
3210: 3c 2f 62 3e 2c 20 74 68 75 73 20 61 6c 6c 6f 77 </b>, thus allow
3220: 69 6e 67 20 66 6f 72 20 65 61 73 69 65 72 20 53 ing for easier S
3230: 51 4c 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e QL queries.</li>
3240: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 ..<li>the <b>hou
3250: 73 65 5f 6e 72 3c 2f 62 3e 20 53 70 61 74 69 61 se_nr</b> Spatia
3260: 6c 20 54 61 62 6c 65 20 63 6f 6e 74 61 69 6e 73 l Table contains
3270: 20 61 62 6f 75 74 20 3c 62 3e 31 2c 34 38 30 2c about <b>1,480,
3280: 30 30 30 3c 2f 62 3e 20 48 6f 75 73 65 20 4e 75 000</b> House Nu
3290: 6d 62 65 72 73 2c 20 61 6e 64 20 68 61 73 20 74 mbers, and has t
32a0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6c he following col
32b0: 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 umns:..<ul>..<li
32c0: 3e 3c 62 3e 69 64 3c 2f 62 3e 3a 20 75 6e 69 71 ><b>id</b>: uniq
32d0: 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 ue identifier of
32e0: 20 65 61 63 68 20 48 6f 75 73 65 20 4e 75 6d 62 each House Numb
32f0: 65 72 20 28 3c 62 3e 50 52 49 4d 41 52 59 20 4b er (<b>PRIMARY K
3300: 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c EY</b>).</li>..<
3310: 6c 69 3e 3c 62 3e 69 64 5f 72 6f 61 64 3c 2f 62 li><b>id_road</b
3320: 3e 3a 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65 >: relational re
3330: 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 63 ference to the c
3340: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e orresponding Lin
3350: 6b 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 74 6f k contained into
3360: 20 74 68 65 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 the <b>roads</b
3370: 3e 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 > Table (<b>FORE
3380: 49 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c IGN KEY</b>).</l
3390: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6c 61 62 65 6c i>..<li><b>label
33a0: 3c 2f 62 3e 3a 20 74 68 65 20 74 65 78 74 75 61 </b>: the textua
33b0: 6c 20 6c 61 62 65 6c 20 66 75 6c 6c 79 20 71 75 l label fully qu
33c0: 61 6c 69 66 79 69 6e 67 20 65 61 63 68 20 48 6f alifying each Ho
33d0: 75 73 65 20 4e 75 6d 62 65 72 2e 3c 2f 6c 69 3e use Number.</li>
33e0: 0d 0a 3c 6c 69 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 ..<li><b>geom</b
33f0: 3e 3a 20 61 20 3c 62 3e 33 44 20 50 6f 69 6e 74 >: a <b>3D Point
3400: 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69 6e </b> representin
3410: 67 20 74 68 65 20 47 65 6f 6d 65 74 72 79 20 6f g the Geometry o
3420: 66 20 65 61 63 68 20 48 6f 75 73 65 20 4e 75 6d f each House Num
3430: 62 65 72 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 ber.<br>..<u>Not
3440: 65 20 23 31 3c 2f 75 3e 3a 20 61 6c 73 6f 20 69 e #1</u>: also i
3450: 6e 20 74 68 69 73 20 63 61 73 65 20 61 6c 6c 20 n this case all
3460: 65 6c 65 76 61 74 69 6f 6e 73 20 28 3c 62 3e 5a elevations (<b>Z
3470: 3c 2f 62 3e 20 63 6f 6f 72 64 69 6e 61 74 65 73 </b> coordinates
3480: 29 20 77 65 72 65 20 69 6e 74 65 72 70 6f 6c 61 ) were interpola
3490: 74 65 64 20 62 79 20 64 72 61 70 69 6e 67 20 74 ted by draping t
34a0: 68 65 20 64 61 74 61 73 65 74 20 6f 76 65 72 20 he dataset over
34b0: 74 68 65 20 73 61 6d 65 20 44 45 4d 20 61 73 20 the same DEM as
34c0: 61 62 6f 76 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e above.<br>..<u>N
34d0: 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 73 74 72 69 ote #2</u>: stri
34e0: 63 74 6c 79 20 73 70 65 61 63 6b 69 6e 67 20 74 ctly speacking t
34f0: 68 65 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 he House Numbers
3500: 20 61 72 65 20 6e 6f 74 20 70 61 72 74 20 6f 66 are not part of
3510: 20 74 68 65 20 52 6f 61 64 20 4e 65 74 77 6f 72 the Road Networ
3520: 6b 3b 20 74 68 65 79 20 61 72 65 20 69 6e 63 6c k; they are incl
3530: 75 64 65 64 20 69 6e 20 74 68 65 20 73 61 6d 70 uded in the samp
3540: 6c 65 2f 74 65 73 74 20 64 61 74 61 62 61 73 65 le/test database
3550: 20 61 73 20 75 73 65 66 75 6c 20 65 78 61 6d 70 as useful examp
3560: 6c 65 73 20 65 78 70 6c 61 69 6e 65 64 20 6c 61 les explained la
3570: 74 65 72 20 69 6e 20 74 68 69 73 20 74 65 78 74 ter in this text
3580: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c .</li>..</ul></l
3590: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 68 i>..<li>the <b>h
35a0: 6f 75 73 65 5f 6e 72 5f 76 77 3c 2f 62 3e 20 53 ouse_nr_vw</b> S
35b0: 70 61 74 69 61 6c 20 56 69 65 77 20 72 65 73 6f patial View reso
35c0: 6c 76 65 73 20 61 6c 6c 20 72 65 6c 61 74 69 6f lves all relatio
35d0: 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20 62 nal references b
35e0: 65 74 77 65 65 6e 20 3c 62 3e 68 6f 75 73 65 5f etween <b>house_
35f0: 6e 72 3c 2f 62 3e 2c 20 3c 62 3e 72 6f 61 64 73 nr</b>, <b>roads
3600: 3c 2f 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d </b>, <b>toponym
3610: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e s</b> and <b>mun
3620: 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c icipalities</b>,
3630: 20 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 thus allowing f
3640: 6f 72 20 65 61 73 69 65 72 20 53 51 4c 20 71 75 or easier SQL qu
3650: 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 eries.</li>..</u
3660: 6c 3e 0d 0a 3c 62 72 3e 0d 0a 20 3c 68 72 3e 0d l>..<br>.. <hr>.
3670: 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 63 72 .<h1><a name="cr
3680: 65 61 74 65 22 3e 33 20 2d 20 43 72 65 61 74 69 eate">3 - Creati
3690: 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e ng VirtualRoutin
36a0: 67 20 54 61 62 6c 65 73 3c 2f 61 3e 3c 2f 68 31 g Tables</a></h1
36b0: 3e 0d 0a 41 6c 6c 20 56 69 72 74 75 61 6c 52 6f >..All VirtualRo
36c0: 75 74 69 6e 67 20 71 75 65 72 69 65 73 20 61 72 uting queries ar
36d0: 65 20 62 61 73 65 64 20 6f 6e 20 61 20 73 70 65 e based on a spe
36e0: 63 69 66 69 63 20 3c 62 3e 56 69 72 74 75 61 6c cific <b>Virtual
36f0: 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 3c 2f 62 Routing-Table</b
3700: 3e 2c 20 61 6e 64 20 69 6e 20 74 75 72 6e 2c 20 >, and in turn,
3710: 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 the VirtualRouti
3720: 6e 67 2d 54 61 62 6c 65 20 69 73 20 62 61 73 65 ng-Table is base
3730: 64 20 6f 6e 20 61 20 63 6f 72 72 65 73 70 6f 6e d on a correspon
3740: 64 69 6e 67 20 3c 62 3e 42 69 6e 61 72 79 44 61 ding <b>BinaryDa
3750: 74 61 2d 54 61 62 6c 65 3c 2f 62 3e 20 77 68 69 ta-Table</b> whi
3760: 63 68 2c 20 74 61 6b 65 6e 20 74 6f 67 65 61 74 ch, taken togeat
3770: 68 65 72 2c 20 69 73 20 61 6e 20 65 66 66 69 63 her, is an effic
3780: 69 65 6e 74 20 72 65 70 72 65 73 65 6e 74 61 74 ient representat
3790: 69 6f 6e 20 6f 66 20 74 68 65 20 75 6e 64 65 72 ion of the under
37a0: 6c 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 lying Network.<b
37b0: 72 3e 0d 0a 53 6f 20 77 65 27 6c 6c 20 73 74 61 r>..So we'll sta
37c0: 72 74 20 66 69 72 73 74 20 62 79 20 63 72 65 61 rt first by crea
37d0: 74 69 6e 67 20 74 68 65 73 65 20 74 61 62 6c 65 ting these table
37e0: 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 s.<br><br>..The
37f0: 6f 6c 64 2c 20 61 6e 64 20 6e 6f 77 20 73 75 70 old, and now sup
3800: 65 72 73 65 64 65 64 2c 20 3c 62 3e 56 69 72 74 erseded, <b>Virt
3810: 75 61 6c 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 ualNetwork</b> r
3820: 65 71 75 69 72 65 64 20 74 68 65 20 75 73 65 20 equired the use
3830: 6f 66 20 61 20 73 65 70 61 72 61 74 65 20 43 4c of a separate CL
3840: 49 20 74 6f 6f 6c 20 28 3c 62 3e 73 70 61 74 69 I tool (<b>spati
3850: 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 alite_network</b
3860: 3e 29 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 70 >) in order to p
3870: 72 6f 70 65 72 6c 79 20 69 6e 69 74 69 61 6c 69 roperly initiali
3880: 7a 65 20 61 20 56 69 72 74 75 61 6c 4e 65 74 77 ze a VirtualNetw
3890: 6f 72 6b 20 54 61 62 6c 65 20 61 6e 64 20 69 74 ork Table and it
38a0: 73 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 s companion Bina
38b0: 72 79 44 61 74 61 2d 54 61 62 6c 65 3b 0d 0a 61 ryData-Table;..a
38c0: 6c 74 65 72 6e 61 74 69 76 65 6c 79 20 3c 62 3e lternatively <b>
38d0: 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f spatialite_gui</
38e0: 62 3e 20 73 75 70 70 6f 72 74 65 64 20 61 20 3c b> supported a <
38f0: 62 3e 47 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e b>GUI wizard</b>
3900: 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 74 61 for the same ta
3910: 73 6b 2e 20 53 69 6e 63 65 20 76 65 72 73 69 6f sk. Since versio
3920: 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f 62 3e 2c 20 n <b>5.0.0</b>,
3930: 53 70 61 74 69 61 4c 69 74 65 20 20 73 75 70 70 SpatiaLite supp
3940: 6f 72 74 73 20 74 68 69 73 20 66 75 6e 63 74 69 orts this functi
3950: 6f 6e 61 6c 69 74 79 20 64 69 72 65 63 74 6c 79 onality directly
3960: 2c 20 77 69 74 68 20 74 68 65 20 3c 62 3e 43 72 , with the <b>Cr
3970: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 eateRouting()</b
3980: 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d > SQL function..
3990: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
39a0: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e ECT CreateRoutin
39b0: 67 28 27 62 79 66 6f 6f 74 5f 64 61 74 61 27 2c g('byfoot_data',
39c0: 20 27 62 79 66 6f 6f 74 27 2c 20 27 72 6f 61 64 'byfoot', 'road
39d0: 73 5f 76 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f s_vw', 'node_fro
39e0: 6d 27 2c 20 27 6e 6f 64 65 74 6f 27 2c 20 27 67 m', 'nodeto', 'g
39f0: 65 6f 6d 27 2c 20 4e 55 4c 4c 29 3b 0d 0a 0d 0a eom', NULL);....
3a00: 53 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 SELECT CreateRou
3a10: 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f ting_GetLastErro
3a20: 72 28 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d r();..----------
3a30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3a40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 54 6f 4e 6f ----------..ToNo
3a50: 64 65 20 43 6f 6c 75 6d 6e 20 22 6e 6f 64 65 74 de Column "nodet
3a60: 6f 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 o" is not define
3a70: 64 20 69 6e 20 74 68 65 20 49 6e 70 75 74 20 54 d in the Input T
3a80: 61 62 6c 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d able..</verbatim
3a90: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
3aa0: 74 68 69 73 20 66 69 72 73 74 20 71 75 65 72 79 this first query
3ab0: 20 28 62 61 73 65 64 20 6f 6e 20 74 68 65 20 3c (based on the <
3ac0: 69 3e 6d 69 6e 69 6d 61 6c 20 66 6f 72 6d 3c 2f i>minimal form</
3ad0: 69 3e 20 6f 66 20 3c 62 3e 43 72 65 61 74 65 52 i> of <b>CreateR
3ae0: 6f 75 74 69 6e 67 3c 2f 62 3e 29 20 3c 62 3e 3c outing</b>) <b><
3af0: 69 3e 3c 75 3e 64 65 6c 69 62 65 72 61 74 65 6c i><u>deliberatel
3b00: 79 3c 2f 75 3e 3c 2f 69 3e 3c 2f 62 3e 20 63 6f y</u></i></b> co
3b10: 6e 74 61 69 6e 73 20 61 6e 20 65 72 72 6f 72 20 ntains an error
3b20: 63 61 75 73 69 6e 67 20 61 20 66 61 69 6c 75 72 causing a failur
3b30: 65 20 74 68 61 74 20 77 69 6c 6c 20 72 61 69 73 e that will rais
3b40: 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 3c e an exception.<
3b50: 62 72 3e 0d 0a 43 72 65 61 74 65 52 6f 75 74 69 br>..CreateRouti
3b60: 6e 67 28 29 20 63 61 6e 20 66 61 69 6c 20 66 6f ng() can fail fo
3b70: 72 20 6d 75 6c 74 69 70 6c 65 20 72 65 61 73 6f r multiple reaso
3b80: 6e 73 2c 20 61 6e 64 20 62 79 20 63 61 6c 6c 69 ns, and by calli
3b90: 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 ng <b>CreateRout
3ba0: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 ing_GetLastError
3bb0: 28 29 3c 2f 62 3e 20 79 6f 75 20 63 61 6e 20 65 ()</b> you can e
3bc0: 61 73 69 6c 79 20 69 64 65 6e 74 69 66 79 20 74 asily identify t
3bd0: 68 65 20 65 78 61 63 74 20 72 65 61 73 6f 6e 20 he exact reason
3be0: 77 68 79 20 74 68 65 20 6d 6f 73 74 20 72 65 63 why the most rec
3bf0: 65 6e 74 20 63 61 6c 6c 20 74 6f 20 43 72 65 61 ent call to Crea
3c00: 74 65 52 6f 75 74 69 6e 67 28 29 20 66 61 69 6c teRouting() fail
3c10: 65 64 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 ed.<br>..<verbat
3c20: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 im>..SELECT Crea
3c30: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 6f 6f teRouting('byfoo
3c40: 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f 6f 74 t_data', 'byfoot
3c50: 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 ', 'roads_vw', '
3c60: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 node_from', 'nod
3c70: 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e e_to', 'geom', N
3c80: 55 4c 4c 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20 ULL, 'toponym',
3c90: 31 2c 20 31 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 1, 1);..--------
3ca0: 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d 0a 53 45 4c 45 -----..1....SELE
3cb0: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 CT CreateRouting
3cc0: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3b _GetLastError();
3cd0: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
3ce0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3cf0: 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c 4c 0d 0a 3c 2f ------..NULL..</
3d00: 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69 73 20 verbatim>..This
3d10: 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 20 77 second attempt w
3d20: 69 6c 6c 20 73 75 63 63 65 65 64 2c 20 77 69 74 ill succeed, wit
3d30: 68 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 h CreateRouting(
3d40: 29 20 72 65 74 75 72 6e 69 6e 67 20 3c 62 3e 31 ) returning <b>1
3d50: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e </b> (<i>aka</i>
3d60: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 2c 20 61 <b>TRUE</b>), a
3d70: 6e 64 20 61 73 20 79 6f 75 20 63 61 6e 20 65 61 nd as you can ea
3d80: 73 69 6c 79 20 63 68 65 63 6b 20 6e 6f 77 20 74 sily check now t
3d90: 68 65 20 44 61 74 61 62 61 73 65 20 63 6f 6e 74 he Database cont
3da0: 61 69 6e 73 20 74 77 6f 20 6e 65 77 20 54 61 62 ains two new Tab
3db0: 6c 65 73 3a 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f les: <b>byfoot</
3dc0: 62 3e 20 61 6e 64 20 3c 62 3e 62 79 66 6f 6f 74 b> and <b>byfoot
3dd0: 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a _data</b>.<br>..
3de0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 66 74 <u>Note</u>: aft
3df0: 65 72 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 er a successful
3e00: 63 61 6c 6c 20 74 6f 20 43 72 65 61 74 65 52 6f call to CreateRo
3e10: 75 74 69 6e 67 28 29 20 3c 62 3e 43 72 65 61 74 uting() <b>Creat
3e20: 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 eRouting_GetLast
3e30: 45 72 72 6f 72 28 29 3c 2f 62 3e 20 77 69 6c 6c Error()</b> will
3e40: 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 3c always return <
3e50: 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 62 72 3e 3c b>NULL</b>.<br><
3e60: 62 72 3e 0d 0a 4c 65 74 27 73 20 6c 6f 6f 6b 2c br>..Let's look,
3e70: 20 69 6e 20 6d 6f 72 65 20 64 65 74 61 69 6c 2c in more detail,
3e80: 20 6f 66 20 74 68 65 20 3c 69 3e 6d 69 6e 69 6d of the <i>minim
3e90: 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43 al form</i> of C
3ea0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3b 20 reateRouting();
3eb0: 61 6e 64 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 and the meaning
3ec0: 6f 66 20 65 61 63 68 20 61 72 67 75 6d 65 6e 74 of each argument
3ed0: 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e :..<ol>..<li><i>
3ee0: 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f 69 3e 3a byfoot_data</i>:
3ef0: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 the name of the
3f00: 20 4e 65 74 77 6f 72 6b 20 42 69 6e 61 72 79 44 Network BinaryD
3f10: 61 74 61 2d 54 61 62 6c 65 20 74 6f 20 62 65 20 ata-Table to be
3f20: 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c created.</li>..<
3f30: 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 3c 2f 69 3e li><i>byfoot</i>
3f40: 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 : the name of th
3f50: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 e VirtualRouting
3f60: 2d 54 61 62 6c 65 20 74 6f 20 62 65 20 63 72 65 -Table to be cre
3f70: 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e ated.</li>..<li>
3f80: 3c 69 3e 72 6f 61 64 73 5f 76 77 3c 2f 69 3e 3a <i>roads_vw</i>:
3f90: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 the name of the
3fa0: 20 3c 62 3e 53 70 61 74 69 61 6c 20 54 61 62 6c <b>Spatial Tabl
3fb0: 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 53 70 61 74 e</b> or <b>Spat
3fc0: 69 61 6c 20 56 69 65 77 3c 2f 62 3e 20 72 65 70 ial View</b> rep
3fd0: 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 75 6e resenting the un
3fe0: 64 65 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72 6b derlying Network
3ff0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f .<br>..<u>Note</
4000: 75 3e 3a 20 69 6e 20 74 68 69 73 20 63 61 73 65 u>: in this case
4010: 20 77 65 20 61 63 74 75 61 6c 6c 79 20 75 73 65 we actually use
4020: 64 20 61 20 53 70 61 74 69 61 6c 20 56 69 65 77 d a Spatial View
4030: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e .</li>..<li><i>n
4040: 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 ode_from</i>: na
4050: 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e me of the column
4060: 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 (in the above T
4070: 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78 able or View) ex
4080: 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 pected to contai
4090: 6e 20 3c 62 3e 6e 6f 64 65 2d 66 72 6f 6d 3c 2f n <b>node-from</
40a0: 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e 0d b> values.</li>.
40b0: 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c .<li><i>node_to<
40c0: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 /i>: name of the
40d0: 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 column (in the
40e0: 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 above Table or V
40f0: 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f iew) expected to
4100: 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f 64 65 contain <b>node
4110: 2d 74 6f 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c -to</b> values.<
4120: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f /li>..<li><i>geo
4130: 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 m</i>: name of t
4140: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 he column (in th
4150: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 e above Table or
4160: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 View) expected
4170: 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 4c 69 to contain <b>Li
4180: 6e 65 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c 62 nestrings</b>.<b
4190: 72 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73 65 20 r>..In the case
41a0: 6f 66 20 61 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 of a <b>Logical
41b0: 4e 65 74 77 6f 72 6b 3c 2f 62 3e 3a 20 61 20 20 Network</b>: a
41c0: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 73 68 6f 75 <b>NULL</b> shou
41d0: 6c 64 20 62 65 20 70 61 73 73 65 64 2e 2e 3c 2f ld be passed..</
41e0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c li>..<li><i>NULL
41f0: 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 </i>: name of th
4200: 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 e column (in the
4210: 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 above Table or
4220: 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 View) expected t
4230: 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 63 6f 73 o contain <b>cos
4240: 74 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 72 t</b> values.<br
4250: 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65 20 >..In this case
4260: 77 65 20 68 61 76 65 20 70 61 73 73 65 64 20 61 we have passed a
4270: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c <b>NULL</b> val
4280: 75 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 ue, and conseque
4290: 6e 74 6c 79 20 74 68 65 20 3c 62 3e 63 6f 73 74 ntly the <b>cost
42a0: 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e </b> of each Lin
42b0: 6b 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d 65 k will be assume
42c0: 64 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e d to be represen
42d0: 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 67 65 ted by the <b>ge
42e0: 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c 2f ometric length</
42f0: 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 b> of the corres
4300: 70 6f 6e 64 69 6e 67 20 4c 69 6e 65 73 74 72 69 ponding Linestri
4310: 6e 67 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 ng.<br>..<u>Note
4320: 20 23 31 3c 2f 75 3e 3a 20 69 6e 20 74 68 65 20 #1</u>: in the
4330: 63 61 73 65 20 6f 66 20 4e 65 74 77 6f 72 6b 73 case of Networks
4340: 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 6c 6f 6e based on <b>lon
4350: 67 69 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64 20 gitudes</b> and
4360: 3c 62 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62 3e <b>latitudes</b>
4370: 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e (<i>aka</i> <b>
4380: 67 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e 20 52 geographic</b> R
4390: 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d 73 eference Systems
43a0: 29 20 74 68 65 20 67 65 6f 6d 65 74 72 79 20 6c ) the geometry l
43b0: 65 6e 67 74 68 20 6f 66 20 61 6c 6c 20 4c 69 6e ength of all Lin
43c0: 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 65 estrings will be
43d0: 20 70 72 65 63 69 73 65 6c 79 20 3c 62 3e 6d 65 precisely <b>me
43e0: 61 73 75 72 65 64 20 6f 6e 20 74 68 65 20 65 6c asured on the el
43f0: 6c 69 70 73 6f 69 64 3c 2f 62 3e 20 62 79 20 61 lipsoid</b> by a
4400: 70 70 6c 79 69 6e 67 20 74 68 65 20 6d 6f 73 74 pplying the most
4410: 20 61 63 63 75 72 61 74 65 20 3c 62 3e 67 65 6f accurate <b>geo
4420: 64 65 73 69 63 20 66 6f 72 6d 75 6c 61 73 3c 2f desic formulas</
4430: 62 3e 20 61 6e 64 20 77 69 6c 6c 20 63 6f 6e 73 b> and will cons
4440: 65 71 75 65 6e 74 6c 79 20 62 65 20 65 78 70 72 equently be expr
4450: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 65 essed in <b>mete
4460: 72 73 3c 2f 62 3e 2e 20 49 6e 20 61 6e 79 20 6f rs</b>. In any o
4470: 74 68 65 72 20 63 61 73 65 20 28 3c 62 3e 70 72 ther case (<b>pr
4480: 6f 6a 65 63 74 65 64 3c 2f 62 3e 20 52 65 66 65 ojected</b> Refe
4490: 72 65 6e 63 65 20 53 79 73 74 65 6d 73 29 20 6c rence Systems) l
44a0: 65 6e 67 74 68 73 20 77 69 6c 6c 20 62 65 20 65 engths will be e
44b0: 78 70 72 65 73 73 65 64 20 69 6e 20 74 68 65 20 xpressed in the
44c0: 3c 62 3e 6d 65 61 73 75 72 65 20 75 6e 69 74 3c <b>measure unit<
44d0: 2f 62 3e 20 64 65 66 69 6e 65 64 20 62 79 20 74 /b> defined by t
44e0: 68 65 20 52 65 66 65 72 65 6e 63 65 20 53 79 73 he Reference Sys
44f0: 74 65 6d 20 28 65 2e 67 2e 20 3c 62 3e 6d 65 74 tem (e.g. <b>met
4500: 65 72 73 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e 55 ers</b> for <b>U
4510: 54 4d 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 6f TM</b> projectio
4520: 6e 73 20 61 6e 64 20 3c 62 3e 66 65 65 74 3c 2f ns and <b>feet</
4530: 62 3e 20 66 6f 72 20 3c 62 3e 4e 41 44 2d 66 74 b> for <b>NAD-ft
4540: 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 6f 6e 73 </b> projections
4550: 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 ).<br>..<u>Note
4560: 23 32 3c 2f 75 3e 3a 20 74 68 65 20 3c 62 3e 67 #2</u>: the <b>g
4570: 65 6f 6d 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 61 eom-column</b> a
4580: 6e 64 20 3c 62 3e 63 6f 73 74 2d 63 6f 6c 75 6d nd <b>cost-colum
4590: 6e 3c 2f 62 3e 20 61 72 67 75 6d 65 6e 74 73 20 n</b> arguments
45a0: 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 65 are never allowe
45b0: 64 20 74 6f 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c d to be <b>NULL<
45c0: 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65 20 /b> at the same
45d0: 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e time.</li>..<li>
45e0: 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 <i>toponym</i>:
45f0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 name of the colu
4600: 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 mn (in the above
4610: 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 Table or View)
4620: 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 expected to cont
4630: 61 69 6e 20 3c 62 3e 72 6f 61 64 2d 6e 61 6d 65 ain <b>road-name
4640: 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 72 3e </b> values.<br>
4650: 0d 0a 49 74 20 63 6f 75 6c 64 20 62 65 20 6c 65 ..It could be le
4660: 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20 74 gitimately set t
4670: 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 o <b>NULL</b> if
4680: 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20 61 all Links are a
4690: 6e 6f 6e 79 6d 6f 75 73 2e 3c 2f 6c 69 3e 0d 0a nonymous.</li>..
46a0: 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 61 20 <li><i>1</i>: a
46b0: 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e 74 boolean flag int
46c0: 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69 66 79 ended to specify
46d0: 20 69 66 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 if the Network
46e0: 6d 75 73 74 20 73 75 70 70 6f 72 74 20 74 68 65 must support the
46f0: 20 3c 62 3e 41 2a 20 61 6c 67 6f 72 69 74 68 6d <b>A* algorithm
4700: 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 73 65 74 </b> or not (set
4710: 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 to <b>TRUE</b>
4720: 62 79 20 64 65 66 61 75 6c 74 29 2e 3c 2f 6c 69 by default).</li
4730: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a >..<li><i>1</i>:
4740: 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 a boolean flag
4750: 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 intended to spec
4760: 69 66 79 20 69 66 20 61 6c 6c 20 4e 65 74 77 6f ify if all Netwo
4770: 72 6b 27 73 20 4c 69 6e 6b 73 20 61 72 65 20 61 rk's Links are a
4780: 73 73 75 6d 65 64 20 74 6f 20 62 65 20 3c 62 3e ssumed to be <b>
4790: 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f 62 bidirectional</b
47a0: 3e 20 6f 72 20 6e 6f 74 20 28 61 73 73 75 6d 65 > or not (assume
47b0: 64 20 74 6f 20 62 65 20 3c 62 3e 54 52 55 45 3c d to be <b>TRUE<
47c0: 2f 62 3e 20 62 79 20 64 65 66 61 75 6c 74 29 2e /b> by default).
47d0: 3c 2f 6c 69 3e 20 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c </li> ..</ol>..<
47e0: 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 table bgcolor="#
47f0: 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 c0ffc0" cellspac
4800: 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 ing="10" cellpad
4810: 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 ding="6"><tr><td
4820: 3e 0d 0a 3c 68 33 3e 54 65 63 68 6e 69 63 61 6c >..<h3>Technical
4830: 20 6e 6f 74 65 3c 2f 68 33 3e 0d 0a 54 68 65 20 note</h3>..The
4840: 69 6e 74 65 72 6e 61 6c 20 65 6e 63 6f 64 69 6e internal encodin
4850: 67 20 61 64 6f 70 74 65 64 20 62 79 20 74 68 65 g adopted by the
4860: 20 3c 62 3e 42 69 6e 61 72 79 44 61 74 61 2d 54 <b>BinaryData-T
4870: 61 62 6c 65 3c 2f 62 3e 20 69 73 20 75 6e 63 68 able</b> is unch
4880: 61 6e 67 65 64 20 61 6e 64 20 69 73 20 74 68 65 anged and is the
4890: 20 73 61 6d 65 20 66 6f 72 20 62 6f 74 68 20 3c same for both <
48a0: 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f 6b 3c b>VirtualNetwok<
48b0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 56 69 72 74 75 /b> and <b>Virtu
48c0: 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62 alRouting</b>.<b
48d0: 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 73 61 66 65 r>..You can safe
48e0: 6c 79 20 62 61 73 65 20 61 20 3c 62 3e 56 69 72 ly base a <b>Vir
48f0: 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c tualRouting-Tabl
4900: 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 65 78 69 e</b> on any exi
4910: 73 74 69 6e 67 20 42 69 6e 61 72 79 44 61 74 61 sting BinaryData
4920: 2d 54 61 62 6c 65 20 63 72 65 61 74 65 64 20 62 -Table created b
4930: 79 20 74 68 65 20 3c 62 3e 73 70 61 74 69 61 6c y the <b>spatial
4940: 69 74 65 2d 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 ite-network</b>
4950: 43 4c 49 20 74 6f 6f 6c 2c 20 65 78 61 63 74 6c CLI tool, exactl
4960: 79 20 61 73 20 79 6f 75 20 63 61 6e 20 62 61 73 y as you can bas
4970: 65 20 61 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 e a <b>VirtualNe
4980: 74 77 6f 72 6b 20 54 61 62 6c 65 3c 2f 62 3e 20 twork Table</b>
4990: 6f 6e 20 61 6e 79 20 42 69 6e 61 72 79 44 61 74 on any BinaryDat
49a0: 61 2d 54 61 62 6c 65 20 63 72 65 61 74 65 64 20 a-Table created
49b0: 62 79 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 by the <b>Create
49c0: 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 Routing()</b> SQ
49d0: 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 L function...<ve
49e0: 72 62 61 74 69 6d 3e 0d 0a 43 52 45 41 54 45 20 rbatim>..CREATE
49f0: 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 74 65 VIRTUAL TABLE te
4a00: 73 74 5f 6e 65 74 77 6f 72 6b 20 55 53 49 4e 47 st_network USING
4a10: 20 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 28 VirtualNetwork(
4a20: 27 73 6f 6d 65 5f 64 61 74 61 5f 74 61 62 6c 65 'some_data_table
4a30: 27 29 3b 0d 0a 0d 0a 43 52 45 41 54 45 20 56 49 ');....CREATE VI
4a40: 52 54 55 41 4c 20 54 41 42 4c 45 20 74 65 73 74 RTUAL TABLE test
4a50: 5f 72 6f 75 74 69 6e 67 20 55 53 49 4e 47 20 56 _routing USING V
4a60: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 28 27 73 irtualRouting('s
4a70: 6f 6d 65 5f 64 61 74 61 5f 74 61 62 6c 65 27 29 ome_data_table')
4a80: 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a ;..</verbatim>..
4a90: 49 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 6e 75 In order to manu
4aa0: 61 6c 6c 79 20 63 72 65 61 74 65 20 79 6f 75 72 ally create your
4ab0: 20 56 69 72 74 75 61 6c 20 54 61 62 6c 65 73 20 Virtual Tables
4ac0: 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f you just have to
4ad0: 20 65 78 65 63 75 74 65 20 61 6e 20 61 70 70 72 execute an appr
4ae0: 6f 70 72 69 61 74 65 20 3c 62 3e 43 52 45 41 54 opriate <b>CREAT
4af0: 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 E VIRTUAL TABLE
4b00: 2e 2e 2e 20 55 53 49 4e 47 20 56 69 72 74 75 61 ... USING Virtua
4b10: 6c 2e 2e 2e 20 28 2e 2e 2e 29 3c 2f 62 3e 20 73 l... (...)</b> s
4b20: 74 61 74 65 6d 65 6e 74 2e 0d 0a 3c 68 34 3e 57 tatement...<h4>W
4b30: 61 72 6e 69 6e 67 3c 2f 68 34 3e 0d 0a 49 6e 20 arning</h4>..In
4b40: 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e 53 the case of <b>S
4b50: 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b 73 3c patial Networks<
4b60: 2f 62 3e 20 62 61 73 65 64 20 6f 6e 20 61 6e 79 /b> based on any
4b70: 20 3c 62 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f <b>geographic</
4b80: 62 3e 20 52 65 66 65 72 65 6e 63 65 20 53 79 73 b> Reference Sys
4b90: 74 65 6d 20 28 75 73 69 6e 67 20 3c 62 3e 6c 6f tem (using <b>lo
4ba0: 6e 67 69 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64 ngitudes</b> and
4bb0: 20 3c 62 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62 <b>latitudes</b
4bc0: 3e 29 20 74 68 65 72 65 20 69 73 20 61 6e 20 69 >) there is an i
4bd0: 6d 70 6f 72 74 61 6e 74 20 64 69 66 66 65 72 65 mportant differe
4be0: 6e 63 65 20 62 65 74 77 65 65 6e 20 42 69 6e 61 nce between Bina
4bf0: 72 79 44 61 74 61 2d 54 61 62 6c 65 73 20 63 72 ryData-Tables cr
4c00: 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e eated by the <b>
4c10: 73 70 61 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f spatialite_netwo
4c20: 72 6b 3c 2f 62 3e 20 47 55 49 20 74 6f 6f 6c 20 rk</b> GUI tool
4c30: 61 6e 64 20 20 42 69 6e 61 72 79 44 61 74 61 2d and BinaryData-
4c40: 54 61 62 6c 65 73 20 63 72 65 61 74 65 64 20 62 Tables created b
4c50: 79 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 y the <b>CreateR
4c60: 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c outing()</b> SQL
4c70: 20 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20 3c function when <
4c80: 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 61 72 65 20 b>costs</b> are
4c90: 69 6d 70 6c 69 63 69 74 6c 79 20 62 61 73 65 64 implicitly based
4ca0: 20 6f 6e 20 74 68 65 20 67 65 6f 6d 65 74 72 69 on the geometri
4cb0: 63 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 c length of the
4cc0: 4c 69 6e 6b 27 73 20 4c 69 6e 65 73 74 72 69 6e Link's Linestrin
4cd0: 67 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 g:..<ul>..<li>th
4ce0: 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f e <b>spatialite_
4cf0: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 43 4c 49 20 network</b> CLI
4d00: 74 6f 6f 6c 20 28 61 6e 64 20 74 68 65 20 3c 62 tool (and the <b
4d10: 3e 47 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20 >GUI wizard</b>
4d20: 69 6d 70 6c 65 6d 65 6e 74 65 64 20 62 79 20 70 implemented by p
4d30: 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 revious versions
4d40: 20 6f 66 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 of <b>spatialit
4d50: 65 5f 67 75 69 3c 2f 62 3e 29 20 63 6f 6d 70 75 e_gui</b>) compu
4d60: 74 65 20 74 68 65 20 4c 69 6e 65 73 74 72 69 6e te the Linestrin
4d70: 67 27 73 20 6c 65 6e 67 74 68 20 61 73 20 61 6e g's length as an
4d80: 20 3c 62 3e 61 6e 67 75 6c 61 72 20 64 69 73 74 <b>angular dist
4d90: 61 6e 63 65 3c 2f 62 3e 20 65 78 70 72 65 73 73 ance</b> express
4da0: 65 64 20 69 6e 20 3c 62 3e 64 65 67 72 65 65 73 ed in <b>degrees
4db0: 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </b>.</li>..<li>
4dc0: 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 the <b>CreateRou
4dd0: 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66 ting()</b> SQL f
4de0: 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 75 74 65 73 unction computes
4df0: 20 74 68 65 20 4c 69 6e 65 73 74 72 69 6e 67 27 the Linestring'
4e00: 73 20 6c 65 6e 67 74 68 20 61 73 20 61 20 3c 62 s length as a <b
4e10: 3e 6c 69 6e 65 61 72 20 64 69 73 74 61 6e 63 65 >linear distance
4e20: 3c 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 </b> expressed i
4e30: 6e 20 3c 62 3e 6d 65 74 72 65 73 3c 2f 62 3e 20 n <b>metres</b>
4e40: 62 79 20 61 70 70 6c 79 69 6e 67 20 74 68 65 20 by applying the
4e50: 6d 6f 73 74 20 61 63 63 75 72 61 74 65 20 3c 62 most accurate <b
4e60: 3e 67 65 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c >geodesic formul
4e70: 61 73 3c 2f 62 3e 20 6f 6e 20 74 68 65 20 65 6c as</b> on the el
4e80: 6c 69 70 73 6f 69 64 2e 3c 2f 6c 69 3e 0d 0a 3c lipsoid.</li>..<
4e90: 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e /ul>..</td></tr>
4ea0: 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 3c 62 72 3e </table><br><br>
4eb0: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 ..<verbatim>..SE
4ec0: 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 LECT CreateRouti
4ed0: 6e 67 28 27 62 79 63 61 72 5f 64 61 74 61 27 2c ng('bycar_data',
4ee0: 20 27 62 79 63 61 72 27 2c 20 27 72 6f 61 64 73 'bycar', 'roads
4ef0: 5f 76 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d _vw', 'node_from
4f00: 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 2c 20 27 67 ', 'node_to', 'g
4f10: 65 6f 6d 27 2c 20 27 63 6f 73 74 27 2c 20 27 74 eom', 'cost', 't
4f20: 6f 70 6f 6e 79 6d 27 2c 20 31 2c 20 31 2c 20 27 oponym', 1, 1, '
4f30: 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 27 2c 20 oneway_fromto',
4f40: 27 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 27 2c 'oneway_tofrom',
4f50: 20 30 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0);..----------
4f60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 3c ----------..1..<
4f70: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 66 74 65 /verbatim>..Afte
4f80: 72 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 43 72 65 r calling <b>Cre
4f90: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e ateRouting()</b>
4fa0: 20 63 6f 72 72 65 63 74 6c 79 2c 20 20 74 68 65 correctly, the
4fb0: 20 44 61 74 61 62 61 73 65 20 63 6f 6e 74 61 69 Database contai
4fc0: 6e 73 20 74 77 6f 20 66 75 72 74 68 65 72 20 54 ns two further T
4fd0: 61 62 6c 65 73 3a 20 3c 62 3e 62 79 63 61 72 3c ables: <b>bycar<
4fe0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 62 79 63 61 72 /b> and <b>bycar
4ff0: 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a _data</b>.<br>..
5000: 54 68 69 73 20 74 69 6d 65 20 79 6f 75 27 76 65 This time you've
5010: 20 75 73 65 64 20 74 68 65 20 3c 69 3e 63 6f 6d used the <i>com
5020: 70 6c 65 74 65 20 66 6f 72 6d 3c 2f 69 3e 20 6f plete form</i> o
5030: 66 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 f CreateRouting(
5040: 29 3b 20 6c 65 74 27 73 20 73 65 65 20 69 6e 20 ); let's see in
5050: 6d 6f 72 65 20 64 65 70 74 68 20 61 6c 6c 20 74 more depth all t
5060: 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 he arguments and
5070: 20 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 3a 0d their meaning:.
5080: 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 .<ol>..<li><i>by
5090: 63 61 72 5f 64 61 74 61 3c 2f 69 3e 3a 20 73 61 car_data</i>: sa
50a0: 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 me as above.</li
50b0: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 63 61 72 3c >..<li><i>bycar<
50c0: 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f /i>: same as abo
50d0: 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 ve.</li>..<li><i
50e0: 3e 72 6f 61 64 73 5f 76 77 3c 2f 69 3e 3a 20 73 >roads_vw</i>: s
50f0: 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c ame as above.</l
5100: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f i>..<li><i>node_
5110: 66 72 6f 6d 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 from</i>: same a
5120: 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c s above.</li>..<
5130: 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 li><i>node_to</i
5140: 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 >: same as above
5150: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 .</li>..<li><i>g
5160: 65 6f 6d 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 eom</i>: same as
5170: 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c above.</li>..<l
5180: 69 3e 3c 69 3e 63 6f 73 74 3c 2f 69 3e 3a 20 73 i><i>cost</i>: s
5190: 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 0d 0a 49 ame as above...I
51a0: 6e 20 74 68 69 73 20 63 61 73 65 20 77 65 20 68 n this case we h
51b0: 61 76 65 20 72 65 66 65 72 65 6e 63 65 64 20 61 ave referenced a
51c0: 20 63 6f 6c 75 6d 6e 20 70 72 65 6c 6f 61 64 65 column preloade
51d0: 64 20 77 69 74 68 20 76 61 6c 75 65 73 20 63 6f d with values co
51e0: 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 rresponding to t
51f0: 68 65 20 3c 62 3e 74 69 6d 65 3c 2f 62 3e 20 6d he <b>time</b> m
5200: 65 61 73 75 72 65 64 20 69 6e 20 3c 62 3e 73 65 easured in <b>se
5210: 63 6f 6e 64 73 3c 2f 62 3e 20 72 65 71 75 69 72 conds</b> requir
5220: 65 64 20 74 6f 20 74 72 61 76 65 72 73 65 20 65 ed to traverse e
5230: 61 63 68 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 20 0d ach Link.</li> .
5240: 0a 3c 6c 69 3e 3c 69 3e 74 6f 70 6f 6e 79 6d 3c .<li><i>toponym<
5250: 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f /i>: same as abo
5260: 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 ve.</li>..<li><i
5270: 3e 31 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 >1</i>: same as
5280: 61 62 6f 76 65 20 28 3c 69 3e 41 2a 20 65 6e 61 above (<i>A* ena
5290: 62 6c 65 64 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d bled</i>).</li>.
52a0: 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 73 .<li><i>1</i>: s
52b0: 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 3c 69 ame as above (<i
52c0: 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 20 4c >bidirectional L
52d0: 69 6e 6b 73 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d inks</i>).</li>.
52e0: 0a 3c 6c 69 3e 3c 69 3e 6f 6e 65 77 61 79 5f 66 .<li><i>oneway_f
52f0: 72 6f 6d 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 20 romto</i>: name
5300: 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 of the column (i
5310: 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c n the above Tabl
5320: 65 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 e or View) expec
5330: 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 62 ted to contain b
5340: 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 20 73 70 65 oolean flags spe
5350: 63 69 66 79 69 6e 67 20 69 66 20 65 61 63 68 20 cifying if each
5360: 4c 69 6e 6b 20 63 61 6e 20 62 65 20 74 72 61 76 Link can be trav
5370: 65 72 73 65 64 20 69 6e 20 74 68 65 20 3c 62 3e ersed in the <b>
5380: 66 72 6f 6d 2d 74 6f 3c 2f 62 3e 20 64 69 72 65 from-to</b> dire
5390: 63 74 69 6f 6e 20 6f 72 20 6e 6f 74 2e 3c 2f 6c ction or not.</l
53a0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6f 6e 65 77 61 i>..<li><i>onewa
53b0: 79 5f 74 6f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 y_tofrom</i>: na
53c0: 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e me of the column
53d0: 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 (in the above T
53e0: 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78 able or View) ex
53f0: 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 pected to contai
5400: 6e 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 20 n boolean flags
5410: 73 70 65 63 69 66 79 69 6e 67 20 69 66 20 65 61 specifying if ea
5420: 63 68 20 4c 69 6e 6b 20 63 61 6e 20 62 65 20 74 ch Link can be t
5430: 72 61 76 65 72 73 65 64 20 69 6e 20 74 68 65 20 raversed in the
5440: 3c 62 3e 74 6f 2d 66 72 6f 6d 3c 2f 62 3e 20 64 <b>to-from</b> d
5450: 69 72 65 63 74 69 6f 6e 20 6f 72 20 6e 6f 74 2e irection or not.
5460: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 <br>..<u>Note #1
5470: 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e 66 72 </u>: both <b>fr
5480: 6f 6d 2d 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 om-to</b> and <b
5490: 3e 74 6f 2d 66 72 6f 6d 3c 2f 62 3e 20 63 6f 6c >to-from</b> col
54a0: 75 6d 6e 20 6e 61 6d 65 73 20 63 61 6e 20 62 65 umn names can be
54b0: 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 legitimately se
54c0: 74 20 61 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e t as <b>NULL</b>
54d0: 20 69 66 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 if no <b>one-wa
54e0: 79 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 69 6f y</b> restrictio
54f0: 6e 73 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 ns apply to the
5500: 63 75 72 72 65 6e 74 20 4e 65 74 77 6f 72 6b 2e current Network.
5510: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 <br>..<u>Note #2
5520: 3c 2f 75 3e 3a 20 4e 65 74 77 6f 72 6b 73 20 6f </u>: Networks o
5530: 66 20 74 68 65 20 3c 62 3e 75 6e 69 64 69 72 65 f the <b>unidire
5540: 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 74 79 70 65 ctional</b> type
5550: 20 61 72 65 20 6e 65 76 65 72 20 65 6e 61 62 6c are never enabl
5560: 65 64 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 ed to reference
5570: 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 63 <b>one-way</b> c
5580: 6f 6c 75 6d 6e 73 20 28 74 68 65 79 20 73 68 6f olumns (they sho
5590: 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 73 65 uld always be se
55a0: 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e t to <b>NULL</b>
55b0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e ).</li>..<li><i>
55c0: 30 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e 0</i>: a boolean
55d0: 20 66 6c 61 67 20 20 73 70 65 63 69 66 79 69 6e flag specifyin
55e0: 67 20 61 6e 20 3c 62 3e 6f 76 65 72 77 72 69 74 g an <b>overwrit
55f0: 65 20 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3c e authorization<
5600: 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e /b>...<ul>..<li>
5610: 49 66 20 73 65 74 20 74 6f 20 3c 62 3e 46 41 4c If set to <b>FAL
5620: 53 45 3c 2f 62 3e 20 61 6e 20 65 78 63 65 70 74 SE</b> an except
5630: 69 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61 69 73 ion will be rais
5640: 65 64 20 69 66 20 74 68 65 20 3c 62 3e 42 69 6e ed if the <b>Bin
5650: 61 72 79 44 61 74 61 2d 54 61 62 6c 65 3c 2f 62 aryData-Table</b
5660: 3e 20 61 6e 64 2f 6f 72 20 74 68 65 20 3c 62 3e > and/or the <b>
5670: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 VirtualRouting-T
5680: 61 62 6c 65 3c 2f 62 3e 20 61 6c 72 65 61 64 79 able</b> already
5690: 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c exist.</li>..<l
56a0: 69 3e 49 66 20 73 65 74 20 74 6f 20 3c 62 3e 54 i>If set to <b>T
56b0: 52 55 45 3c 2f 62 3e 20 65 76 65 6e 74 75 61 6c RUE</b> eventual
56c0: 6c 79 20 65 78 69 73 74 69 6e 67 20 54 61 62 6c ly existing Tabl
56d0: 65 73 20 77 69 6c 6c 20 62 65 2c 20 74 6f 20 61 es will be, to a
56e0: 76 6f 69 64 20 65 72 72 6f 72 73 2c 20 64 72 6f void errors, dro
56f0: 70 70 65 64 20 62 65 66 6f 72 65 20 73 74 61 72 pped before star
5700: 74 69 6e 67 20 74 68 65 20 65 78 65 63 75 74 69 ting the executi
5710: 6f 6e 20 6f 66 20 3c 62 3e 43 72 65 61 74 65 52 on of <b>CreateR
5720: 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 2e 3c 2f 6c outing()</b>.</l
5730: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
5740: 3c 2f 6f 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 </ol>..<br>..<ta
5750: 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 ble bgcolor="#ff
5760: 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e ffc0" cellspacin
5770: 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 g="10" cellpaddi
5780: 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d ng="6"><tr><td>.
5790: 0a 3c 68 33 3e 48 69 67 68 6c 69 67 68 74 3a 20 .<h3>Highlight:
57a0: 77 68 65 72 65 20 79 6f 75 20 61 72 65 3c 2f 68 where you are</h
57b0: 33 3e 0d 0a 59 6f 75 27 76 65 20 6a 75 73 74 20 3>..You've just
57c0: 63 72 65 61 74 65 64 20 74 77 6f 20 56 69 72 74 created two Virt
57d0: 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 ualRouting-Table
57e0: 73 20 62 61 73 65 64 20 6f 6e 20 64 69 66 66 65 s based on diffe
57f0: 72 65 6e 74 20 73 65 74 74 69 6e 67 73 3b 20 62 rent settings; b
5800: 6f 74 68 20 74 68 65 6d 20 61 72 65 20 70 65 72 oth them are per
5810: 66 65 63 74 6c 79 20 76 61 6c 69 64 20 61 6e 64 fectly valid and
5820: 20 72 65 61 73 6f 6e 61 62 6c 65 2c 20 62 75 74 reasonable, but
5830: 20 74 68 65 79 20 61 72 65 20 69 6e 74 65 6e 64 they are intend
5840: 65 64 20 66 6f 72 20 64 69 66 66 65 72 65 6e 74 ed for different
5850: 20 70 75 72 70 6f 73 65 73 3a 0d 0a 3c 75 6c 3e purposes:..<ul>
5860: 0d 0a 3c 6c 69 3e 3c 62 3e 62 79 66 6f 6f 74 3c ..<li><b>byfoot<
5870: 2f 62 3e 20 69 73 20 73 70 65 63 69 66 69 63 61 /b> is specifica
5880: 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 lly intended for
5890: 20 3c 62 3e 70 65 64 65 73 74 72 69 61 6e 73 3c <b>pedestrians<
58a0: 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e /b>:..<ul>..<li>
58b0: 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20 61 6c all Links are al
58c0: 77 61 79 73 20 61 73 73 75 6d 65 64 20 74 6f 20 ways assumed to
58d0: 62 65 20 61 63 63 65 73 73 69 62 6c 65 20 69 6e be accessible in
58e0: 20 3c 62 3e 62 6f 74 68 20 64 69 72 65 63 74 69 <b>both directi
58f0: 6f 6e 73 3c 2f 62 3e 3b 20 74 68 65 72 65 20 61 ons</b>; there a
5900: 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 re no <b>one-way
5910: 73 3c 2f 62 3e 20 61 6e 64 20 6e 6f 20 3c 62 3e s</b> and no <b>
5920: 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 4c 69 forbidden</b> Li
5930: 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 nks.</li>..<li>t
5940: 68 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 6f he <b>cost</b> o
5950: 66 20 65 61 63 68 20 4c 69 6e 6b 20 69 73 20 64 f each Link is d
5960: 69 72 65 63 74 6c 79 20 72 65 70 72 65 73 65 6e irectly represen
5970: 74 65 64 20 62 79 20 69 74 73 20 67 65 6f 6d 65 ted by its geome
5980: 74 72 69 63 20 3c 62 3e 6c 65 6e 67 74 68 3c 2f tric <b>length</
5990: 62 3e 2c 20 77 68 69 63 68 20 69 73 20 63 6f 6e b>, which is con
59a0: 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 65 sistent with the
59b0: 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 20 61 assumption of a
59c0: 6e 20 61 6c 6d 6f 73 74 20 63 6f 6e 73 74 61 6e n almost constan
59d0: 74 20 73 70 65 65 64 20 73 75 62 73 74 61 6e 74 t speed substant
59e0: 69 61 6c 6c 79 20 69 6d 6d 75 6e 65 20 66 72 6f ially immune fro
59f0: 6d 20 61 64 76 65 72 73 65 20 72 6f 61 64 20 63 m adverse road c
5a00: 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 20 74 72 onditions and tr
5a10: 61 66 66 69 63 20 63 6f 6e 67 65 73 74 69 6f 6e affic congestion
5a20: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c .</li>..</ul></l
5a30: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 79 63 61 72 i>..<li><b>bycar
5a40: 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 66 69 63 </b> is specific
5a50: 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 66 6f ally intended fo
5a60: 72 20 3c 62 3e 6d 6f 74 6f 72 20 76 65 68 69 63 r <b>motor vehic
5a70: 6c 65 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a les</b>:..<ul>..
5a80: 3c 6c 69 3e 6d 61 6e 79 20 4c 69 6e 6b 73 20 61 <li>many Links a
5a90: 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 re expected to b
5aa0: 65 20 61 63 63 65 73 73 69 62 6c 65 20 69 6e 20 e accessible in
5ab0: 3c 62 3e 62 6f 74 68 20 64 69 72 65 63 74 69 6f <b>both directio
5ac0: 6e 73 3c 2f 62 3e 20 62 75 74 20 6f 74 68 65 72 ns</b> but other
5ad0: 73 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 62 s could easily b
5ae0: 65 20 73 75 62 6a 65 63 74 20 74 6f 20 3c 62 3e e subject to <b>
5af0: 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65 73 74 one-way</b> rest
5b00: 72 69 63 74 69 6f 6e 73 20 6f 72 20 65 76 65 6e rictions or even
5b10: 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 3c be completely <
5b20: 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 2e b>forbidden</b>.
5b30: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 63 </li>..<li>the c
5b40: 6f 73 74 20 6f 66 20 65 61 63 68 20 4c 69 6e 6b ost of each Link
5b50: 20 69 73 20 65 78 70 72 65 73 73 65 64 20 61 73 is expressed as
5b60: 20 61 6e 20 65 73 74 69 6d 61 74 65 64 20 3c 62 an estimated <b
5b70: 3e 74 72 61 76 65 6c 20 74 69 6d 65 3c 2f 62 3e >travel time</b>
5b80: 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 65 78 , because the ex
5b90: 70 65 63 74 65 64 20 73 70 65 65 64 73 20 63 61 pected speeds ca
5ba0: 6e 20 67 72 65 61 74 6c 79 20 76 61 72 79 20 61 n greatly vary a
5bb0: 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 73 70 ccordingly to sp
5bc0: 65 63 69 66 69 63 20 72 6f 61 64 20 63 6f 6e 64 ecific road cond
5bd0: 69 74 69 6f 6e 73 2c 20 74 72 61 66 66 69 63 20 itions, traffic
5be0: 63 6f 6e 67 65 73 74 69 6f 6e 20 61 6e 64 20 6c congestion and l
5bf0: 65 67 61 6c 20 72 65 67 75 6c 61 74 69 6f 6e 73 egal regulations
5c00: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c .</li>..</ul></l
5c10: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d i>..</ul>..<br>.
5c20: 0a 3c 75 3e 43 6f 6e 63 6c 75 73 69 6f 6e 3c 2f .<u>Conclusion</
5c30: 75 3e 3a 20 61 20 73 69 6e 67 6c 65 20 56 69 72 u>: a single Vir
5c40: 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c tualRouting-Tabl
5c50: 65 20 63 61 6e 6e 6f 74 20 61 64 65 71 75 61 74 e cannot adequat
5c60: 65 6c 79 20 73 75 70 70 6f 72 74 20 61 6c 6c 20 ely support all
5c70: 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 6e 64 requirements and
5c80: 20 65 78 70 65 63 74 61 74 69 6f 6e 73 20 6f 66 expectations of
5c90: 20 64 69 66 66 65 72 65 6e 74 20 75 73 65 72 73 different users
5ca0: 2e 3c 62 72 3e 0d 0a 44 65 66 69 6e 69 6e 67 20 .<br>..Defining
5cb0: 6d 6f 72 65 20 52 6f 75 74 69 6e 67 20 54 61 62 more Routing Tab
5cc0: 6c 65 73 20 77 69 74 68 20 64 69 66 66 65 72 65 les with differe
5cd0: 6e 74 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20 nt settings for
5ce0: 74 68 65 20 73 61 6d 65 20 4e 65 74 77 6f 72 6b the same Network
5cf0: 20 75 73 75 61 6c 6c 79 20 69 73 20 61 20 67 6f usually is a go
5d00: 6f 64 20 64 65 73 69 67 6e 20 63 68 6f 69 63 65 od design choice
5d10: 20 6c 65 61 64 69 6e 67 20 74 6f 20 6d 6f 72 65 leading to more
5d20: 20 72 65 61 6c 69 73 74 69 63 20 72 65 73 75 6c realistic resul
5d30: 74 73 2e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f ts.<br>..</td></
5d40: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c tr>..</table>..<
5d50: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 33 3e 55 74 69 br><br>..<h3>Uti
5d60: 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 66 6f lity function fo
5d70: 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 r automatically
5d80: 73 65 74 74 69 6e 67 20 4e 6f 64 65 46 72 6f 6d setting NodeFrom
5d90: 20 61 6e 64 20 4e 6f 64 65 54 6f 20 49 44 73 3c and NodeTo IDs<
5da0: 2f 68 33 3e 0d 0a 49 74 20 63 6f 75 6c 64 20 68 /h3>..It could h
5db0: 61 70 70 65 6e 20 74 68 61 74 20 61 20 3c 62 3e appen that a <b>
5dc0: 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b 3c Spatial Network<
5dd0: 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 61 74 69 /b> representati
5de0: 6f 6e 20 69 73 20 74 6f 70 6f 6c 6f 67 69 63 61 on is topologica
5df0: 6c 6c 79 20 63 6f 6e 73 69 73 74 65 6e 74 2c 20 lly consistent,
5e00: 62 75 74 20 63 6f 6d 70 6c 65 74 65 6c 79 20 6c but completely l
5e10: 61 63 6b 69 6e 67 20 6f 66 20 61 6e 79 20 3c 62 acking of any <b
5e20: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e >NodeFrom</b> an
5e30: 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 d <b>NodeTo</b>
5e40: 64 65 66 69 6e 69 74 69 6f 6e 73 2e 3c 62 72 3e definitions.<br>
5e50: 0d 0a 49 6e 20 73 75 63 68 20 61 20 63 61 73 65 ..In such a case
5e60: 20 79 6f 75 20 63 61 6e 20 73 75 63 63 65 73 73 you can success
5e70: 66 75 6c 6c 79 20 72 65 62 75 69 6c 64 20 74 68 fully rebuild th
5e80: 65 20 6d 69 73 73 69 6e 67 20 20 4e 6f 64 65 46 e missing NodeF
5e90: 72 6f 6d 20 61 6e 64 20 4e 6f 64 65 54 6f 20 64 rom and NodeTo d
5ea0: 65 66 69 6e 69 74 69 6f 6e 73 20 66 72 6f 6d 20 efinitions from
5eb0: 61 20 76 61 6c 69 64 20 4e 65 74 77 6f 72 6b 20 a valid Network
5ec0: 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 3c by calling the <
5ed0: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 4e b>CreateRoutingN
5ee0: 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 4c 20 66 odes()</b> SQL f
5ef0: 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61 unction...<verba
5f00: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 tim>..SELECT Cre
5f10: 61 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 ateRoutingNodes(
5f20: 4e 55 4c 4c 2c 20 27 74 61 62 6c 65 5f 6e 61 6d NULL, 'table_nam
5f30: 65 27 2c 20 27 67 65 6f 6d 27 2c 20 27 6e 6f 64 e', 'geom', 'nod
5f40: 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f 74 e_from', 'node_t
5f50: 6f 27 29 3b 0d 0a 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f o');..__________
5f60: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 0d _______________.
5f70: 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d .1..</verbatim>.
5f80: 0a 4c 65 74 27 73 20 65 78 61 6d 69 6e 65 20 61 .Let's examine a
5f90: 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 ll arguments and
5fa0: 20 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 73 3a their meanings:
5fb0: 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e ..<ol>..<li><i>N
5fc0: 55 4c 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 ULL</i>: name of
5fd0: 20 74 68 65 20 3c 62 3e 41 74 74 61 63 68 65 64 the <b>Attached
5fe0: 2d 44 42 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 69 -DB</b> containi
5ff0: 6e 67 20 74 68 65 20 53 70 61 74 69 61 6c 20 54 ng the Spatial T
6000: 61 62 6c 65 2e 3c 62 72 3e 0d 0a 49 74 20 63 61 able.<br>..It ca
6010: 6e 20 62 65 20 6c 65 67 69 74 69 6d 61 74 65 6c n be legitimatel
6020: 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c y set to <b>NULL
6030: 3c 2f 62 3e 2c 20 61 6e 64 20 69 6e 20 74 68 69 </b>, and in thi
6040: 73 20 63 61 73 65 20 74 68 65 20 3c 62 3e 4d 41 s case the <b>MA
6050: 49 4e 3c 2f 62 3e 20 44 42 20 69 73 20 61 73 73 IN</b> DB is ass
6060: 75 6d 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e umed.</li>..<li>
6070: 3c 69 3e 74 61 62 6c 65 5f 6e 61 6d 65 3c 2f 69 <i>table_name</i
6080: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 53 >: name of the S
6090: 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c 2f 6c patial Table.</l
60a0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c i>..<li><i>geom<
60b0: 2f 6c 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 /li>: name of th
60c0: 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 e column (in the
60d0: 20 61 62 6f 76 65 20 54 61 62 6c 65 29 20 63 6f above Table) co
60e0: 6e 74 61 69 6e 69 6e 67 20 3c 62 3e 4c 69 6e 65 ntaining <b>Line
60f0: 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c 2f 6c 69 strings</b>.</li
6100: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 66 >..<li><i>node_f
6110: 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 rom</i>: name of
6120: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 74 6f 20 62 the column to b
6130: 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 61 e added to the a
6140: 62 6f 76 65 20 54 61 62 6c 65 20 61 6e 64 20 70 bove Table and p
6150: 6f 70 75 6c 61 74 65 64 20 77 69 74 68 20 61 70 opulated with ap
6160: 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 4e 6f 64 propriate <b>Nod
6170: 65 46 72 6f 6d 3c 2f 62 3e 20 49 44 73 2e 3c 2f eFrom</b> IDs.</
6180: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 li>..<li><i>node
6190: 5f 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 _to</i>: name of
61a0: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 74 6f 20 62 the column to b
61b0: 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 61 e added to the a
61c0: 62 6f 76 65 20 54 61 62 6c 65 20 61 6e 64 20 70 bove Table and p
61d0: 6f 70 75 6c 61 74 65 64 20 77 69 74 68 20 61 70 opulated with ap
61e0: 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 4e 6f 64 propriate <b>Nod
61f0: 65 54 6f 3c 2f 62 3e 20 49 44 73 2e 3c 62 72 3e eTo</b> IDs.<br>
6200: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 62 ..<u>Note</u>: b
6210: 6f 74 68 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c oth <b>NodeFrom<
6220: 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 /b> and <b>NodeT
6230: 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 73 68 o</b> columns sh
6240: 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 6c 72 65 ould not be alre
6250: 61 64 79 20 64 65 66 69 6e 65 64 20 69 6e 20 74 ady defined in t
6260: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 2e 3c he above Table.<
6270: 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 3e /li>..</ol>..<b>
6280: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 4e 6f 64 CreateRoutingNod
6290: 65 73 28 29 3c 2f 62 3e 20 77 69 6c 6c 20 72 65 es()</b> will re
62a0: 74 75 72 6e 20 3c 62 3e 31 3c 2f 62 3e 20 28 3c turn <b>1</b> (<
62b0: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 54 52 55 i>aka</i> <b>TRU
62c0: 45 3c 2f 62 3e 29 20 6f 6e 20 73 75 63 63 65 73 E</b>) on succes
62d0: 73 3b 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 s; an exception
62e0: 77 69 6c 6c 20 62 65 20 72 61 69 73 65 64 20 6f will be raised o
62f0: 6e 20 66 61 69 6c 75 72 65 2e 3c 62 72 3e 0d 0a n failure.<br>..
6300: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75 <u>Note</u>: you
6310: 20 63 61 6e 20 63 61 6c 6c 20 3c 62 3e 43 72 65 can call <b>Cre
6320: 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 ateRouting_GetLa
6330: 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e 20 73 6f stError()</b> so
6340: 20 74 6f 20 70 72 65 63 69 73 65 6c 79 20 69 64 to precisely id
6350: 65 6e 74 69 66 79 20 74 68 65 20 63 61 75 73 65 entify the cause
6360: 20 61 63 63 6f 75 6e 74 69 6e 67 20 66 6f 72 20 accounting for
6370: 66 61 69 6c 75 72 65 2e 3c 62 72 3e 3c 62 72 3e failure.<br><br>
6380: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 <br>..<table bgc
6390: 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 olor="#c0ffc0" c
63a0: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 ellspacing="10"
63b0: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
63c0: 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 61 <tr><td>..<h3>Ha
63d0: 6e 64 6c 69 6e 67 20 64 79 6e 61 6d 69 63 20 4e ndling dynamic N
63e0: 65 74 77 6f 72 6b 73 3c 2f 68 33 3e 0d 0a 41 20 etworks</h3>..A
63f0: 4e 65 74 77 6f 72 6b 20 63 6f 75 6c 64 20 62 65 Network could be
6400: 20 73 75 62 6a 65 63 74 20 74 6f 20 72 61 74 68 subject to rath
6410: 65 72 20 66 72 65 71 75 65 6e 74 20 63 68 61 6e er frequent chan
6420: 67 65 73 2c 20 73 75 63 68 20 61 73 3a 0d 0a 3c ges, such as:..<
6430: 75 6c 3e 0d 0a 3c 6c 69 3e 6e 65 77 20 4c 69 6e ul>..<li>new Lin
6440: 6b 73 20 6e 65 65 64 20 74 6f 20 62 65 20 61 64 ks need to be ad
6450: 64 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f ded.</li>..<li>o
6460: 62 73 6f 6c 65 74 65 20 4c 69 6e 6b 73 20 61 72 bsolete Links ar
6470: 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 e required to be
6480: 20 72 65 6d 6f 76 65 64 2e 3c 2f 6c 69 3e 0d 0a removed.</li>..
6490: 3c 6c 69 3e 6f 74 68 65 72 20 4c 69 6e 6b 73 20 <li>other Links
64a0: 6d 61 79 20 72 65 63 65 69 76 65 20 61 20 64 69 may receive a di
64b0: 66 66 65 72 65 6e 74 20 43 6f 73 74 2e 3c 2f 6c fferent Cost.</l
64c0: 69 3e 0d 0a 3c 6c 69 3e 6f 6e 65 2d 77 61 79 73 i>..<li>one-ways
64d0: 20 63 6f 75 6c 64 20 62 65 20 72 65 76 65 72 73 could be revers
64e0: 65 64 2c 20 74 68 65 20 64 69 73 63 69 70 6c 69 ed, the discipli
64f0: 6e 65 20 6f 66 20 70 65 64 65 73 74 72 69 61 6e ne of pedestrian
6500: 20 61 72 65 61 73 20 63 6f 75 6c 64 20 62 65 20 areas could be
6510: 6d 6f 64 69 66 69 65 64 20 61 6e 64 20 73 6f 20 modified and so
6520: 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c on.</li>..</ul><
6530: 2f 6c 69 3e 3c 62 72 3e 0d 0a 41 20 56 69 72 74 /li><br>..A Virt
6540: 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 ualRouting-Table
6550: 20 69 73 20 61 6c 77 61 79 73 20 62 61 73 65 64 is always based
6560: 20 6f 6e 20 61 20 63 6f 6d 70 61 6e 69 6f 6e 20 on a companion
6570: 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65 BinaryData-Table
6580: 2c 20 74 68 61 74 20 69 73 20 69 6e 74 72 69 6e , that is intrin
6590: 73 69 63 61 6c 6c 79 20 3c 62 3e 73 74 61 74 69 sically <b>stati
65a0: 63 3c 2f 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 c</b>, and conse
65b0: 71 75 65 6e 74 6c 79 20 79 6f 75 20 61 72 65 20 quently you are
65c0: 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 2d 63 required to re-c
65d0: 72 65 61 74 65 20 62 6f 74 68 20 6f 66 20 74 68 reate both of th
65e0: 65 6d 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f 20 em from time to
65f0: 74 69 6d 65 20 69 6e 20 6f 72 64 65 72 20 74 6f time in order to
6600: 20 73 75 70 70 6f 72 74 20 61 6c 6c 20 72 65 63 support all rec
6610: 65 6e 74 20 63 68 61 6e 67 65 73 20 61 66 66 65 ent changes affe
6620: 63 74 69 6e 67 20 74 68 65 20 75 6e 64 65 72 6c cting the underl
6630: 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 aying Network.<b
6640: 72 3e 0d 0a 54 68 65 20 6f 70 74 69 6d 61 6c 20 r>..The optimal
6650: 66 72 65 71 75 65 6e 63 79 20 66 6f 72 20 74 68 frequency for th
6660: 65 20 72 65 66 72 65 73 68 69 6e 67 20 6f 66 20 e refreshing of
6670: 74 68 65 20 74 68 65 20 52 6f 75 74 69 6e 67 20 the the Routing
6680: 54 61 62 6c 65 73 20 64 65 70 65 6e 64 73 20 20 Tables depends
6690: 73 74 72 69 63 74 6c 79 20 6f 6e 20 74 68 65 20 strictly on the
66a0: 73 70 65 63 69 66 69 63 20 72 65 71 75 69 72 65 specific require
66b0: 6d 65 6e 74 73 2c 20 62 75 74 20 74 68 65 73 65 ments, but these
66c0: 20 74 77 6f 20 6f 76 65 72 61 6c 6c 20 61 70 70 two overall app
66d0: 72 6f 61 63 68 65 73 20 61 72 65 20 63 6f 6d 6d roaches are comm
66e0: 6f 6e 6c 79 20 61 64 6f 70 74 65 64 3a 0d 0a 3c only adopted:..<
66f0: 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6c 6f 77 20 ol>..<li><b>low
6700: 66 72 65 71 75 65 6e 63 79 20 72 65 66 72 65 73 frequency refres
6710: 68 3c 2f 62 3e 3a 20 62 65 73 74 20 66 69 74 20 h</b>: best fit
6720: 66 6f 72 20 73 6c 6f 77 6c 79 20 65 76 6f 6c 76 for slowly evolv
6730: 69 6e 67 20 4e 65 74 77 6f 72 6b 73 2e 3c 62 72 ing Networks.<br
6740: 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65 20 >..In this case
6750: 72 65 2d 63 72 65 61 74 69 6e 67 20 74 68 65 20 re-creating the
6760: 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 20 6f Network Tables o
6770: 6e 63 65 20 61 20 6d 6f 6e 74 68 20 2f 20 77 65 nce a month / we
6780: 65 6b 20 2f 20 64 61 79 20 63 6f 75 6c 64 20 62 ek / day could b
6790: 65 20 72 65 61 73 6f 6e 61 62 6c 79 20 65 6e 6f e reasonably eno
67a0: 75 67 68 2e 0d 0a 52 65 63 72 65 61 74 69 6e 67 ugh...Recreating
67b0: 20 74 68 65 20 54 61 62 6c 65 73 20 66 72 6f 6d the Tables from
67c0: 20 73 63 72 61 74 63 68 20 75 73 75 61 6c 6c 79 scratch usually
67d0: 20 72 65 71 75 69 72 65 73 20 73 65 76 65 72 61 requires severa
67e0: 6c 20 73 65 63 6f 6e 64 73 20 28 6f 72 20 65 76 l seconds (or ev
67f0: 65 6e 20 6c 65 73 73 2c 20 64 65 70 65 6e 64 69 en less, dependi
6800: 6e 67 20 6f 6e 20 74 68 65 20 6e 75 6d 62 65 72 ng on the number
6810: 20 6f 66 20 4c 69 6e 6b 73 29 2e 3c 62 72 3e 0d of Links).<br>.
6820: 0a 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 72 65 66 .An optional ref
6830: 72 65 73 68 20 61 63 74 69 76 69 74 79 20 63 6f resh activity co
6840: 75 6c 64 20 62 65 20 70 6c 61 6e 6e 65 64 20 61 uld be planned a
6850: 74 20 6c 6f 77 20 74 72 61 66 66 69 63 20 68 6f t low traffic ho
6860: 75 72 73 20 28 65 2e 67 2e 20 64 75 72 69 6e 67 urs (e.g. during
6870: 20 74 68 65 20 6e 69 67 68 74 29 2c 20 61 6e 64 the night), and
6880: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e <b>CreateRoutin
6890: 67 28 29 3c 2f 62 3e 20 63 6f 75 6c 64 20 62 65 g()</b> could be
68a0: 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 63 61 6c 6c optionally call
68b0: 65 64 20 62 79 20 65 6e 61 62 6c 69 6e 67 20 74 ed by enabling t
68c0: 68 65 20 6f 76 65 72 77 72 69 74 65 20 6f 70 74 he overwrite opt
68d0: 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ion.</li>..<li><
68e0: 62 3e 6d 65 64 69 75 6d 2d 68 69 67 68 20 66 72 b>medium-high fr
68f0: 65 71 75 65 6e 63 79 20 72 65 66 72 65 73 68 3c equency refresh<
6900: 2f 62 3e 3a 20 62 65 73 74 20 66 69 74 20 66 6f /b>: best fit fo
6910: 72 20 73 77 69 66 74 6c 79 20 65 76 6f 6c 76 69 r swiftly evolvi
6920: 6e 67 20 4e 65 74 77 6f 72 6b 73 2e 3c 62 72 3e ng Networks.<br>
6930: 0d 0a 52 65 2d 63 72 65 61 74 69 6e 67 20 74 68 ..Re-creating th
6940: 65 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 e Network Tables
6950: 20 6f 6e 63 65 20 70 65 72 20 68 6f 75 72 20 28 once per hour (
6960: 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20 66 72 65 or even more fre
6970: 71 75 65 6e 74 6c 79 29 20 63 6f 75 6c 64 20 62 quently) could b
6980: 65 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 e strictly requi
6990: 72 65 64 2c 20 61 6e 64 20 66 72 65 71 75 65 6e red, and frequen
69a0: 74 20 3c 62 3e 6f 75 74 20 6f 66 20 73 65 72 76 t <b>out of serv
69b0: 69 63 65 3c 2f 62 3e 20 70 65 72 69 6f 64 73 20 ice</b> periods
69c0: 77 68 69 6c 65 20 77 61 69 74 69 6e 67 20 66 6f while waiting fo
69d0: 72 20 74 68 65 20 72 65 66 72 65 73 68 20 70 72 r the refresh pr
69e0: 6f 63 65 73 73 20 74 6f 20 63 6f 6d 70 6c 65 74 ocess to complet
69f0: 65 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 62 e could easily b
6a00: 65 63 6f 6d 65 20 75 6e 61 63 63 65 70 74 61 62 ecome unacceptab
6a10: 6c 65 2e 3c 62 72 3e 0d 0a 49 6e 20 73 75 63 68 le.<br>..In such
6a20: 20 63 61 73 65 73 20 79 6f 75 20 63 6f 75 6c 64 cases you could
6a30: 20 61 64 6f 70 74 20 61 20 3c 62 3e 6d 75 6c 74 adopt a <b>mult
6a40: 69 2d 74 68 72 65 61 64 65 64 20 73 74 72 61 74 i-threaded strat
6a50: 65 67 79 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a egy</b>:..<ul>..
6a60: 3c 6c 69 3e 3c 62 3e 74 68 72 65 61 64 20 23 31 <li><b>thread #1
6a70: 3c 2f 62 3e 20 28 3c 69 3e 74 68 65 20 72 65 61 </b> (<i>the rea
6a80: 64 65 72 3c 2f 69 3e 29 3a 20 74 68 69 73 20 66 der</i>): this f
6a90: 69 72 73 74 20 74 68 72 65 61 64 20 69 73 20 69 irst thread is i
6aa0: 6e 74 65 6e 64 65 64 20 74 6f 20 73 65 72 76 69 ntended to servi
6ab0: 63 65 20 61 6e 79 20 69 6e 63 6f 6d 69 6e 67 20 ce any incoming
6ac0: 52 6f 75 74 69 6e 67 20 72 65 71 75 65 73 74 2e Routing request.
6ad0: 20 49 74 20 77 69 6c 6c 20 62 65 20 61 6c 77 61 It will be alwa
6ae0: 79 73 20 61 63 74 69 76 65 2c 20 61 6e 64 20 77 ys active, and w
6af0: 69 6c 6c 20 74 61 72 67 65 74 20 61 20 77 65 6c ill target a wel
6b00: 6c 20 6b 6e 6f 77 6e 20 56 69 72 74 75 61 6c 52 l known VirtualR
6b10: 6f 75 74 69 6e 67 2d 54 61 62 6c 65 20 28 65 2e outing-Table (e.
6b20: 67 2e 20 3c 62 3e 6d 79 5f 72 6f 75 74 69 6e 67 g. <b>my_routing
6b30: 3c 2f 62 3e 20 62 61 73 65 64 20 6f 6e 20 3c 62 </b> based on <b
6b40: 3e 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 >my_routing_data
6b50: 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 </b>).</li>..<li
6b60: 3e 3c 62 3e 74 68 72 65 61 64 20 23 32 3c 2f 62 ><b>thread #2</b
6b70: 3e 20 28 3c 69 3e 74 68 65 20 77 72 69 74 65 72 > (<i>the writer
6b80: 3c 2f 69 3e 29 3a 20 74 68 69 73 20 73 65 63 6f </i>): this seco
6b90: 6e 64 20 74 68 72 65 61 64 20 69 73 20 6a 75 73 nd thread is jus
6ba0: 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 72 65 t intended to re
6bb0: 2d 63 72 65 61 74 65 20 62 6f 74 68 20 4e 65 74 -create both Net
6bc0: 77 6f 72 6b 20 54 61 62 6c 65 73 20 61 74 20 70 work Tables at p
6bd0: 72 65 64 65 66 69 6e 65 64 20 69 6e 74 65 72 76 redefined interv
6be0: 61 6c 73 2c 20 61 6e 64 20 69 74 20 77 69 6c 6c als, and it will
6bf0: 20 73 6c 65 65 70 20 75 6e 74 69 6c 20 74 68 65 sleep until the
6c00: 20 6e 65 78 74 20 69 6e 74 65 72 76 61 6c 2e 3c next interval.<
6c10: 62 72 3e 0d 0a 41 74 20 65 61 63 68 20 69 6e 74 br>..At each int
6c20: 65 72 76 61 6c 20 61 20 63 6f 70 79 20 6f 66 20 erval a copy of
6c30: 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 62 both Network Tab
6c40: 6c 65 73 2c 20 77 69 6c 6c 20 62 65 20 6d 61 64 les, will be mad
6c50: 65 20 61 6e 64 2c 20 77 68 65 6e 20 63 6f 6d 70 e and, when comp
6c60: 6c 65 61 74 65 64 2c 20 77 69 6c 6c 20 6f 76 65 leated, will ove
6c70: 72 77 72 69 74 65 20 74 68 65 20 6f 72 69 67 69 rwrite the origi
6c80: 6e 61 6c 20 54 61 62 6c 65 73 20 28 61 63 74 69 nal Tables (acti
6c90: 76 61 74 69 6e 67 20 61 20 73 65 6d 61 70 68 6f vating a semapho
6ca0: 72 65 20 64 75 72 69 6e 67 20 74 68 69 73 20 73 re during this s
6cb0: 68 6f 72 74 2d 74 69 6d 65 64 20 6c 61 73 74 20 hort-timed last
6cc0: 73 74 65 70 20 69 73 20 68 69 67 68 6c 79 20 72 step is highly r
6cd0: 65 63 6f 6d 6d 65 6e 64 65 64 29 2e 3c 62 72 3e ecommended).<br>
6ce0: 0d 0a 53 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 ..Something like
6cf0: 20 74 68 69 73 20 70 73 65 75 64 6f 2d 63 6f 64 this pseudo-cod
6d00: 65 20 65 78 65 6d 70 6c 69 66 69 65 73 3a 0d 0a e exemplifies:..
6d10: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 <verbatim>..SELE
6d20: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 CT CreateRouting
6d30: 28 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 ('new_my_routing
6d40: 5f 64 61 74 61 27 2c 20 27 6e 65 77 5f 6d 79 5f _data', 'new_my_
6d50: 72 6f 75 74 69 6e 67 27 2c 20 2e 2e 2e 29 3b 0d routing', ...);.
6d60: 0a 0d 0a 2d 2d 3e 20 73 74 61 72 74 20 74 68 65 ...--> start the
6d70: 20 73 65 6d 61 70 68 6f 72 65 20 73 6f 20 74 6f semaphore so to
6d80: 20 6c 6f 63 6b 20 74 68 65 20 6f 74 68 65 72 20 lock the other
6d90: 74 68 72 65 61 64 0d 0a 0d 0a 42 45 47 49 4e 3b thread....BEGIN;
6da0: 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d 79 5f ..DROP TABLE my_
6db0: 72 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 routing;..DROP T
6dc0: 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67 5f ABLE my_routing_
6dd0: 64 61 74 61 3b 0d 0a 53 45 4c 45 43 54 20 43 6c data;..SELECT Cl
6de0: 6f 6e 65 54 61 62 6c 65 28 27 4d 41 49 4e 27 2c oneTable('MAIN',
6df0: 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 'new_my_routing
6e00: 5f 64 61 74 61 27 2c 20 27 6d 79 5f 72 6f 75 74 _data', 'my_rout
6e10: 69 6e 67 5f 64 61 74 61 27 2c 20 30 29 3b 0d 0a ing_data', 0);..
6e20: 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 CREATE VIRTUAL T
6e30: 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67 20 ABLE my_routing
6e40: 55 53 49 4e 47 20 56 69 72 74 75 61 6c 52 6f 75 USING VirtualRou
6e50: 74 69 6e 67 28 27 6d 79 5f 72 6f 75 74 69 6e 67 ting('my_routing
6e60: 5f 64 61 74 61 27 29 3b 0d 0a 44 52 4f 50 20 54 _data');..DROP T
6e70: 41 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 ABLE new_my_rout
6e80: 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 ing;..DROP TABLE
6e90: 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f new_my_routing_
6ea0: 64 61 74 61 3b 0d 0a 43 4f 4d 4d 49 54 3b 0d 0a data;..COMMIT;..
6eb0: 0d 0a 2d 2d 3e 20 72 65 6d 6f 76 65 20 74 68 65 ..--> remove the
6ec0: 20 73 65 6d 61 70 68 6f 72 65 0d 0a 3c 2f 76 65 semaphore..</ve
6ed0: 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65 rbatim>..<u>Note
6ee0: 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 72 </u>: strictly r
6ef0: 65 73 70 65 63 74 69 6e 67 20 74 68 65 20 61 62 especting the ab
6f00: 6f 76 65 20 73 65 71 75 65 6e 63 65 20 6f 66 20 ove sequence of
6f10: 53 51 4c 20 6f 70 65 72 61 74 69 6f 6e 73 20 69 SQL operations i
6f20: 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 72 65 71 s absolutely req
6f30: 75 69 72 65 64 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f uired.</li> ..</
6f40: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d ul></li>..</ol>.
6f50: 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 .</td></tr>..</t
6f60: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 able>..<br>..<ta
6f70: 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 ble bgcolor="#ff
6f80: 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e b060" cellspacin
6f90: 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 g="10" cellpaddi
6fa0: 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d ng="6"><tr><td>.
6fb0: 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f .<h3>Warning: ho
6fc0: 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 64 w to correctly d
6fd0: 72 6f 70 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c rop Network Tabl
6fe0: 65 73 3c 2f 68 33 3e 0d 0a 57 68 65 6e 20 64 72 es</h3>..When dr
6ff0: 6f 70 70 69 6e 67 20 61 20 56 69 72 74 75 61 6c opping a Virtual
7000: 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 20 61 6e Routing-Table an
7010: 64 20 69 74 73 20 63 6f 6d 70 61 6e 69 6f 6e 20 d its companion
7020: 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65 BinaryData-Table
7030: 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 65 63 strictly respec
7040: 74 69 6e 67 20 74 68 65 20 63 6f 72 72 65 63 74 ting the correct
7050: 20 73 65 71 75 65 6e 63 65 20 6f 66 20 53 51 4c sequence of SQL
7060: 20 63 6f 6d 6d 61 6e 64 73 20 69 73 20 65 73 73 commands is ess
7070: 65 6e 74 69 61 6c 2e 3c 62 72 3e 0d 0a 46 61 69 ential.<br>..Fai
7080: 6c 69 6e 67 20 74 6f 20 73 74 72 69 63 74 6c 79 ling to strictly
7090: 20 72 65 73 70 65 63 74 20 74 68 69 73 20 65 78 respect this ex
70a0: 70 65 63 74 65 64 20 73 65 71 75 65 6e 63 65 20 pected sequence
70b0: 77 69 6c 6c 20 73 75 72 65 6c 79 20 63 61 75 73 will surely caus
70c0: 65 20 79 6f 75 20 73 65 76 65 72 61 6c 20 74 72 e you several tr
70d0: 6f 75 62 6c 65 73 20 61 6e 64 20 73 65 76 65 72 oubles and sever
70e0: 65 20 68 65 61 64 61 63 68 65 73 2c 20 61 6e 64 e headaches, and
70f0: 20 77 69 6c 6c 20 70 6f 73 73 69 62 6c 79 20 6c will possibly l
7100: 65 61 64 20 74 6f 20 61 20 63 6f 6d 70 6c 65 74 ead to a complet
7110: 65 6c 79 20 63 6f 72 72 75 70 74 65 64 20 64 61 ely corrupted da
7120: 74 61 62 61 73 65 2e 2e 0d 0a 3c 6f 6c 3e 0d 0a tabase....<ol>..
7130: 3c 6c 69 3e 66 69 72 73 74 20 44 52 4f 50 20 74 <li>first DROP t
7140: 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e he VirtualRoutin
7150: 67 2d 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c g-Table.</li>..<
7160: 6c 69 3e 74 68 65 20 63 6f 6d 70 61 6e 69 6f 6e li>the companion
7170: 20 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c BinaryData-Tabl
7180: 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 73 61 e can only be sa
7190: 66 65 6c 79 20 44 52 4f 50 65 64 20 61 66 74 65 fely DROPed afte
71a0: 72 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 r the VirtualRou
71b0: 74 69 6e 67 2d 54 61 62 6c 65 20 68 61 73 20 62 ting-Table has b
71c0: 65 65 6e 20 72 65 6d 6f 76 65 64 2e 3c 2f 6c 69 een removed.</li
71d0: 3e 0d 0a 3c 6c 69 3e 3c 75 3e 42 65 20 77 61 72 >..<li><u>Be war
71e0: 6e 65 64 3c 2f 75 3e 3a 20 69 66 20 79 6f 75 20 ned</u>: if you
71f0: 44 52 4f 50 20 74 68 65 20 42 69 6e 61 72 79 44 DROP the BinaryD
7200: 61 74 61 2d 54 61 62 6c 65 20 66 69 72 73 74 2c ata-Table first,
7210: 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 the VirtualRout
7220: 69 6e 67 2d 54 61 62 6c 65 20 77 69 6c 6c 20 62 ing-Table will b
7230: 65 20 3c 62 3e 6f 72 70 68 61 6e 65 64 3c 2f 62 e <b>orphaned</b
7240: 3e 20 61 6e 64 20 63 61 6e 20 6e 6f 20 6c 6f 6e > and can no lon
7250: 67 65 72 20 62 65 20 44 52 4f 50 65 64 20 21 3c ger be DROPed !<
7260: 62 72 3e 0d 0a 3c 62 3e 59 6f 75 20 68 61 76 65 br>..<b>You have
7270: 20 62 65 65 6e 20 77 61 72 6e 65 64 20 21 21 3c been warned !!<
7280: 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d /b></li>..</ol>.
7290: 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 .</td></tr>..</t
72a0: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d able>..<br><br>.
72b0: 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c .<hr><br>..<h1><
72c0: 61 20 6e 61 6d 65 3d 22 66 72 6f 6d 5f 74 6f 22 a name="from_to"
72d0: 3e 34 20 2d 20 53 6f 6c 76 69 6e 67 20 63 6c 61 >4 - Solving cla
72e0: 73 73 69 63 20 53 68 6f 72 74 65 73 74 20 50 61 ssic Shortest Pa
72f0: 74 68 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c th problems</a><
7300: 2f 68 31 3e 0d 0a 54 68 65 20 6d 6f 73 74 20 63 /h1>..The most c
7310: 6c 61 73 73 69 63 20 53 68 6f 72 74 65 73 74 20 lassic Shortest
7320: 50 61 74 68 20 70 72 6f 62 6c 65 6d 20 72 65 71 Path problem req
7330: 75 69 72 65 73 20 74 6f 20 69 64 65 6e 74 69 66 uires to identif
7340: 79 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 63 6f y the optimal co
7350: 6e 6e 65 63 74 69 6f 6e 20 62 65 74 77 65 65 6e nnection between
7360: 20 61 6e 20 3c 62 3e 4f 72 69 67 69 6e 20 4e 6f an <b>Origin No
7370: 64 65 3c 2f 62 3e 20 61 6e 64 20 61 20 3c 62 3e de</b> and a <b>
7380: 44 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 Destination Node
7390: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 57 65 20 63 61 </b>.<br>..We ca
73a0: 6e 20 65 61 73 69 6c 79 20 74 72 61 6e 73 6c 61 n easily transla
73b0: 74 65 20 73 75 63 68 20 61 20 70 72 6f 62 6c 65 te such a proble
73c0: 6d 20 69 6e 74 6f 20 61 20 73 69 6d 70 6c 65 20 m into a simple
73d0: 53 51 4c 20 71 75 65 72 79 20 74 61 72 67 65 74 SQL query target
73e0: 69 6e 67 20 73 6f 6d 65 20 56 69 72 74 75 61 6c ing some Virtual
73f0: 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 2e 0d 0a Routing-Table...
7400: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 <verbatim>..SELE
7410: 43 54 20 2a 20 0d 0a 46 52 4f 4d 20 62 79 66 6f CT * ..FROM byfo
7420: 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 ot..WHERE NodeFr
7430: 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 om = 178731 AND
7440: 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b NodeTo = 183286;
7450: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c ..</verbatim>..<
7460: 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 table border="1"
7470: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 bgcolor="#ffffc
7480: 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 f" cellspacing="
7490: 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 4" cellpadding="
74a0: 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6">..<tr><th bgc
74b0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 olor="#d0d0a0">A
74c0: 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 lgorithm</th><th
74d0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
74e0: 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 0">Request</th><
74f0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
7500: 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 0a0">Options</th
7510: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
7520: 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 0d0a0">Delimiter
7530: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
7540: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 ="#d0d0a0">Route
7550: 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c Id</th><th bgcol
7560: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 or="#d0d0a0">Rou
7570: 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 teRow</th><th bg
7580: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
7590: 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 Role</th><th bgc
75a0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c olor="#d0d0a0">L
75b0: 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 inkRowid</th><th
75c0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
75d0: 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 0">NodeFrom</th>
75e0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
75f0: 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 d0a0">NodeTo</th
7600: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
7610: 30 64 30 61 30 22 3e 50 6f 69 6e 74 46 72 6f 6d 0d0a0">PointFrom
7620: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
7630: 3d 22 23 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 ="#d0d0a0">Point
7640: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c To</th><th bgcol
7650: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 54 6f 6c or="#d0d0a0">Tol
7660: 65 72 61 6e 63 65 3c 2f 74 68 3e 3c 74 68 20 62 erance</th><th b
7670: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
7680: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 >Cost</th><th bg
7690: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
76a0: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 Geometry</th><th
76b0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
76c0: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 0">Name</th></tr
76d0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a >..<tr>..<td>Dij
76e0: 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68 kstra</td><td>Sh
76f0: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64 3e ortest Path</td>
7700: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 <td>Full</td><td
7710: 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20 >, [dec=44,
7720: 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e hex=2c]</td>
7730: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
7740: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">0</td><td alig
7750: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
7760: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
7770: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
7780: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
7790: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
77a0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 n="right">183286
77b0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
77c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
77d0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
77e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 align="right">30
77f0: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 0.912208</td><td
7800: 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f >BLOB sz=272 GEO
7810: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 METRY</td><td>NU
7820: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
7830: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
7840: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
7850: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
7860: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
7870: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
7880: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
7890: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">1</td><td>Li
78a0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
78b0: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c ="right">224014<
78c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
78d0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
78e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
78f0: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 t">182885</td><t
7900: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
7910: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
7920: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
7930: 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 right">94.812424
7940: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
7950: 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f d><td>VIA PIETRO
7960: 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c ARETINO</td>..<
7970: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
7980: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
7990: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
79a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
79b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
79c0: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">0</td><td alig
79d0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e n="right">2</td>
79e0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
79f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
7a00: 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 24446</td><td al
7a10: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 ign="right">1828
7a20: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 85</td><td align
7a30: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
7a40: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
7a50: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7a60: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
7a70: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e lign="right">69.
7a80: 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 727726</td><td>N
7a90: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
7aa0: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e MARGARITONE</td>
7ab0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
7ac0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
7ad0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
7ae0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
7af0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7b00: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 ght">0</td><td a
7b10: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f lign="right">3</
7b20: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
7b30: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
7b40: 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 ">224414</td><td
7b50: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
7b60: 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 78880</td><td al
7b70: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 ign="right">1832
7b80: 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 86</td><td>NULL<
7b90: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
7ba0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7bb0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
7bc0: 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 136.372057</td><
7bd0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
7be0: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c VIA MARGARITONE<
7bf0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 /td>..</tr>..</t
7c00: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 able>..<br>..Let
7c10: 27 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 's quickly exami
7c20: 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 ne the resultset
7c30: 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 returned by the
7c40: 20 61 62 6f 76 65 20 52 6f 75 74 69 6e 67 20 71 above Routing q
7c50: 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 uery:..<ul>..<li
7c60: 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f >the <b>first ro
7c70: 77 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 w</b> (<i>aka</i
7c80: 3e 20 68 65 61 64 65 72 20 72 6f 77 29 20 68 61 > header row) ha
7c90: 73 20 61 20 73 70 65 63 69 61 6c 20 69 6e 74 65 s a special inte
7ca0: 72 70 72 65 74 61 74 69 6f 6e 2c 20 61 6e 64 20 rpretation, and
7cb0: 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 is intended to s
7cc0: 75 6d 6d 61 72 69 7a 65 20 74 68 65 20 74 72 61 ummarize the tra
7cd0: 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 61 73 20 vel solution as
7ce0: 61 20 77 68 6f 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c a whole.</li>..<
7cf0: 6c 69 3e 61 6c 6c 20 74 68 65 20 3c 62 3e 66 6f li>all the <b>fo
7d00: 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 3c 2f 62 3e llowing rows</b>
7d10: 20 72 65 70 72 65 73 65 6e 74 20 61 20 73 69 6e represent a sin
7d20: 67 6c 65 20 4c 69 6e 6b 20 72 65 71 75 69 72 65 gle Link require
7d30: 64 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 73 d to build the s
7d40: 6f 6c 75 74 69 6f 6e 20 28 6f 70 74 69 6d 61 20 olution (optima
7d50: 70 61 74 68 29 3b 20 4c 69 6e 6b 73 20 61 72 65 path); Links are
7d60: 20 6f 72 64 65 72 65 64 20 61 63 63 6f 72 64 69 ordered accordi
7d70: 6e 67 6c 79 20 74 6f 20 74 68 65 20 74 72 61 76 ngly to the trav
7d80: 65 6c 20 64 69 72 65 63 74 69 6f 6e 20 63 6f 6e el direction con
7d90: 6e 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67 necting the Orig
7da0: 69 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 in and the Desti
7db0: 6e 61 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c nation.</li>..<l
7dc0: 69 3e 63 6f 6c 75 6d 6e 73 20 3c 62 3e 41 6c 67 i>columns <b>Alg
7dd0: 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 orithm</b>, <b>R
7de0: 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f equest</b>, <b>O
7df0: 70 74 69 6f 6e 73 3c 2f 62 3e 2c 20 3c 62 3e 44 ptions</b>, <b>D
7e00: 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 2c 20 3c 62 elimiter</b>, <b
7e10: 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 >PointFrom</b>,
7e20: 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2c 20 <b>PointTo</b>,
7e30: 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e <b>Tolerance</b>
7e40: 20 61 6e 64 20 3c 62 3e 47 65 6f 6d 65 74 72 79 and <b>Geometry
7e50: 3c 2f 62 3e 20 61 72 65 20 61 6c 77 61 79 73 20 </b> are always
7e60: 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f set to <b>NULL</
7e70: 62 3e 20 28 65 78 63 65 70 74 20 74 68 61 74 20 b> (except that
7e80: 6f 66 20 74 68 65 20 66 69 72 73 74 20 72 6f 77 of the first row
7e90: 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 of the resultse
7ea0: 74 29 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 63 t):..<ul>..<li>c
7eb0: 6f 6c 75 6d 6e 20 3c 62 3e 41 6c 67 6f 72 69 74 olumn <b>Algorit
7ec0: 68 6d 3c 2f 62 3e 20 61 63 63 6f 75 6e 74 73 20 hm</b> accounts
7ed0: 66 6f 72 20 74 68 65 20 52 6f 75 74 69 6e 67 20 for the Routing
7ee0: 41 6c 67 6f 72 69 74 68 6d 20 75 73 65 64 20 62 Algorithm used b
7ef0: 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 71 75 y the current qu
7f00: 65 72 79 20 28 3c 69 3e 44 69 6a 6b 73 74 72 61 ery (<i>Dijkstra
7f10: 27 73 3c 2f 69 3e 20 6f 72 20 3c 69 3e 41 2a 3c 's</i> or <i>A*<
7f20: 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e /i>).</li>..<li>
7f30: 63 6f 6c 75 6d 6e 20 3c 62 3e 52 65 71 75 65 73 column <b>Reques
7f40: 74 3c 2f 62 3e 20 73 70 65 63 69 66 69 65 73 20 t</b> specifies
7f50: 74 68 65 20 65 78 61 63 74 20 6e 61 74 75 72 65 the exact nature
7f60: 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 of the current
7f70: 71 75 65 72 79 20 28 69 6e 20 74 68 69 73 20 73 query (in this s
7f80: 70 65 63 69 66 69 63 20 63 61 73 65 20 3c 69 3e pecific case <i>
7f90: 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 69 Shortest Path</i
7fa0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 66 6f >).</li>..<li>fo
7fb0: 72 20 6e 6f 77 20 77 65 27 6c 6c 20 69 67 6e 6f r now we'll igno
7fc0: 72 65 20 74 68 65 20 63 6f 6c 75 6d 6e 73 20 3c re the columns <
7fd0: 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 2c 20 3c b>Options</b>, <
7fe0: 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 2c b>Delimiter</b>,
7ff0: 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 <b>PointFrom</b
8000: 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 >, <b>PointTo</b
8010: 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c 65 72 61 6e > and <b>Toleran
8020: 63 65 3c 2f 62 3e 3a 20 74 68 65 69 72 20 72 65 ce</b>: their re
8030: 73 70 65 63 74 69 76 65 20 6d 65 61 6e 69 6e 67 spective meaning
8040: 73 20 77 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 s will be explai
8050: 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 ned in following
8060: 20 70 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 paragraphs.</li
8070: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 >..<li>column <b
8080: 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f >Geometry</b> co
8090: 6e 74 61 69 6e 73 20 61 20 3c 62 3e 4c 49 4e 45 ntains a <b>LINE
80a0: 53 54 52 49 4e 47 3c 2f 62 3e 20 72 65 70 72 65 STRING</b> repre
80b0: 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 sentation of the
80c0: 20 77 68 6f 6c 65 20 52 6f 75 74 65 20 73 6f 6c whole Route sol
80d0: 75 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e ution.<br>..<u>N
80e0: 6f 74 65 3c 2f 75 3e 3a 20 6f 6e 20 3c 62 3e 4c ote</u>: on <b>L
80f0: 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 3c ogical Networks<
8100: 2f 62 3e 20 28 6e 6f 74 20 73 75 70 70 6f 72 74 /b> (not support
8110: 69 6e 67 20 47 65 6f 6d 65 74 72 69 65 73 29 20 ing Geometries)
8120: 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 <b>Geometry</b>
8130: 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 3c will always be <
8140: 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 2f 6c 69 3e b>NULL</b>.</li>
8150: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c ..</ul></li>..<l
8160: 69 3e 77 65 27 6c 6c 20 69 67 6e 6f 72 65 20 66 i>we'll ignore f
8170: 6f 72 20 6e 6f 77 20 63 6f 6c 75 6d 6e 20 3c 62 or now column <b
8180: 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 3b 20 69 74 >RouteId</b>; it
8190: 73 20 6d 65 61 6e 69 6e 67 20 77 69 6c 6c 20 62 s meaning will b
81a0: 65 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 66 e explained in f
81b0: 6f 6c 6c 6f 77 69 6e 67 20 70 61 72 61 67 72 61 ollowing paragra
81c0: 70 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 phs.</li>..<li>c
81d0: 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 52 6f olumn <b>RouteRo
81e0: 77 3c 2f 62 3e 20 73 69 6d 70 6c 79 20 69 73 20 w</b> simply is
81f0: 74 68 65 20 70 72 6f 67 72 65 73 73 69 76 65 20 the progressive
8200: 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 72 6f number of the ro
8210: 77 20 69 6e 20 74 68 65 20 74 72 61 76 65 6c 20 w in the travel
8220: 73 6f 6c 75 74 69 6f 6e 20 28 61 6c 77 61 79 73 solution (always
8230: 20 3c 62 3e 30 3c 2f 62 3e 20 69 6e 20 74 68 65 <b>0</b> in the
8240: 20 68 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f 6c header row).</l
8250: 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c i>..<li>column <
8260: 62 3e 52 6f 6c 65 3c 2f 62 3e 20 63 61 6e 20 62 b>Role</b> can b
8270: 65 20 3c 69 3e 52 6f 75 74 65 3c 2f 69 3e 20 28 e <i>Route</i> (
8280: 68 65 61 64 65 72 20 72 6f 77 29 20 6f 72 20 3c header row) or <
8290: 69 3e 4c 69 6e 6b 3c 2f 69 3e 20 28 61 6c 6c 20 i>Link</i> (all
82a0: 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 29 2e following rows).
82b0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d </li>..<li>colum
82c0: 6e 20 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f n <b>LinkRowid</
82d0: 62 3e 20 72 65 66 65 72 65 6e 63 65 73 20 74 68 b> references th
82e0: 65 20 3c 62 3e 52 4f 57 49 44 3c 2f 62 3e 20 6f e <b>ROWID</b> o
82f0: 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 f the correspond
8300: 69 6e 67 20 4c 69 6e 6b 20 28 61 6c 77 61 79 73 ing Link (always
8310: 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c set to <b>NULL<
8320: 2f 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65 /b> in the heade
8330: 72 20 72 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c r row).</li>..<l
8340: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4e 6f 64 65 i>column <b>Node
8350: 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e From</b> and <b>
8360: 4e 6f 64 65 54 6f 3c 2f 62 3e 20 68 61 76 65 20 NodeTo</b> have
8370: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6e the following in
8380: 74 65 72 70 72 65 74 61 74 69 6f 6e 3a 0d 0a 3c terpretation:..<
8390: 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 ul>..<li>in the
83a0: 68 65 61 64 65 72 20 72 6f 77 20 74 68 65 79 20 header row they
83b0: 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 68 65 correspond to he
83c0: 20 3c 62 3e 4f 72 69 67 69 6e 3c 2f 62 3e 20 61 <b>Origin</b> a
83d0: 6e 64 20 3c 62 3e 44 65 73 74 69 6e 61 74 69 6f nd <b>Destinatio
83e0: 6e 3c 2f 62 3e 20 4e 6f 64 65 73 2e 3c 2f 6c 69 n</b> Nodes.</li
83f0: 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 6f 66 >..<li>in all of
8400: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 the following r
8410: 6f 77 73 20 74 68 65 79 20 61 72 65 20 69 6e 74 ows they are int
8420: 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69 66 79 ended to specify
8430: 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 6f the direction o
8440: 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c 69 f the current Li
8450: 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c nk.</li>..</ul><
8460: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e /li>..<li>column
8470: 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 20 68 61 73 <b>Cost</b> has
8480: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 the following i
8490: 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 3a 0d 0a nterpretation:..
84a0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 <ul>..<li>in the
84b0: 20 68 65 61 64 65 72 20 72 6f 77 20 69 74 20 63 header row it c
84c0: 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 orresponds to th
84d0: 65 20 3c 62 3e 74 6f 74 61 6c 20 63 6f 73 74 3c e <b>total cost<
84e0: 2f 62 3e 20 6f 66 20 74 68 65 20 72 6f 75 74 65 /b> of the route
84f0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 .</li>..<li>in a
8500: 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 ll of the follow
8510: 69 6e 67 20 72 6f 77 73 20 69 74 20 72 65 70 72 ing rows it repr
8520: 65 73 65 6e 74 73 20 74 68 65 20 73 70 65 63 69 esents the speci
8530: 66 69 63 20 63 6f 73 74 20 6f 66 20 74 68 65 20 fic cost of the
8540: 63 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c current Link.</l
8550: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
8560: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4e 61 <li>column <b>Na
8570: 6d 65 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20 me</b> contains
8580: 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 the description
8590: 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c of the current L
85a0: 69 6e 6b 20 28 75 73 75 61 6c 6c 79 20 61 20 72 ink (usually a r
85b0: 6f 61 64 20 6e 61 6d 65 29 2c 20 61 6e 64 20 69 oad name), and i
85c0: 73 20 61 6c 77 61 79 73 20 3c 62 3e 4e 55 4c 4c s always <b>NULL
85d0: 3c 2f 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64 </b> in the head
85e0: 65 72 20 72 6f 77 2e 3c 62 72 3e 0d 0a 3c 75 3e er row.<br>..<u>
85f0: 4e 6f 74 65 3c 2f 75 3e 20 69 74 20 63 6f 75 6c Note</u> it coul
8600: 64 20 62 65 20 61 6c 77 61 79 73 20 62 65 20 3c d be always be <
8610: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 74 68 b>NULL</b> if th
8620: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 e VirtualRouting
8630: 2d 54 61 62 6c 65 20 64 6f 65 73 20 6e 6f 74 20 -Table does not
8640: 73 75 70 70 6f 72 74 73 20 6e 61 6d 65 73 20 28 supports names (
8650: 69 2e 65 2e 20 74 68 65 20 3c 62 3e 72 6f 61 64 i.e. the <b>road
8660: 5f 6e 61 6d 65 5f 63 6f 6c 75 6d 6e 3c 2f 62 3e _name_column</b>
8670: 20 70 61 72 6d 20 6f 66 20 43 72 65 61 74 65 52 parm of CreateR
8680: 6f 75 74 69 6e 67 20 77 61 73 20 6e 6f 74 20 75 outing was not u
8690: 73 65 64 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c sed).</li>..</ul
86a0: 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c ></li>..</ul>..<
86b0: 62 72 3e 3c 62 72 3e 0d 0a 54 65 73 74 69 6e 67 br><br>..Testing
86c0: 20 74 68 65 20 72 65 74 75 72 6e 20 63 6f 6e 6e the return conn
86d0: 65 63 74 69 6f 6e 20 6a 75 73 74 20 72 65 71 75 ection just requ
86e0: 69 72 65 73 20 73 77 61 70 70 69 6e 67 20 74 68 ires swapping th
86f0: 65 20 4f 72 69 67 69 6e 20 61 6e 64 20 74 68 65 e Origin and the
8700: 20 44 65 73 74 69 6e 61 74 69 6f 6e 3b 20 69 6e Destination; in
8710: 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 79 6f this example yo
8720: 75 27 6c 6c 20 6a 75 73 74 20 71 75 65 72 79 20 u'll just query
8730: 74 68 65 20 6e 65 65 64 65 64 20 63 6f 6c 75 6d the needed colum
8740: 6e 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d ns:..<verbatim>.
8750: 0a 53 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 .SELECT RouteRow
8760: 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 , Role, LinkRowi
8770: 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 d, NodeFrom, Nod
8780: 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 eTo, Cost, Geome
8790: 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 try, Name..FROM
87a0: 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f byfoot..WHERE No
87b0: 64 65 54 6f 20 3d 20 31 37 38 37 33 31 20 41 4e deTo = 178731 AN
87c0: 44 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33 D NodeFrom = 183
87d0: 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 286;..</verbatim
87e0: 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 >..<table border
87f0: 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 ="1" bgcolor="#f
8800: 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 fffcf" cellspaci
8810: 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 ng="4" cellpaddi
8820: 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 ng="6">..<tr><th
8830: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
8840: 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 0">RouteRow</th>
8850: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
8860: 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c d0a0">Role</th><
8870: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
8880: 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 0a0">LinkRowid</
8890: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
88a0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f #d0d0a0">NodeFro
88b0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f m</th><th bgcolo
88c0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
88d0: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c To</th><th bgcol
88e0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 or="#d0d0a0">Cos
88f0: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
8900: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d r="#d0d0a0">Geom
8910: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 etry</th><th bgc
8920: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
8930: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c ame</th></tr>..<
8940: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
8950: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
8960: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
8970: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
8980: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 n="right">183286
8990: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
89a0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
89b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
89c0: 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f ht">300.912208</
89d0: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 td><td>BLOB sz=2
89e0: 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 72 GEOMETRY</td>
89f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
8a00: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
8a10: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c align="right">1<
8a20: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
8a30: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
8a40: 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 t">224414</td><t
8a50: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8a60: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 183286</td><td a
8a70: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
8a80: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 880</td><td alig
8a90: 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 n="right">136.37
8aa0: 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 2057</td><td>NUL
8ab0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 L</td><td>VIA MA
8ac0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a RGARITONE</td>..
8ad0: 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e </tr>..<td align
8ae0: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c ="right">2</td><
8af0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
8b00: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
8b10: 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4446</td><td ali
8b20: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
8b30: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
8b40: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f "right">182885</
8b50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8b60: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f ght">69.727726</
8b70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
8b80: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 <td>VIA MARGARIT
8b90: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ONE</td>..</tr>.
8ba0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
8bb0: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
8bc0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
8bd0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
8be0: 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4014</td><td ali
8bf0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 gn="right">18288
8c00: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 5</td><td align=
8c10: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
8c20: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8c30: 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f ght">94.812424</
8c40: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
8c50: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 <td>VIA PIETRO A
8c60: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 RETINO</td>..</t
8c70: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 r>..</table>..<b
8c80: 72 3e 0d 0a 41 73 20 79 6f 75 27 6c 6c 20 72 65 r>..As you'll re
8c90: 6d 65 6d 62 65 72 2c 20 74 68 65 20 3c 62 3e 62 member, the <b>b
8ca0: 79 66 6f 6f 74 3c 2f 62 3e 20 56 69 72 74 75 61 yfoot</b> Virtua
8cb0: 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 20 68 lRouting-Table h
8cc0: 61 73 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 as no <b>one-way
8cd0: 73 3c 2f 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 s</b>, and conse
8ce0: 71 75 65 6e 74 6c 79 20 74 68 65 20 72 65 74 75 quently the retu
8cf0: 72 6e 20 70 61 74 68 20 63 6f 72 72 65 73 70 6f rn path correspo
8d00: 6e 64 73 20 74 6f 20 74 68 65 20 66 69 72 73 74 nds to the first
8d10: 20 6f 6e 65 2c 20 65 78 63 65 70 74 20 69 6e 20 one, except in
8d20: 74 68 61 74 20 61 6c 6c 20 64 69 72 65 63 74 69 that all directi
8d30: 6f 6e 73 20 61 72 65 20 6e 6f 77 20 72 65 76 65 ons are now reve
8d40: 72 73 65 64 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c rsed...<br><br><
8d50: 62 72 3e 0d 0a 4e 6f 77 20 79 6f 75 27 6c 6c 20 br>..Now you'll
8d60: 74 65 73 74 20 74 68 65 20 73 61 6d 65 20 63 6f test the same co
8d70: 6e 6e 65 63 74 69 6f 6e 73 2c 20 62 75 74 20 74 nnections, but t
8d80: 68 69 73 20 74 69 6d 65 20 79 6f 75 27 6c 6c 20 his time you'll
8d90: 74 61 72 67 65 74 20 74 68 65 20 3c 62 3e 62 79 target the <b>by
8da0: 63 61 72 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 car</b> VirtualR
8db0: 6f 75 74 69 6e 67 2d 54 61 62 6c 65 20 74 68 61 outing-Table tha
8dc0: 74 20 66 75 6c 6c 79 20 73 75 70 70 6f 72 74 73 t fully supports
8dd0: 20 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e <b>one-ways</b>
8de0: 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 :..<verbatim>..S
8df0: 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 ELECT RouteRow,
8e00: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c Role, LinkRowid,
8e10: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 NodeFrom, NodeT
8e20: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 o, Cost, Geometr
8e30: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 y, Name..FROM by
8e40: 63 61 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 car..WHERE NodeF
8e50: 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 rom = 178731 AND
8e60: 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 NodeTo = 183286
8e70: 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a ;..</verbatim>..
8e80: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 <table border="1
8e90: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 " bgcolor="#ffff
8ea0: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d cf" cellspacing=
8eb0: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "4" cellpadding=
8ec0: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 "6">..<tr><th bg
8ed0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
8ee0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 RouteRow</th><th
8ef0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
8f00: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 0">Role</th><th
8f10: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
8f20: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e ">LinkRowid</th>
8f30: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
8f40: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f d0a0">NodeFrom</
8f50: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
8f60: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c #d0d0a0">NodeTo<
8f70: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
8f80: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f "#d0d0a0">Cost</
8f90: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
8fa0: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 #d0d0a0">Geometr
8fb0: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f y</th><th bgcolo
8fc0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 r="#d0d0a0">Name
8fd0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
8fe0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
8ff0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
9000: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
9010: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9020: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
9030: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9040: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c ht">183286</td><
9050: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9060: 3e 31 30 31 2e 38 31 35 35 35 32 3c 2f 74 64 3e >101.815552</td>
9070: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 30 33 32 <td>BLOB sz=2032
9080: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
9090: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
90a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
90b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
90c0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
90d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
90e0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 >224014</td><td
90f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
9100: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
9110: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 gn="right">18288
9120: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 5</td><td align=
9130: 22 72 69 67 68 74 22 3e 31 33 2e 31 32 37 38 37 "right">13.12787
9140: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
9150: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 td><td>VIA PIETR
9160: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a O ARETINO</td>..
9170: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
9180: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
9190: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
91a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
91b0: 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c ht">224446</td><
91c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
91d0: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 >182885</td><td
91e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
91f0: 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8880</td><td ali
9200: 67 6e 3d 22 72 69 67 68 74 22 3e 39 2e 36 35 34 gn="right">9.654
9210: 36 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 608</td><td>NULL
9220: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 </td><td>VIA MAR
9230: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c GARITONE</td>..<
9240: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
9250: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c align="right">3<
9260: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
9270: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9280: 74 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 t">219171</td><t
9290: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
92a0: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 178880</td><td a
92b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
92c0: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 732</td><td alig
92d0: 6e 3d 22 72 69 67 68 74 22 3e 37 2e 38 30 39 39 n="right">7.8099
92e0: 35 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 52</td><td>NULL<
92f0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e /td><td>VIA FRAN
9300: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 CESCO CRISPI</td
9310: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
9320: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9330: 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">4</td><td>Link
9340: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9350: 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 right">219058</t
9360: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9370: 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c ht">178732</td><
9380: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9390: 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 >178754</td><td
93a0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 align="right">12
93b0: 2e 34 34 35 36 32 36 3c 2f 74 64 3e 3c 74 64 3e .445626</td><td>
93c0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
93d0: 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 FRANCESCO CRISP
93e0: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
93f0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
9400: 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 right">5</td><td
9410: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
9420: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 ign="right">2258
9430: 38 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 88</td><td align
9440: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c ="right">178754<
9450: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9460: 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f 74 64 ight">183461</td
9470: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9480: 74 22 3e 31 2e 35 39 39 38 36 35 3c 2f 74 64 3e t">1.599865</td>
9490: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
94a0: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 >VIA FRANCESCO C
94b0: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RISPI</td>..</tr
94c0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
94d0: 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 gn="right">6</td
94e0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
94f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9500: 32 32 35 38 38 37 3c 2f 74 64 3e 3c 74 64 20 61 225887</td><td a
9510: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
9520: 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 461</td><td alig
9530: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 30 30 n="right">182800
9540: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9550: 72 69 67 68 74 22 3e 33 2e 33 30 30 35 39 30 3c right">3.300590<
9560: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
9570: 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 ><td>VIA FRANCES
9580: 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a CO CRISPI</td>..
9590: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
95a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 align="right">7
95b0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
95c0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
95d0: 68 74 22 3e 32 32 33 39 33 35 3c 2f 74 64 3e 3c ht">223935</td><
95e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
95f0: 3e 31 38 32 38 30 30 3c 2f 74 64 3e 3c 74 64 20 >182800</td><td
9600: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9610: 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2799</td><td ali
9620: 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36 38 38 gn="right">6.688
9630: 37 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 786</td><td>NULL
9640: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c </td><td>VIALE L
9650: 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f UCA SIGNORELLI</
9660: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
9670: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
9680: 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">8</td><td>Li
9690: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
96a0: 3d 22 72 69 67 68 74 22 3e 32 32 36 30 33 38 3c ="right">226038<
96b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
96c0: 69 67 68 74 22 3e 31 38 32 37 39 39 3c 2f 74 64 ight">182799</td
96d0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
96e0: 74 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c 74 t">183456</td><t
96f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9700: 31 2e 32 39 34 30 31 37 3c 2f 74 64 3e 3c 74 64 1.294017</td><td
9710: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
9720: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 ALE LUCA SIGNORE
9730: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d LLI</td>..</tr>.
9740: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
9750: 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c ="right">9</td><
9760: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
9770: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
9780: 35 38 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 5832</td><td ali
9790: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 35 gn="right">18345
97a0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
97b0: 22 72 69 67 68 74 22 3e 31 38 33 34 34 34 3c 2f "right">183444</
97c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
97d0: 67 68 74 22 3e 32 2e 33 38 35 34 38 36 3c 2f 74 ght">2.385486</t
97e0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
97f0: 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 td>VIALE LUCA SI
9800: 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c GNORELLI</td>..<
9810: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
9820: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 align="right">10
9830: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
9840: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9850: 68 74 22 3e 32 32 35 38 33 31 3c 2f 74 64 3e 3c ht">225831</td><
9860: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9870: 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20 >183444</td><td
9880: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9890: 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3554</td><td ali
98a0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 31 36 30 gn="right">3.160
98b0: 36 36 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 662</td><td>NULL
98c0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c </td><td>VIALE L
98d0: 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f UCA SIGNORELLI</
98e0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
98f0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
9900: 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 3e 4c ht">11</td><td>L
9910: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
9920: 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36 35 n="right">225765
9930: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9940: 72 69 67 68 74 22 3e 31 38 33 35 35 34 3c 2f 74 right">183554</t
9950: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9960: 68 74 22 3e 31 38 33 39 35 34 3c 2f 74 64 3e 3c ht">183954</td><
9970: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9980: 3e 37 2e 34 36 39 39 31 37 3c 2f 74 64 3e 3c 74 >7.469917</td><t
9990: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
99a0: 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 IALE LUCA SIGNOR
99b0: 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e ELLI</td>..</tr>
99c0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 ..<tr>..<td alig
99d0: 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 64 n="right">12</td
99e0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
99f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9a00: 32 32 35 37 36 36 3c 2f 74 64 3e 3c 74 64 20 61 225766</td><td a
9a10: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
9a20: 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 954</td><td alig
9a30: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 30 35 n="right">183905
9a40: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9a50: 72 69 67 68 74 22 3e 33 2e 32 33 36 33 38 39 3c right">3.236389<
9a60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
9a70: 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 ><td>VIALE LUCA
9a80: 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d SIGNORELLI</td>.
9a90: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
9aa0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9ab0: 31 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 13</td><td>Link<
9ac0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9ad0: 69 67 68 74 22 3e 32 32 35 39 37 39 3c 2f 74 64 ight">225979</td
9ae0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9af0: 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74 t">183905</td><t
9b00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9b10: 31 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 183626</td><td a
9b20: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 2e lign="right">13.
9b30: 39 38 33 36 32 39 3c 2f 74 64 3e 3c 74 64 3e 4e 983629</td><td>N
9b40: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 54 52 41 ULL</td><td>STRA
9b50: 44 41 20 53 45 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 DA SENZA NOME</t
9b60: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
9b70: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
9b80: 74 22 3e 31 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 t">14</td><td>Li
9b90: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
9ba0: 3d 22 72 69 67 68 74 22 3e 32 32 34 39 30 35 3c ="right">224905<
9bb0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9bc0: 69 67 68 74 22 3e 31 38 33 36 32 36 3c 2f 74 64 ight">183626</td
9bd0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9be0: 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 t">183128</td><t
9bf0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9c00: 35 2e 36 32 37 33 35 38 3c 2f 74 64 3e 3c 74 64 5.627358</td><td
9c10: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 54 >NULL</td><td>ST
9c20: 52 41 44 41 20 53 45 4e 5a 41 20 4e 4f 4d 45 3c RADA SENZA NOME<
9c30: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
9c40: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
9c50: 67 68 74 22 3e 31 35 3c 2f 74 64 3e 3c 74 64 3e ght">15</td><td>
9c60: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
9c70: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38 39 gn="right">22489
9c80: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 7</td><td align=
9c90: 22 72 69 67 68 74 22 3e 31 38 33 31 32 38 3c 2f "right">183128</
9ca0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9cb0: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e ght">183286</td>
9cc0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9cd0: 22 3e 31 30 2e 30 33 30 37 39 32 3c 2f 74 64 3e ">10.030792</td>
9ce0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
9cf0: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 >VIA MARGARITONE
9d00: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f </td>..</tr>..</
9d10: 74 61 62 6c 65 3e 0d 0a 3c 76 65 72 62 61 74 69 table>..<verbati
9d20: 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 6f 75 74 65 m>..SELECT Route
9d30: 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 Row, Role, LinkR
9d40: 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 owid, NodeFrom,
9d50: 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 NodeTo, Cost, Ge
9d60: 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 ometry, Name..FR
9d70: 4f 4d 20 62 79 63 61 72 0d 0a 57 48 45 52 45 20 OM bycar..WHERE
9d80: 4e 6f 64 65 54 6f 20 3d 20 31 37 38 37 33 31 20 NodeTo = 178731
9d90: 41 4e 44 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 AND NodeFrom = 1
9da0: 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 83286;..</verbat
9db0: 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 im>..<table bord
9dc0: 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 er="1" bgcolor="
9dd0: 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 #ffffcf" cellspa
9de0: 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 cing="4" cellpad
9df0: 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c ding="6">..<tr><
9e00: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
9e10: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 0a0">RouteRow</t
9e20: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
9e30: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 d0d0a0">Role</th
9e40: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
9e50: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 0d0a0">LinkRowid
9e60: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
9e70: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 ="#d0d0a0">NodeF
9e80: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f rom</th><th bgco
9e90: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f lor="#d0d0a0">No
9ea0: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 deTo</th><th bgc
9eb0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 olor="#d0d0a0">C
9ec0: 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ost</th><th bgco
9ed0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 lor="#d0d0a0">Ge
9ee0: 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 ometry</th><th b
9ef0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
9f00: 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d >Name</th></tr>.
9f10: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
9f20: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
9f30: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 td>Route</td><td
9f40: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
9f50: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 ign="right">1832
9f60: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 86</td><td align
9f70: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
9f80: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9f90: 69 67 68 74 22 3e 31 30 33 2e 33 30 35 32 35 39 ight">103.305259
9fa0: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
9fb0: 3d 39 34 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =944 GEOMETRY</t
9fc0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
9fd0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
9fe0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9ff0: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
a000: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a010: 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e ght">224414</td>
a020: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a030: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
a040: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a050: 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 78880</td><td al
a060: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 2e 38 ign="right">18.8
a070: 38 32 32 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 82285</td><td>NU
a080: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d LL</td><td>VIA M
a090: 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d ARGARITONE</td>.
a0a0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
a0b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a0c0: 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 2</td><td>Link</
a0d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a0e0: 67 68 74 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e ght">219171</td>
a0f0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a100: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 ">178880</td><td
a110: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a120: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 78732</td><td al
a130: 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 38 30 ign="right">7.80
a140: 39 39 35 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 9952</td><td>NUL
a150: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 L</td><td>VIA FR
a160: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f ANCESCO CRISPI</
a170: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
a180: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
a190: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">3</td><td>Li
a1a0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
a1b0: 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c ="right">219058<
a1c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a1d0: 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 ight">178732</td
a1e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a1f0: 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 t">178754</td><t
a200: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a210: 31 32 2e 34 34 35 36 32 36 3c 2f 74 64 3e 3c 74 12.445626</td><t
a220: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
a230: 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 IA FRANCESCO CRI
a240: 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d SPI</td>..</tr>.
a250: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
a260: 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c ="right">4</td><
a270: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
a280: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
a290: 34 35 33 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4538</td><td ali
a2a0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 gn="right">17875
a2b0: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
a2c0: 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f "right">181972</
a2d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a2e0: 67 68 74 22 3e 37 2e 30 34 37 37 38 34 3c 2f 74 ght">7.047784</t
a2f0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
a300: 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 td>VIA ANTONIO G
a310: 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a UADAGNOLI</td>..
a320: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
a330: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 align="right">5
a340: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
a350: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a360: 68 74 22 3e 32 32 32 35 37 35 3c 2f 74 64 3e 3c ht">222575</td><
a370: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a380: 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 >181972</td><td
a390: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
a3a0: 31 39 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1971</td><td ali
a3b0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 38 35 32 gn="right">1.852
a3c0: 32 38 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 283</td><td>NULL
a3d0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 </td><td>VIA ANT
a3e0: 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c ONIO GUADAGNOLI<
a3f0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 64 /td>..</tr>..<td
a400: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 align="right">6
a410: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
a420: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a430: 68 74 22 3e 32 32 34 39 36 37 3c 2f 74 64 3e 3c ht">224967</td><
a440: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a450: 3e 31 38 31 39 37 31 3c 2f 74 64 3e 3c 74 64 20 >181971</td><td
a460: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
a470: 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2891</td><td ali
a480: 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 2e 32 37 gn="right">14.27
a490: 33 31 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 3185</td><td>NUL
a4a0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e L</td><td>VIA AN
a4b0: 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 TONIO GUADAGNOLI
a4c0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
a4d0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
a4e0: 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e ight">7</td><td>
a4f0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
a500: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31 36 gn="right">22416
a510: 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 8</td><td align=
a520: 22 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c 2f "right">182891</
a530: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a540: 67 68 74 22 3e 31 38 33 30 35 37 3c 2f 74 64 3e ght">183057</td>
a550: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a560: 22 3e 36 2e 36 34 33 33 30 39 3c 2f 74 64 3e 3c ">6.643309</td><
a570: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
a580: 56 49 41 20 4d 41 43 41 4c 4c 45 27 3c 2f 74 64 VIA MACALLE'</td
a590: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
a5a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a5b0: 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">8</td><td>Link
a5c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a5d0: 72 69 67 68 74 22 3e 32 32 34 31 36 37 3c 2f 74 right">224167</t
a5e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a5f0: 68 74 22 3e 31 38 33 30 35 37 3c 2f 74 64 3e 3c ht">183057</td><
a600: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a610: 3e 31 38 33 30 35 36 3c 2f 74 64 3e 3c 74 64 20 >183056</td><td
a620: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e align="right">3.
a630: 31 35 31 32 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 151272</td><td>N
a640: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
a650: 4d 41 43 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c MACALLE'</td>..<
a660: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
a670: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c align="right">9<
a680: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</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 32 32 34 31 37 34 3c 2f 74 64 3e 3c 74 t">224174</td><t
a6b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a6c0: 31 38 33 30 35 36 3c 2f 74 64 3e 3c 74 64 20 61 183056</td><td a
a6d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
a6e0: 39 34 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 941</td><td alig
a6f0: 6e 3d 22 72 69 67 68 74 22 3e 37 2e 39 36 36 38 n="right">7.9668
a700: 37 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 70</td><td>NULL<
a710: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f 44 49 /td><td>VIA RODI
a720: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
a730: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
a740: 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 ight">10</td><td
a750: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
a760: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 ign="right">2240
a770: 35 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 59</td><td align
a780: 3d 22 72 69 67 68 74 22 3e 31 38 32 39 34 31 3c ="right">182941<
a790: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a7a0: 69 67 68 74 22 3e 31 38 32 30 30 31 3c 2f 74 64 ight">182001</td
a7b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a7c0: 74 22 3e 36 2e 33 39 33 37 34 37 3c 2f 74 64 3e t">6.393747</td>
a7d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
a7e0: 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a >VIA RODI</td>..
a7f0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
a800: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a810: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
a820: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a830: 67 68 74 22 3e 32 32 32 36 33 37 3c 2f 74 64 3e ght">222637</td>
a840: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a850: 22 3e 31 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 ">182001</td><td
a860: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a870: 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 82000</td><td al
a880: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e 34 37 ign="right">2.47
a890: 35 35 33 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 5538</td><td>NUL
a8a0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 L</td><td>VIA PI
a8b0: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 ETRO ARETINO</td
a8c0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
a8d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a8e0: 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e ">12</td><td>Lin
a8f0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
a900: 22 72 69 67 68 74 22 3e 32 32 32 36 33 36 3c 2f "right">222636</
a910: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a920: 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e ght">182000</td>
a930: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a940: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
a950: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a960: 34 2e 33 36 33 34 30 38 3c 2f 74 64 3e 3c 74 64 4.363408</td><td
a970: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
a980: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f A PIETRO ARETINO
a990: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f </td>..</tr>..</
a9a0: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 table>..<br>..As
a9b0: 20 79 6f 75 20 63 61 6e 20 73 65 65 2c 20 74 68 you can see, th
a9c0: 65 20 6f 70 74 69 6d 61 6c 20 70 61 74 68 73 20 e optimal paths
a9d0: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 returned by the
a9e0: 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 56 69 72 <b>bycar</b> Vir
a9f0: 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c tualRouting-Tabl
aa00: 65 20 69 6e 20 74 68 65 20 6f 70 70 6f 73 69 74 e in the opposit
aa10: 65 20 64 69 72 65 63 74 69 6f 6e 73 20 73 74 72 e directions str
aa20: 6f 6e 67 6c 79 20 64 69 66 66 65 72 2c 20 61 6e ongly differ, an
aa30: 64 20 62 6f 74 68 20 61 72 65 20 63 6f 6d 70 6c d both are compl
aa40: 65 74 65 6c 79 20 64 69 66 66 65 72 65 6e 74 20 etely different
aa50: 66 72 6f 6d 20 74 68 65 20 70 61 74 68 73 20 72 from the paths r
aa60: 65 74 75 72 6e 65 64 20 62 79 20 71 75 65 72 79 eturned by query
aa70: 69 6e 67 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 ing <b>byfoot</b
aa80: 3e 2e 3c 62 72 3e 0d 0a 41 20 71 75 69 63 6b 20 >.<br>..A quick
aa90: 67 6c 61 6e 63 65 20 61 74 20 74 68 65 20 6d 61 glance at the ma
aaa0: 70 20 62 65 6c 6f 77 20 77 69 6c 6c 20 68 65 6c p below will hel
aab0: 70 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 p to understand
aac0: 62 65 74 74 65 72 20 77 68 61 74 27 73 20 72 65 better what's re
aad0: 61 6c 6c 79 20 68 61 70 70 65 6e 69 6e 67 2e 3c ally happening.<
aae0: 62 72 3e 0d 0a 54 68 69 73 20 69 73 20 61 20 63 br>..This is a c
aaf0: 65 6e 74 72 61 6c 20 61 72 65 61 20 6f 66 20 74 entral area of t
ab00: 68 65 20 74 6f 77 6e 20 6f 66 20 41 72 65 7a 7a he town of Arezz
ab10: 6f 20 61 72 6f 75 6e 64 20 74 68 65 20 61 72 63 o around the arc
ab20: 68 61 65 6f 6c 6f 67 69 63 61 6c 20 72 75 69 6e haeological ruin
ab30: 73 20 6f 66 20 74 68 65 20 52 6f 6d 61 6e 20 41 s of the Roman A
ab40: 6d 70 68 69 74 68 65 61 74 65 72 3b 20 74 72 61 mphitheater; tra
ab50: 76 65 6c 69 6e 67 20 62 79 20 63 61 72 20 73 68 veling by car sh
ab60: 6f 75 6c 64 20 62 65 20 61 76 6f 69 64 65 64 2c ould be avoided,
ab70: 20 64 75 65 20 74 6f 20 74 68 65 20 6d 61 6e 79 due to the many
ab80: 20 6f 6e 65 2d 77 61 79 20 72 65 73 74 72 69 63 one-way restric
ab90: 74 69 6f 6e 73 2e 20 4e 6f 74 20 73 75 72 70 72 tions. Not surpr
aba0: 69 73 69 6e 67 6c 79 2c 20 67 6f 69 6e 67 20 62 isingly, going b
abb0: 79 20 66 6f 6f 74 20 69 73 20 74 68 65 20 66 61 y foot is the fa
abc0: 73 74 65 72 20 6f 70 74 69 6f 6e 2e 0d 0a 3c 62 ster option...<b
abd0: 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 r><br>..<img src
abe0: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 ="https://www.ga
abf0: 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 ia-gis.it/gaia-s
ac00: 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 ins/routing-figs
ac10: 2f 72 6f 75 74 69 6e 67 31 2e 6a 70 67 22 20 61 /routing1.jpg" a
ac20: 6c 74 3d 22 66 69 67 31 22 3e 0d 0a 3c 75 6c 3e lt="fig1">..<ul>
ac30: 0d 0a 3c 6c 69 3e 79 65 6c 6c 6f 77 20 70 61 74 ..<li>yellow pat
ac40: 68 3a 20 70 65 64 65 73 74 72 69 61 6e 73 3c 2f h: pedestrians</
ac50: 6c 69 3e 0d 0a 3c 6c 69 3e 67 72 65 65 6e 20 70 li>..<li>green p
ac60: 61 74 68 3a 20 63 61 72 2c 20 66 6f 72 77 61 72 ath: car, forwar
ac70: 64 20 64 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e d direction</li>
ac80: 0d 0a 3c 6c 69 3e 72 65 64 20 70 61 74 68 3a 20 ..<li>red path:
ac90: 63 61 72 2c 20 72 65 74 75 72 6e 20 64 69 72 65 car, return dire
aca0: 63 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c ction</li>..</ul
acb0: 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 >..<br>..<table
acc0: 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 bgcolor="#c0ffc0
acd0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 " cellspacing="1
ace0: 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 0" cellpadding="
acf0: 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 6"><tr><td>..<h3
ad00: 3e 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 65 74 >Linestrings ret
ad10: 75 72 6e 65 64 20 62 79 20 56 69 72 74 75 61 6c urned by Virtual
ad20: 52 6f 75 74 69 6e 67 3c 2f 68 33 3e 0d 0a 41 6c Routing</h3>..Al
ad30: 6c 20 4c 49 4e 45 53 54 52 49 4e 47 20 47 65 6f l LINESTRING Geo
ad40: 6d 65 74 72 69 65 73 20 63 72 65 61 74 65 64 20 metries created
ad50: 62 79 20 61 6e 79 20 56 69 72 74 75 61 6c 52 6f by any VirtualRo
ad60: 75 74 69 6e 67 20 77 69 6c 6c 20 61 6c 77 61 79 uting will alway
ad70: 73 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 4d 20 76 s contain <b>M v
ad80: 61 6c 75 65 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e alues</b>:..<ul>
ad90: 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e 64 ..<li>if the und
ada0: 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b erlaying Network
adb0: 27 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61 72 's Geometries ar
adc0: 65 20 3c 62 3e 58 59 3c 2f 62 3e 20 74 68 65 6e e <b>XY</b> then
add0: 20 3c 62 3e 58 59 4d 3c 2f 62 3e 20 4c 69 6e 65 <b>XYM</b> Line
ade0: 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 strings will be
adf0: 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a returned.</li>..
ae00: 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e 64 65 72 <li>if the under
ae10: 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27 73 laying Network's
ae20: 20 47 65 6f 6d 65 74 72 69 65 73 20 61 72 65 20 Geometries are
ae30: 3c 62 3e 58 59 5a 3c 2f 62 3e 20 74 68 65 6e 20 <b>XYZ</b> then
ae40: 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20 4c 69 6e 65 <b>XYZM</b> Line
ae50: 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 strings will be
ae60: 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a returned.</li>..
ae70: 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e 64 65 72 <li>if the under
ae80: 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27 73 laying Network's
ae90: 20 47 65 6f 6d 65 74 72 69 65 73 20 61 72 65 20 Geometries are
aea0: 3c 62 3e 58 59 4d 3c 2f 62 3e 20 6f 72 20 3c 62 <b>XYM</b> or <b
aeb0: 3e 58 59 5a 4d 3c 2f 62 3e 20 74 68 65 6e 20 20 >XYZM</b> then
aec0: 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 65 74 75 Linestrings retu
aed0: 72 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 72 65 rned into the re
aee0: 73 75 6c 74 73 65 74 20 77 69 6c 6c 20 6d 61 69 sultset will mai
aef0: 6e 74 61 69 6e 20 74 68 65 20 73 61 6d 65 20 64 ntain the same d
af00: 69 6d 65 6e 73 69 6f 6e 73 20 61 73 20 69 6e 20 imensions as in
af10: 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 the underlaying
af20: 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c Network.</li>..<
af30: 6c 69 3e 69 6e 20 61 6e 79 20 63 61 73 65 20 74 li>in any case t
af40: 68 65 20 3c 62 3e 4d 3c 2f 62 3e 20 76 61 6c 75 he <b>M</b> valu
af50: 65 73 20 77 69 6c 6c 20 62 65 20 61 70 70 72 6f es will be appro
af60: 70 72 69 61 74 65 6c 79 20 73 65 74 20 73 6f 20 priately set so
af70: 74 6f 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 to represent the
af80: 20 3c 75 3e 70 61 72 74 69 61 6c 20 63 6f 73 74 <u>partial cost
af90: 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f 6e 64 69 </u> correspondi
afa0: 6e 67 20 74 6f 20 65 61 63 68 20 76 65 72 74 65 ng to each verte
afb0: 78 2e 0d 0a 28 69 66 20 74 68 65 20 69 6e 70 75 x...(if the inpu
afc0: 74 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 61 6c t Linestrings al
afd0: 72 65 61 64 79 20 63 6f 6e 74 61 69 6e 73 20 4d ready contains M
afe0: 2d 76 61 6c 75 65 73 20 74 68 65 79 27 6c 6c 20 -values they'll
aff0: 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 29 2e be overwritten).
b000: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 </li>..</ul>..<b
b010: 72 3e 0d 0a 49 6e 20 6f 74 68 65 72 20 77 6f 72 r>..In other wor
b020: 64 73 2c 20 61 6c 6c 20 4c 69 6e 65 73 74 72 69 ds, all Linestri
b030: 6e 67 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 ngs returned by
b040: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 VirtualRouting c
b050: 61 6e 20 65 66 66 65 63 74 69 76 65 6c 79 20 73 an effectively s
b060: 75 70 70 6f 72 74 20 3c 62 3e 4c 52 3c 2f 62 3e upport <b>LR</b>
b070: 20 28 3c 69 3e 4c 69 6e 65 61 72 20 52 65 66 65 (<i>Linear Refe
b080: 72 65 6e 63 69 6e 67 3c 2f 69 3e 29 20 53 51 4c rencing</i>) SQL
b090: 20 66 75 6e 63 74 69 6f 6e 73 2c 20 61 73 20 69 functions, as i
b0a0: 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 n the following
b0b0: 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 76 65 72 62 examples:..<verb
b0c0: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 54 atim>..SELECT ST
b0d0: 5f 4c 6f 63 61 74 65 5f 42 65 74 77 65 65 6e 5f _Locate_Between_
b0e0: 4d 65 61 73 75 72 65 73 28 3c 67 65 6f 6d 65 74 Measures(<geomet
b0f0: 72 79 3e 2c 20 33 30 2e 30 2c 20 34 35 2e 30 29 ry>, 30.0, 45.0)
b100: 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 53 54 5f 4c ;....SELECT ST_L
b110: 6f 63 61 74 65 5f 42 65 74 77 65 65 6e 5f 4d 65 ocate_Between_Me
b120: 61 73 75 72 65 73 28 3c 67 65 6f 6d 65 74 72 79 asures(<geometry
b130: 3e 2c 20 38 30 2e 30 2c 20 39 35 2e 30 29 3b 0d >, 80.0, 95.0);.
b140: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 .</verbatim>..Th
b150: 65 20 73 69 64 65 20 6d 61 70 20 67 72 61 70 68 e side map graph
b160: 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 ically shows the
b170: 20 65 73 74 69 6d 61 74 65 64 20 70 6f 73 69 74 estimated posit
b180: 69 6f 6e 73 20 72 65 73 70 65 63 74 69 76 65 6c ions respectivel
b190: 79 20 3c 62 3e 33 30 3c 2f 62 3e 2d 3c 62 3e 34 y <b>30</b>-<b>4
b1a0: 35 3c 2f 62 3e 20 73 65 63 6f 6e 64 73 20 61 66 5</b> seconds af
b1b0: 74 65 72 20 73 74 61 72 74 69 6e 67 20 28 79 65 ter starting (ye
b1c0: 6c 6c 6f 77 20 64 6f 74 74 65 64 20 6c 69 6e 65 llow dotted line
b1d0: 29 20 61 6e 64 20 3c 62 3e 38 30 3c 2f 62 3e 2d ) and <b>80</b>-
b1e0: 3c 62 3e 39 35 3c 2f 62 3e 20 73 65 63 6f 6e 64 <b>95</b> second
b1f0: 73 20 61 66 74 65 72 20 73 74 61 72 74 69 6e 67 s after starting
b200: 20 28 67 72 65 65 6e 20 64 6f 74 74 65 64 20 6c (green dotted l
b210: 69 6e 65 29 2e 3c 62 72 3e 0d 0a 28 61 73 73 75 ine).<br>..(assu
b220: 6d 69 6e 67 20 74 68 65 20 73 61 6d 65 20 70 61 ming the same pa
b230: 74 68 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 th returned by t
b240: 68 65 20 6c 61 74 65 73 74 20 3c 62 3e 62 79 63 he latest <b>byc
b250: 61 72 3c 2f 62 3e 20 71 75 65 72 79 29 2e 0d 0a ar</b> query)...
b260: 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 </td>..<td><img
b270: 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 src="https://www
b280: 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 .gaia-gis.it/gai
b290: 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 a-sins/routing-f
b2a0: 69 67 73 2f 72 6f 75 74 69 6e 67 32 2e 6a 70 67 igs/routing2.jpg
b2b0: 22 20 61 6c 74 3d 22 66 69 67 32 22 3e 3c 2f 74 " alt="fig2"></t
b2c0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 d>..</tr>..</tab
b2d0: 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68 32 3e 50 le>..<br>..<h2>P
b2e0: 6c 61 79 69 6e 67 20 77 69 74 68 20 56 69 72 74 laying with Virt
b2f0: 75 61 6c 52 6f 75 74 69 6e 67 20 63 6f 6e 66 69 ualRouting confi
b300: 67 75 72 61 62 6c 65 20 6f 70 74 69 6f 6e 73 3c gurable options<
b310: 2f 68 32 3e 0d 0a 53 65 76 65 72 61 6c 20 61 73 /h2>..Several as
b320: 70 65 63 74 73 20 6f 66 20 56 69 72 74 75 61 6c pects of Virtual
b330: 52 6f 75 74 69 6e 67 20 63 61 6e 20 62 65 20 66 Routing can be f
b340: 72 65 65 6c 79 20 63 75 73 74 6f 6d 69 7a 65 64 reely customized
b350: 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 ...<verbatim>..U
b360: 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 PDATE byfoot SET
b370: 20 41 6c 67 6f 72 69 74 68 6d 20 3d 20 27 41 2a Algorithm = 'A*
b380: 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 ';....SELECT Alg
b390: 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c orithm, Options,
b3a0: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c RouteRow, Role,
b3b0: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 LinkRowid, Node
b3c0: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f From, NodeTo, Co
b3d0: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 st, Geometry, Na
b3e0: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d me..FROM byfoot.
b3f0: 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 .WHERE NodeFrom
b400: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 = 178731 AND Nod
b410: 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c eTo = 183286;..<
b420: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 73 20 79 /verbatim>..As y
b430: 6f 75 27 6c 6c 20 72 65 6d 65 6d 62 65 72 20 69 ou'll remember i
b440: 6e 20 61 6c 6c 20 74 68 65 20 70 72 65 76 69 6f n all the previo
b450: 75 73 20 65 78 61 6d 70 6c 65 73 20 74 68 65 20 us examples the
b460: 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 <b>Dijkstra's</b
b470: 3e 20 61 6c 67 6f 72 69 74 68 6d 20 77 61 73 20 > algorithm was
b480: 75 73 65 64 3b 20 6e 6f 77 20 28 61 66 74 65 72 used; now (after
b490: 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 61 executing the a
b4a0: 62 6f 76 65 20 3c 62 3e 55 50 44 41 54 45 3c 2f bove <b>UPDATE</
b4b0: 62 3e 29 20 61 6c 6c 20 53 68 6f 72 74 65 73 74 b>) all Shortest
b4c0: 20 50 61 74 68 20 71 75 65 72 69 65 73 20 77 69 Path queries wi
b4d0: 6c 6c 20 62 65 20 62 61 73 65 64 20 6f 6e 20 74 ll be based on t
b4e0: 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 3c he alternative <
b4f0: 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 b>A*</b> algorit
b500: 68 6d 2e 3c 62 72 3e 0d 0a 49 66 20 79 6f 75 20 hm.<br>..If you
b510: 77 69 73 68 20 74 6f 20 73 77 69 74 63 68 20 62 wish to switch b
b520: 61 63 6b 20 74 6f 20 74 68 65 20 44 69 6a 6b 73 ack to the Dijks
b530: 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d 20 tra's algorithm
b540: 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f you just have to
b550: 20 65 78 65 63 75 74 65 3c 62 72 3e 20 3c 62 3e execute<br> <b>
b560: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 UPDATE byfoot SE
b570: 54 20 41 6c 67 6f 72 69 74 68 6d 20 3d 20 27 44 T Algorithm = 'D
b580: 49 4a 4b 53 54 52 41 27 3b 3c 2f 62 3e 2e 3c 62 IJKSTRA';</b>.<b
b590: 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c r><br>..The foll
b5a0: 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 owing table show
b5b0: 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 s the resultset
b5c0: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 returned by the
b5d0: 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74 65 73 previous Shortes
b5e0: 74 20 50 61 74 68 20 71 75 65 72 79 3b 20 70 6c t Path query; pl
b5f0: 65 61 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 ease notice the
b600: 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 3e value in the <b>
b610: 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 63 6f Algorithm</b> co
b620: 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d lumn...<br><br>.
b630: 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 .<table border="
b640: 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 1" bgcolor="#fff
b650: 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 fcf" cellspacing
b660: 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 ="4" cellpadding
b670: 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 ="6">..<tr><th b
b680: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
b690: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c >Algorithm</th><
b6a0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
b6b0: 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 0a0">Options</th
b6c0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
b6d0: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 0d0a0">RouteRow<
b6e0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
b6f0: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f "#d0d0a0">Role</
b700: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
b710: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 #d0d0a0">LinkRow
b720: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c id</th><th bgcol
b730: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
b740: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 eFrom</th><th bg
b750: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
b760: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 NodeTo</th><th b
b770: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
b780: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 >Cost</th><th bg
b790: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
b7a0: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 Geometry</th><th
b7b0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
b7c0: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 0">Name</th></tr
b7d0: 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 41 2a 3c 2f 74 >..<tr><td>A*</t
b7e0: 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c d><td>Full</td><
b7f0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
b800: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
b810: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
b820: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
b830: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
b840: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
b850: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
b860: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 align="right">30
b870: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 0.912208</td><td
b880: 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f >BLOB sz=272 GEO
b890: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 METRY</td><td>NU
b8a0: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
b8b0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
b8c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
b8d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
b8e0: 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">1</td><td>Link
b8f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
b900: 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 right">224014</t
b910: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
b920: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
b930: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
b940: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 >182885</td><td
b950: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 align="right">94
b960: 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e .812424</td><td>
b970: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
b980: 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c PIETRO ARETINO<
b990: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
b9a0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
b9b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
b9c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
b9d0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
b9e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
b9f0: 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c ht">224446</td><
ba00: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
ba10: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 >182885</td><td
ba20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
ba30: 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8880</td><td ali
ba40: 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 gn="right">69.72
ba50: 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 7726</td><td>NUL
ba60: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 L</td><td>VIA MA
ba70: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a RGARITONE</td>..
ba80: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
ba90: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
baa0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
bab0: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
bac0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
bad0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
bae0: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4414</td><td ali
baf0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
bb00: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
bb10: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
bb20: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
bb30: 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c ght">136.372057<
bb40: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
bb50: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 ><td>VIA MARGARI
bb60: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TONE</td>..</tr>
bb70: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e ..</table>..<br>
bb80: 3c 62 72 3e 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 <br><br>..You ca
bb90: 6e 20 61 6c 73 6f 20 63 6f 6e 66 69 67 75 72 65 n also configure
bba0: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 the resultset r
bbb0: 65 74 75 72 6e 65 64 20 74 68 65 20 56 69 72 74 eturned the Virt
bbc0: 75 61 6c 52 6f 75 74 69 6e 67 20 71 75 65 72 69 ualRouting queri
bbd0: 65 73 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d es...<verbatim>.
bbe0: 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 .UPDATE byfoot S
bbf0: 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f ET Options = 'NO
bc00: 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 LINKS';....SELE
bc10: 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 CT Algorithm, Op
bc20: 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c tions, RouteRow,
bc30: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 Role, LinkRowid
bc40: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 , NodeFrom, Node
bc50: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 To, Cost, Geomet
bc60: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 ry, Name..FROM b
bc70: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 yfoot..WHERE Nod
bc80: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 eFrom = 178731 A
bc90: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 ND NodeTo = 1832
bca0: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 86;..</verbatim>
bcb0: 0d 0a 41 66 74 65 72 20 73 65 74 74 69 6e 67 20 ..After setting
bcc0: 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f 20 4c <b>Options='NO L
bcd0: 49 4e 4b 53 27 3c 2f 62 3e 20 74 68 65 20 72 65 INKS'</b> the re
bce0: 73 75 6c 74 73 65 74 20 77 69 6c 6c 20 73 69 6d sultset will sim
bcf0: 70 6c 79 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 ply contain the
bd00: 68 65 61 64 65 72 20 72 6f 77 2c 20 61 6e 64 20 header row, and
bd10: 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f all of the follo
bd20: 77 69 6e 67 20 72 6f 77 73 20 77 69 6c 6c 20 62 wing rows will b
bd30: 65 20 73 75 70 70 72 65 73 73 65 64 2e 3c 62 72 e suppressed.<br
bd40: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
bd50: 70 72 6f 64 75 63 69 6e 67 20 61 20 72 65 64 75 producing a redu
bd60: 63 65 64 20 72 65 73 75 6c 74 73 65 74 20 69 73 ced resultset is
bd70: 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 expected to be
bd80: 73 6f 6d 65 77 61 79 20 66 61 73 74 65 72 2e 3c someway faster.<
bd90: 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 br>..The followi
bda0: 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 ng table shows t
bdb0: 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 he resultset ret
bdc0: 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 urned by the pre
bdd0: 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 vious Shortest P
bde0: 61 74 68 20 71 75 65 72 79 2e 3c 62 72 3e 0d 0a ath query.<br>..
bdf0: 4e 6f 74 69 63 65 20 74 68 61 74 20 76 61 6c 75 Notice that valu
be00: 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69 e in the <b>Opti
be10: 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 73 ons</b> column s
be20: 68 6f 77 73 20 79 6f 75 20 77 68 69 63 68 20 74 hows you which t
be30: 79 70 65 20 6f 66 20 72 65 73 75 6c 74 73 65 74 ype of resultset
be40: 20 79 6f 75 20 61 72 65 20 75 73 69 6e 67 20 28 you are using (
be50: 6a 75 73 74 20 61 73 20 74 68 65 20 3c 62 3e 41 just as the <b>A
be60: 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 63 6f 6c lgorithm</b> col
be70: 75 6d 6e 20 73 68 6f 77 73 20 77 68 69 63 68 20 umn shows which
be80: 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 61 63 74 algorithm is act
be90: 69 76 65 29 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d ive)...<br><br>.
bea0: 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 .<table border="
beb0: 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 1" bgcolor="#fff
bec0: 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 fcf" cellspacing
bed0: 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 ="4" cellpadding
bee0: 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 ="6">..<tr><th b
bef0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
bf00: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c >Algorithm</th><
bf10: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
bf20: 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 0a0">Options</th
bf30: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
bf40: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 0d0a0">RouteRow<
bf50: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
bf60: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f "#d0d0a0">Role</
bf70: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
bf80: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 #d0d0a0">LinkRow
bf90: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c id</th><th bgcol
bfa0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
bfb0: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 eFrom</th><th bg
bfc0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
bfd0: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 NodeTo</th><th b
bfe0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
bff0: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 >Cost</th><th bg
c000: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
c010: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 Geometry</th><th
c020: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
c030: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 0">Name</th></tr
c040: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c >..<tr>..<td>A*<
c050: 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 /td><td>No Links
c060: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c070: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
c080: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
c090: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
c0a0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
c0b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c0c0: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 right">183286</t
c0d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
c0e0: 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f ht">300.912208</
c0f0: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 td><td>BLOB sz=2
c100: 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 72 GEOMETRY</td>
c110: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
c120: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a /tr>..</table>..
c130: 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 <br><br><br>..<v
c140: 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 erbatim>..UPDATE
c150: 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 byfoot SET Opti
c160: 6f 6e 73 20 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 ons = 'NO GEOMET
c170: 52 49 45 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 RIES';....SELECT
c180: 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 Algorithm, Opti
c190: 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 ons, RouteRow, R
c1a0: 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 ole, LinkRowid,
c1b0: 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f NodeFrom, NodeTo
c1c0: 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 , Cost, Geometry
c1d0: 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 , Name..FROM byf
c1e0: 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 oot..WHERE NodeF
c1f0: 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 rom = 178731 AND
c200: 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 NodeTo = 183286
c210: 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 41 66 ;..</verbatim>Af
c220: 74 65 72 20 73 65 74 74 69 6e 67 20 3c 62 3e 4f ter setting <b>O
c230: 70 74 69 6f 6e 73 3d 27 4e 4f 20 47 45 4f 4d 45 ptions='NO GEOME
c240: 54 52 49 45 53 27 3c 2f 62 3e 20 74 68 65 20 72 TRIES'</b> the r
c250: 65 73 75 6c 74 73 65 74 20 77 69 6c 6c 20 63 6f esultset will co
c260: 6e 74 61 69 6e 20 61 6c 6c 20 72 6f 77 73 2c 20 ntain all rows,
c270: 62 75 74 20 61 6c 6c 20 47 65 6f 6d 65 74 72 69 but all Geometri
c280: 65 73 20 77 69 6c 6c 20 62 65 20 73 75 70 70 72 es will be suppr
c290: 65 73 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e essed.<br>..<u>N
c2a0: 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 74 6f ote</u>: this to
c2b0: 6f 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f o is expected to
c2c0: 20 62 65 20 73 6f 6d 65 77 68 61 74 20 66 61 73 be somewhat fas
c2d0: 74 65 72 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f ter.<br>..The fo
c2e0: 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 llowing table sh
c2f0: 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 ows the resultse
c300: 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 t returned by th
c310: 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74 e previous Short
c320: 65 73 74 20 50 61 74 68 20 71 75 65 72 79 3b 20 est Path query;
c330: 70 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74 68 please notice th
c340: 65 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c e value in the <
c350: 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f b>Options</b> co
c360: 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d lumn...<br><br>.
c370: 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 .<table border="
c380: 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 1" bgcolor="#fff
c390: 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 fcf" cellspacing
c3a0: 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 ="4" cellpadding
c3b0: 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 ="6">..<tr><th b
c3c0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
c3d0: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c >Algorithm</th><
c3e0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
c3f0: 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 0a0">Options</th
c400: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
c410: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 0d0a0">RouteRow<
c420: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
c430: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f "#d0d0a0">Role</
c440: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
c450: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 #d0d0a0">LinkRow
c460: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c id</th><th bgcol
c470: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
c480: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 eFrom</th><th bg
c490: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
c4a0: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 NodeTo</th><th b
c4b0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
c4c0: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 >Cost</th><th bg
c4d0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
c4e0: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 Geometry</th><th
c4f0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
c500: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 0">Name</th></tr
c510: 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 41 2a 3c 2f 74 >..<tr><td>A*</t
c520: 64 3e 3c 74 64 3e 4e 6f 20 47 65 6f 6d 65 74 72 d><td>No Geometr
c530: 69 65 73 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ies</td><td alig
c540: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
c550: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
c560: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
c570: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
c580: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
c590: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 n="right">183286
c5a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c5b0: 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 right">300.91220
c5c0: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
c5d0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
c5e0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
c5f0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
c600: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
c610: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 gn="right">1</td
c620: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
c630: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
c640: 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 224014</td><td a
c650: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
c660: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
c670: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 n="right">182885
c680: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c690: 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 right">94.812424
c6a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
c6b0: 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f d><td>VIA PIETRO
c6c0: 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c ARETINO</td>..<
c6d0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
c6e0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
c6f0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
c700: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
c710: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
c720: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
c730: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 446</td><td alig
c740: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 n="right">182885
c750: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c760: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 right">178880</t
c770: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
c780: 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 ht">69.727726</t
c790: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
c7a0: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f td>VIA MARGARITO
c7b0: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NE</td>..</tr>..
c7c0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
c7d0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
c7e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
c7f0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
c800: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c810: 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 right">224414</t
c820: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
c830: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c ht">178880</td><
c840: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
c850: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
c860: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 align="right">13
c870: 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 6.372057</td><td
c880: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
c890: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 A MARGARITONE</t
c8a0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 d>..</tr>..</tab
c8b0: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 le>..<br><br><br
c8c0: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 >..<verbatim>..U
c8d0: 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 PDATE byfoot SET
c8e0: 20 4f 70 74 69 6f 6e 73 20 3d 20 27 53 49 4d 50 Options = 'SIMP
c8f0: 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 LE';....SELECT A
c900: 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e lgorithm, Option
c910: 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c s, RouteRow, Rol
c920: 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f e, LinkRowid, No
c930: 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 deFrom, NodeTo,
c940: 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 Cost, Geometry,
c950: 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f Name..FROM byfoo
c960: 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f t..WHERE NodeFro
c970: 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e m = 178731 AND N
c980: 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d odeTo = 183286;.
c990: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 53 65 74 74 .</verbatim>Sett
c9a0: 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 ing <b>Options='
c9b0: 53 49 4d 50 4c 45 27 3c 2f 62 3e 20 68 61 73 20 SIMPLE'</b> has
c9c0: 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74 20 the same effect
c9d0: 74 68 61 6e 20 73 65 74 74 69 6e 67 20 62 6f 74 than setting bot
c9e0: 68 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 h <b>NO LINKS</b
c9f0: 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f 4d > and <b>NO GEOM
ca00: 45 54 52 49 45 53 3c 2f 62 3e 20 61 74 20 74 68 ETRIES</b> at th
ca10: 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 62 72 3e e same time.<br>
ca20: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 ..<u>Note</u>: t
ca30: 68 69 73 20 69 73 20 65 78 70 65 63 74 65 64 20 his is expected
ca40: 74 6f 20 62 65 20 74 68 65 20 66 61 73 74 65 73 to be the fastes
ca50: 74 20 73 65 74 74 69 6e 67 2e 3c 62 72 3e 0d 0a t setting.<br>..
ca60: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 The following ta
ca70: 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 ble shows the re
ca80: 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 sultset returned
ca90: 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 by the previous
caa0: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 Shortest Path q
cab0: 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 uery; please not
cac0: 69 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e ice the value in
cad0: 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c the <b>Options<
cae0: 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 /b> column...<br
caf0: 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f ><br>..<table bo
cb00: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 rder="1" bgcolor
cb10: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 ="#ffffcf" cells
cb20: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 pacing="4" cellp
cb30: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 adding="6">..<tr
cb40: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
cb50: 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 0d0a0">Algorithm
cb60: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
cb70: 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f ="#d0d0a0">Optio
cb80: 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ns</th><th bgcol
cb90: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 or="#d0d0a0">Rou
cba0: 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 teRow</th><th bg
cbb0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
cbc0: 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 Role</th><th bgc
cbd0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c olor="#d0d0a0">L
cbe0: 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 inkRowid</th><th
cbf0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
cc00: 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 0">NodeFrom</th>
cc10: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
cc20: 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 d0a0">NodeTo</th
cc30: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
cc40: 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 0d0a0">Cost</th>
cc50: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
cc60: 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f d0a0">Geometry</
cc70: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
cc80: 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 #d0d0a0">Name</t
cc90: 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c h></tr>..<tr>..<
cca0: 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 53 69 td>A*</td><td>Si
ccb0: 6d 70 6c 65 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 mple</td><td ali
ccc0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
ccd0: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c ><td>Route</td><
cce0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
ccf0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
cd00: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8731</td><td ali
cd10: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 gn="right">18328
cd20: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
cd30: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 "right">300.9122
cd40: 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 08</td><td>NULL<
cd50: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
cd60: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c >..</tr>..</tabl
cd70: 65 3e 0d 0a 3c 62 72 3e 0d 0a 46 69 6e 61 6c 6c e>..<br>..Finall
cd80: 79 2c 20 69 66 20 79 6f 75 20 77 69 73 68 20 74 y, if you wish t
cd90: 6f 20 72 65 76 65 72 74 20 62 61 63 6b 20 74 6f o revert back to
cda0: 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 65 74 the initial set
cdb0: 74 69 6e 67 2c 20 79 6f 75 20 64 6f 20 74 68 69 ting, you do thi
cdc0: 73 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f s with the follo
cdd0: 77 69 6e 67 20 71 75 65 72 79 3c 62 72 3e 20 3c wing query<br> <
cde0: 62 3e 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 b>UPDATE byfoot
cdf0: 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 46 SET Options = 'F
ce00: 55 4c 4c 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 ULL';</b>.<br><b
ce10: 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 r>..<hr><br>..<h
ce20: 31 3e 3c 61 20 6e 61 6d 65 3d 22 6d 75 6c 74 69 1><a name="multi
ce30: 22 3e 35 20 2d 20 53 6f 6c 76 69 6e 67 20 6d 75 ">5 - Solving mu
ce40: 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 lti-destination
ce50: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 Shortest Path pr
ce60: 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d oblems</a></h1>.
ce70: 0a 41 6e 20 69 6e 74 65 72 65 73 74 69 6e 67 20 .An interesting
ce80: 66 65 61 74 75 72 65 20 73 75 70 70 6f 72 74 65 feature supporte
ce90: 64 20 62 79 20 74 68 65 20 44 69 6a 6b 73 74 72 d by the Dijkstr
cea0: 61 27 73 20 41 6c 67 6f 72 69 74 68 6d 20 69 73 a's Algorithm is
ceb0: 3a 20 77 68 65 6e 20 61 20 64 65 73 74 69 6e 61 : when a destina
cec0: 74 69 6f 6e 20 69 73 20 62 65 65 6e 20 72 65 61 tion is been rea
ced0: 63 68 65 64 2c 20 61 6c 6c 20 6f 66 20 74 68 65 ched, all of the
cee0: 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f 73 74 3c <b>lesser cost<
cef0: 2f 62 3e 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 /b> destinations
cf00: 20 68 61 76 65 20 61 6c 73 6f 20 62 65 65 6e 20 have also been
cf10: 66 6f 75 6e 64 2e 3c 62 72 3e 0d 0a 54 68 69 73 found.<br>..This
cf20: 20 61 6c 6c 6f 77 73 20 74 68 65 20 73 75 70 70 allows the supp
cf30: 6f 72 74 20 6f 66 20 6d 75 6c 74 69 70 6c 65 20 ort of multiple
cf40: 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 53 68 6f destinations Sho
cf50: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 69 rtest Path queri
cf60: 65 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 79 6f 75 es.<br>..All you
cf70: 20 68 61 76 65 20 74 6f 20 64 6f 20 69 73 20 73 have to do is s
cf80: 70 65 63 69 66 79 20 61 20 3c 62 3e 73 69 6e 67 pecify a <b>sing
cf90: 6c 65 20 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f le origin Node</
cfa0: 62 3e 20 77 69 74 68 20 61 6e 20 3c 62 3e 61 72 b> with an <b>ar
cfb0: 62 69 74 72 61 72 79 20 6c 69 73 74 20 6f 66 20 bitrary list of
cfc0: 64 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 destination Node
cfd0: 73 3c 2f 62 3e 20 69 6e 20 6f 6e 65 20 44 69 6a s</b> in one Dij
cfe0: 6b 73 74 72 61 27 73 20 71 75 65 72 79 2e 3c 62 kstra's query.<b
cff0: 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c r><br>..<u>Note<
d000: 2f 75 3e 3a 20 65 78 65 63 75 74 69 6e 67 20 61 /u>: executing a
d010: 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 multi-destinati
d020: 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 on Shortest Path
d030: 20 71 75 65 72 79 20 72 65 71 75 69 72 65 73 20 query requires
d040: 61 20 3c 62 3e 70 72 6f 63 65 73 73 69 6e 67 20 a <b>processing
d050: 74 69 6d 65 3c 2f 62 3e 20 74 68 61 74 20 3c 62 time</b> that <b
d060: 3e 69 73 6e 27 74 3c 2f 62 3e 20 74 68 65 20 3c >isn't</b> the <
d070: 75 3e 73 75 6d 20 6f 66 20 61 6c 6c 20 69 6e 64 u>sum of all ind
d080: 69 76 69 64 75 61 6c 20 74 69 6d 69 6e 67 73 20 ividual timings
d090: 74 6f 20 65 61 63 68 20 64 65 73 74 69 6e 61 74 to each destinat
d0a0: 69 6f 6e 3c 2f 75 3e 2c 20 62 75 74 20 73 69 6d ion</u>, but sim
d0b0: 70 6c 79 20 74 68 65 20 74 69 6d 65 20 72 65 71 ply the time req
d0c0: 75 69 72 65 64 20 74 6f 20 72 65 61 63 68 20 74 uired to reach t
d0d0: 68 65 20 3c 75 3e 6d 6f 73 74 20 63 6f 73 74 6c he <u>most costl
d0e0: 79 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 6f 66 y destination of
d0f0: 20 74 68 65 20 6c 69 73 74 3c 2f 75 3e 2e 3c 62 the list</u>.<b
d100: 72 3e 0d 0a 54 68 69 73 20 69 73 6e 27 74 20 73 r>..This isn't s
d110: 74 72 69 63 74 6c 79 20 74 72 75 65 20 69 6e 20 trictly true in
d120: 74 68 65 20 63 61 73 65 20 6f 66 20 74 68 69 73 the case of this
d130: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 VirtualRouting
d140: 73 70 65 63 69 66 69 63 20 69 6d 70 6c 65 6d 65 specific impleme
d150: 6e 74 61 74 69 6f 6e 2c 20 73 69 6e 63 65 20 74 ntation, since t
d160: 68 65 20 61 72 72 61 6e 67 6d 65 6e 74 20 74 68 he arrangment th
d170: 65 20 72 65 73 75 6c 74 73 65 74 20 74 6f 20 62 e resultset to b
d180: 65 20 72 65 74 75 72 6e 65 64 20 61 6e 64 20 63 e returned and c
d190: 72 65 61 74 69 6f 6e 20 61 6c 6c 20 74 68 65 20 reation all the
d1a0: 69 6e 64 69 76 69 64 75 61 6c 20 4c 69 6e 65 73 individual Lines
d1b0: 74 72 69 6e 67 73 20 66 6f 72 20 65 61 63 68 20 trings for each
d1c0: 64 65 73 74 69 6e 61 74 69 6f 6e 20 77 69 6c 6c destination will
d1d0: 20 73 75 72 65 6c 79 20 69 6d 70 6f 73 65 20 73 surely impose s
d1e0: 6f 6d 65 20 66 75 72 74 68 65 72 20 6f 76 65 72 ome further over
d1f0: 68 65 61 64 2e 3c 62 72 3e 0d 0a 4e 65 76 65 72 head.<br>..Never
d200: 74 68 65 6c 65 73 73 20 74 68 65 20 74 69 6d 65 theless the time
d210: 20 6e 65 65 64 65 64 20 66 6f 72 20 61 20 73 69 needed for a si
d220: 6e 67 6c 65 20 6d 75 6c 74 69 2d 64 65 73 74 69 ngle multi-desti
d230: 6e 61 74 69 6f 6e 20 71 75 65 72 79 20 77 69 6c nation query wil
d240: 6c 20 62 65 20 6c 65 73 73 20 74 68 61 6e 20 74 l be less than t
d250: 68 65 20 74 69 6d 65 20 6e 65 65 64 65 64 20 66 he time needed f
d260: 6f 72 20 6d 75 6c 74 69 70 6c 65 20 73 69 6e 67 or multiple sing
d270: 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 le-destination q
d280: 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 62 61 74 ueries...<verbat
d290: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f im>..SELECT Algo
d2a0: 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 rithm, Request,
d2b0: 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 Options, Delimit
d2c0: 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 er, RouteId, Rou
d2d0: 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e teRow, Role, Lin
d2e0: 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d kRowid, NodeFrom
d2f0: 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 , NodeTo, Cost,
d300: 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a Geometry, Name..
d310: 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 FROM byfoot..WHE
d320: 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 RE NodeFrom = 17
d330: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 8731 AND NodeTo
d340: 3d 20 27 31 38 33 32 38 36 2c 32 39 30 34 35 38 = '183286,290458
d350: 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 ,181999,184030,1
d360: 32 34 36 32 32 2c 31 38 33 38 38 32 2c 31 37 38 24622,183882,178
d370: 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 754';..</verbati
d380: 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20 73 m>..As you can s
d390: 65 65 2c 20 61 20 3c 62 3e 6d 75 6c 74 69 70 6c ee, a <b>multipl
d3a0: 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f e-destinations</
d3b0: 62 3e 20 71 75 65 72 79 20 68 61 73 20 74 68 65 b> query has the
d3c0: 20 73 61 6d 65 20 69 64 65 6e 74 69 63 61 6c 20 same identical
d3d0: 66 6f 72 6d 20 6f 66 20 61 6e 79 20 6e 6f 72 6d form of any norm
d3e0: 61 6c 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 al Shortest Path
d3f0: 20 71 75 65 72 79 2c 20 74 68 65 20 6f 6e 6c 79 query, the only
d400: 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 69 6e difference bein
d410: 67 20 61 20 63 6f 6d 6d 61 2d 73 65 70 61 72 61 g a comma-separa
d420: 74 65 64 20 6c 69 73 74 20 28 69 6e 73 74 65 61 ted list (instea
d430: 64 20 6f 66 20 61 20 73 69 6e 67 6c 65 2d 65 6e d of a single-en
d440: 74 72 79 29 20 66 6f 72 20 3c 62 3e 4e 6f 64 65 try) for <b>Node
d450: 54 6f 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 65 To</b>.<br>..The
d460: 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 following table
d470: 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c shows the resul
d480: 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 tset returned by
d490: 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6d 75 the previous mu
d4a0: 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 lti-destination
d4b0: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 Shortest Path qu
d4c0: 65 72 79 3a 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a ery:..<br><br>..
d4d0: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 <table border="1
d4e0: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 " bgcolor="#ffff
d4f0: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d cf" cellspacing=
d500: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "4" cellpadding=
d510: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 "6">..<tr><th bg
d520: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
d530: 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 Algorithm</th><t
d540: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
d550: 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e a0">Request</th>
d560: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
d570: 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 d0a0">Options</t
d580: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
d590: 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 d0d0a0">Delimite
d5a0: 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f r</th><th bgcolo
d5b0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 r="#d0d0a0">Rout
d5c0: 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f eId</th><th bgco
d5d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
d5e0: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 uteRow</th><th b
d5f0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
d600: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 >Role</th><th bg
d610: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
d620: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 LinkRowid</th><t
d630: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
d640: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 a0">NodeFrom</th
d650: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
d660: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 0d0a0">NodeTo</t
d670: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
d680: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 d0d0a0">Cost</th
d690: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
d6a0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 0d0a0">Geometry<
d6b0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
d6c0: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f "#d0d0a0">Name</
d6d0: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a th></tr>..<tr>..
d6e0: 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 <td>Dijkstra</td
d6f0: 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 50 61 ><td>Shortest Pa
d700: 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c th</td><td>Full<
d710: 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 /td><td>, [d
d720: 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 ec=44, hex=2c	
d730: 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3;</td><td align
d740: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
d750: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
d760: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
d770: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
d780: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
d790: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
d7a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
d7b0: 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 >183882</td><td
d7c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 align="right">15
d7d0: 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 4.750839</td><td
d7e0: 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f >BLOB sz=240 GEO
d7f0: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 METRY</td><td>NU
d800: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
d810: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
d820: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
d830: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
d840: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
d850: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
d860: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
d870: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">1</td><td>Li
d880: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
d890: 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 36 3c ="right">222636<
d8a0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
d8b0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
d8c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
d8d0: 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 t">182000</td><t
d8e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
d8f0: 31 30 33 2e 37 33 35 37 32 32 3c 2f 74 64 3e 3c 103.735722</td><
d900: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
d910: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 VIA PIETRO ARETI
d920: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NO</td>..</tr>..
d930: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
d940: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
d950: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
d960: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
d970: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
d980: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
d990: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">2</td><td>Li
d9a0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
d9b0: 3d 22 72 69 67 68 74 22 3e 32 32 35 35 32 37 3c ="right">225527<
d9c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
d9d0: 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 ight">182000</td
d9e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
d9f0: 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 t">183882</td><t
da00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
da10: 35 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 51.015117</td><t
da20: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
da30: 49 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 IA LICIO NENCETT
da40: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
da50: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
da60: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
da70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
da80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
da90: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 gn="right">1</td
daa0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
dab0: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 t">0</td><td>Rou
dac0: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c te</td><td>NULL<
dad0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
dae0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
daf0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
db00: 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 t">184030</td><t
db10: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
db20: 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 176.364755</td><
db30: 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 20 47 td>BLOB sz=304 G
db40: 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e EOMETRY</td><td>
db50: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
db60: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
db70: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
db80: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
db90: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
dba0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c align="right">1<
dbb0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
dbc0: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e ight">1</td><td>
dbd0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
dbe0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 gn="right">22401
dbf0: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
dc00: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
dc10: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
dc20: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e ght">182885</td>
dc30: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
dc40: 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e ">94.812424</td>
dc50: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
dc60: 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 >VIA PIETRO ARET
dc70: 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d INO</td>..</tr>.
dc80: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
dc90: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
dca0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
dcb0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
dcc0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
dcd0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
dce0: 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c ght">2</td><td>L
dcf0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
dd00: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38 36 32 n="right">224862
dd10: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
dd20: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 right">182885</t
dd30: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
dd40: 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c ht">182043</td><
dd50: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
dd60: 3e 33 37 2e 30 39 35 32 38 37 3c 2f 74 64 3e 3c >37.095287</td><
dd70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
dd80: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c VIA MARGARITONE<
dd90: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
dda0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
ddb0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
ddc0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
ddd0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
dde0: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c ="right">1</td><
ddf0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
de00: 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >3</td><td>Link<
de10: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
de20: 69 67 68 74 22 3e 32 32 36 30 37 30 3c 2f 74 64 ight">226070</td
de30: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
de40: 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74 t">182043</td><t
de50: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
de60: 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 184030</td><td a
de70: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 34 2e lign="right">44.
de80: 34 35 37 30 34 34 3c 2f 74 64 3e 3c 74 64 3e 4e 457044</td><td>N
de90: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 50 49 41 5a ULL</td><td>PIAZ
dea0: 5a 41 20 53 41 4e 54 27 41 47 4f 53 54 49 4e 4f ZA SANT'AGOSTINO
deb0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
dec0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
ded0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
dee0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
def0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
df00: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e n="right">2</td>
df10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
df20: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
df30: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
df40: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
df50: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
df60: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
df70: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 ">178754</td><td
df80: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
df90: 32 34 2e 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74 24.677095</td><t
dfa0: 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 d>BLOB sz=240 GE
dfb0: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e OMETRY</td><td>N
dfc0: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
dfd0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
dfe0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
dff0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e000: 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d d>NULL<td align=
e010: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
e020: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e030: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
e040: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e050: 67 68 74 22 3e 32 31 39 30 34 35 3c 2f 74 64 3e ght">219045</td>
e060: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e070: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
e080: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
e090: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 78732</td><td al
e0a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 36 2e 30 ign="right">76.0
e0b0: 32 31 30 30 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 21007</td><td>NU
e0c0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 LL</td><td>VIA A
e0d0: 53 53 41 42 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e SSAB</td>..</tr>
e0e0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
e0f0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e100: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e110: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
e120: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
e130: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e140: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e ight">2</td><td>
e150: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
e160: 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35 gn="right">21905
e170: 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 8</td><td align=
e180: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f "right">178732</
e190: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e1a0: 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e ght">178754</td>
e1b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e1c0: 22 3e 31 34 38 2e 36 35 36 30 38 39 3c 2f 74 64 ">148.656089</td
e1d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e1e0: 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 d>VIA FRANCESCO
e1f0: 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 CRISPI</td>..</t
e200: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
e210: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e220: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e230: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
e240: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e250: 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 3</td><td align=
e260: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
e270: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
e280: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
e290: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
e2a0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
e2b0: 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f "right">181999</
e2c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e2d0: 67 68 74 22 3e 32 36 30 2e 31 33 32 33 35 34 3c ght">260.132354<
e2e0: 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
e2f0: 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 240 GEOMETRY</td
e300: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
e310: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
e320: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
e330: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
e340: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</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 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">3</td><td ali
e370: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 gn="right">1</td
e380: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
e390: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
e3a0: 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 224014</td><td a
e3b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
e3c0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
e3d0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 n="right">182885
e3e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e3f0: 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 right">94.812424
e400: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e410: 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f d><td>VIA PIETRO
e420: 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c ARETINO</td>..<
e430: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
e440: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
e450: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e460: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e470: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e480: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">3</td><td alig
e490: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e n="right">2</td>
e4a0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
e4b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
e4c0: 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 24446</td><td al
e4d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 ign="right">1828
e4e0: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 85</td><td align
e4f0: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
e500: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e510: 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c ight">69.727726<
e520: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e530: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 ><td>VIA MARGARI
e540: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TONE</td>..</tr>
e550: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
e560: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e570: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e580: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
e590: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c align="right">3<
e5a0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e5b0: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e ight">3</td><td>
e5c0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
e5d0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 30 gn="right">22580
e5e0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
e5f0: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f "right">178880</
e600: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e610: 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e ght">181999</td>
e620: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e630: 22 3e 39 35 2e 35 39 32 32 30 34 3c 2f 74 64 3e ">95.592204</td>
e640: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e650: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 >VIA FRANCESCO C
e660: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RISPI</td>..</tr
e670: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
e680: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e690: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e6a0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
e6b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
e6c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e6d0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
e6e0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
e6f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
e700: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
e710: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
e720: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 right">183286</t
e730: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
e740: 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f ht">300.912208</
e750: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 td><td>BLOB sz=2
e760: 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 72 GEOMETRY</td>
e770: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
e780: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
e790: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
e7a0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
e7b0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e7c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
e7d0: 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">4</td><td alig
e7e0: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e n="right">1</td>
e7f0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
e800: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
e810: 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 24014</td><td al
e820: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
e830: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
e840: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c ="right">182885<
e850: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
e860: 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c ight">94.812424<
e870: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
e880: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 ><td>VIA PIETRO
e890: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f ARETINO</td>..</
e8a0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
e8b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
e8c0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
e8d0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
e8e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
e8f0: 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >4</td><td align
e900: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c ="right">2</td><
e910: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
e920: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
e930: 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4446</td><td ali
e940: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 gn="right">18288
e950: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 5</td><td align=
e960: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f "right">178880</
e970: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
e980: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f ght">69.727726</
e990: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
e9a0: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 <td>VIA MARGARIT
e9b0: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ONE</td>..</tr>.
e9c0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
e9d0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</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 20 61 d>NULL</td><td a
ea00: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f lign="right">4</
ea10: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
ea20: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c ght">3</td><td>L
ea30: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
ea40: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 n="right">224414
ea50: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
ea60: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 right">178880</t
ea70: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
ea80: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c ht">183286</td><
ea90: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
eaa0: 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e >136.372057</td>
eab0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
eac0: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 >VIA MARGARITONE
ead0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
eae0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
eaf0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
eb00: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
eb10: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
eb20: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
eb30: 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c d><td>Unreachabl
eb40: 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 e NodeTo</td><td
eb50: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
eb60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
eb70: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
eb80: 3d 22 72 69 67 68 74 22 3e 32 39 30 34 35 38 3c ="right">290458<
eb90: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
eba0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
ebb0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
ebc0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
ebd0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
ebe0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
ebf0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
ec00: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
ec10: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 ULL</td><td>Unre
ec20: 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f achable NodeTo</
ec30: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
ec40: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
ec50: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
ec60: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
ec70: 32 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 24622</td><td>NU
ec80: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
ec90: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
eca0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c >..</tr>..</tabl
ecb0: 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 e>..<br>..Let's
ecc0: 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 quickly examine
ecd0: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 the resultset re
ece0: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 turned by the ab
ecf0: 6f 76 65 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 ove <b>multi-des
ed00: 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 tinations</b> qu
ed10: 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e ery...<ul>..<li>
ed20: 74 68 65 20 6f 76 65 72 61 6c 6c 20 6c 61 79 6f the overall layo
ed30: 75 74 20 69 73 20 61 6c 6d 6f 73 74 20 65 78 61 ut is almost exa
ed40: 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 ctly the same as
ed50: 20 79 6f 75 27 76 65 20 61 6c 72 65 61 64 79 20 you've already
ed60: 73 65 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65 seen in the case
ed70: 20 6f 66 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 of <b>single-de
ed80: 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 stination</b> qu
ed90: 65 72 69 65 73 2c 20 62 75 74 20 69 6e 20 74 68 eries, but in th
eda0: 69 73 20 63 61 73 65 20 6d 6f 72 65 20 69 6e 64 is case more ind
edb0: 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c 20 73 ividual travel s
edc0: 6f 6c 75 74 69 6f 6e 73 20 61 72 65 20 67 72 6f olutions are gro
edd0: 75 70 65 64 20 61 6c 74 6f 67 65 74 68 65 72 2e uped altogether.
ede0: 20 28 45 61 63 68 20 61 6c 74 65 72 6e 61 74 69 (Each alternati
edf0: 76 65 20 72 6f 75 74 65 20 68 61 76 69 6e 67 20 ve route having
ee00: 61 20 64 69 66 66 65 72 65 6e 74 20 3c 62 3e 52 a different <b>R
ee10: 6f 75 74 65 49 64 3c 2f 62 3e 20 61 6e 64 20 73 outeId</b> and s
ee20: 74 61 72 74 69 6e 67 20 77 69 74 68 20 3c 62 3e tarting with <b>
ee30: 27 52 6f 75 74 65 27 3c 2f 62 3e 20 69 6e 20 74 'Route'</b> in t
ee40: 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20 63 he <b>Role</b> c
ee50: 6f 6c 75 6d 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c olumn).</li>..<l
ee60: 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72 i>the <b>first r
ee70: 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 ow</b> of the re
ee80: 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d 65 77 sultset is somew
ee90: 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 ay exceptional,
eea0: 61 6e 64 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 and is the only
eeb0: 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c row of the resul
eec0: 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67 20 tset presenting
eed0: 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 <b>NOT NULL</b>
eee0: 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 62 values in the <b
eef0: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 >Algorithm</b>,
ef00: 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 <b>Request</b>,
ef10: 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 <b>Options</b> a
ef20: 6e 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c nd <b>Delimiter<
ef30: 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 /b> columns.</li
ef40: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f >..<li>the <b>Ro
ef50: 75 74 65 49 64 3c 2f 62 3e 20 63 6f 6c 75 6d 6e uteId</b> column
ef60: 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 is intended to
ef70: 67 72 6f 75 70 20 74 6f 67 65 74 68 65 72 20 61 group together a
ef80: 6c 6c 20 72 6f 77 73 20 62 65 6c 6f 6e 67 69 6e ll rows belongin
ef90: 67 20 74 6f 20 73 61 6d 65 20 74 72 61 76 65 6c g to same travel
efa0: 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 61 6b solution (<i>ak
efb0: 61 3c 2f 69 3e 20 3c 62 3e 52 6f 75 74 65 3c 2f a</i> <b>Route</
efc0: 62 3e 29 2e 3c 62 72 3e 0d 0a 52 6f 75 74 65 73 b>).<br>..Routes
efd0: 20 61 72 65 20 70 72 6f 67 72 65 73 73 69 76 65 are progressive
efe0: 6c 79 20 6e 75 6d 62 65 72 65 64 20 61 6e 64 20 ly numbered and
eff0: 61 72 65 20 6f 72 64 65 72 65 64 20 61 63 63 6f are ordered acco
f000: 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 69 72 rdingly to their
f010: 20 3c 62 3e 74 6f 74 61 6c 20 63 6f 73 74 3c 2f <b>total cost</
f020: 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 b>.</li>..<li>th
f030: 65 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 e <b>RouteRow</b
f040: 3e 20 63 6f 6c 75 6d 6e 20 68 61 73 20 74 68 65 > column has the
f050: 20 73 61 6d 65 20 69 6e 74 65 72 70 72 65 74 61 same interpreta
f060: 74 69 6f 6e 20 61 73 20 69 6e 20 73 69 6e 67 6c tion as in singl
f070: 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 72 65 e-destination re
f080: 73 75 6c 74 73 65 74 73 2c 20 61 6e 64 20 69 73 sultsets, and is
f090: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 70 72 6f intended to pro
f0a0: 67 72 65 73 73 69 76 65 6c 79 20 6f 72 64 65 72 gressively order
f0b0: 20 69 6e 20 74 68 65 20 63 6f 72 72 65 63 74 20 in the correct
f0c0: 73 65 71 75 65 6e 63 65 20 61 6c 6c 20 4c 69 6e sequence all Lin
f0d0: 6b 73 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 ks connecting th
f0e0: 65 20 4f 72 69 67 69 6e 20 61 6e 64 20 74 68 65 e Origin and the
f0f0: 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 6f 66 20 Destination of
f100: 65 61 63 68 20 52 6f 75 74 65 2e 3c 62 72 3e 0d each Route.<br>.
f110: 0a 3c 62 3e 52 6f 75 74 65 52 6f 77 3d 30 3c 2f .<b>RouteRow=0</
f120: 62 3e 20 61 6c 77 61 79 73 20 69 64 65 6e 74 69 b> always identi
f130: 66 69 65 73 20 74 68 65 20 68 65 61 64 65 72 20 fies the header
f140: 72 6f 77 20 6f 66 20 65 61 63 68 20 3c 62 3e 52 row of each <b>R
f150: 6f 75 74 65 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f oute</b> solutio
f160: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a n.</li>..</ul>..
f170: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 69 63 65 3c <br>..<u>Notice<
f180: 2f 75 3e 3a 20 74 68 65 20 6c 61 73 74 20 74 77 /u>: the last tw
f190: 6f 20 72 6f 77 73 20 69 6e 20 74 68 65 20 72 65 o rows in the re
f1a0: 73 75 6c 74 73 65 74 20 72 65 70 6f 72 74 73 20 sultset reports
f1b0: 3c 62 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e <b>Unreachable N
f1c0: 6f 64 65 54 6f 09 3c 2f 62 3e 20 69 6e 20 74 68 odeTo.</b> in th
f1d0: 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20 63 6f e <b>Role</b> co
f1e0: 6c 75 6d 6e 2c 20 74 68 75 73 20 69 6d 70 6c 79 lumn, thus imply
f1f0: 69 6e 67 20 61 20 3c 62 3e 66 6f 72 62 69 64 64 ing a <b>forbidd
f200: 65 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 3c 2f 62 en connection</b
f210: 3e 2e 3c 62 72 3e 0d 0a 54 68 65 72 65 20 69 73 >.<br>..There is
f220: 20 61 20 76 61 6c 69 64 20 72 65 61 73 6f 6e 20 a valid reason
f230: 66 6f 72 20 74 68 69 73 3a 20 4e 6f 64 65 73 20 for this: Nodes
f240: 3c 62 3e 32 39 30 34 35 38 3c 2f 62 3e 20 61 6e <b>290458</b> an
f250: 64 20 3c 62 3e 31 32 34 36 32 32 3c 2f 62 3e 20 d <b>124622</b>
f260: 61 72 65 20 6c 6f 63 61 74 65 64 20 6f 6e 20 45 are located on E
f270: 6c 62 61 20 61 6e 64 20 47 69 67 6c 69 6f 20 69 lba and Giglio i
f280: 73 6c 61 6e 64 73 2e 20 54 68 65 20 75 6e 64 65 slands. The unde
f290: 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 20 rlaying Network
f2a0: 69 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 49 is based on <b>I
f2b0: 74 65 72 2e 4e 65 74 3c 2f 62 3e 20 74 68 61 74 ter.Net</b> that
f2c0: 20 64 6f 6e 27 74 20 73 75 70 70 6f 72 74 73 20 don't supports
f2d0: 66 65 72 72 79 20 63 6f 6e 6e 65 63 74 69 6f 6e ferry connection
f2e0: 73 2c 20 73 6f 20 61 6e 79 20 74 72 61 76 65 6c s, so any travel
f2f0: 20 73 6f 6c 75 74 69 6f 6e 20 62 65 74 77 65 65 solution betwee
f300: 6e 20 74 68 65 20 69 73 6c 61 6e 64 73 20 61 6e n the islands an
f310: 64 20 74 68 65 20 6d 61 69 6e 6c 61 6e 64 20 77 d the mainland w
f320: 69 6c 6c 20 61 6c 77 61 79 73 20 66 61 69 6c 2e ill always fail.
f330: 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a ..<br><br><br>..
f340: 41 6c 73 6f 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 Also <b>multi-de
f350: 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 stinations</b> q
f360: 75 65 72 69 65 73 20 63 61 6e 20 62 65 20 63 75 ueries can be cu
f370: 73 74 6f 6d 69 7a 65 64 2c 20 62 75 74 20 74 68 stomized, but th
f380: 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 e configuration
f390: 72 75 6c 65 73 20 64 69 66 66 65 72 20 73 6c 69 rules differ sli
f3a0: 67 68 74 6c 79 20 66 72 6f 6d 20 77 68 61 74 20 ghtly from what
f3b0: 79 6f 75 20 68 61 76 65 20 61 6c 72 65 61 64 79 you have already
f3c0: 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63 61 73 seen in the cas
f3d0: 65 20 6f 66 20 73 69 6e 67 6c 65 2d 64 65 73 74 e of single-dest
f3e0: 69 6e 61 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a ination...<ul>..
f3f0: 3c 6c 69 3e 3c 62 3e 41 6c 67 6f 72 69 74 68 6d <li><b>Algorithm
f400: 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 3c 62 3e 44 69 </b>: only <b>Di
f410: 6a 6b 73 74 72 61 3c 2f 62 3e 20 69 73 20 73 75 jkstra</b> is su
f420: 70 70 6f 72 74 65 64 20 62 79 20 6d 75 6c 74 69 pported by multi
f430: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 2c 20 61 6e -destination, an
f440: 64 20 77 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63 d will be implic
f450: 69 74 6c 79 20 61 73 73 75 6d 65 64 20 65 76 65 itly assumed eve
f460: 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72 n when the alter
f470: 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e native <b>A*</b>
f480: 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75 algorithm is cu
f490: 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 rrently selected
f4a0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4f .</li>..<li><b>O
f4b0: 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20 74 68 65 20 ptions</b>: the
f4c0: 75 73 75 61 6c 20 3c 62 3e 46 55 4c 4c 3c 2f 62 usual <b>FULL</b
f4d0: 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e >, <b>SIMPLE</b>
f4e0: 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 , <b>NO LINKS</b
f4f0: 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f 4d > and <b>NO GEOM
f500: 45 54 52 49 45 53 3c 2f 62 3e 20 61 72 65 20 73 ETRIES</b> are s
f510: 75 70 70 6f 72 74 65 64 20 61 6e 64 20 77 69 6c upported and wil
f520: 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 l have the same
f530: 65 66 66 65 63 74 20 61 73 20 69 6e 20 73 69 6e effect as in sin
f540: 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 gle-destination
f550: 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c queries.</li>..<
f560: 2f 75 6c 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e /ul>..<verbatim>
f570: 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 ..UPDATE byfoot
f580: 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 53 SET Options = 'S
f590: 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 45 43 IMPLE';....SELEC
f5a0: 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 T Algorithm, Req
f5b0: 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 uest, Options, D
f5c0: 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 elimiter, RouteI
f5d0: 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c d, RouteRow, Rol
f5e0: 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f e, LinkRowid, No
f5f0: 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 deFrom, NodeTo,
f600: 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 Cost, Geometry,
f610: 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f Name..FROM byfoo
f620: 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f t..WHERE NodeFro
f630: 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e m = 178731 AND N
f640: 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c odeTo = '183286,
f650: 32 39 30 34 35 38 2c 31 38 31 39 39 39 2c 31 38 290458,181999,18
f660: 34 30 33 30 2c 31 32 34 36 32 32 2c 31 38 33 38 4030,124622,1838
f670: 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 82,178754';..</v
f680: 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f erbatim>..The fo
f690: 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 llowing table sh
f6a0: 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 ows the resultse
f6b0: 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 t returned by th
f6c0: 65 20 73 61 6d 65 20 6d 75 6c 74 69 2d 64 65 73 e same multi-des
f6d0: 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 79 20 75 tination query u
f6e0: 73 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 sed in the previ
f6f0: 6f 75 73 20 65 78 61 6d 70 6c 65 20 61 66 74 65 ous example afte
f700: 72 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 3c r enabling the <
f710: 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e 20 6f 70 74 b>SIMPLE</b> opt
f720: 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a ion...<br><br>..
f730: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 <table border="1
f740: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 " bgcolor="#ffff
f750: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d cf" cellspacing=
f760: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "4" cellpadding=
f770: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 "6">..<tr><th bg
f780: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
f790: 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 Algorithm</th><t
f7a0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
f7b0: 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e a0">Request</th>
f7c0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
f7d0: 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 d0a0">Options</t
f7e0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
f7f0: 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 d0d0a0">Delimite
f800: 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f r</th><th bgcolo
f810: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 r="#d0d0a0">Rout
f820: 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f eId</th><th bgco
f830: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
f840: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 uteRow</th><th b
f850: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
f860: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 >Role</th><th bg
f870: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
f880: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 LinkRowid</th><t
f890: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
f8a0: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 a0">NodeFrom</th
f8b0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
f8c0: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 0d0a0">NodeTo</t
f8d0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
f8e0: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 d0d0a0">Cost</th
f8f0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
f900: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 0d0a0">Geometry<
f910: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
f920: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f "#d0d0a0">Name</
f930: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a th></tr>..<tr>..
f940: 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 <td>Dijkstra</td
f950: 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 50 61 ><td>Shortest Pa
f960: 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c th</td><td>Full<
f970: 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 /td><td>, [d
f980: 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 ec=44, hex=2c	
f990: 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3;</td><td align
f9a0: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
f9b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
f9c0: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
f9d0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
f9e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
f9f0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
fa00: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
fa10: 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 >183882</td><td
fa20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 align="right">15
fa30: 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 4.750839</td><td
fa40: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
fa50: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
fa60: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
fa70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fa80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fa90: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
faa0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
fab0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
fac0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f ht">0</td><td>Ro
fad0: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ute</td><td>NULL
fae0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
faf0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
fb00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
fb10: 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c ht">184030</td><
fb20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
fb30: 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e >176.364755</td>
fb40: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fb50: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 >NULL</td>..</tr
fb60: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
fb70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fb80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fb90: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
fba0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
fbb0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
fbc0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
fbd0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
fbe0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
fbf0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
fc00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
fc10: 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 right">178754</t
fc20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
fc30: 68 74 22 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f ht">224.677095</
fc40: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fc50: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
fc60: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
fc70: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fc80: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fc90: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fca0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
fcb0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">3</td><td alig
fcc0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
fcd0: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
fce0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
fcf0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
fd00: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 731</td><td alig
fd10: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 n="right">181999
fd20: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
fd30: 72 69 67 68 74 22 3e 32 36 30 2e 31 33 32 33 35 right">260.13235
fd40: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
fd50: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fd60: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
fd70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
fd80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fd90: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fda0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
fdb0: 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 ght">4</td><td a
fdc0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
fdd0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
fde0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
fdf0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
fe00: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
fe10: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
fe20: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 286</td><td alig
fe30: 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 n="right">300.91
fe40: 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 2208</td><td>NUL
fe50: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
fe60: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
fe70: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
fe80: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
fe90: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
fea0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
feb0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
fec0: 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 <td>Unreachable
fed0: 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e NodeTo</td><td>N
fee0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
fef0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
ff00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
ff10: 72 69 67 68 74 22 3e 32 39 30 34 35 38 3c 2f 74 right">290458</t
ff20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
ff30: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
ff40: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
ff50: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
ff60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
ff70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
ff80: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
ff90: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
ffa0: 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63 L</td><td>Unreac
ffb0: 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 hable NodeTo</td
ffc0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
ffd0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
ffe0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
fff0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 34 lign="right">124
10000 36 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 622</td><td>NULL
10010 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
10020 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
10030 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e .</tr>..</table>
10040 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 ..<br>..The map
10050 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c below graphicall
10060 79 20 73 68 6f 77 73 20 74 68 65 20 70 72 65 76 y shows the prev
10070 69 6f 75 73 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 ious <b>multi-de
10080 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 stinations</b> q
10090 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 ueries...<br><br
100a0 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 >..<img src="htt
100b0 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 ps://www.gaia-gi
100c0 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 s.it/gaia-sins/r
100d0 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 outing-figs/rout
100e0 69 6e 67 33 2e 6a 70 67 22 20 61 6c 74 3d 22 66 ing3.jpg" alt="f
100f0 69 67 33 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 ig3">..<ul>..<li
10100 3e 52 65 64 20 73 74 61 72 3a 20 74 68 65 20 4f >Red star: the O
10110 72 69 67 69 6e 20 4e 6f 64 65 2e 3c 2f 6c 69 3e rigin Node.</li>
10120 0d 0a 3c 6c 69 3e 47 72 65 65 6e 20 64 6f 74 73 ..<li>Green dots
10130 3a 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f : the Destinatio
10140 6e 20 4e 6f 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c n Nodes.</li>..<
10150 6c 69 3e 59 65 6c 6c 6f 77 20 6c 69 6e 65 73 3a li>Yellow lines:
10160 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 all individual
10170 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 73 travel solutions
10180 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c .</li>..</ul>..<
10190 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f br>..<table bgco
101a0 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63 65 lor="#ffb060" ce
101b0 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 llspacing="10" c
101c0 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c ellpadding="6"><
101d0 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 44 61 6e tr><td>..<h3>Dan
101e0 67 65 72 6f 75 73 20 70 69 74 66 61 6c 6c 73 20 gerous pitfalls
101f0 72 65 6c 61 74 65 64 20 74 6f 20 6d 75 6c 74 69 related to multi
10200 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 ple destination
10210 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a 53 51 4c 20 lists</h3>..SQL
10220 73 79 6e 74 61 78 20 64 69 72 65 63 74 6c 79 20 syntax directly
10230 61 6c 6c 6f 77 73 20 74 6f 20 73 70 65 63 69 66 allows to specif
10240 79 20 6c 69 73 74 73 20 6f 66 20 20 6d 75 6c 74 y lists of mult
10250 69 70 6c 65 20 76 61 6c 75 65 73 2c 20 73 6f 20 iple values, so
10260 6d 61 79 20 62 65 20 79 6f 75 20 61 72 65 20 6e may be you are n
10270 6f 77 20 77 6f 6e 64 65 72 69 6e 67 20 61 62 6f ow wondering abo
10280 75 74 20 77 72 69 74 69 6e 67 20 74 68 65 20 3c ut writing the <
10290 62 3e 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 b>multiple desti
102a0 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 nations</b> quer
102b0 79 20 74 65 73 74 65 64 20 69 6e 20 74 68 65 20 y tested in the
102c0 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 previous example
102d0 73 20 74 68 69 73 20 77 61 79 3a 0d 0a 3c 76 65 s this way:..<ve
102e0 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 rbatim>..SELECT
102f0 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 Algorithm, Reque
10300 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c st, Options, Del
10310 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c imiter, RouteId,
10320 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c RouteRow, Role,
10330 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 LinkRowid, Node
10340 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f From, NodeTo, Co
10350 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 st, Geometry, Na
10360 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d me..FROM byfoot.
10370 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 .WHERE NodeFrom
10380 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 = 178731 AND Nod
10390 65 54 6f 20 49 4e 20 28 31 38 33 32 38 36 2c 20 eTo IN (183286,
103a0 32 39 30 34 35 38 2c 20 31 38 31 39 39 39 2c 20 290458, 181999,
103b0 31 38 34 30 33 30 2c 20 31 32 34 36 32 32 2c 20 184030, 124622,
103c0 31 38 33 38 38 32 2c 20 31 37 38 37 35 34 29 3b 183882, 178754);
103d0 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 ..</verbatim>..T
103e0 68 65 72 65 20 69 73 20 61 20 76 65 72 79 20 67 here is a very g
103f0 6f 6f 64 20 72 65 61 73 6f 6e 20 74 6f 20 64 69 ood reason to di
10400 73 63 6f 75 72 61 67 65 20 79 6f 75 20 66 72 6f scourage you fro
10410 6d 20 64 6f 69 6e 67 20 73 75 63 68 20 61 20 74 m doing such a t
10420 68 69 6e 67 2c 20 6c 65 74 27 73 20 73 65 65 20 hing, let's see
10430 77 68 79 3a 3c 62 72 3e 3c 62 72 3e 0d 0a 46 6f why:<br><br>..Fo
10440 72 20 53 51 4c 69 74 65 3a 20 3c 62 3e 4e 6f 64 r SQLite: <b>Nod
10450 65 54 6f 20 49 4e 20 28 31 38 33 32 38 36 2c 20 eTo IN (183286,
10460 32 39 30 34 35 38 2c 20 31 38 31 39 39 39 2c 20 290458, 181999,
10470 31 38 34 30 33 30 2c 20 31 32 34 36 32 32 2c 20 184030, 124622,
10480 31 38 33 38 38 32 2c 20 31 37 38 37 35 34 29 3c 183882, 178754)<
10490 2f 62 3e 20 69 73 20 63 6f 6e 73 69 64 65 72 65 /b> is considere
104a0 64 20 74 6f 20 62 65 20 37 20 70 61 72 61 6d 65 d to be 7 parame
104b0 74 65 72 73 20 66 6f 72 20 77 68 69 63 68 20 56 ters for which V
104c0 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 77 69 irtualRouting wi
104d0 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 66 6f 72 ll be called for
104e0 20 65 61 63 68 2e 3c 62 72 3e 0d 0a 57 68 65 72 each.<br>..Wher
104f0 65 61 73 3a 20 3c 62 3e 4e 6f 64 65 54 6f 20 3d eas: <b>NodeTo =
10500 20 27 31 38 33 32 38 36 2c 32 39 30 34 35 38 2c '183286,290458,
10510 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 32 181999,184030,12
10520 34 36 32 32 2c 31 38 33 38 38 32 2c 31 37 38 37 4622,183882,1787
10530 35 34 27 3c 2f 62 3e 20 69 73 20 63 6f 6e 73 69 54'</b> is consi
10540 64 65 72 65 64 20 74 6f 20 62 65 20 31 20 70 61 dered to be 1 pa
10550 72 61 6d 65 74 65 72 20 66 6f 72 20 77 68 69 63 rameter for whic
10560 68 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 h VirtualRouting
10570 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 will be called
10580 3c 62 3e 6f 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 <b>once</b> and
10590 73 65 61 72 63 68 20 66 6f 72 20 74 68 65 20 37 search for the 7
105a0 20 69 74 65 6d 73 2e 0d 0a 3c 68 33 3e 42 65 77 items...<h3>Bew
105b0 61 72 65 3c 2f 68 33 3e 0d 0a 3c 62 3e 4e 65 76 are</h3>..<b>Nev
105c0 65 72 20 65 76 65 72 3c 2f 62 3e 20 61 74 74 65 er ever</b> atte
105d0 6d 70 74 20 74 6f 20 64 65 66 69 6e 65 20 61 20 mpt to define a
105e0 6c 69 73 74 20 6f 66 20 6d 75 6c 74 69 70 6c 65 list of multiple
105f0 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 75 73 destinations us
10600 69 6e 67 20 74 68 65 20 73 74 61 6e 64 61 72 64 ing the standard
10610 20 53 51 4c 20 73 79 6e 74 61 78 20 3c 62 3e 3c SQL syntax <b><
10620 69 3e 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 49 i>WHERE NodeTo I
10630 4e 20 28 2e 2e 2e 2e 2e 2e 29 3c 2f 69 3e 3c 2f N (......)</i></
10640 62 3e 2c 20 62 65 63 61 75 73 65 20 74 68 69 73 b>, because this
10650 20 77 69 6c 6c 20 63 65 72 74 61 69 6e 6c 79 20 will certainly
10660 63 61 75 73 65 20 6d 61 6e 79 20 75 6e 65 78 70 cause many unexp
10670 65 63 74 65 64 20 20 27 3c 69 3e 72 65 73 75 6c ected '<i>resul
10680 74 73 3c 2f 69 3e 27 2e 3c 62 72 3e 0d 0a 42 61 ts</i>'.<br>..Ba
10690 64 6c 79 20 66 6f 72 6d 61 74 74 65 64 20 72 65 dly formatted re
106a0 73 75 6c 74 73 65 74 73 20 77 69 6c 6c 20 62 65 sultsets will be
106b0 20 74 68 65 6e 20 72 65 74 75 72 6e 65 64 2c 20 then returned,
106c0 6d 61 6e 79 20 6f 66 20 77 68 69 63 68 20 6d 61 many of which ma
106d0 79 20 62 65 20 77 72 6f 6e 67 2e 20 3c 62 3e 59 y be wrong. <b>Y
106e0 6f 75 20 61 72 65 20 77 61 72 6e 65 64 3c 2f 62 ou are warned</b
106f0 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 >.<br><br>..</td
10700 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a ></tr></table>..
10710 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 <br>..<table bgc
10720 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 olor="#c0ffc0" c
10730 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 ellspacing="10"
10740 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
10750 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 6f <tr><td>..<h3>Ho
10760 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 66 w to correctly f
10770 6f 72 6d 61 74 20 6d 75 6c 74 69 70 6c 65 20 64 ormat multiple d
10780 65 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74 estinations list
10790 73 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52 s</h3>..VirtualR
107a0 6f 75 74 69 6e 67 20 61 6c 77 61 79 73 20 65 78 outing always ex
107b0 70 65 63 74 73 20 74 6f 20 72 65 63 65 69 76 65 pects to receive
107c0 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 a <b>multi-dest
107d0 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 6c 69 73 inations</b> lis
107e0 74 20 61 73 20 61 20 3c 62 3e 54 45 58 54 3c 2f t as a <b>TEXT</
107f0 62 3e 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 b> string contai
10800 6e 69 6e 67 20 74 69 67 68 74 6c 79 20 70 61 63 ning tightly pac
10810 6b 65 64 20 76 61 6c 75 65 73 20 73 65 70 61 72 ked values separ
10820 61 74 65 64 20 62 79 20 61 20 63 6f 6e 76 65 6e ated by a conven
10830 74 69 6f 6e 61 6c 20 3c 62 3e 64 65 6c 69 6d 69 tional <b>delimi
10840 74 65 72 3c 2f 62 3e 20 28 75 73 75 61 6c 6c 79 ter</b> (usually
10850 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 represented by
10860 61 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 29 2e a <b>comma</b>).
10870 3c 62 72 3e 0d 0a 45 78 61 6d 70 6c 65 73 20 6f <br>..Examples o
10880 66 20 3c 62 3e 77 65 6c 6c 20 66 6f 72 6d 61 74 f <b>well format
10890 74 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d 64 65 ted</b> multi-de
108a0 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74 73 stinations lists
108b0 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 27 :..<verbatim>..'
108c0 31 2c 32 2c 33 2c 34 2c 35 2c 31 30 2c 31 30 30 1,2,3,4,5,10,100
108d0 2c 31 30 30 30 2c 31 30 30 30 30 30 27 20 20 20 ,1000,100000'
108e0 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20 -- integer Node
108f0 49 44 73 0d 0a 0d 0a 27 41 31 30 30 42 2c 41 31 IDs....'A100B,A1
10900 30 30 46 2c 42 32 35 30 5a 2c 43 30 31 30 4d 2c 00F,B250Z,C010M,
10910 5a 39 39 39 41 27 20 20 2d 2d 20 61 6c 70 68 61 Z999A' -- alpha
10920 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f 64 numeric Node Cod
10930 65 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d es..</verbatim>.
10940 0a 45 78 61 6d 70 6c 65 73 20 6f 66 20 3c 62 3e .Examples of <b>
10950 62 61 64 6c 79 20 66 6f 72 6d 61 74 74 65 64 3c badly formatted<
10960 2f 62 3e 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e /b> multi-destin
10970 61 74 69 6f 6e 73 20 6c 69 73 74 73 3a 0d 0a 3c ations lists:..<
10980 76 65 72 62 61 74 69 6d 3e 0d 0a 27 20 20 31 2c verbatim>..' 1,
10990 20 32 2c 20 33 2c 20 34 20 2c 20 35 20 2c 20 31 2, 3, 4 , 5 , 1
109a0 30 2c 20 31 30 30 2c 20 31 30 30 30 2c 20 31 30 0, 100, 1000, 10
109b0 30 30 30 30 20 20 27 20 20 20 2d 2d 20 69 6e 74 0000 ' -- int
109c0 65 67 65 72 20 4e 6f 64 65 20 49 44 73 0d 0a 0d eger Node IDs...
109d0 0a 27 20 20 41 31 30 30 42 2c 20 41 31 30 30 46 .' A100B, A100F
109e0 20 2c 20 42 32 35 30 5a 20 2c 20 43 30 31 30 4d , B250Z , C010M
109f0 2c 20 5a 39 39 39 41 20 20 27 20 20 20 20 20 20 , Z999A '
10a00 2d 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 -- alphanumeric
10a10 4e 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76 65 Node Codes..</ve
10a20 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65 rbatim>..<u>Note
10a30 3c 2f 75 3e 3a 20 61 6c 6c 20 77 68 69 74 65 73 </u>: all whites
10a40 70 61 63 65 73 20 69 6d 6d 65 64 69 61 74 65 6c paces immediatel
10a50 79 20 70 72 65 63 65 64 69 6e 67 20 6f 72 20 66 y preceding or f
10a60 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 3c 62 3e ollowing the <b>
10a70 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 77 69 delimiter</b> wi
10a80 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 ll be considered
10a90 20 74 6f 20 62 65 20 69 6e 74 65 67 72 61 6c 20 to be integral
10aa0 70 61 72 74 20 6f 66 20 74 68 65 20 76 61 6c 75 part of the valu
10ab0 65 20 69 74 73 65 6c 66 20 28 61 6e 64 20 74 68 e itself (and th
10ac0 75 73 20 77 69 6c 6c 20 3c 62 3e 61 6c 73 6f 3c us will <b>also<
10ad0 2f 62 3e 20 62 65 20 73 65 61 72 63 68 65 64 20 /b> be searched
10ae0 66 6f 72 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 for).<br>..This
10af0 77 69 6c 6c 20 68 61 76 65 20 6e 6f 20 61 64 76 will have no adv
10b00 65 72 73 65 20 63 6f 6e 73 65 71 75 65 6e 63 65 erse consequence
10b10 73 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 s in the case of
10b20 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 73 2c integer values,
10b30 20 62 75 74 20 63 61 6e 20 65 61 73 69 6c 79 20 but can easily
10b40 68 61 76 65 20 63 61 74 61 73 74 72 6f 70 68 69 have catastrophi
10b50 63 20 65 66 66 65 63 74 73 20 6f 6e 20 61 6c 70 c effects on alp
10b60 68 61 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 73 hanumeric values
10b70 2e 0d 0a 3c 68 33 3e 44 65 66 69 6e 69 6e 67 20 ...<h3>Defining
10b80 61 20 63 75 73 74 6f 6d 20 64 65 6c 69 6d 69 74 a custom delimit
10b90 65 72 3c 2f 68 33 3e 0d 0a 53 6f 6d 65 74 69 6d er</h3>..Sometim
10ba0 65 73 20 69 74 20 63 6f 75 6c 64 20 62 65 20 75 es it could be u
10bb0 73 65 66 75 6c 20 73 65 74 74 69 6e 67 20 75 70 seful setting up
10bc0 20 61 20 64 65 6c 69 6d 69 74 65 72 20 6f 74 68 a delimiter oth
10bd0 65 72 20 74 68 61 6e 20 61 20 3c 62 3e 63 6f 6d er than a <b>com
10be0 6d 61 3c 2f 62 3e 2e 0d 0a 3c 76 65 72 62 61 74 ma</b>...<verbat
10bf0 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f im>..UPDATE byfo
10c00 6f 74 20 53 45 54 20 44 65 6c 69 6d 69 74 65 72 ot SET Delimiter
10c10 20 3d 20 27 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 43 = '*';....SELEC
10c20 54 20 44 65 6c 69 6d 69 74 65 72 20 46 52 4f 4d T Delimiter FROM
10c30 20 62 79 66 6f 6f 74 3b 0d 0a 2d 2d 2d 2d 2d 2d byfoot;..------
10c40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 2a 20 ------------..*
10c50 5b 64 65 63 3d 34 32 2c 20 68 65 78 3d 32 61 5d [dec=42, hex=2a]
10c60 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 20 0d 0a ..</verbatim> ..
10c70 59 6f 75 20 73 69 6d 70 6c 79 20 68 61 76 65 20 You simply have
10c80 74 6f 20 65 78 65 63 75 74 65 20 61 6e 20 3c 62 to execute an <b
10c90 3e 55 50 44 41 54 45 3c 2f 62 3e 20 73 74 61 74 >UPDATE</b> stat
10ca0 65 6d 65 6e 74 20 62 79 20 73 70 65 63 69 66 79 ement by specify
10cb0 69 6e 67 20 74 68 65 20 6e 65 77 20 64 65 6c 69 ing the new deli
10cc0 6d 69 74 65 72 20 76 61 6c 75 65 2e 3c 62 72 3e miter value.<br>
10cd0 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e <br>..</td></tr>
10ce0 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 68 34 3e 55 73 </table>..<h4>Us
10cf0 69 6e 67 20 4d 61 6b 65 53 74 72 69 6e 67 4c 69 ing MakeStringLi
10d00 73 74 28 29 20 66 6f 72 20 61 75 74 6f 2d 77 72 st() for auto-wr
10d10 69 74 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 iting a list of
10d20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 multiple destina
10d30 74 69 6f 6e 73 3c 2f 68 34 3e 0d 0a 57 72 69 74 tions</h4>..Writ
10d40 69 6e 67 20 62 79 20 68 61 6e 64 20 61 20 54 65 ing by hand a Te
10d50 78 74 20 53 74 72 69 6e 67 20 63 6f 72 72 65 73 xt String corres
10d60 70 6f 6e 64 69 6e 67 20 74 6f 20 61 20 77 65 6c ponding to a wel
10d70 6c 2d 66 6f 72 6d 61 74 74 65 64 20 6c 69 73 74 l-formatted list
10d80 20 6f 66 20 20 6d 75 6c 74 69 70 6c 65 73 20 64 of multiples d
10d90 65 73 74 69 6e 61 74 69 6f 6e 73 20 63 6f 75 6c estinations coul
10da0 64 20 65 61 73 69 6c 79 20 62 65 20 61 20 62 6f d easily be a bo
10db0 72 69 6e 67 20 61 6e 64 20 65 72 72 6f 72 20 70 ring and error p
10dc0 72 6f 6e 65 20 61 63 74 69 76 69 74 79 20 28 6d rone activity (m
10dd0 6f 73 74 20 6e 6f 74 61 62 6c 79 20 69 66 20 74 ost notably if t
10de0 68 65 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 73 he list contains
10df0 20 61 20 68 75 67 65 20 6e 75 6d 62 65 72 20 6f a huge number o
10e00 66 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f f destination No
10e10 64 65 73 29 2e 0d 0a 3c 76 65 72 62 61 74 69 6d des)...<verbatim
10e20 3e 0d 0a 53 45 4c 45 43 54 20 4d 61 6b 65 53 74 >..SELECT MakeSt
10e30 72 69 6e 67 4c 69 73 74 28 6e 6f 64 65 5f 69 64 ringList(node_id
10e40 29 0d 0a 46 52 4f 4d 20 28 53 45 4c 45 43 54 20 )..FROM (SELECT
10e50 6e 6f 64 65 5f 66 72 6f 6d 20 41 53 20 6e 6f 64 node_from AS nod
10e60 65 5f 69 64 0d 0a 20 20 20 20 20 20 46 52 4f 4d e_id.. FROM
10e70 20 72 6f 61 64 73 0d 0a 20 20 20 20 20 20 57 48 roads.. WH
10e80 45 52 45 20 53 54 5f 4c 65 6e 67 74 68 28 67 65 ERE ST_Length(ge
10e90 6f 6d 29 20 3e 3d 20 31 30 30 30 30 2e 30 0d 0a om) >= 10000.0..
10ea0 20 20 20 20 20 20 55 4e 49 4f 4e 0d 0a 20 20 20 UNION..
10eb0 20 20 20 53 45 4c 45 43 54 20 6e 6f 64 65 5f 74 SELECT node_t
10ec0 6f 20 41 53 20 6e 6f 64 65 5f 69 64 0d 0a 20 20 o AS node_id..
10ed0 20 20 20 20 46 52 4f 4d 20 72 6f 61 64 73 0d 0a FROM roads..
10ee0 20 20 20 20 20 20 57 48 45 52 45 20 53 54 5f 4c WHERE ST_L
10ef0 65 6e 67 74 68 28 67 65 6f 6d 29 20 3e 3d 20 31 ength(geom) >= 1
10f00 30 30 30 30 2e 30 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 0000.0);..------
10f10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
10f20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
10f30 2d 2d 0d 0a 31 32 36 33 30 2c 31 32 36 34 38 2c --..12630,12648,
10f40 31 33 36 34 35 2c 31 33 36 35 31 2c 37 38 33 35 13645,13651,7835
10f50 33 2c 37 39 31 34 32 2c 37 39 34 35 33 2c 37 39 3,79142,79453,79
10f60 34 35 34 2c 32 38 36 31 34 30 2c 32 38 36 31 35 454,286140,28615
10f70 33 2c 32 38 36 37 36 33 2c 32 38 36 37 37 30 2c 3,286763,286770,
10f80 32 39 31 34 31 36 2c 32 39 31 34 31 37 0d 0a 3c 291416,291417..<
10f90 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 /verbatim>..The
10fa0 53 51 4c 20 3c 69 3e 3c 75 3e 61 67 67 72 65 67 SQL <i><u>aggreg
10fb0 61 74 65 20 66 75 6e 63 74 69 6f 6e 3c 2f 75 3e ate function</u>
10fc0 3c 2f 69 3e 20 3c 62 3e 4d 61 6b 65 53 74 72 69 </i> <b>MakeStri
10fd0 6e 67 4c 69 73 74 28 29 3c 2f 62 3e 20 69 73 20 ngList()</b> is
10fe0 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 specifically int
10ff0 65 6e 64 65 64 20 74 6f 20 68 65 6c 70 20 61 6e ended to help an
11000 64 20 73 69 6d 70 6c 69 66 79 20 74 68 69 73 20 d simplify this
11010 74 61 73 6b 20 62 79 20 61 70 70 6c 79 69 6e 67 task by applying
11020 20 61 20 70 75 72 65 20 53 51 4c 20 61 70 70 72 a pure SQL appr
11030 6f 61 63 68 2e 0d 0a 3c 76 65 72 62 61 74 69 6d oach...<verbatim
11040 3e 0d 0a 53 45 4c 45 43 54 20 4d 61 6b 65 53 74 >..SELECT MakeSt
11050 72 69 6e 67 4c 69 73 74 28 6e 6f 64 65 5f 69 64 ringList(node_id
11060 2c 20 27 3b 27 29 0d 0a 46 52 4f 4d 20 28 53 45 , ';')..FROM (SE
11070 4c 45 43 54 20 6e 6f 64 65 5f 66 72 6f 6d 20 41 LECT node_from A
11080 53 20 6e 6f 64 65 5f 69 64 0d 0a 20 20 20 20 20 S node_id..
11090 20 46 52 4f 4d 20 72 6f 61 64 73 0d 0a 20 20 20 FROM roads..
110a0 20 20 20 57 48 45 52 45 20 53 54 5f 4c 65 6e 67 WHERE ST_Leng
110b0 74 68 28 67 65 6f 6d 29 20 3e 3d 20 31 30 30 30 th(geom) >= 1000
110c0 30 2e 30 0d 0a 20 20 20 20 20 20 55 4e 49 4f 4e 0.0.. UNION
110d0 0d 0a 20 20 20 20 20 20 53 45 4c 45 43 54 20 6e .. SELECT n
110e0 6f 64 65 5f 74 6f 20 41 53 20 6e 6f 64 65 5f 69 ode_to AS node_i
110f0 64 0d 0a 20 20 20 20 20 20 46 52 4f 4d 20 72 6f d.. FROM ro
11100 61 64 73 0d 0a 20 20 20 20 20 20 57 48 45 52 45 ads.. WHERE
11110 20 53 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 ST_Length(geom)
11120 20 3e 3d 20 31 30 30 30 30 2e 30 29 3b 0d 0a 2d >= 10000.0);..-
11130 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
11140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
11150 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 32 36 33 30 3b 31 -------..12630;1
11160 32 36 34 38 3b 31 33 36 34 35 3b 31 33 36 35 31 2648;13645;13651
11170 3b 37 38 33 35 33 3b 37 39 31 34 32 3b 37 39 34 ;78353;79142;794
11180 35 33 3b 37 39 34 35 34 3b 32 38 36 31 34 30 3b 53;79454;286140;
11190 32 38 36 31 35 33 3b 32 38 36 37 36 33 3b 32 38 286153;286763;28
111a0 36 37 37 30 3b 32 39 31 34 31 36 3b 32 39 31 34 6770;291416;2914
111b0 31 37 0d 0a 0d 0a 0d 0a 53 45 4c 45 43 54 20 4d 17......SELECT M
111c0 61 6b 65 53 74 72 69 6e 67 4c 69 73 74 28 6e 6f akeStringList(no
111d0 64 65 5f 69 64 2c 20 27 7c 27 29 0d 0a 46 52 4f de_id, '|')..FRO
111e0 4d 20 28 53 45 4c 45 43 54 20 6e 6f 64 65 5f 66 M (SELECT node_f
111f0 72 6f 6d 20 41 53 20 6e 6f 64 65 5f 69 64 0d 0a rom AS node_id..
11200 20 20 20 20 20 20 46 52 4f 4d 20 72 6f 61 64 73 FROM roads
11210 0d 0a 20 20 20 20 20 20 57 48 45 52 45 20 53 54 .. WHERE ST
11220 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 3e 3d _Length(geom) >=
11230 20 31 30 30 30 30 2e 30 0d 0a 20 20 20 20 20 20 10000.0..
11240 55 4e 49 4f 4e 0d 0a 20 20 20 20 20 20 53 45 4c UNION.. SEL
11250 45 43 54 20 6e 6f 64 65 5f 74 6f 20 41 53 20 6e ECT node_to AS n
11260 6f 64 65 5f 69 64 0d 0a 20 20 20 20 20 20 46 52 ode_id.. FR
11270 4f 4d 20 72 6f 61 64 73 0d 0a 20 20 20 20 20 20 OM roads..
11280 57 48 45 52 45 20 53 54 5f 4c 65 6e 67 74 68 28 WHERE ST_Length(
11290 67 65 6f 6d 29 20 3e 3d 20 31 30 30 30 30 2e 30 geom) >= 10000.0
112a0 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d );..------------
112b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
112c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 32 ------------..12
112d0 36 33 30 7c 31 32 36 34 38 7c 31 33 36 34 35 7c 630|12648|13645|
112e0 31 33 36 35 31 7c 37 38 33 35 33 7c 37 39 31 34 13651|78353|7914
112f0 32 7c 37 39 34 35 33 7c 37 39 34 35 34 7c 32 38 2|79453|79454|28
11300 36 31 34 30 7c 32 38 36 31 35 33 7c 32 38 36 37 6140|286153|2867
11310 36 33 7c 32 38 36 37 37 30 7c 32 39 31 34 31 36 63|286770|291416
11320 7c 32 39 31 34 31 37 0d 0a 3c 2f 76 65 72 62 61 |291417..</verba
11330 74 69 6d 3e 0d 0a 59 6f 75 20 63 61 6e 20 65 76 tim>..You can ev
11340 65 6e 74 75 61 6c 6c 79 20 70 61 73 73 20 61 6e entually pass an
11350 20 6f 70 74 69 6f 6e 61 6c 20 73 65 63 6f 6e 64 optional second
11360 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 3c 62 3e argument to <b>
11370 4d 61 6b 65 53 74 72 69 6e 67 4c 69 73 74 28 29 MakeStringList()
11380 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f </b> in order to
11390 20 64 65 66 69 6e 65 20 61 6e 20 61 6c 74 65 72 define an alter
113a0 6e 61 74 69 76 65 20 73 65 70 61 72 61 74 6f 72 native separator
113b0 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 different from
113c0 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 2e 0d 0a 3c <b>comma</b>...<
113d0 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 br><br>..<hr><br
113e0 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 >..<h1><a name="
113f0 69 73 6f 63 68 72 6f 6e 65 22 3e 36 20 2d 20 53 isochrone">6 - S
11400 6f 6c 76 69 6e 67 20 49 73 6f 63 68 72 6f 6e 65 olving Isochrone
11410 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 problems</a></h
11420 31 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 1>..<a href="htt
11430 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 ps://en.wikipedi
11440 61 2e 6f 72 67 2f 77 69 6b 69 2f 49 73 6f 63 68 a.org/wiki/Isoch
11450 72 6f 6e 65 5f 6d 61 70 22 3e 49 73 6f 63 68 72 rone_map">Isochr
11460 6f 6e 65 73 3c 2f 61 3e 20 61 72 65 20 61 72 65 ones</a> are are
11470 61 73 20 28 6f 72 20 63 75 72 76 65 73 29 20 63 as (or curves) c
11480 6f 6e 6e 65 63 74 69 6e 67 20 70 6f 69 6e 74 73 onnecting points
11490 20 61 74 20 77 68 69 63 68 20 73 6f 6d 65 74 68 at which someth
114a0 69 6e 67 20 6f 63 63 75 72 73 20 6f 72 20 61 72 ing occurs or ar
114b0 72 69 76 65 73 20 61 74 20 74 68 65 20 73 61 6d rives at the sam
114c0 65 20 74 69 6d 65 2e 3c 62 72 3e 0d 0a 49 73 6f e time.<br>..Iso
114d0 63 68 72 6f 6e 65 73 20 61 72 65 20 75 73 75 61 chrones are usua
114e0 6c 6c 79 20 72 65 6c 61 74 65 64 20 74 6f 20 4e lly related to N
114f0 65 74 77 6f 72 6b 20 41 6e 61 6c 79 73 69 73 20 etwork Analysis
11500 61 6e 64 20 52 6f 75 74 69 6e 67 20 62 65 63 61 and Routing beca
11510 75 73 65 20 74 68 65 79 20 61 6c 6c 6f 77 20 74 use they allow t
11520 6f 20 65 61 73 69 6c 79 20 69 64 65 6e 74 69 66 o easily identif
11530 79 20 77 68 69 63 68 20 73 70 65 63 69 66 69 63 y which specific
11540 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 portion of the
11550 4e 65 74 77 6f 72 6b 20 63 61 6e 20 62 65 20 72 Network can be r
11560 65 61 63 68 65 64 20 73 74 61 72 74 69 6e 67 20 eached starting
11570 62 79 20 73 6f 6d 65 20 3c 62 3e 6f 72 69 67 69 by some <b>origi
11580 6e 20 4e 6f 64 65 3c 2f 62 3e 20 73 70 65 6e 64 n Node</b> spend
11590 69 6e 67 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e ing no more than
115a0 20 61 20 67 69 76 65 6e 20 3c 62 3e 43 6f 73 74 a given <b>Cost
115b0 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 41 </b>.<br><br>..A
115c0 73 20 79 6f 75 20 68 61 76 65 20 61 6c 72 65 61 s you have alrea
115d0 64 79 20 73 65 65 6e 20 77 69 74 68 20 3c 62 3e dy seen with <b>
115e0 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f multi-destinatio
115f0 6e 3c 2f 62 3e 20 71 75 65 72 69 65 73 2c 20 74 n</b> queries, t
11600 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20 41 6c he Dijkstra's Al
11610 67 6f 72 69 74 68 6d 20 72 6f 62 75 73 74 6c 79 gorithm robustly
11620 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 77 68 ensures that wh
11630 65 6e 20 61 20 64 65 73 74 69 6e 61 74 69 6f 6e en a destination
11640 20 69 73 20 72 65 61 63 68 65 64 2c 20 61 6c 6c is reached, all
11650 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e the destination
11660 73 20 70 72 65 73 65 6e 74 69 6e 67 20 61 20 3c s presenting a <
11670 62 3e 6c 65 73 73 65 72 20 63 6f 73 74 3c 2f 62 b>lesser cost</b
11680 3e 20 68 61 76 65 20 61 6c 73 6f 20 62 65 65 6e > have also been
11690 20 63 6f 6c 6c 65 63 74 65 64 2e 3c 62 72 3e 0d collected.<br>.
116a0 0a 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 6f 20 .This allows to
116b0 65 66 66 69 63 69 65 6e 74 6c 79 20 73 75 70 70 efficiently supp
116c0 6f 72 74 20 3c 62 3e 49 73 6f 63 68 72 6f 6e 65 ort <b>Isochrone
116d0 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a 59 </b> queries...Y
116e0 6f 75 20 73 69 6d 70 6c 79 20 68 61 76 65 20 74 ou simply have t
116f0 6f 20 73 70 65 63 69 66 79 20 61 20 3c 62 3e 73 o specify a <b>s
11700 69 6e 67 6c 65 20 6f 72 69 67 69 6e 20 4e 6f 64 ingle origin Nod
11710 65 3c 2f 62 3e 20 61 6e 64 20 61 20 3c 62 3e 43 e</b> and a <b>C
11720 6f 73 74 20 74 68 72 65 73 68 6f 6c 64 3c 2f 62 ost threshold</b
11730 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e >.<br><br>..<u>N
11740 6f 74 65 3c 2f 75 3e 3a 20 65 78 65 63 75 74 69 ote</u>: executi
11750 6e 67 20 61 6e 20 49 73 6f 63 68 72 6f 6e 65 20 ng an Isochrone
11760 71 75 65 72 79 20 72 65 71 75 69 72 65 73 20 61 query requires a
11770 20 3c 62 3e 70 72 6f 63 65 73 73 69 6e 67 20 74 <b>processing t
11780 69 6d 65 3c 2f 62 3e 20 74 68 61 74 20 3c 62 3e ime</b> that <b>
11790 69 73 6e 27 74 3c 2f 62 3e 20 74 68 65 20 3c 75 isn't</b> the <u
117a0 3e 73 75 6d 20 6f 66 20 61 6c 6c 20 69 6e 64 69 >sum of all indi
117b0 76 69 64 75 61 6c 20 74 69 6d 69 6e 67 73 20 66 vidual timings f
117c0 6f 72 20 65 61 63 68 20 64 65 73 74 69 6e 61 74 or each destinat
117d0 69 6f 6e 3c 2f 75 3e 2c 20 62 75 74 20 73 69 6d ion</u>, but sim
117e0 70 6c 79 20 69 73 20 74 68 65 20 3c 75 3e 74 69 ply is the <u>ti
117f0 6d 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 me required to r
11800 65 61 63 68 20 74 68 65 20 6d 6f 73 74 20 63 6f each the most co
11810 73 74 6c 79 20 64 65 73 74 69 6e 61 74 69 6f 6e stly destination
11820 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 </u>.<br>..<verb
11830 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c atim>..SELECT Al
11840 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 gorithm, Request
11850 2c 20 52 6f 6c 65 2c 20 4e 6f 64 65 46 72 6f 6d , Role, NodeFrom
11860 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 , NodeTo, Cost,
11870 47 65 6f 6d 65 74 72 79 0d 0a 46 52 4f 4d 20 62 Geometry..FROM b
11880 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 yfoot..WHERE Nod
11890 65 46 72 6f 6d 20 3d 20 31 38 31 39 39 39 20 41 eFrom = 181999 A
118a0 4e 44 20 43 6f 73 74 20 3c 3d 20 31 30 30 30 2e ND Cost <= 1000.
118b0 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0;..</verbatim>.
118c0 0a 59 6f 75 20 63 61 6e 20 63 61 6c 6c 20 61 6e .You can call an
118d0 20 3c 62 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 62 <b>Isochrone</b
118e0 3e 20 71 75 65 72 79 20 61 73 20 73 75 70 70 6f > query as suppo
118f0 72 74 65 64 20 62 79 20 3c 62 3e 56 69 72 74 75 rted by <b>Virtu
11900 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 79 alRouting</b> by
11910 20 73 70 65 63 69 66 79 69 6e 67 3a 0d 0a 3c 75 specifying:..<u
11920 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64 65 46 l>..<li><b>NodeF
11930 72 6f 6d 3c 2f 62 3e 3a 20 74 68 65 20 3c 62 3e rom</b>: the <b>
11940 3c 69 3e 49 44 3c 2f 69 3e 3c 2f 62 3e 20 6f 72 <i>ID</i></b> or
11950 20 3c 62 3e 3c 69 3e 43 6f 64 65 3c 2f 69 3e 3c <b><i>Code</i><
11960 2f 62 3e 20 75 6e 69 71 75 65 6c 79 20 69 64 65 /b> uniquely ide
11970 6e 74 69 66 79 69 6e 67 20 74 68 65 20 3c 62 3e ntifying the <b>
11980 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 2e origin Node</b>.
11990 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 43 6f </li>..<li><b>Co
119a0 73 74 3c 2f 62 3e 3a 20 74 68 65 20 6d 61 78 69 st</b>: the maxi
119b0 6d 75 6d 20 3c 62 3e 43 6f 73 74 20 74 68 72 65 mum <b>Cost thre
119c0 73 68 6f 6c 64 3c 2f 62 3e 20 6e 6f 74 20 74 6f shold</b> not to
119d0 20 62 65 20 65 78 63 65 65 64 65 64 2e 3c 62 72 be exceeded.<br
119e0 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
119f0 61 6e 79 20 76 61 6c 69 64 20 49 73 6f 63 68 72 any valid Isochr
11a00 6f 6e 65 20 71 75 65 72 79 20 3c 62 3e 6d 75 73 one query <b>mus
11a10 74 3c 2f 62 3e 20 6e 65 63 65 73 73 61 72 69 6c t</b> necessaril
11a20 79 20 73 70 65 63 69 66 79 20 61 20 3c 62 3e 3c y specify a <b><
11a30 3d 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6c 65 73 =</b> (<u><i>les
11a40 73 65 72 20 74 68 61 6e 20 6f 72 20 65 71 75 61 ser than or equa
11a50 6c 20 74 6f 3c 2f 69 3e 3c 2f 75 3e 29 20 63 6f l to</i></u>) co
11a60 6d 70 61 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f mparison operato
11a70 72 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a r.</li>..</ul>..
11a80 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 <br>..The follow
11a90 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 ing table shows
11aa0 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 the resultset re
11ab0 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 turned by the ab
11ac0 6f 76 65 20 49 73 6f 63 68 72 6f 6e 65 20 71 75 ove Isochrone qu
11ad0 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a ery...<br><br>..
11ae0 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 <table border="1
11af0 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 " bgcolor="#ffff
11b00 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d cf" cellspacing=
11b10 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d "4" cellpadding=
11b20 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 "6">..<tr><th bg
11b30 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
11b40 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 Algorithm</th><t
11b50 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
11b60 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e a0">Request</th>
11b70 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
11b80 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c d0a0">Role</th><
11b90 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
11ba0 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 0a0">NodeFrom</t
11bb0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
11bc0 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f d0d0a0">NodeTo</
11bd0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
11be0 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 #d0d0a0">Cost</t
11bf0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
11c00 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 d0d0a0">Geometry
11c10 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </th></tr>..<tr>
11c20 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b ..<tr>..<td>Dijk
11c30 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 49 73 6f stra</td><td>Iso
11c40 63 68 72 6f 6e 65 3c 2f 74 64 3e 3c 74 64 3e 53 chrone</td><td>S
11c50 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 olution</td><td
11c60 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
11c70 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1999</td><td ali
11c80 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 31 gn="right">17871
11c90 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 7</td><td align=
11ca0 22 72 69 67 68 74 22 3e 35 37 32 2e 34 35 35 31 "right">572.4551
11cb0 34 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 43</td><td>BLOB
11cc0 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f sz=60 GEOMETRY</
11cd0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
11ce0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
11cf0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
11d00 53 6f 6c 75 74 69 6f 6e 3c 74 64 20 61 6c 69 67 Solution<td alig
11d10 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 n="right">181999
11d20 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
11d30 72 69 67 68 74 22 3e 31 37 38 37 31 38 3c 2f 74 right">178718</t
11d40 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
11d50 68 74 22 3e 35 38 37 2e 33 30 33 37 37 39 3c 2f ht">587.303779</
11d60 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 td><td>BLOB sz=6
11d70 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0 GEOMETRY</td>.
11d80 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
11d90 64 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 d align="center"
11da0 20 63 6f 6c 73 70 61 6e 3d 22 37 22 3e 2e 2e 2e colspan="7">...
11db0 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 3c 2f 74 64 3e 0d ..........</td>.
11dc0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
11dd0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
11de0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
11df0 6e 3d 22 72 69 67 68 74 22 3e 53 6f 6c 75 74 69 n="right">Soluti
11e00 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e on</td><td align
11e10 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c ="right">181999<
11e20 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
11e30 69 67 68 74 22 3e 31 38 34 30 33 35 3c 2f 74 64 ight">184035</td
11e40 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
11e50 74 22 3e 35 37 39 2e 37 38 36 37 32 34 3c 2f 74 t">579.786724</t
11e60 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 d><td>BLOB sz=60
11e70 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a GEOMETRY</td>..
11e80 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
11e90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
11ea0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 74 LL</td><td>Solut
11eb0 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ion</td><td alig
11ec0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 n="right">181999
11ed0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
11ee0 72 69 67 68 74 22 3e 31 38 34 30 33 36 3c 2f 74 right">184036</t
11ef0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
11f00 68 74 22 3e 36 34 32 2e 36 39 31 35 39 37 3c 2f ht">642.691597</
11f10 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 td><td>BLOB sz=6
11f20 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0 GEOMETRY</td>.
11f30 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e .</tr>..</table>
11f40 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 ..<br>..Let's qu
11f50 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 ickly examine th
11f60 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 e resultset retu
11f70 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 rned by the abov
11f80 65 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f e <b>isochrone</
11f90 62 3e 20 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d b> query...<ul>.
11fa0 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 .<li>the <b>firs
11fb0 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 t row</b> of the
11fc0 20 72 65 73 75 6c 74 73 65 74 20 69 73 20 73 6f resultset is so
11fd0 6d 65 77 61 79 20 65 78 63 65 70 74 69 6f 6e 61 meway exceptiona
11fe0 6c 2c 20 61 6e 64 20 69 73 20 74 68 65 20 6f 6e l, and is the on
11ff0 6c 79 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 ly row of the re
12000 73 75 6c 74 73 65 74 20 70 72 65 73 65 6e 74 69 sultset presenti
12010 6e 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f ng <b>NOT NULL</
12020 62 3e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 b> values in the
12030 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 <b>Algorithm</b
12040 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 >, <b>Request</b
12050 3e 2c 20 3c 2f 62 3e 4f 70 74 69 6f 6e 73 3c 2f >, </b>Options</
12060 62 3e 20 28 61 6e 64 20 3c 2f 62 3e 44 65 6c 69 b> (and </b>Deli
12070 6d 69 74 65 72 3c 2f 62 3e 29 20 63 6f 6c 75 6d miter</b>) colum
12080 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c ns.</li>..<li>al
12090 6c 20 72 6f 77 73 20 28 69 6e 63 6c 75 64 69 6e l rows (includin
120a0 67 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 29 g the first one)
120b0 20 68 61 76 65 20 3c 62 3e 52 6f 6c 65 20 3d 20 have <b>Role =
120c0 53 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20 61 6e Solution</b>, an
120d0 64 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 73 d represents a s
120e0 69 6e 67 6c 65 20 63 6f 6e 6e 65 63 74 69 6f 6e ingle connection
120f0 20 62 65 74 77 65 65 6e 20 3c 62 3e 4e 6f 64 65 between <b>Node
12100 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e From</b> and <b>
12110 4e 6f 64 65 54 6f 3c 2f 62 3e 2c 20 77 69 74 68 NodeTo</b>, with
12120 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 the correspondi
12130 6e 67 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 2e 3c ng <b>Cost</b>.<
12140 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 /li>..<li>the <b
12150 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f >Geometry</b> co
12160 6c 75 6d 6e 20 61 6c 77 61 79 73 20 63 6f 72 72 lumn always corr
12170 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c esponds to the <
12180 62 3e 32 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 77 b>2D Point</b> w
12190 68 65 72 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f here <b>NodeTo</
121a0 62 3e 20 69 73 20 6c 6f 63 61 74 65 64 2e 3c 2f b> is located.</
121b0 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e li>..</ul>..<br>
121c0 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 3c ..<u>Note</u>: <
121d0 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 b>isochrone</b>
121e0 71 75 65 72 69 65 73 20 61 72 65 20 6e 6f 74 20 queries are not
121f0 61 66 66 65 63 74 65 64 20 62 79 20 63 6f 6e 66 affected by conf
12200 69 67 75 72 61 62 6c 65 20 6f 70 74 69 6f 6e 73 igurable options
12210 2e 0d 0a 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c ...<b>Algorithm<
12220 2f 62 3e 20 77 69 6c 6c 20 62 65 20 61 6c 77 61 /b> will be alwa
12230 79 73 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 ys assumed to be
12240 20 3c 62 3e 44 69 6a 73 6b 74 72 61 3c 2f 62 3e <b>Dijsktra</b>
12250 2c 20 61 6e 64 20 74 68 65 20 63 75 72 72 65 6e , and the curren
12260 74 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e t <b>Options</b>
12270 20 73 65 74 74 69 6e 67 73 20 77 69 6c 6c 20 62 settings will b
12280 65 20 73 69 6d 70 6c 79 20 69 67 6e 6f 72 65 64 e simply ignored
12290 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 ...<verbatim>..S
122a0 45 4c 45 43 54 20 53 54 5f 43 6f 6e 63 61 76 65 ELECT ST_Concave
122b0 48 75 6c 6c 28 53 54 5f 43 6f 6c 6c 65 63 74 28 Hull(ST_Collect(
122c0 47 65 6f 6d 65 74 72 79 29 29 0d 0a 46 52 4f 4d Geometry))..FROM
122d0 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e byfoot..WHERE N
122e0 6f 64 65 46 72 6f 6d 20 3d 20 31 38 31 39 39 39 odeFrom = 181999
122f0 20 41 4e 44 20 43 6f 73 74 20 3c 3d 20 31 30 30 AND Cost <= 100
12300 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 0.0;..</verbatim
12310 3e 0d 0a 41 6e 79 20 69 73 6f 63 68 72 6f 6e 65 >..Any isochrone
12320 20 71 75 65 72 79 20 77 69 6c 6c 20 6a 75 73 74 query will just
12330 20 72 65 74 75 72 6e 20 61 20 50 6f 69 6e 74 2d return a Point-
12340 73 65 74 3b 20 69 66 20 79 6f 75 20 61 6c 73 6f set; if you also
12350 20 77 69 73 68 20 74 6f 20 6f 62 74 61 69 6e 20 wish to obtain
12360 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e the correspondin
12370 67 20 61 72 65 61 6c 20 72 65 70 72 65 73 65 6e g areal represen
12380 74 61 74 69 6f 6e 20 79 6f 75 20 6a 75 73 74 20 tation you just
12390 68 61 76 65 20 74 6f 20 63 61 6c 6c 20 3c 62 3e have to call <b>
123a0 53 54 5f 43 6f 6c 6c 65 63 74 28 29 3c 2f 62 3e ST_Collect()</b>
123b0 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 67 65 74 in order to get
123c0 20 61 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 4d 75 a monolithic Mu
123d0 6c 74 69 50 6f 69 6e 74 2c 20 74 68 65 6e 20 63 ltiPoint, then c
123e0 61 6c 6c 69 6e 67 20 3c 62 3e 53 54 5f 43 6f 6e alling <b>ST_Con
123f0 63 61 76 65 48 75 6c 6c 28 29 3c 2f 62 3e 20 69 caveHull()</b> i
12400 6e 20 6f 72 64 65 72 20 74 6f 20 67 65 74 20 61 n order to get a
12410 20 50 6f 6c 79 67 6f 6e 2e 0d 0a 3c 62 72 3e 3c Polygon...<br><
12420 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 br><br>..The map
12430 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 6c below graphical
12440 6c 79 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 ly shows the res
12450 75 6c 74 73 20 6f 66 20 74 68 65 20 70 72 65 76 ults of the prev
12460 69 6f 75 73 20 3c 62 3e 69 73 6f 63 68 72 6f 6e ious <b>isochron
12470 65 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a 3c 62 e</b> query...<b
12480 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 r><br>..<img src
12490 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 ="https://www.ga
124a0 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 ia-gis.it/gaia-s
124b0 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 ins/routing-figs
124c0 2f 69 73 6f 63 68 72 6f 6e 65 2e 6a 70 67 22 20 /isochrone.jpg"
124d0 61 6c 74 3d 22 69 73 6f 63 68 72 6f 6e 65 22 3e alt="isochrone">
124e0 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c ..<ul>..<li>Yell
124f0 6f 77 20 73 74 61 72 3a 20 74 68 65 20 4f 72 69 ow star: the Ori
12500 67 69 6e 20 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a gin Node.</li>..
12510 3c 6c 69 3e 42 6c 75 65 20 64 6f 74 73 3a 20 61 <li>Blue dots: a
12520 6c 6c 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 4e ll Destination N
12530 6f 64 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 odes within the
12540 67 69 76 65 6e 20 43 6f 73 74 2e 3c 2f 6c 69 3e given Cost.</li>
12550 0d 0a 3c 6c 69 3e 57 68 69 74 65 20 6c 69 6e 65 ..<li>White line
12560 3a 20 74 68 65 20 62 6f 75 6e 64 61 72 79 20 6f : the boundary o
12570 66 20 74 68 65 20 49 73 6f 63 68 72 6f 6e 65 2e f the Isochrone.
12580 20 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 ..<br><br>..<ta
12590 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 ble bgcolor="#c0
125a0 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e ffc0" cellspacin
125b0 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 g="10" cellpaddi
125c0 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d ng="6"><tr><td>.
125d0 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 3c 62 .<br><br>..<u><b
125e0 3e 4e 6f 74 65 3c 2f 62 3e 3c 2f 75 3e 3a 20 69 >Note</b></u>: i
125f0 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 79 n this example y
12600 6f 75 27 76 65 20 75 73 65 64 20 74 68 65 20 3c ou've used the <
12610 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 4e 65 74 b>byfoot</b> Net
12620 77 6f 72 6b 2c 20 74 68 61 74 20 69 73 20 62 61 work, that is ba
12630 73 65 64 20 6f 6e 20 3c 62 3e 43 6f 73 74 73 3c sed on <b>Costs<
12640 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e /b> expressed in
12650 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e 20 28 <b>meters</b> (
12660 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 geometric length
12670 20 6f 66 20 65 61 63 68 20 4c 69 6e 6b 29 2e 3c of each Link).<
12680 62 72 3e 0d 0a 54 68 69 73 20 4e 65 74 77 6f 72 br>..This Networ
12690 6b 20 69 73 20 6d 61 69 6e 6c 79 20 69 6e 74 65 k is mainly inte
126a0 6e 64 65 64 20 66 6f 72 20 3c 62 3e 70 65 64 65 nded for <b>pede
126b0 73 74 72 69 61 6e 73 3c 2f 62 3e 2c 20 73 6f 20 strians</b>, so
126c0 77 65 20 63 61 6e 20 73 61 66 65 6c 79 20 61 73 we can safely as
126d0 73 75 6d 65 20 61 20 3c 75 3e 3c 69 3e 63 6f 6e sume a <u><i>con
126e0 73 74 61 6e 74 20 73 70 65 65 64 3c 2f 69 3e 3c stant speed</i><
126f0 2f 75 3e 20 6f 66 20 61 62 6f 75 74 20 3c 62 3e /u> of about <b>
12700 34 3c 2f 62 3e 20 74 6f 20 3c 62 3e 36 20 6b 6d 4</b> to <b>6 km
12710 2f 68 3c 2f 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 /h</b>, and cons
12720 65 71 75 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e equently the <b>
12730 49 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 65 66 Isochrone</b> ef
12740 66 65 63 74 69 76 65 6c 79 20 72 65 73 70 65 63 fectively respec
12750 74 73 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6d ts the <u><i>sam
12760 65 20 74 69 6d 65 3c 2f 69 3e 3c 2f 75 3e 20 72 e time</i></u> r
12770 65 71 75 69 73 69 74 65 2e 3c 62 72 3e 3c 62 72 equisite.<br><br
12780 3e 0d 0a 53 70 65 61 6b 69 6e 67 20 69 6e 20 6d >..Speaking in m
12790 6f 72 65 20 67 65 6e 65 72 61 6c 20 74 65 72 6d ore general term
127a0 73 2c 20 61 6e 20 49 73 6f 63 68 72 6f 6e 65 20 s, an Isochrone
127b0 63 61 6e 20 62 65 20 69 6e 74 65 6e 64 65 64 20 can be intended
127c0 61 73 20 61 20 67 65 6e 65 72 69 63 20 73 79 6e as a generic syn
127d0 6f 6e 79 6d 20 66 6f 72 20 3c 75 3e 3c 69 3e 73 onym for <u><i>s
127e0 61 6d 65 20 43 6f 73 74 3c 2f 69 3e 3c 2f 75 3e ame Cost</i></u>
127f0 2c 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 72 , even when ther
12800 65 20 69 73 20 6e 6f 20 6f 62 76 69 6f 75 73 20 e is no obvious
12810 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 connection with
12820 3c 62 3e 54 69 6d 65 2e 3c 2f 62 3e 2e 3c 62 72 <b>Time.</b>.<br
12830 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 ><br>..</td></tr
12840 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 68 72 3e 3c ></table>..<hr><
12850 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 br>..<h1><a name
12860 3d 22 74 73 70 22 3e 37 20 2d 20 53 6f 6c 76 69 ="tsp">7 - Solvi
12870 6e 67 20 54 53 50 20 28 74 72 61 76 65 6c 69 6e ng TSP (travelin
12880 67 20 73 61 6c 65 73 6d 61 6e 29 20 70 72 6f 62 g salesman) prob
12890 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 3c lems</a></h1>..<
128a0 62 3e 54 53 50 3c 2f 62 3e 20 28 3c 61 20 68 72 b>TSP</b> (<a hr
128b0 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 ef="https://en.w
128c0 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b ikipedia.org/wik
128d0 69 2f 54 72 61 76 65 6c 6c 69 6e 67 5f 73 61 6c i/Travelling_sal
128e0 65 73 6d 61 6e 5f 70 72 6f 62 6c 65 6d 22 3e 54 esman_problem">T
128f0 72 61 76 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61 raveling Salesma
12900 6e 20 50 72 6f 62 6c 65 6d 3c 2f 61 3e 29 20 69 n Problem</a>) i
12910 73 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 4f s a well known O
12920 70 65 72 61 74 69 6f 6e 73 20 52 65 73 65 61 72 perations Resear
12930 63 68 20 70 72 6f 62 6c 65 6d 2e 0d 0a 3c 62 72 ch problem...<br
12940 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 ><br>..<table bg
12950 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 color="#c0ffc0"
12960 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 cellspacing="10"
12970 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
12980 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 54 ><tr><td>..<h3>T
12990 68 65 20 54 72 61 76 65 6c 69 6e 67 20 53 61 6c he Traveling Sal
129a0 65 73 6d 61 6e 20 50 72 6f 62 6c 65 6d 3c 2f 68 esman Problem</h
129b0 33 3e 0d 0a 3c 62 3e 3c 69 3e 47 69 76 65 6e 20 3>..<b><i>Given
129c0 61 20 6c 69 73 74 20 6f 66 20 63 69 74 69 65 73 a list of cities
129d0 20 61 6e 64 20 74 68 65 20 64 69 73 74 61 6e 63 and the distanc
129e0 65 73 20 62 65 74 77 65 65 6e 20 65 61 63 68 20 es between each
129f0 70 61 69 72 20 6f 66 20 63 69 74 69 65 73 2c 20 pair of cities,
12a00 77 68 61 74 20 69 73 20 74 68 65 20 73 68 6f 72 what is the shor
12a10 74 65 73 74 20 70 6f 73 73 69 62 6c 65 20 72 6f test possible ro
12a20 75 74 65 20 74 68 61 74 20 76 69 73 69 74 73 20 ute that visits
12a30 65 61 63 68 20 63 69 74 79 20 61 6e 64 20 72 65 each city and re
12a40 74 75 72 6e 73 20 74 6f 20 74 68 65 20 6f 72 69 turns to the ori
12a50 67 69 6e 20 63 69 74 79 20 3f 3c 2f 69 3e 3c 2f gin city ?</i></
12a60 62 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f b>..<br><br>..</
12a70 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e td></tr></table>
12a80 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3a ..<br>..<u>Note:
12a90 3c 2f 75 3e 20 74 68 65 20 74 65 72 6d 73 20 3c </u> the terms <
12aa0 69 3e 3c 75 3e 73 61 6c 65 73 6d 61 6e 3c 2f 75 i><u>salesman</u
12ab0 3e 3c 2f 69 3e 20 61 6e 64 20 3c 69 3e 3c 75 3e ></i> and <i><u>
12ac0 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20 61 72 65 city</u></i> are
12ad0 20 75 6e 69 76 65 72 73 61 6c 6c 79 20 75 73 65 universally use
12ae0 64 20 66 6f 72 20 68 69 73 74 6f 72 69 63 61 6c d for historical
12af0 20 72 65 61 73 6f 6e 73 2c 20 73 6f 20 79 6f 75 reasons, so you
12b00 20 73 68 6f 75 6c 64 20 61 76 6f 69 64 20 74 61 should avoid ta
12b10 6b 69 6e 67 20 74 68 65 6d 20 6c 69 74 65 72 61 king them litera
12b20 6c 6c 79 20 61 6e 64 20 74 61 6b 65 20 74 68 65 lly and take the
12b30 6d 20 69 6e 20 63 6f 6e 74 65 78 74 2e 3c 62 72 m in context.<br
12b40 3e 0d 0a 54 68 65 20 74 65 72 6d 20 3c 75 3e 3c >..The term <u><
12b50 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f i>salesman</i></
12b60 75 3e 20 69 6e 20 74 68 69 73 20 73 70 65 63 69 u> in this speci
12b70 66 69 63 20 63 6f 6e 74 65 78 74 20 69 6e 74 65 fic context inte
12b80 6e 64 73 20 61 6e 79 20 70 6f 73 73 69 62 6c 65 nds any possible
12b90 20 6b 69 6e 64 20 6f 66 20 3c 75 3e 3c 69 3e 6d kind of <u><i>m
12ba0 6f 76 69 6e 67 20 61 67 65 6e 74 3c 2f 69 3e 3c oving agent</i><
12bb0 2f 75 3e 20 28 70 65 64 65 73 74 72 69 61 6e 2c /u> (pedestrian,
12bc0 20 76 65 68 69 63 6c 65 2c 20 70 61 73 73 65 6e vehicle, passen
12bd0 67 65 72 20 6f 72 20 77 68 61 74 65 76 65 72 20 ger or whatever
12be0 65 6c 73 65 29 2c 20 65 78 61 63 74 6c 79 20 61 else), exactly a
12bf0 73 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e s <i><u>city</u>
12c00 3c 2f 69 3e 20 73 69 6d 70 6c 79 20 73 74 61 6e </i> simply stan
12c10 64 73 20 66 6f 72 20 61 6e 79 20 3c 69 3e 3c 75 ds for any <i><u
12c20 3e 67 65 6e 65 72 69 63 20 64 65 73 74 69 6e 61 >generic destina
12c30 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 6f 6e 20 tion</u></i> on
12c40 61 20 67 69 76 65 6e 20 4e 65 74 77 6f 72 6b 2e a given Network.
12c50 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 57 65 20 63 ..<br><br>..We c
12c60 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 79 20 73 an conceptualy s
12c70 70 6c 69 74 20 54 50 53 20 69 6e 20 74 77 6f 20 plit TPS in two
12c80 68 61 6c 76 65 73 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c halves:..<ol>..<
12c90 6c 69 3e 63 6f 6d 70 75 74 69 6e 67 20 61 6c 6c li>computing all
12ca0 20 64 69 73 74 61 6e 63 65 73 20 62 65 74 77 65 distances betwe
12cb0 65 6e 20 70 61 69 72 73 20 6f 66 20 3c 69 3e 63 en pairs of <i>c
12cc0 69 74 69 65 73 3c 2f 69 3e 2e 20 54 68 69 73 20 ities</i>. This
12cd0 69 73 20 61 20 74 79 70 69 63 61 6c 20 3c 62 3e is a typical <b>
12ce0 53 68 6f 72 74 65 73 74 50 61 74 68 3c 2f 62 3e ShortestPath</b>
12cf0 20 70 72 6f 62 6c 65 6d 2c 20 61 6e 64 20 77 65 problem, and we
12d00 20 63 61 6e 20 64 75 6c 79 20 75 73 65 20 74 68 can duly use th
12d10 65 20 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 e Dijkstra's alg
12d20 6f 72 69 74 68 6d 20 66 6f 72 20 74 68 69 73 2e orithm for this.
12d30 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 </li>..<li>then
12d40 77 65 20 68 61 76 65 20 74 6f 20 63 68 65 63 6b we have to check
12d50 20 66 6f 72 20 61 6c 6c 20 70 6f 73 73 69 62 6c for all possibl
12d60 65 20 3c 62 3e 70 65 72 6d 75 74 61 74 69 6f 6e e <b>permutation
12d70 73 3c 2f 62 3e 20 2f 20 3c 62 3e 63 6f 6d 62 69 s</b> / <b>combi
12d80 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 74 6f 20 69 nations</b> to i
12d90 64 65 6e 74 69 66 79 20 74 68 65 20 6f 70 74 69 dentify the opti
12da0 6d 61 6c 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e mal TSP solution
12db0 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 55 .</li>..</ol>..U
12dc0 6e 68 61 70 70 69 6c 79 20 74 68 65 72 65 20 69 nhappily there i
12dd0 73 20 61 20 70 72 61 63 74 69 63 61 6c 20 64 69 s a practical di
12de0 66 66 69 63 75 6c 74 79 20 69 6e 20 73 75 63 68 fficulty in such
12df0 20 61 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 a straightforwa
12e00 72 64 20 61 70 70 72 6f 61 63 68 3b 20 74 68 65 rd approach; the
12e10 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6d 62 69 number of combi
12e20 6e 61 74 69 6f 6e 73 20 77 69 6c 6c 20 67 72 6f nations will gro
12e30 77 20 65 78 74 72 65 6d 65 6c 79 20 66 61 73 74 w extremely fast
12e40 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f as the number o
12e50 66 20 3c 62 3e 3c 69 3e 63 69 74 69 65 73 3c 2f f <b><i>cities</
12e60 69 3e 3c 2f 62 3e 20 69 6e 63 72 65 61 73 65 73 i></b> increases
12e70 2e 3c 62 72 3e 0d 0a 53 69 6d 70 6c 79 20 63 6f .<br>..Simply co
12e80 6d 70 75 74 69 6e 67 20 74 68 65 20 63 6f 6d 70 mputing the comp
12e90 6c 65 74 65 20 54 53 50 20 73 6f 6c 75 74 69 6f lete TSP solutio
12ea0 6e 20 66 6f 72 20 61 62 6f 75 74 20 74 65 6e 20 n for about ten
12eb0 63 69 74 69 65 73 20 77 69 6c 6c 20 72 65 71 75 cities will requ
12ec0 69 72 65 20 61 20 3c 62 3e 76 65 72 79 20 6c 6f ire a <b>very lo
12ed0 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 65 76 65 6e ng time</b> even
12ee0 20 75 73 69 6e 67 20 61 20 73 75 70 65 72 63 6f using a superco
12ef0 6d 70 75 74 65 72 2e 3c 62 72 3e 0d 0a 41 6e 64 mputer.<br>..And
12f00 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 attempting to c
12f10 6f 6d 70 75 74 65 20 61 20 54 53 50 20 73 6f 6c ompute a TSP sol
12f20 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20 ution for about
12f30 68 75 6e 64 72 65 64 20 63 69 74 69 65 73 20 77 hundred cities w
12f40 69 6c 6c 20 72 65 71 75 69 72 65 20 61 20 3c 62 ill require a <b
12f50 3e 70 72 61 63 74 69 63 61 6c 6c 79 20 69 6e 66 >practically inf
12f60 69 6e 69 74 65 3c 2f 62 3e 20 74 69 6d 65 2e 0d inite</b> time..
12f70 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 65 76 65 72 .<br><br>..Never
12f80 74 68 65 6c 65 73 73 2c 20 73 6f 6c 76 69 6e 67 theless, solving
12f90 20 54 53 50 20 69 73 20 68 69 67 68 6c 79 20 64 TSP is highly d
12fa0 65 73 69 72 61 62 6c 65 20 66 6f 72 20 6d 61 6e esirable for man
12fb0 79 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 66 69 y application fi
12fc0 65 6c 64 73 3a 20 3c 62 3e 6c 6f 67 69 73 74 69 elds: <b>logisti
12fd0 63 73 3c 2f 62 3e 20 28 6a 75 73 74 20 74 68 69 cs</b> (just thi
12fe0 6e 6b 20 61 62 6f 75 74 20 63 6f 75 72 69 65 72 nk about courier
12ff0 20 63 6f 6d 70 61 6e 69 65 73 20 61 73 20 44 48 companies as DH
13000 4c 2c 20 46 65 64 45 58 2c 20 55 50 53 20 6f 72 L, FedEX, UPS or
13010 20 54 4e 54 29 2c 20 3c 62 3e 66 69 65 6c 64 20 TNT), <b>field
13020 6d 61 69 6e 74 65 6e 61 6e 63 65 3c 2f 62 3e 20 maintenance</b>
13030 2f 20 3c 62 3e 61 73 73 69 73 74 61 6e 63 65 3c / <b>assistance<
13040 2f 62 3e 2c 20 3c 62 3e 77 61 73 74 65 20 63 6f /b>, <b>waste co
13050 6c 6c 65 63 74 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 llection</b>, <b
13060 3e 73 63 68 6f 6f 6c 62 75 73 3c 2f 62 3e 20 2f >schoolbus</b> /
13070 20 3c 62 3e 73 68 61 72 65 64 20 74 61 78 69 20 <b>shared taxi
13080 73 65 72 76 69 63 65 73 3c 2f 62 3e 20 65 74 63 services</b> etc
13090 2e 3c 62 72 3e 0d 0a 4d 61 6e 79 20 61 6c 67 6f .<br>..Many algo
130a0 72 69 74 68 6d 73 20 68 61 76 65 20 62 65 65 6e rithms have been
130b0 20 69 6e 76 65 6e 74 65 64 20 64 75 72 69 6e 67 invented during
130c0 20 6c 61 73 74 20 64 65 63 61 64 65 73 20 69 6e last decades in
130d0 74 65 6e 64 65 64 20 74 6f 20 70 72 6f 64 75 63 tended to produc
130e0 65 20 70 72 61 63 74 69 63 61 6c 2c 20 61 6c 74 e practical, alt
130f0 68 6f 75 67 68 20 61 70 70 72 6f 78 69 6d 61 74 hough approximat
13100 65 20 2f 20 69 6d 70 65 72 66 65 63 74 2c 20 54 e / imperfect, T
13110 53 50 20 73 6f 6c 75 74 69 6f 6e 73 20 69 6e 20 SP solutions in
13120 61 20 72 65 61 73 6f 6e 61 62 6c 79 20 73 68 6f a reasonably sho
13130 72 74 20 74 69 6d 65 2e 0d 0a 4d 61 6e 79 20 6f rt time...Many o
13140 66 20 74 68 65 6d 20 73 74 72 6f 6e 67 6c 79 20 f them strongly
13150 64 65 70 65 6e 64 20 6f 6e 20 3c 61 20 68 72 65 depend on <a hre
13160 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 f="https://en.wi
13170 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 kipedia.org/wiki
13180 2f 48 65 75 72 69 73 74 69 63 22 3e 68 65 75 72 /Heuristic">heur
13190 69 73 74 69 63 3c 2f 61 3e 20 61 6e 64 20 2f 20 istic</a> and /
131a0 6f 72 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 or <a href="http
131b0 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 s://en.wikipedia
131c0 2e 6f 72 67 2f 77 69 6b 69 2f 52 61 6e 64 6f 6d .org/wiki/Random
131d0 6e 65 73 73 22 3e 72 61 6e 64 6f 6d 6e 65 73 73 ness">randomness
131e0 3c 2f 61 3e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d </a>...<br><br>.
131f0 0a 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 .<b>VirtualRouti
13200 6e 67 3c 2f 62 3e 20 73 75 70 70 6f 72 74 73 20 ng</b> supports
13210 74 77 6f 20 64 69 66 66 65 72 65 6e 74 20 54 53 two different TS
13220 50 20 61 6c 67 6f 72 69 74 68 6d 73 3a 0d 0a 3c P algorithms:..<
13230 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 53 50 20 ul>..<li><b>TSP
13240 4e 4e 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f NN</b> (<i>aka</
13250 69 3e 20 3c 62 3e 3c 69 3e 4e 65 61 72 65 73 74 i> <b><i>Nearest
13260 20 4e 65 69 67 68 62 6f 75 72 3c 2f 69 3e 3c 2f Neighbour</i></
13270 62 3e 29 3c 62 72 3e 0d 0a 54 68 69 73 20 3c 61 b>)<br>..This <a
13280 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 href="https://e
13290 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f n.wikipedia.org/
132a0 77 69 6b 69 2f 4e 65 61 72 65 73 74 5f 6e 65 69 wiki/Nearest_nei
132b0 67 68 62 6f 75 72 5f 61 6c 67 6f 72 69 74 68 6d ghbour_algorithm
132c0 22 3e 66 69 72 73 74 20 61 6c 67 6f 72 69 74 68 ">first algorith
132d0 6d 3c 2f 61 3e 20 69 73 20 73 74 72 61 69 67 68 m</a> is straigh
132e0 74 66 6f 72 77 61 72 64 2c 20 73 69 6d 70 6c 65 tforward, simple
132f0 20 61 6e 64 20 76 65 72 79 20 66 61 73 74 3b 20 and very fast;
13300 69 74 20 63 61 6e 20 65 66 66 65 63 74 69 76 65 it can effective
13310 6c 79 20 73 6f 6c 76 65 20 68 75 67 65 20 54 53 ly solve huge TS
13320 50 20 73 6f 6c 75 74 69 6f 6e 73 20 28 61 20 74 P solutions (a t
13330 68 6f 75 73 61 6e 64 20 3c 69 3e 63 69 74 69 65 housand <i>citie
13340 73 3c 2f 69 3e 20 6f 72 20 65 76 65 6e 20 6d 6f s</i> or even mo
13350 72 65 29 20 69 6e 20 61 20 76 65 72 79 20 73 68 re) in a very sh
13360 6f 72 74 20 74 69 6d 65 2e 3c 62 72 3e 0d 0a 3c ort time.<br>..<
13370 75 3e 53 68 6f 72 74 20 64 65 73 63 72 69 70 74 u>Short descript
13380 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d 0a ion</u>:..<ul>..
13390 3c 6c 69 3e 73 74 61 72 74 69 6e 67 20 66 72 6f <li>starting fro
133a0 6d 20 74 68 65 20 3c 75 3e 3c 69 3e 62 61 73 65 m the <u><i>base
133b0 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 74 68 city</i></u> th
133c0 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e e <u><i>salesman
133d0 3c 2f 69 3e 3c 2f 75 3e 20 67 6f 65 73 20 74 6f </i></u> goes to
133e0 20 74 68 65 20 3c 75 3e 3c 69 3e 63 69 74 79 3c the <u><i>city<
133f0 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e 74 69 /i></u> presenti
13400 6e 67 20 74 68 65 20 3c 69 3e 3c 75 3e 6c 65 73 ng the <i><u>les
13410 73 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 ser connection c
13420 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 ost</u></i>.</li
13430 3e 0d 0a 3c 6c 69 3e 74 68 65 20 61 6c 72 65 61 >..<li>the alrea
13440 64 79 20 76 69 73 69 74 65 64 20 3c 69 3e 3c 75 dy visited <i><u
13450 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20 69 73 >city</u></i> is
13460 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 removed from th
13470 65 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 6e e list, and then
13480 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 the <u><i>sales
13490 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67 6f 65 73 man</i></u> goes
134a0 20 74 6f 20 74 68 65 20 6e 65 78 74 20 3c 75 3e to the next <u>
134b0 3c 69 3e 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 <i>city</i></u>
134c0 70 72 65 73 65 6e 74 69 6e 67 2c 20 61 67 61 69 presenting, agai
134d0 6e 2c 20 74 68 65 20 6e 65 78 74 20 3c 69 3e 3c n, the next <i><
134e0 75 3e 6c 65 73 73 65 72 20 63 6f 6e 6e 65 63 74 u>lesser connect
134f0 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e ion cost</u></i>
13500 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 .</li>..<li>the
13510 63 79 63 6c 65 20 63 6f 6e 74 69 6e 75 65 73 20 cycle continues
13520 75 6e 74 69 6c 20 61 6c 6c 20 20 3c 69 3e 3c 75 until all <i><u
13530 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 >cities</u></i>
13540 69 6e 20 74 68 65 20 6c 69 73 74 20 68 61 76 65 in the list have
13550 20 62 65 65 6e 20 76 69 73 69 74 65 64 2e 3c 2f been visited.</
13560 6c 69 3e 0d 0a 3c 6c 69 3e 66 69 6e 61 6c 6c 79 li>..<li>finally
13570 2c 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 , the <u><i>sale
13580 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 72 65 74 sman</i></u> ret
13590 75 72 6e 73 20 74 6f 20 68 69 73 2f 68 65 72 20 urns to his/her
135a0 69 6e 69 74 69 61 6c 20 3c 75 3e 3c 69 3e 62 61 initial <u><i>ba
135b0 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 3c se city</i></u><
135c0 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 75 3e /li>..</ul>..<u>
135d0 4e 6f 74 65 3c 2f 75 3e 20 69 74 27 73 20 76 65 Note</u> it's ve
135e0 72 79 20 75 6e 6c 69 6b 65 6c 79 20 74 68 61 74 ry unlikely that
135f0 20 54 53 50 20 4e 4e 20 77 69 6c 6c 20 66 69 6e TSP NN will fin
13600 64 20 74 68 65 20 3c 62 3e 6f 70 74 69 6d 61 6c d the <b>optimal
13610 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 2c 20 62 </b> solution, b
13620 75 74 20 69 74 20 63 61 6e 20 71 75 69 63 6b 6c ut it can quickl
13630 79 20 66 69 6e 64 20 73 6f 6d 65 20 72 65 61 73 y find some reas
13640 6f 6e 61 62 6c 65 20 3c 62 3e 61 70 70 72 6f 78 onable <b>approx
13650 69 6d 61 74 65 3c 2f 62 3e 20 73 6f 6c 75 74 69 imate</b> soluti
13660 6f 6e 20 28 3c 69 3e 66 65 77 20 69 73 20 73 75 on (<i>few is su
13670 72 65 6c 79 20 62 65 74 74 65 72 20 74 68 61 6e rely better than
13680 20 6e 6f 74 68 69 6e 67 3c 2f 69 3e 29 2e 3c 62 nothing</i>).<b
13690 72 3e 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 r>..In the most
136a0 75 6e 6c 75 63 6b 79 20 63 61 73 65 20 54 53 50 unlucky case TSP
136b0 20 4e 4e 20 63 6f 75 6c 64 20 70 6f 73 73 69 62 NN could possib
136c0 6c 79 20 72 65 74 75 72 6e 20 74 68 65 20 3c 62 ly return the <b
136d0 3e 77 6f 72 73 74 20 70 6f 73 73 69 62 6c 65 20 >worst possible
136e0 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20 62 75 solution</b>, bu
136f0 74 20 74 68 65 20 73 70 65 63 69 66 69 63 20 69 t the specific i
13700 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 64 mplementation ad
13710 6f 70 74 65 64 20 62 79 20 56 69 72 74 75 61 6c opted by Virtual
13720 52 6f 75 74 69 6e 67 20 63 68 65 63 6b 73 20 61 Routing checks a
13730 67 61 69 6e 73 74 20 74 68 69 73 20 70 6f 73 73 gainst this poss
13740 69 62 69 6c 69 74 79 3a 0d 0a 3c 75 6c 3e 0d 0a ibility:..<ul>..
13750 3c 6c 69 3e 65 61 63 68 20 54 53 50 20 4e 4e 20 <li>each TSP NN
13760 69 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 75 74 is always comput
13770 65 64 20 74 77 69 63 65 20 62 79 20 72 61 6e 64 ed twice by rand
13780 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67 20 61 20 omly choosing a
13790 64 69 66 66 65 72 65 6e 74 20 3c 75 3e 3c 69 3e different <u><i>
137a0 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 base city</i></u
137b0 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 > and then norma
137c0 6c 69 7a 69 6e 67 20 74 68 65 20 73 6f 6c 75 74 lizing the solut
137d0 69 6f 6e 3b 20 74 68 65 20 62 65 73 74 20 6f 66 ion; the best of
137e0 20 74 68 65 20 74 77 6f 20 73 6f 6c 75 74 69 6f the two solutio
137f0 6e 73 20 69 73 20 74 68 65 6e 20 72 65 74 75 72 ns is then retur
13800 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 ned.</li>..<li>t
13810 68 69 73 20 73 69 6d 70 6c 65 2c 20 62 75 74 20 his simple, but
13820 65 66 66 65 63 74 69 76 65 2c 20 70 72 65 63 61 effective, preca
13830 75 74 69 6f 6e 20 65 6e 73 75 72 65 73 20 74 68 ution ensures th
13840 61 74 20 74 68 65 20 3c 62 3e 77 6f 72 73 74 20 at the <b>worst
13850 70 6f 73 73 69 62 6c 65 20 73 6f 6c 75 74 69 6f possible solutio
13860 6e 3c 2f 62 3e 20 77 69 6c 6c 20 6e 65 76 65 72 n</b> will never
13870 20 62 65 20 72 65 74 75 72 6e 65 64 2c 20 77 69 be returned, wi
13880 74 68 20 61 20 6d 6f 64 65 72 61 74 65 6c 79 20 th a moderately
13890 69 6e 63 72 65 61 73 65 64 20 65 78 65 63 75 74 increased execut
138a0 69 6f 6e 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a ion time.</li>..
138b0 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </ul></li>..<li>
138c0 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 28 3c <b>TSP GA</b> (<
138d0 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c 69 3e i>aka</i> <b><i>
138e0 47 65 6e 65 74 69 63 20 41 6c 67 6f 72 69 74 68 Genetic Algorith
138f0 6d 3c 2f 69 3e 3c 2f 62 3e 29 2e 3c 62 72 3e 0d m</i></b>).<br>.
13900 0a 54 68 69 73 20 3c 61 20 68 72 65 66 3d 22 68 .This <a href="h
13910 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 ttps://en.wikipe
13920 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 47 65 6e dia.org/wiki/Gen
13930 65 74 69 63 5f 61 6c 67 6f 72 69 74 68 6d 22 3e etic_algorithm">
13940 61 6c 74 65 72 6e 61 74 69 76 65 20 61 6c 67 6f alternative algo
13950 72 69 74 68 6d 3c 2f 61 3e 20 69 73 20 6d 75 63 rithm</a> is muc
13960 68 20 6d 6f 72 65 20 63 6f 6d 70 6c 65 78 20 61 h more complex a
13970 6e 64 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 nd sophisticated
13980 2c 20 61 6e 64 20 69 73 20 64 69 72 65 63 74 6c , and is directl
13990 79 20 69 6e 73 70 69 72 65 64 20 62 79 20 62 69 y inspired by bi
139a0 6f 6c 6f 67 69 63 61 6c 20 63 6f 6e 63 65 70 74 ological concept
139b0 73 20 73 75 63 68 20 61 73 20 3c 62 3e 73 65 78 s such as <b>sex
139c0 75 61 6c 20 72 65 70 72 6f 64 75 63 74 69 6f 6e ual reproduction
139d0 3c 2f 62 3e 2c 20 3c 62 3e 67 65 6e 65 74 69 63 </b>, <b>genetic
139e0 20 6d 75 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 61 mutations</b> a
139f0 6e 64 20 3c 62 3e 6e 61 74 75 72 61 6c 20 73 65 nd <b>natural se
13a00 6c 65 63 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e lection</b>.<br>
13a10 0d 0a 3c 75 3e 53 68 6f 72 74 20 64 65 73 63 72 ..<u>Short descr
13a20 69 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c iption</u>:..<ul
13a30 3e 0d 0a 3c 6c 69 3e 61 20 66 69 72 73 74 20 69 >..<li>a first i
13a40 6e 69 74 69 61 6c 20 73 65 74 20 6f 66 20 73 6f nitial set of so
13a50 6c 75 74 69 6f 6e 73 20 28 3c 69 3e 3c 75 3e 74 lutions (<i><u>t
13a60 68 65 20 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f 75 he population</u
13a70 3e 3c 2f 69 3e 29 20 69 73 20 63 72 65 61 74 65 ></i>) is create
13a80 64 20 62 79 20 75 73 69 6e 67 20 54 53 50 20 4e d by using TSP N
13a90 4e 20 61 66 74 65 72 20 72 61 6e 64 6f 6d 6c 79 N after randomly
13aa0 20 63 68 6f 6f 73 69 6e 67 20 74 68 65 20 3c 75 choosing the <u
13ab0 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 ><i>base city</i
13ac0 3e 3c 2f 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e ></u> and then n
13ad0 6f 72 6d 61 6c 69 7a 69 6e 67 20 65 61 63 68 20 ormalizing each
13ae0 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a solution.</li>..
13af0 3c 6c 69 3e 74 68 65 6e 20 64 75 72 69 6e 67 20 <li>then during
13b00 65 61 63 68 20 73 74 65 70 20 6f 66 20 74 68 65 each step of the
13b10 20 65 78 65 63 75 74 69 6f 6e 20 6c 6f 6f 70 20 execution loop
13b20 28 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f (<i><u>generatio
13b30 6e 3c 2f 75 3e 3c 2f 69 3e 29 20 70 61 69 72 73 n</u></i>) pairs
13b40 20 6f 66 20 73 6f 6c 75 74 69 6f 6e 73 20 3c 69 of solutions <i
13b50 3e 3c 75 3e 73 65 78 75 61 6c 6c 79 20 72 65 70 ><u>sexually rep
13b60 72 6f 64 75 63 65 3c 2f 69 3e 3c 2f 75 3e 20 67 roduce</i></u> g
13b70 69 76 69 6e 67 20 62 69 72 74 68 20 74 6f 20 3c iving birth to <
13b80 75 3e 3c 69 3e 63 68 69 6c 64 72 65 6e 20 73 6f u><i>children so
13b90 6c 75 74 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 3b lutions</i></u>;
13ba0 20 72 65 70 72 6f 64 75 63 74 69 6f 6e 20 69 73 reproduction is
13bb0 20 73 75 62 6a 65 63 74 20 74 6f 20 3c 75 3e 3c subject to <u><
13bc0 69 3e 63 68 72 6f 6d 6f 73 6f 6d 65 20 63 72 6f i>chromosome cro
13bd0 73 73 6f 76 65 72 73 3c 2f 69 3e 3c 2f 75 3e 20 ssovers</i></u>
13be0 61 6e 64 20 3c 69 3e 3c 75 3e 72 61 6e 64 6f 6d and <i><u>random
13bf0 20 6d 75 74 61 74 69 6f 6e 73 3c 2f 75 3e 3c 2f mutations</u></
13c00 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 66 6f i>.</li>..<li>fo
13c10 72 20 65 61 63 68 20 3c 69 3e 3c 75 3e 67 65 6e r each <i><u>gen
13c20 65 72 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 eration</u></i>
13c30 61 20 3c 69 3e 3c 75 3e 6e 61 74 75 72 61 6c 20 a <i><u>natural
13c40 73 65 6c 65 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 selection</u></i
13c50 3e 20 28 3c 69 3e 61 6b 61 20 3c 75 3e 65 6c 69 > (<i>aka <u>eli
13c60 74 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 3c 2f tist selection</
13c70 75 3e 3c 2f 69 3e 29 20 70 72 6f 63 65 73 73 20 u></i>) process
13c80 65 6e 73 75 72 65 73 20 74 68 61 74 20 6f 6e 6c ensures that onl
13c90 79 20 74 68 65 20 3c 69 3e 3c 75 3e 62 65 73 74 y the <i><u>best
13ca0 20 66 69 74 3c 2f 75 3e 3c 2f 69 3e 20 73 6f 6c fit</u></i> sol
13cb0 75 74 69 6f 6e 73 20 63 61 6e 20 66 75 72 74 68 utions can furth
13cc0 65 72 20 70 72 6f 70 61 67 61 74 65 20 74 68 65 er propagate the
13cd0 69 72 20 3c 75 3e 3c 69 3e 67 65 6e 65 73 3c 2f ir <u><i>genes</
13ce0 69 3e 3c 2f 75 3e 20 74 6f 20 74 68 65 20 6e 65 i></u> to the ne
13cf0 78 74 20 3c 75 3e 3c 69 3e 67 65 6e 65 72 61 74 xt <u><i>generat
13d00 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c 2f 6c 69 ion</i></u>.</li
13d10 3e 0d 0a 3c 6c 69 3e 61 66 74 65 72 20 61 20 63 >..<li>after a c
13d20 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 20 6f 66 ertain number of
13d30 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f <i><u>generatio
13d40 6e 73 3c 2f 69 3e 3c 2f 75 3e 20 28 6c 65 74 27 ns</i></u> (let'
13d50 73 20 73 61 79 20 61 62 6f 75 74 20 73 6f 6d 65 s say about some
13d60 20 68 75 6e 64 72 65 64 74 68 20 69 74 65 72 61 hundredth itera
13d70 74 69 6f 6e 73 29 20 74 68 65 20 3c 62 3e 6f 70 tions) the <b>op
13d80 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f timal solution</
13d90 62 3e 20 28 6f 72 20 61 74 20 6c 65 61 73 74 20 b> (or at least
13da0 61 20 3c 62 3e 66 61 69 72 6c 79 20 67 6f 6f 64 a <b>fairly good
13db0 20 73 75 62 2d 6f 70 74 69 6d 61 6c 20 73 6f 6c sub-optimal sol
13dc0 75 74 69 6f 6e 3c 2f 62 3e 29 20 73 68 6f 75 6c ution</b>) shoul
13dd0 64 20 66 69 6e 61 6c 6c 79 20 65 6d 65 72 67 65 d finally emerge
13de0 2c 20 61 6e 64 20 73 6f 20 74 68 65 20 6c 6f 6f , and so the loo
13df0 70 20 63 61 6e 20 65 78 69 74 2e 3c 2f 6c 69 3e p can exit.</li>
13e00 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c ..</ul></li>..<l
13e10 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 54 i><u>Note</u>: T
13e20 53 50 20 47 41 20 69 73 20 75 73 75 61 6c 6c 79 SP GA is usually
13e30 20 65 78 70 65 63 74 65 64 20 74 6f 20 69 64 65 expected to ide
13e40 6e 74 69 66 79 20 62 65 74 74 65 72 20 73 6f 6c ntify better sol
13e50 75 74 69 6f 6e 73 20 74 68 61 6e 20 54 53 50 20 utions than TSP
13e60 4e 4e 20 63 61 6e 20 64 6f 2c 20 62 75 74 20 69 NN can do, but i
13e70 74 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 72 65 t will surely re
13e80 71 75 69 72 65 20 6d 75 63 68 20 6d 6f 72 65 20 quire much more
13e90 74 69 6d 65 20 74 6f 20 63 6f 6d 70 6c 65 74 65 time to complete
13ea0 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 0d 0a .</li> ..</ul>..
13eb0 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 <br><br>..Let's
13ec0 6e 6f 77 20 65 78 61 6d 69 6e 65 20 61 20 70 72 now examine a pr
13ed0 61 63 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 20 actical example
13ee0 6f 66 20 54 53 50 20 73 6f 6c 76 69 6e 67 20 75 of TSP solving u
13ef0 73 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 sing VirtualRout
13f00 69 6e 67 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d ing. ..<verbatim
13f10 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 >..UPDATE byfoot
13f20 20 53 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 SET Request = '
13f30 54 53 50 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 TSP';....SELECT
13f40 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 Algorithm, Reque
13f50 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c st, Options, Del
13f60 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c imiter, RouteId,
13f70 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c RouteRow, Role,
13f80 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 LinkRowid, Node
13f90 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f From, NodeTo, Co
13fa0 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 st, Geometry, Na
13fb0 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d me..FROM byfoot.
13fc0 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 .WHERE NodeFrom
13fd0 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 = 178731 AND Nod
13fe0 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 eTo = '183286,18
13ff0 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 1999,184030,1838
14000 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 82,178754';..</v
14010 65 72 62 61 74 69 6d 3e 0d 0a 41 20 56 69 72 74 erbatim>..A Virt
14020 75 61 6c 52 6f 75 74 69 6e 67 20 3c 62 3e 54 53 ualRouting <b>TS
14030 50 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20 P</b> query has
14040 74 68 65 20 73 61 6d 65 20 69 64 65 6e 74 69 63 the same identic
14050 61 6c 20 66 6f 72 6d 20 6f 66 20 61 20 3c 62 3e al form of a <b>
14060 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f multi-destinatio
14070 6e 3c 2f 62 3e 20 71 75 65 72 79 3b 20 74 68 65 n</b> query; the
14080 20 3c 69 3e 3c 75 3e 62 61 73 65 20 63 69 74 79 <i><u>base city
14090 3c 75 3e 3c 2f 69 3e 20 69 73 20 61 6c 77 61 79 <u></i> is alway
140a0 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f s expected to co
140b0 72 72 65 73 70 6f 6e 64 20 74 6f 20 3c 62 3e 4e rrespond to <b>N
140c0 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 odeFrom</b> and
140d0 61 6c 6c 20 6f 74 68 65 72 20 3c 69 3e 3c 75 3e all other <i><u>
140e0 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 74 cities</u></i> t
140f0 6f 20 62 65 20 76 69 73 69 74 65 64 20 61 72 65 o be visited are
14100 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 expected to be
14110 65 6e 75 6d 65 72 61 74 65 64 20 69 6e 74 6f 20 enumerated into
14120 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 a <b>multi-desti
14130 6e 61 74 69 6f 6e 3c 2f 62 3e 20 6c 69 73 74 20 nation</b> list
14140 61 73 73 69 67 6e 65 64 20 74 6f 20 3c 62 3e 4e assigned to <b>N
14150 6f 64 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c 75 3e 4e odeTo</b>...<u>N
14160 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75 20 6d 75 73 ote</u>: you mus
14170 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 74 t explicitly set
14180 20 74 68 65 20 63 75 72 72 65 6e 74 20 3c 62 3e the current <b>
14190 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c Request</b> as <
141a0 62 3e 54 53 50 3c 2f 62 3e 2c 20 3c 62 3e 54 53 b>TSP</b>, <b>TS
141b0 50 20 4e 4e 3c 2f 62 3e 20 6f 72 20 3c 62 3e 54 P NN</b> or <b>T
141c0 53 50 20 47 41 3c 2f 62 3e 20 28 54 53 50 20 61 SP GA</b> (TSP a
141d0 6e 64 20 54 53 50 20 4e 4e 20 61 72 65 20 73 79 nd TSP NN are sy
141e0 6e 6f 6e 79 6d 73 29 2e 0d 0a 3c 62 72 3e 3c 62 nonyms)...<br><b
141f0 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 r>..<table borde
14200 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 r="1" bgcolor="#
14210 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 ffffcf" cellspac
14220 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 ing="4" cellpadd
14230 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 ing="6">..<tr><t
14240 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
14250 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 a0">Algorithm</t
14260 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
14270 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c d0d0a0">Request<
14280 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
14290 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e "#d0d0a0">Option
142a0 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f s</th><th bgcolo
142b0 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 r="#d0d0a0">Deli
142c0 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 miter</th><th bg
142d0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
142e0 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 RouteId</th><th
142f0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
14300 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c ">RouteRow</th><
14310 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
14320 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 0a0">Role</th><t
14330 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
14340 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 a0">LinkRowid</t
14350 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
14360 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d d0d0a0">NodeFrom
14370 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
14380 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 ="#d0d0a0">NodeT
14390 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f o</th><th bgcolo
143a0 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 r="#d0d0a0">Cost
143b0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
143c0 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 ="#d0d0a0">Geome
143d0 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f try</th><th bgco
143e0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 lor="#d0d0a0">Na
143f0 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 me</th></tr>..<t
14400 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 r>..<td>Dijkstra
14410 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c </td><td>TSP NN<
14420 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 /td><td>Full</td
14430 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d ><td>, [dec=
14440 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 44, hex=2c]<
14450 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
14460 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 ight">0</td><td
14470 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
14480 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f 6c 75 /td><td>TSP Solu
14490 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c tion</td><td>NUL
144a0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
144b0 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
144c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
144d0 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
144e0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
144f0 22 3e 31 32 35 34 2e 34 33 33 39 33 33 3c 2f 74 ">1254.433933</t
14500 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 30 d><td>BLOB sz=20
14510 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 00 GEOMETRY</td>
14520 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
14530 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
14540 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14550 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14560 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 td><td>NULL<td a
14570 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
14580 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14590 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
145a0 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
145b0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
145c0 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
145d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
145e0 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e ght">184030</td>
145f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14600 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 ">176.364755</td
14610 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 ><td>BLOB sz=304
14620 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
14630 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
14640 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
14650 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
14660 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
14670 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14680 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14690 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
146a0 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 "right">1</td><t
146b0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
146c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
146d0 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 014</td><td alig
146e0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
146f0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14700 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 right">182885</t
14710 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14720 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 ht">94.812424</t
14730 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14740 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 td>VIA PIETRO AR
14750 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ETINO</td>..</tr
14760 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c >..<tr>..<tr>..<
14770 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14780 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14790 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
147a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
147b0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 ght">2</td><td a
147c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f lign="right">2</
147d0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
147e0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
147f0 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c 74 64 ">224862</td><td
14800 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14810 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 82885</td><td al
14820 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 ign="right">1820
14830 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 43</td><td align
14840 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 39 35 32 ="right">37.0952
14850 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 87</td><td>NULL<
14860 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
14870 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
14880 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
14890 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
148a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
148b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
148c0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
148d0 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >2</td><td align
148e0 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
148f0 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
14900 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
14910 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 6070</td><td ali
14920 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 34 gn="right">18204
14930 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 3</td><td align=
14940 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f "right">184030</
14950 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14960 67 68 74 22 3e 34 34 2e 34 35 37 30 34 34 3c 2f ght">44.457044</
14970 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14980 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e 54 27 <td>PIAZZA SANT'
14990 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c AGOSTINO</td>..<
149a0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
149b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
149c0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
149d0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
149e0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
149f0 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">2</td><td alig
14a00 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
14a10 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
14a20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
14a30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 lign="right">184
14a40 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 030</td><td alig
14a50 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 n="right">181999
14a60 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14a70 72 69 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33 right">139.11493
14a80 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 8</td><td>BLOB s
14a90 7a 3d 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f z=496 GEOMETRY</
14aa0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14ab0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
14ac0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14ad0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14ae0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
14af0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14b00 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 ght">3</td><td a
14b10 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
14b20 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
14b30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14b40 22 3e 32 32 36 30 37 31 3c 2f 74 64 3e 3c 74 64 ">226071</td><td
14b50 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14b60 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 84030</td><td al
14b70 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 ign="right">1826
14b80 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 29</td><td align
14b90 3d 22 72 69 67 68 74 22 3e 35 35 2e 36 38 39 30 ="right">55.6890
14ba0 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 09</td><td>NULL<
14bb0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 47 49 55 53 /td><td>VIA GIUS
14bc0 45 50 50 45 20 47 41 52 49 42 41 4c 44 49 3c 2f EPPE GARIBALDI</
14bd0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
14be0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
14bf0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
14c00 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
14c10 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
14c20 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 "right">3</td><t
14c30 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
14c40 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 2</td><td>Link</
14c50 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14c60 67 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e ght">225512</td>
14c70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14c80 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 ">182629</td><td
14c90 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
14ca0 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 82933</td><td al
14cb0 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31 ign="right">34.1
14cc0 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 84194</td><td>NU
14cd0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f LL</td><td>CORSO
14ce0 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f ITALIA</td>..</
14cf0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
14d00 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
14d10 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
14d20 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
14d30 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
14d40 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >3</td><td align
14d50 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
14d60 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
14d70 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
14d80 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 5511</td><td ali
14d90 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 gn="right">18293
14da0 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 3</td><td align=
14db0 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f "right">181999</
14dc0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14dd0 67 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f ght">49.241735</
14de0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
14df0 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 <td>CORSO ITALIA
14e00 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
14e10 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
14e20 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14e30 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
14e40 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
14e50 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e n="right">3</td>
14e60 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14e70 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
14e80 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
14e90 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14ea0 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e ght">181999</td>
14eb0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
14ec0 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
14ed0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
14ee0 31 37 2e 36 37 32 38 38 35 3c 2f 74 64 3e 3c 74 17.672885</td><t
14ef0 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 38 20 47 45 d>BLOB sz=688 GE
14f00 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e OMETRY</td><td>N
14f10 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
14f20 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
14f30 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
14f40 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
14f50 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
14f60 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f lign="right">4</
14f70 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
14f80 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c ght">1</td><td>L
14f90 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
14fa0 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 35 n="right">222635
14fb0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
14fc0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
14fd0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
14fe0 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c ht">181998</td><
14ff0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15000 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f 74 64 3e >101.629750</td>
15010 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
15020 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 >CORSO ITALIA</t
15030 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
15040 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
15050 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
15060 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
15070 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
15080 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 right">4</td><td
15090 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
150a0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
150b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
150c0 68 74 22 3e 32 32 34 37 38 30 3c 2f 74 64 3e 3c ht">224780</td><
150d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
150e0 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20 >181998</td><td
150f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
15100 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3560</td><td ali
15110 67 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e 37 33 gn="right">73.73
15120 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 3572</td><td>NUL
15130 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 L</td><td>VIA DE
15140 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 LL'ANFITEATRO</t
15150 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
15160 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
15170 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
15180 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
15190 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
151a0 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">4</td><td alig
151b0 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e n="right">3</td>
151c0 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
151d0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
151e0 32 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 25827</td><td al
151f0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 ign="right">1835
15200 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 60</td><td align
15210 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c ="right">183286<
15220 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
15230 69 67 68 74 22 3e 34 32 2e 33 30 39 35 36 34 3c ight">42.309564<
15240 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
15250 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e ><td>VIA DELL'AN
15260 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c FITEATRO</td>..<
15270 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
15280 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
15290 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
152a0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
152b0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
152c0 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">4</td><td alig
152d0 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
152e0 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
152f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
15300 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
15310 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 286</td><td alig
15320 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 n="right">178754
15330 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
15340 72 69 67 68 74 22 3e 33 37 38 2e 33 31 33 36 38 right">378.31368
15350 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 4</td><td>BLOB s
15360 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f z=272 GEOMETRY</
15370 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
15380 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
15390 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
153a0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
153b0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
153c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
153d0 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 ght">5</td><td a
153e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
153f0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
15400 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
15410 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 ">224414</td><td
15420 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
15430 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83286</td><td al
15440 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
15450 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
15460 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 ="right">136.372
15470 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 057</td><td>NULL
15480 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 </td><td>VIA MAR
15490 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c GARITONE</td>..<
154a0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
154b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
154c0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
154d0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
154e0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
154f0 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">5</td><td alig
15500 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e n="right">2</td>
15510 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
15520 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
15530 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 19171</td><td al
15540 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
15550 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
15560 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c ="right">178732<
15570 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
15580 69 67 68 74 22 3e 39 33 2e 32 38 35 35 33 38 3c ight">93.285538<
15590 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
155a0 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 ><td>VIA FRANCES
155b0 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a CO CRISPI</td>..
155c0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
155d0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
155e0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
155f0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
15600 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
15610 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">5</td><td ali
15620 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
15630 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
15640 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15650 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 219058</td><td a
15660 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
15670 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 732</td><td alig
15680 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 n="right">178754
15690 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
156a0 72 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38 right">148.65608
156b0 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 9</td><td>NULL</
156c0 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 td><td>VIA FRANC
156d0 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e ESCO CRISPI</td>
156e0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
156f0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15700 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
15710 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
15720 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15730 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 ght">5</td><td a
15740 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
15750 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
15760 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
15770 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15780 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 178754</td><td a
15790 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
157a0 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 882</td><td alig
157b0 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 2e 32 31 n="right">188.21
157c0 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 6831</td><td>BLO
157d0 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 54 52 B sz=400 GEOMETR
157e0 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f Y</td><td>NULL</
157f0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
15800 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
15810 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15820 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
15830 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
15840 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 "right">6</td><t
15850 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15860 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
15870 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15880 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e ght">224538</td>
15890 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
158a0 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 ">178754</td><td
158b0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
158c0 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 81972</td><td al
158d0 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 30 2e 39 ign="right">50.9
158e0 30 30 36 36 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 00663</td><td>NU
158f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 LL</td><td>VIA A
15900 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c NTONIO GUADAGNOL
15910 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
15920 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
15930 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
15940 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15950 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61 NULL</td>..<td a
15960 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f lign="right">6</
15970 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15980 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c ght">2</td><td>L
15990 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
159a0 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 37 n="right">224537
159b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
159c0 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74 right">181972</t
159d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
159e0 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c ht">182000</td><
159f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15a00 3e 38 36 2e 33 30 31 30 35 31 3c 2f 74 64 3e 3c >86.301051</td><
15a10 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15a20 56 49 41 20 44 45 4c 20 4e 49 4e 46 45 4f 3c 2f VIA DEL NINFEO</
15a30 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
15a40 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
15a50 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15a60 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
15a70 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
15a80 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 "right">6</td><t
15a90 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
15aa0 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 3</td><td>Link</
15ab0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15ac0 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e ght">225527</td>
15ad0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
15ae0 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 ">182000</td><td
15af0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
15b00 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 83882</td><td al
15b10 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 ign="right">51.0
15b20 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 15117</td><td>NU
15b30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c LL</td><td>VIA L
15b40 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 ICIO NENCETTI</t
15b50 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
15b60 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
15b70 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
15b80 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
15b90 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
15ba0 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 right">6</td><td
15bb0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
15bc0 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
15bd0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 td><td>NULL<td a
15be0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
15bf0 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 882</td><td alig
15c00 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
15c10 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
15c20 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33 right">154.75083
15c30 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 9</td><td>BLOB s
15c40 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f z=240 GEOMETRY</
15c50 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
15c60 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
15c70 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
15c80 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
15c90 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
15ca0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
15cb0 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 ght">7</td><td a
15cc0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
15cd0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
15ce0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
15cf0 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74 64 ">225527</td><td
15d00 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
15d10 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 83882</td><td al
15d20 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 ign="right">1820
15d30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 00</td><td align
15d40 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35 31 ="right">51.0151
15d50 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 17</td><td>NULL<
15d60 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43 49 /td><td>VIA LICI
15d70 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e 0d O NENCETTI</td>.
15d80 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
15d90 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
15da0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
15db0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
15dc0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
15dd0 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">7</td><td al
15de0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
15df0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
15e00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
15e10 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 >222636</td><td
15e20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
15e30 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2000</td><td ali
15e40 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
15e50 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
15e60 22 72 69 67 68 74 22 3e 31 30 33 2e 37 33 35 37 "right">103.7357
15e70 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 22</td><td>NULL<
15e80 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 /td><td>VIA PIET
15e90 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d RO ARETINO</td>.
15ea0 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e .</tr>..</table>
15eb0 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f ..<br>..Let's no
15ec0 77 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e w quickly examin
15ed0 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 e the resultset
15ee0 72 65 74 75 72 6e 65 64 20 62 79 20 61 6e 79 20 returned by any
15ef0 54 53 50 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e TSP query:..<ul>
15f00 0d 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65 72 61 ..<li>the genera
15f10 6c 20 6c 61 79 6f 75 74 20 69 73 20 6d 6f 72 65 l layout is more
15f20 20 6f 72 20 6c 65 73 73 20 74 68 65 20 73 61 6d or less the sam
15f30 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 e as you've alre
15f40 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 ady seen in the
15f50 63 61 73 65 20 6f 66 20 3c 62 3e 53 68 6f 72 74 case of <b>Short
15f60 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 estPath</b> quer
15f70 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 ies.</li>..<li>t
15f80 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c he <b>first row<
15f90 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c /b> of the resul
15fa0 74 73 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20 tset is someway
15fb0 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 exceptional, and
15fc0 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 72 6f 77 is the only row
15fd0 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 of the resultse
15fe0 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e t presenting <b>
15ff0 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c NOT NULL</b> val
16000 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c ues in the <b>Al
16010 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e gorithm</b>, <b>
16020 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e Request</b>, <b>
16030 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 Options</b> and
16040 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e <b>Delimiter</b>
16050 20 63 6f 6c 75 6d 6e 73 2e 3c 62 72 3e 0d 0a 49 columns.<br>..I
16060 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 3c t contains the <
16070 62 3e 54 53 50 20 73 6f 6c 75 74 69 6f 6e 3c 2f b>TSP solution</
16080 62 3e 20 61 73 20 61 20 77 68 6f 6c 65 3a 20 63 b> as a whole: c
16090 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c 2f 62 olumn <b>Cost</b
160a0 3e 20 69 73 20 74 68 65 20 3c 75 3e 74 6f 74 61 > is the <u>tota
160b0 6c 20 63 6f 73 74 3c 2f 75 3e 20 61 6e 64 20 63 l cost</u> and c
160c0 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74 72 olumn <b>Geometr
160d0 79 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c 75 3e y</b> is the <u>
160e0 6f 76 65 72 61 6c 6c 20 73 6f 6c 75 74 69 6f 6e overall solution
160f0 20 70 61 74 68 3c 2f 75 3e 2e 3c 2f 6c 69 3e 0d path</u>.</li>.
16100 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c 62 3e .<li>columns <b>
16110 52 6f 75 74 65 49 64 3c 2f 62 3e 20 61 6e 64 20 RouteId</b> and
16120 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 <b>RouteRow</b>
16130 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 69 6e have the same in
16140 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61 73 20 terpretation as
16150 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 in <b>multi-dest
16160 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 ination Shortest
16170 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 69 65 73 Path</b> queries
16180 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20 73 70 , but in this sp
16190 65 63 69 66 69 63 20 63 61 73 65 20 65 61 63 68 ecific case each
161a0 20 3c 75 3e 3c 69 3e 72 6f 75 74 65 3c 2f 69 3e <u><i>route</i>
161b0 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f 6e 64 73 </u> corresponds
161c0 20 74 6f 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e to a connection
161d0 20 62 65 74 77 65 65 6e 20 74 77 6f 20 3c 69 3e between two <i>
161e0 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 <u>cities</u></i
161f0 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 3c 69 3e 3c >.<br>..All <i><
16200 75 3e 72 6f 75 74 65 73 3c 2f 75 3e 3c 2f 69 3e u>routes</u></i>
16210 20 61 72 65 20 6f 72 64 65 72 65 64 20 61 63 63 are ordered acc
16220 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 ordingly to the
16230 72 75 6e 6e 69 6e 67 20 73 65 71 75 65 6e 63 65 running sequence
16240 20 6f 66 20 74 68 65 20 54 53 50 20 73 6f 6c 75 of the TSP solu
16250 74 69 6f 6e 2e 20 3c 62 3e 52 6f 75 74 65 49 64 tion. <b>RouteId
16260 3d 30 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 =0</b> identifie
16270 73 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 54 53 s the overall TS
16280 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e P solution.</li>
16290 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d ..</ul><br><br>.
162a0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 .<verbatim>..UPD
162b0 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 ATE byfoot SET R
162c0 65 71 75 65 73 74 20 3d 20 27 54 53 50 20 47 41 equest = 'TSP GA
162d0 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 ';....SELECT Alg
162e0 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c orithm, Request,
162f0 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 Options, Delimi
16300 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f ter, RouteId, Ro
16310 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 uteRow, Role, Li
16320 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f nkRowid, NodeFro
16330 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c m, NodeTo, Cost,
16340 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d Geometry, Name.
16350 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 .FROM byfoot..WH
16360 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 ERE NodeFrom = 1
16370 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 78731 AND NodeTo
16380 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 39 = '183286,18199
16390 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c 9,184030,183882,
163a0 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 178754';..</verb
163b0 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 77 69 atim>..If you wi
163c0 73 68 20 74 6f 20 67 65 74 20 61 20 3c 62 3e 54 sh to get a <b>T
163d0 53 50 20 47 41 3c 2f 62 3e 20 73 6f 6c 75 74 69 SP GA</b> soluti
163e0 6f 6e 20 79 6f 75 20 73 69 6d 70 6c 65 20 68 61 on you simple ha
163f0 76 65 20 74 6f 20 73 65 74 20 3c 62 3e 52 65 71 ve to set <b>Req
16400 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 uest</b> as <b>T
16410 53 50 20 47 41 3c 2f 62 3e 3b 20 61 6e 64 20 79 SP GA</b>; and y
16420 6f 75 20 63 61 6e 20 73 65 74 20 61 67 61 69 6e ou can set again
16430 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 <b>Request</b>
16440 61 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 6f 72 as <b>TSP</b> or
16450 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 74 <b>TSP NN</b> t
16460 6f 20 72 65 76 65 72 74 20 62 61 63 6b 20 74 6f o revert back to
16470 20 74 68 65 20 73 69 6d 70 6c 65 72 20 2f 20 66 the simpler / f
16480 61 73 74 65 72 20 61 6c 67 6f 72 69 74 68 6d 2e aster algorithm.
16490 0d 0a 3c 62 72 3e 0d 0a 41 6c 73 6f 20 69 6e 20 ..<br>..Also in
164a0 74 68 65 20 63 61 73 65 20 6f 66 20 54 53 50 20 the case of TSP
164b0 79 6f 75 20 63 61 6e 20 65 76 65 6e 74 75 61 6c you can eventual
164c0 6c 79 20 61 63 74 69 76 61 74 65 20 74 68 65 20 ly activate the
164d0 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 <b>Options</b> a
164e0 6c 72 65 61 64 79 20 65 78 70 6c 61 69 6e 65 64 lready explained
164f0 20 69 6e 20 74 68 65 20 53 68 6f 72 74 65 73 74 in the Shortest
16500 50 61 74 68 20 65 78 61 6d 70 6c 65 73 2e 3c 62 Path examples.<b
16510 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a r>..<u>Note</u>:
16520 54 53 50 20 70 72 6f 62 6c 65 6d 73 20 77 69 6c TSP problems wil
16530 6c 20 61 6c 77 61 79 73 20 69 6d 70 6c 79 20 75 l always imply u
16540 73 69 6e 67 20 74 68 65 20 3c 62 3e 44 69 6a 6b sing the <b>Dijk
16550 73 74 72 61 27 73 3c 2f 62 3e 20 61 6c 67 6f 72 stra's</b> algor
16560 69 74 68 6d 2c 20 65 76 65 6e 20 77 68 65 6e 20 ithm, even when
16570 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 the alternative
16580 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 <b>A*</b> algori
16590 74 68 6d 20 69 73 20 63 75 72 72 65 6e 74 6c 79 thm is currently
165a0 20 73 65 6c 65 63 74 65 64 2e 0d 0a 3c 76 65 72 selected...<ver
165b0 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 batim>..UPDATE b
165c0 79 66 6f 6f 74 20 53 45 54 20 52 65 71 75 65 73 yfoot SET Reques
165d0 74 20 3d 20 27 54 53 50 27 2c 20 4f 70 74 69 6f t = 'TSP', Optio
165e0 6e 73 20 3d 20 27 4e 4f 20 4c 49 4e 4b 53 27 3b ns = 'NO LINKS';
165f0 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 ....SELECT Algor
16600 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f ithm, Request, O
16610 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 ptions, Delimite
16620 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 r, RouteId, Rout
16630 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b eRow, Role, Link
16640 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c Rowid, NodeFrom,
16650 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 NodeTo, Cost, G
16660 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 eometry, Name..F
16670 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 ROM byfoot..WHER
16680 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 E NodeFrom = 178
16690 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 731 AND NodeTo =
166a0 20 27 31 38 33 32 38 36 2c 31 38 31 39 39 39 2c '183286,181999,
166b0 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c 31 37 184030,183882,17
166c0 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 8754';..</verbat
166d0 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 im>..The followi
166e0 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 61 ng table shows a
166f0 20 70 61 72 74 69 61 6c 20 72 65 73 75 6c 74 73 partial results
16700 65 74 20 74 68 61 74 20 69 73 20 72 65 74 75 72 et that is retur
16710 6e 65 64 20 62 79 20 74 68 65 20 73 61 6d 65 20 ned by the same
16720 54 53 50 20 71 75 65 72 79 20 75 73 65 64 20 69 TSP query used i
16730 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 n the previous e
16740 78 61 6d 70 6c 65 20 61 66 74 65 72 20 65 6e 61 xample after ena
16750 62 6c 69 6e 67 20 74 68 65 20 3c 62 3e 4e 4f 20 bling the <b>NO
16760 4c 49 4e 4b 53 3c 2f 62 3e 20 6f 70 74 69 6f 6e LINKS</b> option
16770 2e 20 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 . <br><br>..<tab
16780 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 le border="1" bg
16790 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 color="#ffffcf"
167a0 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 cellspacing="4"
167b0 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
167c0 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f ..<tr><th bgcolo
167d0 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f r="#d0d0a0">Algo
167e0 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 rithm</th><th bg
167f0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
16800 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 Request</th><th
16810 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
16820 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 ">Options</th><t
16830 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
16840 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 a0">Delimiter</t
16850 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
16860 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c d0d0a0">RouteId<
16870 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
16880 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 "#d0d0a0">RouteR
16890 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ow</th><th bgcol
168a0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c or="#d0d0a0">Rol
168b0 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f e</th><th bgcolo
168c0 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b r="#d0d0a0">Link
168d0 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 Rowid</th><th bg
168e0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
168f0 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 NodeFrom</th><th
16900 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
16910 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 0">NodeTo</th><t
16920 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
16930 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 a0">Cost</th><th
16940 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
16950 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 0">Geometry</th>
16960 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
16970 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c d0a0">Name</th><
16980 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
16990 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 Dijkstra</td><td
169a0 3e 54 53 50 20 4e 4e 3c 2f 74 64 3e 3c 74 64 3e >TSP NN</td><td>
169b0 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64 3e 3c 74 64 No Links</td><td
169c0 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20 >, [dec=44,
169d0 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e hex=2c]</td>
169e0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
169f0 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">0</td><td alig
16a00 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
16a10 3c 74 64 3e 54 53 50 20 53 6f 6c 75 74 69 6f 6e <td>TSP Solution
16a20 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
16a30 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
16a40 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
16a50 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16a60 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 >178731</td><td
16a70 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 align="right">12
16a80 35 34 2e 34 33 33 39 33 33 3c 2f 74 64 3e 3c 74 54.433933</td><t
16a90 64 3e 42 4c 4f 42 20 73 7a 3d 32 30 30 30 20 47 d>BLOB sz=2000 G
16aa0 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e EOMETRY</td><td>
16ab0 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
16ac0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
16ad0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
16ae0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
16af0 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e td>NULL<td align
16b00 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c ="right">1</td><
16b10 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16b20 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
16b30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
16b40 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
16b50 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
16b60 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
16b70 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 >184030</td><td
16b80 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
16b90 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 74 64 6.364755</td><td
16ba0 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 20 47 45 4f >BLOB sz=304 GEO
16bb0 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 METRY</td><td>NU
16bc0 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
16bd0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
16be0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
16bf0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
16c00 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 >NULL<td align="
16c10 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
16c20 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
16c30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f </td><td>Route</
16c40 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
16c50 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
16c60 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 ">184030</td><td
16c70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
16c80 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 81999</td><td al
16c90 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 39 2e ign="right">139.
16ca0 31 31 34 39 33 38 3c 2f 74 64 3e 3c 74 64 3e 42 114938</td><td>B
16cb0 4c 4f 42 20 73 7a 3d 34 39 36 20 47 45 4f 4d 45 LOB sz=496 GEOME
16cc0 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c TRY</td><td>NULL
16cd0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
16ce0 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
16cf0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
16d00 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
16d10 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
16d20 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e n="right">3</td>
16d30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
16d40 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
16d50 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
16d60 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
16d70 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e ght">181999</td>
16d80 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
16d90 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
16da0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
16db0 31 37 2e 36 37 32 38 38 35 3c 2f 74 64 3e 3c 74 17.672885</td><t
16dc0 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 38 20 47 45 d>BLOB sz=688 GE
16dd0 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e OMETRY</td><td>N
16de0 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
16df0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
16e00 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
16e10 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
16e20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
16e30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f lign="right">4</
16e40 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
16e50 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
16e60 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
16e70 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
16e80 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
16e90 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
16ea0 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e ght">178754</td>
16eb0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
16ec0 22 3e 33 37 38 2e 33 31 33 36 38 34 3c 2f 74 64 ">378.313684</td
16ed0 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 ><td>BLOB sz=272
16ee0 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
16ef0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
16f00 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
16f10 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
16f20 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
16f30 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
16f40 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
16f50 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 5</td><td align=
16f60 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
16f70 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
16f80 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
16f90 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 gn="right">17875
16fa0 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
16fb0 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f "right">183882</
16fc0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
16fd0 67 68 74 22 3e 31 38 38 2e 32 31 36 38 33 31 3c ght">188.216831<
16fe0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
16ff0 34 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 400 GEOMETRY</td
17000 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
17010 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
17020 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
17030 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
17040 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
17050 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
17060 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">6</td><td ali
17070 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
17080 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c ><td>Route</td><
17090 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
170a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
170b0 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3882</td><td ali
170c0 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
170d0 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
170e0 22 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 "right">154.7508
170f0 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 39</td><td>BLOB
17100 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c sz=240 GEOMETRY<
17110 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
17120 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c >..</tr>..</tabl
17130 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e e>..<br><br><br>
17140 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 ..The map below
17150 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 graphically show
17160 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c s the previous <
17170 62 3e 54 53 50 3c 2f 62 3e 20 71 75 65 72 69 65 b>TSP</b> querie
17180 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 s...<br><br>..<i
17190 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f mg src="https://
171a0 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
171b0 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e gaia-sins/routin
171c0 67 2d 66 69 67 73 2f 74 73 70 31 2e 6a 70 67 22 g-figs/tsp1.jpg"
171d0 20 61 6c 74 3d 22 66 69 67 34 22 3e 0d 0a 3c 75 alt="fig4">..<u
171e0 6c 3e 0d 0a 3c 6c 69 3e 52 65 64 20 73 74 61 72 l>..<li>Red star
171f0 3a 20 74 68 65 20 3c 75 3e 3c 69 3e 62 61 73 65 : the <u><i>base
17200 2d 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 28 66 -city</i></u> (f
17210 72 6f 6d 20 77 68 65 72 65 20 74 68 65 20 3c 75 rom where the <u
17220 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e ><i>salesman</i>
17230 3c 2f 75 3e 29 20 62 65 67 69 6e 73 20 68 69 73 </u>) begins his
17240 2f 68 65 72 20 74 72 69 70 2e 3c 2f 6c 69 3e 0d /her trip.</li>.
17250 0a 3c 6c 69 3e 47 72 65 65 6e 20 64 6f 74 73 3a .<li>Green dots:
17260 20 74 68 65 20 3c 75 3e 3c 69 3e 63 69 74 69 65 the <u><i>citie
17270 73 3c 2f 69 3e 3c 2f 75 3e 20 74 6f 20 62 65 20 s</i></u> to be
17280 76 69 73 69 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c visited.</li>..<
17290 6c 69 3e 59 65 6c 6c 6f 77 20 6c 69 6e 65 3a 20 li>Yellow line:
172a0 74 68 65 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e the TSP solution
172b0 20 28 74 68 61 74 20 69 73 20 61 6c 77 61 79 73 (that is always
172c0 20 61 20 63 69 72 63 75 6c 61 72 20 70 61 74 68 a circular path
172d0 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 ).</li>..</ul><b
172e0 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c r>..<table bgcol
172f0 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c or="#ffb060" cel
17300 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 lspacing="10" ce
17310 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 llpadding="6"><t
17320 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e r><td>..<h3>Warn
17330 69 6e 67 3a 20 68 6f 77 20 74 6f 20 63 6f 72 72 ing: how to corr
17340 65 63 74 6c 79 20 68 61 6e 64 6c 69 6e 67 20 54 ectly handling T
17350 53 50 20 72 65 73 75 6c 74 73 65 74 73 20 77 69 SP resultsets wi
17360 74 68 20 73 70 61 74 69 61 6c 69 74 65 5f 67 75 th spatialite_gu
17370 69 3c 2f 68 33 3e 0d 0a 59 6f 75 20 73 68 6f 75 i</h3>..You shou
17380 6c 64 20 6e 65 76 65 72 20 66 6f 72 67 65 74 20 ld never forget
17390 6f 72 20 6f 76 65 72 6c 6f 6f 6b 20 74 68 61 74 or overlook that
173a0 20 62 6f 74 68 20 3c 62 3e 54 53 50 20 4e 4e 3c both <b>TSP NN<
173b0 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 53 50 20 47 /b> and <b>TSP G
173c0 41 3c 2f 62 3e 20 61 72 65 20 3c 75 3e 3c 69 3e A</b> are <u><i>
173d0 68 65 75 72 69 73 74 69 63 20 61 6c 67 6f 72 69 heuristic algori
173e0 74 68 6d 73 3c 2f 69 3e 3c 2f 75 3e 20 68 65 61 thms</i></u> hea
173f0 76 69 6c 79 20 72 65 6c 79 69 6e 67 20 6f 6e 20 vily relying on
17400 3c 75 3e 3c 69 3e 72 61 6e 64 6f 6d 3c 69 3e 3c <u><i>random<i><
17410 2f 75 3e 20 63 68 6f 69 63 65 73 2e 3c 62 72 3e /u> choices.<br>
17420 0d 0a 54 68 69 73 20 63 6f 75 6c 64 20 65 61 73 ..This could eas
17430 69 6c 79 20 68 61 76 65 20 74 68 65 20 70 72 61 ily have the pra
17440 63 74 69 63 61 6c 20 63 6f 6e 73 65 71 75 65 6e ctical consequen
17450 63 65 20 74 68 61 74 20 72 65 73 6f 6c 76 69 6e ce that resolvin
17460 67 20 74 77 69 63 65 20 28 6f 72 20 65 76 65 6e g twice (or even
17470 20 6d 6f 72 65 20 74 69 6d 65 73 29 20 74 68 65 more times) the
17480 20 73 61 6d 65 20 69 64 65 6e 74 69 63 61 6c 20 same identical
17490 54 53 50 20 71 75 65 72 79 20 63 6f 75 6c 64 20 TSP query could
174a0 65 76 65 6e 74 75 61 6c 6c 79 20 72 65 74 75 72 eventually retur
174b0 6e 20 64 69 66 66 65 72 65 6e 74 20 72 65 73 75 n different resu
174c0 6c 74 73 65 74 73 2e 3c 62 72 3e 0d 0a 54 68 65 ltsets.<br>..The
174d0 72 65 20 69 73 20 6e 6f 74 68 69 6e 67 20 69 6e re is nothing in
174e0 74 72 69 6e 73 69 63 61 6c 6c 79 20 77 72 6f 6e trinsically wron
174f0 67 20 69 6e 20 74 68 69 73 2c 20 69 74 20 73 69 g in this, it si
17500 6d 70 6c 79 20 69 73 20 61 20 64 69 72 65 63 74 mply is a direct
17510 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 consequence of
17520 75 73 69 6e 67 20 3c 75 3e 3c 69 3e 72 61 6e 64 using <u><i>rand
17530 6f 6d 6e 65 73 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 omness</i></u>;
17540 77 65 20 61 72 65 20 73 69 6d 70 6c 79 20 62 61 we are simply ba
17550 72 67 61 69 6e 69 6e 67 20 3c 62 3e 65 78 61 63 rgaining <b>exac
17560 74 6e 65 73 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 tness</b> and <b
17570 3e 72 65 70 72 6f 64 75 63 69 62 69 6c 69 74 79 >reproducibility
17580 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e 71 75 69 63 </b> for <b>quic
17590 6b 6e 65 73 73 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 kness</b>.<br><b
175a0 72 3e 0d 0a 3c 62 3e 73 70 61 74 69 61 6c 69 74 r>..<b>spatialit
175b0 65 5f 67 75 69 3c 2f 62 3e 20 6f 6e 20 69 74 73 e_gui</b> on its
175c0 20 6f 77 6e 20 61 64 6f 70 74 73 20 61 20 3c 62 own adopts a <b
175d0 3e 70 61 67 65 64 20 73 74 72 61 74 65 67 79 3c >paged strategy<
175e0 2f 62 3e 20 77 68 65 6e 20 73 68 6f 77 69 6e 67 /b> when showing
175f0 20 68 75 67 65 20 72 65 73 75 6c 74 73 65 74 73 huge resultsets
17600 3b 20 74 68 69 73 20 72 65 71 75 69 72 65 73 20 ; this requires
17610 72 65 70 65 61 74 69 6e 67 20 74 68 65 20 69 6e repeating the in
17620 69 74 69 61 6c 20 53 51 4c 20 71 75 65 72 79 20 itial SQL query
17630 65 61 63 68 20 74 69 6d 65 20 74 68 61 74 20 61 each time that a
17640 20 3c 62 3e 6e 65 77 20 70 61 67 65 20 6f 66 20 <b>new page of
17650 35 30 30 20 72 6f 77 73 3c 2f 62 3e 20 68 61 73 500 rows</b> has
17660 20 74 6f 20 62 65 20 73 68 6f 77 6e 20 6f 6e 20 to be shown on
17670 74 68 65 20 63 75 72 72 65 6e 74 20 77 69 6e 64 the current wind
17680 6f 77 20 70 61 6e 65 6c 2e 3c 62 72 3e 0d 0a 54 ow panel.<br>..T
17690 68 65 73 65 20 74 77 6f 20 74 68 69 6e 67 73 20 hese two things
176a0 64 6f 6e 27 74 20 67 6f 20 74 6f 67 65 74 68 65 don't go togethe
176b0 72 20 77 65 6c 6c 3b 20 73 6f 20 64 6f 6e 27 74 r well; so don't
176c0 20 62 65 20 73 75 72 70 72 69 73 65 64 20 77 68 be surprised wh
176d0 65 6e 20 65 76 65 6e 74 75 61 6c 6c 79 20 64 69 en eventually di
176e0 73 63 6f 76 65 72 69 6e 67 20 74 68 61 74 20 3c scovering that <
176f0 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 b>spatialite_gui
17700 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 68 61 76 65 </b> will behave
17710 20 62 69 7a 61 72 72 65 6c 79 20 77 68 69 6c 65 bizarrely while
17720 20 70 72 65 73 65 6e 74 69 6e 67 20 73 6f 6d 65 presenting some
17730 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 resultset retur
17740 6e 65 64 20 62 79 20 61 20 54 53 50 20 71 75 65 ned by a TSP que
17750 72 79 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d 3e ry. ..<verbatim>
17760 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 ..UPDATE byfoot
17770 53 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 SET Request = 'T
17780 53 50 27 3b 0d 0a 0d 0a 43 52 45 41 54 45 20 54 SP';....CREATE T
17790 41 42 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 ABLE my_tsp_solu
177a0 74 69 6f 6e 20 41 53 0d 0a 53 45 4c 45 43 54 20 tion AS..SELECT
177b0 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 Algorithm, Reque
177c0 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c st, Options, Del
177d0 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c imiter, RouteId,
177e0 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c RouteRow, Role,
177f0 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 LinkRowid, Node
17800 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f From, NodeTo, Co
17810 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 st, Geometry, Na
17820 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d me..FROM byfoot.
17830 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 .WHERE NodeFrom
17840 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 = 178731 AND Nod
17850 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 eTo = '183286,18
17860 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 1999,184030,1838
17870 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 0d 0a 2e 82,178754';.....
17880 2e 2e 20 20 3c 6e 6f 77 20 71 75 65 72 79 20 22 .. <now query "
17890 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 22 my_tsp_solution"
178a0 20 75 73 69 6e 67 20 73 70 61 74 69 61 6c 69 74 using spatialit
178b0 65 5f 67 75 69 3e 20 20 2e 2e 2e 0d 0a 0d 0a 44 e_gui> .......D
178c0 52 4f 50 20 54 41 42 4c 45 20 6d 79 5f 74 73 70 ROP TABLE my_tsp
178d0 5f 73 6f 6c 75 74 69 6f 6e 3b 0d 0a 3c 2f 76 65 _solution;..</ve
178e0 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 48 69 6e 74 rbatim>..<u>Hint
178f0 3c 2f 75 3e 3a 20 72 65 73 6f 6c 76 69 6e 67 20 </u>: resolving
17900 74 68 69 73 20 70 75 7a 7a 6c 69 6e 67 20 69 73 this puzzling is
17910 73 75 65 20 69 73 20 68 6f 77 65 76 65 72 20 62 sue is however b
17920 61 73 69 63 61 6c 6c 79 20 73 69 6d 70 6c 65 3a asically simple:
17930 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 ..<ol>..<li>you
17940 73 69 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 74 simply have to t
17950 61 6b 65 20 61 20 3c 62 3e 73 74 61 74 69 63 20 ake a <b>static
17960 73 6e 61 70 73 68 6f 74 3c 2f 62 3e 20 6f 66 20 snapshot</b> of
17970 79 6f 75 72 20 54 53 50 20 72 65 73 75 6c 74 73 your TSP results
17980 65 74 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 et by using the
17990 3c 62 3e 43 52 45 41 54 45 20 54 41 42 4c 45 20 <b>CREATE TABLE
179a0 3c 69 3e 6e 61 6d 65 3c 2f 69 3e 20 41 53 20 3c <i>name</i> AS <
179b0 69 3e 54 53 50 20 71 75 65 72 79 3c 69 3e 3c 2f i>TSP query<i></
179c0 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 b>.</li>..<li>th
179d0 65 6e 20 79 6f 75 20 63 61 6e 20 66 72 65 65 6c en you can freel
179e0 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 61 62 y examine the ab
179f0 6f 76 65 20 73 6e 61 70 73 68 6f 74 2e 3c 2f 6c ove snapshot.</l
17a00 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 i>..<li>and fina
17a10 6c 6c 79 20 79 6f 75 20 63 61 6e 20 64 75 6c 79 lly you can duly
17a20 20 3c 62 3e 44 52 4f 50 3c 2f 62 3e 20 74 68 65 <b>DROP</b> the
17a30 20 73 6e 61 70 73 68 6f 74 20 6f 6e 63 65 20 69 snapshot once i
17a40 74 27 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 75 73 t's no longer us
17a50 65 66 75 6c 2e 20 28 6f 72 20 75 73 65 20 3c 62 eful. (or use <b
17a60 3e 43 52 45 41 54 45 20 54 45 4d 50 4f 52 41 52 >CREATE TEMPORAR
17a70 59 20 54 41 42 4c 45 20 6e 61 6d 65 20 41 53 20 Y TABLE name AS
17a80 3c 69 3e 54 53 50 20 71 75 65 72 79 3c 2f 69 3e <i>TSP query</i>
17a90 3c 2f 62 3e 2c 20 77 68 65 72 65 20 74 68 65 20 </b>, where the
17aa0 54 41 42 4c 45 20 77 69 6c 6c 20 62 65 20 72 65 TABLE will be re
17ab0 6d 6f 76 65 64 20 61 74 20 74 68 65 20 73 65 73 moved at the ses
17ac0 73 69 6f 6e 20 65 6e 64 29 3c 2f 6c 69 3e 0d 0a sion end)</li>..
17ad0 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 </ol>..</td></tr
17ae0 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 >..</table>..<br
17af0 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f >..<table bgcolo
17b00 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c r="#c0ffc0" cell
17b10 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c spacing="10" cel
17b20 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 lpadding="6"><tr
17b30 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 4d 6f 72 65 20 ><td>..<h3>More
17b40 61 62 6f 75 74 20 4c 69 6e 65 61 72 20 52 65 66 about Linear Ref
17b50 65 72 65 6e 63 69 6e 67 20 61 6e 64 20 56 69 72 erencing and Vir
17b60 74 75 61 6c 52 6f 75 74 69 6e 67 20 4c 69 6e 65 tualRouting Line
17b70 73 74 72 69 6e 67 73 3c 2f 68 33 3e 20 0d 0a 59 strings</h3> ..Y
17b80 6f 75 20 68 61 76 65 20 61 6c 72 65 61 64 79 20 ou have already
17b90 73 65 65 6e 20 69 6e 20 61 20 70 72 65 76 69 6f seen in a previo
17ba0 75 73 20 65 78 61 6d 70 6c 65 20 74 68 61 74 20 us example that
17bb0 61 6c 6c 20 4c 49 4e 45 53 54 52 49 4e 47 73 20 all LINESTRINGs
17bc0 63 72 65 61 74 65 64 20 62 79 20 56 69 72 74 75 created by Virtu
17bd0 61 6c 52 6f 75 74 69 6e 67 20 73 75 70 70 6f 72 alRouting suppor
17be0 74 20 74 68 65 20 3c 62 3e 4d 3c 2f 62 3e 20 28 t the <b>M</b> (
17bf0 3c 62 3e 3c 69 3e 6d 65 61 73 75 72 65 3c 2f 69 <b><i>measure</i
17c00 3e 3c 2f 62 3e 29 20 63 6f 6f 72 64 69 6e 61 74 ></b>) coordinat
17c10 65 20 69 6e 74 65 6e 64 65 64 20 61 73 20 61 20 e intended as a
17c20 3c 62 3e 70 72 6f 67 72 65 73 73 69 76 65 20 63 <b>progressive c
17c30 6f 73 74 3c 2f 62 3e 20 66 6f 72 20 65 61 63 68 ost</b> for each
17c40 20 76 65 72 74 65 78 2e 20 41 6e 64 20 79 6f 75 vertex. And you
17c50 20 61 6c 72 65 61 64 79 20 6b 6e 6f 77 20 74 68 already know th
17c60 65 20 74 68 65 79 20 63 61 6e 20 73 75 70 70 6f e they can suppo
17c70 72 74 20 3c 62 3e 3c 69 3e 6c 69 6e 65 61 72 20 rt <b><i>linear
17c80 72 65 66 65 72 65 6e 63 69 6e 67 3c 2f 69 3e 3c referencing</i><
17c90 2f 62 3e 20 28 3c 62 3e 4c 52 3c 2f 62 3e 29 20 /b> (<b>LR</b>)
17ca0 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 62 SQL functions.<b
17cb0 72 3e 0d 0a 4e 6f 77 20 6c 65 74 27 73 20 64 69 r>..Now let's di
17cc0 67 20 69 6e 20 66 75 72 74 68 65 72 2e 0d 0a 3c g in further...<
17cd0 68 33 3e 54 72 61 6a 65 63 74 6f 72 79 20 6f 62 h3>Trajectory ob
17ce0 6a 65 63 74 73 3c 2f 68 33 3e 0d 0a 41 20 3c 62 jects</h3>..A <b
17cf0 3e 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62 3e 20 >Trajectory</b>
17d00 69 73 20 61 6e 79 20 4c 69 6e 65 73 74 72 69 6e is any Linestrin
17d10 67 20 73 75 70 70 6f 72 74 69 6e 67 20 3c 62 3e g supporting <b>
17d20 4d 20 63 6f 6f 72 64 69 6e 61 74 65 73 3c 2f 62 M coordinates</b
17d30 3e 20 77 69 74 68 20 61 20 63 6f 6e 74 69 6e 75 > with a continu
17d40 6f 75 73 6c 79 20 69 6e 63 72 65 61 73 69 6e 67 ously increasing
17d50 20 74 72 65 6e 64 2e 3c 62 72 3e 0d 0a 49 6e 20 trend.<br>..In
17d60 73 69 6d 70 6c 65 72 20 77 6f 72 64 73 2c 20 74 simpler words, t
17d70 68 65 20 3c 62 3e 4d 2d 76 61 6c 75 65 3c 2f 62 he <b>M-value</b
17d80 3e 20 6f 66 20 65 61 63 68 20 76 65 72 74 65 78 > of each vertex
17d90 20 28 65 78 63 65 70 74 20 74 68 65 20 6c 61 73 (except the las
17da0 74 20 6f 6e 65 29 20 6d 75 73 74 20 62 65 20 3c t one) must be <
17db0 62 3e 6c 65 73 73 65 72 3c 2f 62 3e 20 74 68 61 b>lesser</b> tha
17dc0 6e 20 74 68 65 20 4d 2d 56 61 6c 75 65 20 6f 66 n the M-Value of
17dd0 20 74 68 65 20 6e 65 78 74 20 76 65 72 74 65 78 the next vertex
17de0 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 ...<verbatim>..S
17df0 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 6d 79 5f ELECT * FROM my_
17e00 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 57 48 45 tsp_solution WHE
17e10 52 45 20 53 54 5f 49 73 56 61 6c 69 64 54 72 61 RE ST_IsValidTra
17e20 6a 65 63 74 6f 72 79 28 67 65 6f 6d 65 74 72 79 jectory(geometry
17e30 29 20 3d 20 31 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d ) = 1;..--------
17e40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a -----------..1..
17e50 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 73 20 </verbatim>..As
17e60 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 63 you can easily c
17e70 68 65 63 6b 20 62 79 20 63 61 6c 6c 69 6e 67 20 heck by calling
17e80 3c 62 3e 53 54 5f 49 73 56 61 6c 69 64 54 72 61 <b>ST_IsValidTra
17e90 6a 65 63 74 6f 72 79 28 29 3c 2f 62 3e 20 65 76 jectory()</b> ev
17ea0 65 72 79 20 4c 69 6e 65 73 74 72 69 6e 67 20 63 ery Linestring c
17eb0 72 65 61 74 65 64 20 62 79 20 56 69 72 74 75 61 reated by Virtua
17ec0 6c 52 6f 75 74 69 6e 67 20 69 73 20 61 20 3c 62 lRouting is a <b
17ed0 3e 76 61 6c 69 64 20 54 72 61 6a 65 63 74 6f 72 >valid Trajector
17ee0 79 3c 2f 62 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 y</b>...<verbati
17ef0 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 54 72 m>..SELECT ST_Tr
17f00 61 6a 65 63 74 6f 72 79 49 6e 74 65 72 70 6f 6c ajectoryInterpol
17f10 61 74 65 50 6f 69 6e 74 28 47 65 6f 6d 65 74 72 atePoint(Geometr
17f20 79 2c 20 31 30 30 2e 30 29 0d 0a 46 52 4f 4d 20 y, 100.0)..FROM
17f30 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 0d my_tsp_solution.
17f40 0a 57 48 45 52 45 20 52 6f 75 74 65 49 64 20 3d .WHERE RouteId =
17f50 20 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0;..</verbatim>
17f60 0d 0a 53 6f 20 79 6f 75 20 6a 75 73 74 20 68 61 ..So you just ha
17f70 76 65 20 74 6f 20 63 61 6c 6c 20 3c 62 3e 53 54 ve to call <b>ST
17f80 5f 54 72 61 6a 65 63 74 6f 72 79 49 6e 74 65 72 _TrajectoryInter
17f90 70 6f 6c 61 74 65 50 6f 69 6e 74 28 29 3c 2f 62 polatePoint()</b
17fa0 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 63 72 > in order to cr
17fb0 65 61 74 65 20 61 20 50 4f 49 4e 54 20 70 72 65 eate a POINT pre
17fc0 63 69 73 65 6c 79 20 6c 6f 63 61 74 65 64 20 6f cisely located o
17fd0 6e 20 74 68 65 20 4c 69 6e 65 73 74 72 69 6e 67 n the Linestring
17fe0 20 61 74 20 74 68 65 20 67 69 76 65 6e 20 3c 62 at the given <b
17ff0 3e 63 6f 73 74 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e >cost</b>...<br>
18000 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e 3c 62 72 3e <br><hr><br><br>
18010 0d 0a 54 68 65 20 73 69 64 65 20 6d 61 70 20 67 ..The side map g
18020 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 raphically shows
18030 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 70 the estimated p
18040 6f 73 69 74 69 6f 6e 73 20 65 76 65 72 79 20 31 ositions every 1
18050 30 30 6d 20 61 73 73 75 6d 69 6e 67 20 74 68 65 00m assuming the
18060 20 73 61 6d 65 20 70 61 74 68 20 72 65 74 75 72 same path retur
18070 6e 65 64 20 62 79 20 74 68 65 20 6c 61 74 65 73 ned by the lates
18080 74 20 54 53 50 20 71 75 65 72 79 2e 0d 0a 3c 2f t TSP query...</
18090 74 64 3e 3c 74 64 3e 20 20 20 20 20 20 20 20 20 td><td>
180a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
180f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
181f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
182f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
183f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
184f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
185f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
186f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
187f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
188f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
189f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
190f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
191f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
192f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
193f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
194f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
195f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
196f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
197f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
198f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
199f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
19ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1a9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ab90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1abf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ac90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1acf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ad90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ada0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1add0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ade0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1adf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ae90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1af90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1aff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ba90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1baf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1be90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1beb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1bff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ca90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1caa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1caf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ccf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ceb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ced0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1da90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1daa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1daf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1db90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ddf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1de90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1deb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ded0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1def0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1df90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1dff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ea90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ead0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ebf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ec90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ecf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ed90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ede0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1edf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ef90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1efe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1eff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1faf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fe90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1feb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ffa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ffb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ffc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ffd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ffe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
200f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
201f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
202f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
203f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
204f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
205f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
206f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
207a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
207b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
207c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
207d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a ..
207e0 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a <img src="https:
207f0 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 //www.gaia-gis.i
20800 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 t/gaia-sins/rout
20810 69 6e 67 2d 66 69 67 73 2f 74 73 70 32 2e 6a 70 ing-figs/tsp2.jp
20820 67 22 20 61 6c 74 3d 22 66 69 67 35 22 3e 0d 0a g" alt="fig5">..
20830 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c </td></tr></tabl
20840 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 e>..<br><br>..<h
20850 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e r><br>..<h1><a n
20860 61 6d 65 3d 22 70 32 70 22 3e 38 20 2d 20 53 6f ame="p2p">8 - So
20870 6c 76 69 6e 67 20 50 6f 69 6e 74 2d 74 6f 2d 50 lving Point-to-P
20880 6f 69 6e 74 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 oint problems</a
20890 3e 3c 2f 68 31 3e 0d 0a 41 20 3c 62 3e 50 6f 69 ></h1>..A <b>Poi
208a0 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 nt-to-Point</b>
208b0 71 75 65 72 79 20 69 73 20 76 65 72 79 20 73 69 query is very si
208c0 6d 69 6c 61 72 20 74 6f 20 61 20 6d 6f 73 74 20 milar to a most
208d0 75 73 75 61 6c 20 3c 62 3e 73 69 6e 67 6c 65 2d usual <b>single-
208e0 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 destination Shor
208f0 74 65 73 74 20 50 61 74 68 3c 2f 62 3e 20 71 75 test Path</b> qu
20900 65 72 79 2c 20 65 78 63 65 70 74 20 74 68 61 74 ery, except that
20910 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 20 63 :..<ul>..<li>A c
20920 6c 61 73 73 69 63 20 53 68 6f 72 74 65 73 74 20 lassic Shortest
20930 50 61 74 68 20 71 75 65 72 79 20 72 65 71 75 69 Path query requi
20940 72 65 73 20 74 6f 20 73 70 65 63 69 66 79 20 61 res to specify a
20950 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e <b>NodeFrom</b>
20960 20 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f (<u><i>origin</
20970 69 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 20 3c 62 i></u>) and a <b
20980 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 28 3c 75 3e >NodeTo</b> (<u>
20990 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f <i>destination</
209a0 69 3e 3c 2f 75 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c i></u>).</li>..<
209b0 6c 69 3e 41 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f li>A Point-to-Po
209c0 69 6e 74 20 71 75 65 72 79 20 68 61 73 20 61 20 int query has a
209d0 6d 6f 72 65 20 72 65 6c 61 78 65 64 20 72 65 71 more relaxed req
209e0 75 69 72 65 6d 65 6e 74 2c 20 61 6e 64 20 6a 75 uirement, and ju
209f0 73 74 20 72 65 71 75 69 72 65 73 20 74 6f 20 73 st requires to s
20a00 70 65 63 69 66 79 20 61 20 3c 62 3e 50 6f 69 6e pecify a <b>Poin
20a10 74 46 72 6f 6d 3c 2f 62 3e 20 28 3c 75 3e 3c 69 tFrom</b> (<u><i
20a20 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 29 >origin</i></u>)
20a30 20 61 6e 64 20 61 20 3c 62 3e 50 6f 69 6e 74 54 and a <b>PointT
20a40 6f 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 64 65 73 o</b> (<u><i>des
20a50 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e tination</i></u>
20a60 29 2e 3c 62 72 3e 0d 0a 42 6f 74 68 20 3c 62 3e ).<br>..Both <b>
20a70 50 6f 69 6e 74 73 3c 2f 62 3e 20 63 61 6e 20 62 Points</b> can b
20a80 65 20 66 72 65 65 6c 79 20 70 6f 73 69 74 69 6f e freely positio
20a90 6e 65 64 20 65 76 65 72 79 77 68 65 72 65 20 6f ned everywhere o
20aa0 6e 20 61 20 6d 61 70 2c 20 61 6e 64 20 61 72 65 n a map, and are
20ab0 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 6f not required to
20ac0 20 70 72 65 63 69 73 65 6c 79 20 69 6e 74 65 72 precisely inter
20ad0 73 65 63 74 20 65 69 74 68 65 72 20 61 20 3c 62 sect either a <b
20ae0 3e 4e 6f 64 65 3c 2f 62 3e 20 6e 6f 72 20 61 20 >Node</b> nor a
20af0 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 6f 66 20 74 <b>Link</b> of t
20b00 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e he underlaying N
20b10 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 etwork.<br>..The
20b20 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 27 Point-to-Point'
20b30 73 20 3c 75 3e 3c 69 3e 69 6e 74 65 72 6e 61 6c s <u><i>internal
20b40 20 6c 6f 67 69 63 3c 2f 69 3e 3c 2f 75 3e 20 77 logic</i></u> w
20b50 69 6c 6c 20 74 68 65 6e 20 61 75 74 6f 6d 61 74 ill then automat
20b60 69 63 61 6c 6c 79 20 69 64 65 6e 74 69 66 79 20 ically identify
20b70 28 69 66 20 70 6f 73 73 69 62 6c 65 29 20 74 68 (if possible) th
20b80 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 4e 6f e appropriate No
20b90 64 65 73 20 66 6f 72 20 63 6f 6d 70 75 74 69 6e des for computin
20ba0 67 20 61 20 53 68 6f 72 74 65 73 74 20 50 61 74 g a Shortest Pat
20bb0 68 20 73 6f 6c 75 74 69 6f 6e 2e 3c 62 72 3e 0d h solution.<br>.
20bc0 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 .<u>Note</u>: th
20bd0 65 20 74 77 6f 20 50 6f 69 6e 74 73 20 3c 62 3e e two Points <b>
20be0 6d 75 73 74 3c 2f 62 3e 20 75 73 65 20 74 68 65 must</b> use the
20bf0 20 73 61 6d 65 20 3c 62 3e 53 52 49 44 3c 2f 62 same <b>SRID</b
20c00 3e 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79 > of the underly
20c10 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 ing Network.</li
20c20 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 48 6f >..</ul>..<h3>Ho
20c30 77 20 69 74 20 77 6f 72 6b 73 20 69 6e 20 70 72 w it works in pr
20c40 61 63 74 69 63 65 3c 2f 68 33 3e 0d 0a 3c 6f 6c actice</h3>..<ol
20c50 3e 0d 0a 3c 6c 69 3e 61 20 66 69 72 73 74 20 3c >..<li>a first <
20c60 75 3e 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61 u><i>spatial sea
20c70 72 63 68 3c 2f 69 3e 3c 2f 75 3e 20 62 61 73 65 rch</i></u> base
20c80 64 20 6f 6e 20 74 68 65 20 3c 62 3e 50 6f 69 6e d on the <b>Poin
20c90 74 46 72 6f 6d 3c 2f 62 3e 20 77 69 6c 6c 20 61 tFrom</b> will a
20ca0 74 74 65 6d 70 74 20 74 6f 20 69 64 65 6e 74 69 ttempt to identi
20cb0 66 79 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c fy all <b>Links<
20cc0 2f 62 3e 20 66 61 6c 6c 69 6e 67 20 77 69 74 68 /b> falling with
20cd0 69 6e 20 61 20 67 69 76 65 6e 20 3c 62 3e 74 6f in a given <b>to
20ce0 6c 65 72 61 6e 63 65 20 72 61 64 69 75 73 3c 2f lerance radius</
20cf0 62 3e 20 66 72 6f 6d 20 74 68 65 20 50 6f 69 6e b> from the Poin
20d00 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 73 t.</li>..<li>a s
20d10 65 63 6f 6e 64 20 73 69 6d 69 6c 61 72 20 73 70 econd similar sp
20d20 61 74 69 61 6c 20 73 65 61 72 63 68 20 77 69 6c atial search wil
20d30 6c 20 61 74 74 65 6d 70 74 20 74 6f 20 69 64 65 l attempt to ide
20d40 6e 74 69 66 79 20 61 6c 6c 20 3c 62 3e 4c 69 6e ntify all <b>Lin
20d50 6b 73 3c 2f 62 3e 20 72 65 6c 61 74 65 64 20 74 ks</b> related t
20d60 6f 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f o the <b>PointTo
20d70 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </b>.</li>..<li>
20d80 61 6c 6c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e all <b>Nodes</b>
20d90 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 6e belonging to an
20da0 79 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 69 64 y <b>Link</b> id
20db0 65 6e 74 69 66 69 65 64 20 62 79 20 74 68 65 20 entified by the
20dc0 66 69 72 73 74 20 73 70 61 74 69 61 6c 20 73 65 first spatial se
20dd0 61 72 63 68 20 77 69 6c 6c 20 62 65 20 63 6f 6e arch will be con
20de0 73 69 64 65 72 65 64 20 61 73 20 70 6f 73 73 69 sidered as possi
20df0 62 6c 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 20 ble <b>NodeFrom
20e00 63 61 6e 64 69 64 61 74 65 73 3c 2f 62 3e 2e 3c candidates</b>.<
20e10 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 73 79 /li>..<li>and sy
20e20 6d 6d 65 74 72 69 63 61 6c 6c 79 2c 20 61 6c 6c mmetrically, all
20e30 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 62 65 <b>Nodes</b> be
20e40 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 6e 79 20 3c longing to any <
20e50 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 69 64 65 6e 74 b>Link</b> ident
20e60 69 66 69 65 64 20 62 79 20 74 68 65 20 73 65 63 ified by the sec
20e70 6f 6e 64 20 73 70 61 74 69 61 6c 20 73 65 61 72 ond spatial sear
20e80 63 68 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69 ch will be consi
20e90 64 65 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c dered as possibl
20ea0 65 20 3c 62 3e 4e 6f 64 65 54 6f 20 63 61 6e 64 e <b>NodeTo cand
20eb0 69 64 61 74 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e idates</b>.</li>
20ec0 0d 0a 3c 6c 69 3e 61 20 66 75 6c 6c 20 70 65 72 ..<li>a full per
20ed0 6d 75 74 61 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 mutation of all
20ee0 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 73 6f Shortest Path so
20ef0 6c 75 74 69 6f 6e 73 20 63 6f 6e 6e 65 63 74 69 lutions connecti
20f00 6e 67 20 6f 6e 65 20 74 68 65 20 46 72 6f 6d 20 ng one the From
20f10 63 61 6e 64 69 64 61 74 65 73 20 74 6f 20 6f 6e candidates to on
20f20 65 20 6f 66 20 74 68 65 20 54 6f 20 63 61 6e 64 e of the To cand
20f30 69 64 61 74 65 73 20 77 69 6c 6c 20 62 65 20 74 idates will be t
20f40 68 65 6e 20 63 6f 6d 70 75 74 65 64 2e 3c 2f 6c hen computed.</l
20f50 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 i>..<li>and fina
20f60 6c 6c 79 20 74 68 65 20 3c 62 3e 6f 70 74 69 6d lly the <b>optim
20f70 61 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e al Point-to-Poin
20f80 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 77 t solution</b> w
20f90 69 6c 6c 20 62 65 20 73 65 6c 65 63 74 65 64 20 ill be selected
20fa0 62 79 20 69 64 65 6e 74 69 66 79 69 6e 67 20 77 by identifying w
20fb0 68 69 63 68 20 73 70 65 63 69 66 69 63 20 63 61 hich specific ca
20fc0 6e 64 69 64 61 74 65 20 70 72 65 73 65 6e 74 73 ndidate presents
20fd0 20 74 68 65 20 3c 62 3e 6c 65 73 73 65 72 20 43 the <b>lesser C
20fe0 6f 73 74 3c 2f 62 3e 20 6f 66 20 74 68 65 6d 20 ost</b> of them
20ff0 61 6c 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e all.</li>..</ol>
21000 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 <br>..<table bgc
21010 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63 olor="#ffb060" c
21020 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 ellspacing="10"
21030 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
21040 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 42 65 <tr><td>..<h3>Be
21050 20 61 77 61 72 65 3c 2f 68 33 3e 0d 0a 41 74 74 aware</h3>..Att
21060 65 6d 70 74 69 6e 67 20 74 6f 20 73 6f 6c 76 65 empting to solve
21070 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 Point-to-Point
21080 71 75 65 72 69 65 73 20 73 74 72 69 63 74 6c 79 queries strictly
21090 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 61 requires that a
210a0 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 n appropriate <b
210b0 3e 53 70 61 74 69 61 6c 20 49 6e 64 65 78 3c 2f >Spatial Index</
210c0 62 3e 20 74 6f 20 65 66 66 65 63 74 69 76 65 6c b> to effectivel
210d0 79 20 73 75 70 70 6f 72 74 20 61 6c 6c 20 4c 69 y support all Li
210e0 6e 6b 73 20 6f 66 20 74 68 65 20 75 6e 64 65 72 nks of the under
210f0 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c laying Network.<
21100 62 72 3e 0d 0a 49 66 20 73 75 63 68 20 61 20 70 br>..If such a p
21110 72 65 2d 72 65 71 75 69 72 65 6d 65 6e 74 20 69 re-requirement i
21120 73 20 6e 6f 74 20 66 75 6c 66 69 6c 6c 65 64 20 s not fulfilled
21130 74 68 65 20 61 62 6f 76 65 20 6d 65 6e 74 69 6f the above mentio
21140 6e 65 64 20 3c 75 3e 3c 69 3e 73 70 61 74 69 61 ned <u><i>spatia
21150 6c 20 73 65 61 72 63 68 65 73 3c 2f 69 3e 3c 2f l searches</i></
21160 75 3e 20 77 69 6c 6c 20 66 61 69 6c 20 6d 69 73 u> will fail mis
21170 65 72 61 62 6c 79 2c 20 61 6e 64 20 63 6f 6e 73 erably, and cons
21180 65 71 75 65 6e 74 6c 79 20 61 6c 6c 20 50 6f 69 equently all Poi
21190 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 nt-to-Point quer
211a0 69 65 73 20 77 69 6c 6c 20 62 65 20 75 6e 61 62 ies will be unab
211b0 6c 65 20 74 6f 20 69 64 65 6e 74 69 66 79 20 61 le to identify a
211c0 6e 79 20 70 6f 73 73 69 62 6c 65 20 43 61 6e 64 ny possible Cand
211d0 69 64 61 74 65 20 74 6f 20 62 65 20 65 76 61 6c idate to be eval
211e0 75 61 74 65 64 2e 0d 0a 3c 68 33 3e 41 6c 77 61 uated...<h3>Alwa
211f0 79 73 20 72 65 6d 65 6d 62 65 72 3c 2f 68 33 3e ys remember</h3>
21200 0d 0a 43 61 72 65 66 75 6c 6c 79 20 63 68 65 63 ..Carefully chec
21210 6b 20 69 66 20 61 6e 20 61 70 70 72 6f 70 72 69 k if an appropri
21220 61 74 65 20 53 70 61 74 69 61 6c 20 49 6e 64 65 ate Spatial Inde
21230 78 20 61 6c 6c 72 65 61 64 79 20 65 78 69 73 74 x allready exist
21240 73 20 62 65 66 6f 72 65 20 61 74 74 65 6d 70 74 s before attempt
21250 69 6e 67 20 74 6f 20 65 78 65 63 75 74 65 20 61 ing to execute a
21260 6e 79 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e ny Point-to-Poin
21270 74 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 t query...<br><b
21280 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f r>..</td></tr></
21290 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 table>..<br>..<t
212a0 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 able bgcolor="#c
212b0 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 0ffc0" cellspaci
212c0 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 ng="10" cellpadd
212d0 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 20 ing="6"><tr><td
212e0 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 20 63 align="center" c
212f0 6f 6c 73 70 61 6e 3d 22 32 22 3e 0d 0a 3c 68 32 olspan="2">..<h2
21300 3e 42 61 73 69 63 20 63 6f 6e 63 65 70 74 73 2c >Basic concepts,
21310 20 74 65 63 68 6e 69 63 61 6c 20 64 65 74 61 69 technical detai
21320 6c 73 20 61 6e 64 20 72 65 6c 61 74 65 64 20 67 ls and related g
21330 6c 6f 73 73 61 72 79 3c 2f 68 32 3e 0d 0a 3c 2f lossary</h2>..</
21340 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 td></tr>..<tr><t
21350 64 3e 0d 0a 54 68 65 20 73 69 64 65 20 66 69 67 d>..The side fig
21360 75 72 65 20 73 68 6f 77 73 20 61 20 68 79 70 6f ure shows a hypo
21370 74 68 65 74 69 63 61 6c 20 50 6f 69 6e 74 2d 74 thetical Point-t
21380 6f 2d 50 6f 69 6e 74 20 73 6f 6c 75 74 69 6f 6e o-Point solution
21390 20 61 6c 6d 6f 73 74 20 70 72 65 63 69 73 65 6c almost precisel
213a0 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 66 y based on the f
213b0 6f 6c 6c 6f 77 69 6e 67 20 73 65 71 75 65 6e 63 ollowing sequenc
213c0 65 20 6f 66 20 4e 6f 64 65 73 3a 3c 62 72 3e 0d e of Nodes:<br>.
213d0 0a 3c 62 3e 3c 69 3e 4e 31 2d 4e 32 2d 4e 33 2d .<b><i>N1-N2-N3-
213e0 4e 34 2d 4e 35 2d 4e 36 2d 4e 37 2d 4e 38 2d 4e N4-N5-N6-N7-N8-N
213f0 39 2d 4e 31 30 2d 4e 31 31 2d 4e 31 32 2d 4e 31 9-N10-N11-N12-N1
21400 33 2d 4e 31 34 2d 4e 31 35 3c 2f 69 3e 3c 2f 62 3-N14-N15</i></b
21410 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 48 6f 77 >..<br><br>..How
21420 65 76 65 72 2c 20 61 73 20 79 6f 75 20 63 61 6e ever, as you can
21430 20 73 65 65 2c 20 74 68 65 72 65 20 61 72 65 20 see, there are
21440 74 77 6f 20 6e 6f 74 69 63 65 61 62 6c 65 20 65 two noticeable e
21450 78 63 65 70 74 69 6f 6e 73 3a 0d 0a 3c 75 6c 3e xceptions:..<ul>
21460 0d 0a 3c 6c 69 3e 54 68 65 20 3c 62 3e 66 69 72 ..<li>The <b>fir
21470 73 74 3c 2f 62 3e 20 4c 69 6e 6b 20 28 63 6f 6e st</b> Link (con
21480 6e 65 63 74 69 6e 67 20 3c 62 3e 4e 31 3c 2f 62 necting <b>N1</b
21490 3e 20 74 6f 20 3c 62 3e 4e 32 3c 2f 62 3e 29 20 > to <b>N2</b>)
214a0 69 73 20 6e 6f 74 20 63 6f 6d 70 6c 65 74 65 6c is not completel
214b0 79 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68 y required by th
214c0 65 20 53 6f 6c 75 74 69 6f 6e 2e 3c 62 72 3e 0d e Solution.<br>.
214d0 0a 4a 75 73 74 20 61 20 73 6d 61 6c 6c 20 70 6f .Just a small po
214e0 72 74 69 6f 6e 20 28 64 72 61 77 6e 20 69 6e 20 rtion (drawn in
214f0 72 65 64 29 20 6f 66 20 74 68 69 73 20 4c 69 6e red) of this Lin
21500 6b 20 69 73 20 65 66 66 65 63 74 69 76 65 6c 79 k is effectively
21510 20 72 65 71 75 69 72 65 64 2e 3c 62 72 3e 0d 0a required.<br>..
21520 54 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 70 61 The remaining pa
21530 72 74 20 28 64 72 61 77 6e 20 69 6e 20 67 72 61 rt (drawn in gra
21540 79 29 20 69 73 6e 27 74 20 63 6f 76 65 72 65 64 y) isn't covered
21550 20 62 79 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e by the Solution
21560 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 78 61 63 .</li>..<li>Exac
21570 74 6c 79 20 74 68 65 20 73 61 6d 65 20 69 73 20 tly the same is
21580 74 72 75 65 20 66 6f 72 20 74 68 65 20 3c 62 3e true for the <b>
21590 6c 61 73 74 3c 2f 62 3e 20 4c 69 6e 6b 20 63 6f last</b> Link co
215a0 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 4e 31 34 3c nnecting <b>N14<
215b0 2f 62 3e 20 74 6f 20 3c 62 3e 4e 31 35 3c 2f 62 /b> to <b>N15</b
215c0 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 61 >.</li>..<li>Tha
215d0 74 27 73 20 6e 6f 74 20 61 6c 6c 3a 20 74 68 65 t's not all: the
215e0 72 65 20 61 72 65 20 74 77 6f 20 73 68 6f 72 74 re are two short
215f0 20 73 65 67 6d 65 6e 74 73 20 28 64 72 61 77 6e segments (drawn
21600 20 69 6e 20 67 72 65 65 6e 29 20 63 6f 6e 6e 65 in green) conne
21610 63 74 69 6e 67 20 3c 62 3e 50 66 72 6f 6d 3c 2f cting <b>Pfrom</
21620 62 3e 20 61 6e 64 20 3c 62 3e 50 74 6f 3c 2f 62 b> and <b>Pto</b
21630 3e 20 28 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e > (<i>origin</i>
21640 20 61 6e 64 20 3c 69 3e 64 65 73 74 69 6e 61 74 and <i>destinat
21650 69 6f 6e 3c 2f 69 3e 20 50 6f 69 6e 74 73 29 20 ion</i> Points)
21660 72 65 73 70 65 63 74 69 76 65 6c 79 20 74 6f 20 respectively to
21670 74 68 65 20 3c 62 3e 66 69 72 73 74 3c 2f 62 3e the <b>first</b>
21680 20 61 6e 64 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e and <b>last</b>
21690 20 70 61 72 74 69 61 6c 20 4c 69 6e 6b 73 2e 3c partial Links.<
216a0 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 /li>..</ul>..<br
216b0 3e 0d 0a 41 6c 6c 20 74 68 69 73 20 69 73 6e 27 >..All this isn'
216c0 74 20 73 75 72 70 72 69 73 69 6e 67 2c 20 73 69 t surprising, si
216d0 6e 63 65 20 69 74 20 73 69 6d 70 6c 79 20 69 73 nce it simply is
216e0 20 74 68 65 20 6d 6f 73 74 20 6f 62 76 69 6f 75 the most obviou
216f0 73 20 64 69 72 65 63 74 20 63 6f 6e 73 65 71 75 s direct consequ
21700 65 6e 63 65 20 6f 66 20 74 68 65 20 76 65 72 79 ence of the very
21710 20 62 61 73 69 63 20 61 73 73 75 6d 70 74 69 6f basic assumptio
21720 6e 73 20 61 74 20 74 68 65 20 62 61 73 69 73 20 ns at the basis
21730 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e of Point-to-Poin
21740 74 20 71 75 65 72 69 65 73 3a 0d 0a 3c 75 6c 3e t queries:..<ul>
21750 0d 0a 3c 6c 69 3e 4e 65 69 74 68 65 72 20 74 68 ..<li>Neither th
21760 65 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f e <b>PointFrom</
21770 62 3e 20 6e 6f 72 20 74 68 65 20 3c 62 3e 50 6f b> nor the <b>Po
21780 69 6e 74 54 6f 3c 2f 62 3e 20 61 72 65 20 72 65 intTo</b> are re
21790 71 75 69 72 65 64 20 74 6f 20 65 78 61 63 74 6c quired to exactl
217a0 79 20 69 6e 74 65 72 73 65 63 74 20 61 20 3c 62 y intersect a <b
217b0 3e 4e 6f 64 65 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a >Node</b>.<br>..
217c0 43 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68 65 Consequently the
217d0 20 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20 61 6e <b>first</b> an
217e0 64 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e 20 4c 69 d <b>last</b> Li
217f0 6e 6b 73 20 6f 66 20 74 68 65 20 6f 76 65 72 61 nks of the overa
21800 6c 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e ll Point-to-Poin
21810 74 20 53 6f 6c 75 74 69 6f 6e 20 63 6f 75 6c 64 t Solution could
21820 20 6f 6e 6c 79 20 62 65 20 70 61 72 74 69 61 6c only be partial
21830 6c 79 20 69 6e 76 6f 6c 76 65 64 2e 3c 62 72 3e ly involved.<br>
21840 0d 0a 49 6e 20 56 69 72 74 75 61 6c 52 6f 75 74 ..In VirtualRout
21850 69 6e 67 20 6a 61 72 67 6f 6e 20 74 68 65 73 65 ing jargon these
21860 20 74 77 6f 20 3c 75 3e 3c 69 3e 73 70 65 63 69 two <u><i>speci
21870 61 6c 20 69 74 65 6d 73 3c 2f 69 3e 3c 2f 75 3e al items</i></u>
21880 20 61 72 65 20 72 65 73 70 65 63 74 69 76 65 6c are respectivel
21890 79 20 63 61 6c 6c 65 64 3a 0d 0a 3c 75 6c 3e 0d y called:..<ul>.
218a0 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 .<li><b>Partial
218b0 4c 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f 62 3e Link (Start)</b>
218c0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 </li>..<li><b>Pa
218d0 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 rtial Link (End)
218e0 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e </b></li>..</ul>
218f0 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 42 6f 74 68 </li> ..<li>Both
21900 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 46 72 6f the <b>PointFro
21910 6d 3c 2f 62 3e 20 61 6e 64 20 74 68 65 20 3c 62 m</b> and the <b
21920 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 63 61 6e >PointTo</b> can
21930 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 68 61 legitimately ha
21940 76 65 20 62 65 65 6e 20 61 74 20 61 6e 79 20 61 ve been at any a
21950 72 62 69 74 72 61 72 79 20 70 6f 73 69 74 69 6f rbitrary positio
21960 6e 20 61 6e 64 20 61 72 65 20 6e 65 76 65 72 20 n and are never
21970 72 65 71 75 69 72 65 64 20 74 6f 20 65 78 61 63 required to exac
21980 74 6c 79 20 69 6e 74 65 72 73 65 63 74 20 61 20 tly intersect a
21990 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 2e 3c 62 72 3e <b>Link</b>.<br>
219a0 0d 0a 54 68 69 73 20 63 61 6e 20 65 61 73 69 6c ..This can easil
219b0 79 20 69 6d 70 6c 79 20 74 68 61 74 20 61 6e 20 y imply that an
219c0 3c 75 3e 3c 69 3e 65 78 74 72 61 20 73 68 6f 72 <u><i>extra shor
219d0 74 20 6c 65 67 3c 2f 69 3e 3c 2f 75 3e 20 63 6f t leg</i></u> co
219e0 75 6c 64 20 62 65 20 72 65 71 75 69 72 65 64 20 uld be required
219f0 69 6e 20 6f 72 64 65 72 20 74 6f 20 63 6f 6e 6e in order to conn
21a00 65 63 74 20 74 68 65 20 46 72 6f 6d 2f 54 6f 20 ect the From/To
21a10 50 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 63 6f Points to the co
21a20 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b rresponding Link
21a30 73 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69 72 75 74 s.<br>..In Virut
21a40 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72 67 6f 6e alRouting jargon
21a50 20 74 68 65 73 65 20 74 77 6f 20 3c 75 3e 3c 69 these two <u><i
21a60 3e 73 70 65 63 69 61 6c 20 69 74 65 6d 73 3c 2f >special items</
21a70 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65 73 70 65 i></u> are respe
21a80 63 74 69 76 65 6c 79 20 63 61 6c 6c 65 64 3a 0d ctively called:.
21a90 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e .<ul>..<li><b>In
21aa0 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 3c 2f gress Path</b></
21ab0 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72 65 li>..<li><b>Egre
21ac0 73 73 20 50 61 74 68 3c 2f 62 3e 3c 2f 6c 69 3e ss Path</b></li>
21ad0 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c ..</ul></li> ..<
21ae0 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 li><u>Note</u>:
21af0 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 61 72 65 none of them are
21b00 20 73 74 72 69 63 74 6c 79 20 6d 61 6e 64 61 74 strictly mandat
21b10 6f 72 79 20 69 74 65 6d 73 3a 0d 0a 3c 75 6c 3e ory items:..<ul>
21b20 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 49 6e 67 ..<li>the <b>Ing
21b30 72 65 73 73 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20 ress</b> and/or
21b40 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68 73 3c <b>Egress Paths<
21b50 2f 62 3e 20 61 72 65 20 6e 6f 74 20 72 65 71 75 /b> are not requ
21b60 69 72 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f ired when the co
21b70 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 6f 69 6e rresponding Poin
21b80 74 20 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73 t exactly inters
21b90 65 63 74 73 20 61 20 4c 69 6e 6b 2e 3c 2f 6c 69 ects a Link.</li
21ba0 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 >..<li><b>Partia
21bb0 6c 20 4c 69 6e 6b 73 3c 2f 62 3e 20 28 65 69 74 l Links</b> (eit
21bc0 68 65 72 20 3c 62 3e 28 53 74 61 72 74 29 3c 2f her <b>(Start)</
21bd0 62 3e 20 6f 72 20 3c 62 3e 28 45 6e 64 29 3c 2f b> or <b>(End)</
21be0 62 3e 29 20 61 72 65 20 6e 65 76 65 72 20 72 65 b>) are never re
21bf0 71 75 69 72 65 64 20 77 68 65 6e 20 74 68 65 20 quired when the
21c00 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 6f corresponding Po
21c10 69 6e 74 20 65 78 61 63 74 6c 79 20 6d 61 74 63 int exactly matc
21c20 68 65 73 20 61 20 4e 6f 64 65 2e 3c 2f 6c 69 3e hes a Node.</li>
21c30 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f ..</ul></li>..</
21c40 75 6c 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e ul>..</td>..<td>
21c50 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 ..<img src="http
21c60 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
21c70 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f .it/gaia-sins/ro
21c80 75 74 69 6e 67 2d 66 69 67 73 2f 70 32 70 2d 73 uting-figs/p2p-s
21c90 74 72 75 63 74 2e 70 6e 67 22 20 61 6c 74 3d 22 truct.png" alt="
21ca0 70 32 70 2d 73 74 72 75 63 74 22 3e 0d 0a 3c 2f p2p-struct">..</
21cb0 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 td></tr>..<tr><t
21cc0 64 3e 0d 0a 41 20 6d 6f 72 65 20 63 6f 6d 70 72 d>..A more compr
21cd0 65 68 65 6e 73 69 76 65 20 61 6e 64 20 64 65 74 ehensive and det
21ce0 61 69 6c 65 64 20 65 78 70 6c 61 6e 61 74 69 6f ailed explanatio
21cf0 6e 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 n based on the s
21d00 69 64 65 20 66 69 67 75 72 65 3a 0d 0a 3c 75 6c ide figure:..<ul
21d10 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 31 3c 2f 62 3e >..<li><b>L1</b>
21d20 20 69 73 20 61 20 4c 69 6e 6b 20 63 6f 6e 6e 65 is a Link conne
21d30 63 74 69 6e 67 20 4e 6f 64 65 73 20 3c 62 3e 4e cting Nodes <b>N
21d40 31 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 32 3c 1</b> and <b>N2<
21d50 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c /b>.</li>..<li><
21d60 62 3e 50 74 3c 2f 62 3e 20 69 73 20 6f 6e 65 20 b>Pt</b> is one
21d70 62 65 74 77 65 65 6e 20 50 6f 69 6e 74 46 72 6f between PointFro
21d80 6d 20 6f 72 20 50 6f 69 6e 74 54 6f 2e 3c 2f 6c m or PointTo.</l
21d90 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d i>..</ul>..<br>.
21da0 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 50 .<ol>..<li>The P
21db0 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 69 6e oint-to-Point in
21dc0 74 65 72 6e 61 6c 20 6c 6f 67 69 63 20 77 69 6c ternal logic wil
21dd0 6c 20 73 74 61 72 74 20 62 79 20 69 64 65 6e 74 l start by ident
21de0 69 66 79 69 6e 67 20 3c 62 3e 69 3c 2f 62 3e 2c ifying <b>i</b>,
21df0 0d 0a 74 68 61 74 20 69 73 20 74 68 65 20 50 6f ..that is the Po
21e00 69 6e 74 20 69 6e 74 65 72 73 65 63 74 69 6e 67 int intersecting
21e10 20 3c 62 3e 4c 31 3c 2f 62 3e 20 61 6e 64 20 70 <b>L1</b> and p
21e20 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6d 69 resenting the mi
21e30 6e 69 6d 75 6d 20 64 69 73 74 61 6e 63 65 20 62 nimum distance b
21e40 65 74 77 65 65 6e 20 74 68 65 20 4c 69 6e 6b 20 etween the Link
21e50 61 6e 64 20 3c 62 3e 50 74 3c 2f 62 3e 0d 0a 28 and <b>Pt</b>..(
21e60 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f corresponding to
21e70 20 74 68 65 20 72 65 73 75 6c 74 20 72 65 74 75 the result retu
21e80 72 6e 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 rned by calling
21e90 74 68 65 20 3c 62 3e 53 54 5f 4c 69 6e 65 5f 4c the <b>ST_Line_L
21ea0 6f 63 61 74 65 5f 50 6f 69 6e 74 28 29 3c 2f 62 ocate_Point()</b
21eb0 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 29 2e > SQL function).
21ec0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4e 6f 77 20 74 </li>..<li>Now t
21ed0 68 65 20 4c 69 6e 6b 20 3c 62 3e 4c 31 3c 2f 62 he Link <b>L1</b
21ee0 3e 20 77 69 6c 6c 20 62 65 20 73 70 6c 69 74 20 > will be split
21ef0 69 6e 20 74 77 6f 20 68 61 6c 76 65 73 20 3c 62 in two halves <b
21f00 3e 4c 31 2d 61 3c 2f 62 3e 20 61 6e 64 20 3c 62 >L1-a</b> and <b
21f10 3e 4c 31 2d 62 3c 2f 62 3e 20 61 63 63 6f 72 64 >L1-b</b> accord
21f20 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 70 6f 73 ingly to the pos
21f30 69 74 69 6f 6e 20 6f 66 20 3c 62 3e 69 3c 2f 62 ition of <b>i</b
21f40 3e 0d 0a 28 63 6f 72 72 65 73 70 6f 6e 64 69 6e >..(correspondin
21f50 67 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 73 g to the results
21f60 20 72 65 74 75 72 6e 65 64 20 62 79 20 63 61 6c returned by cal
21f70 6c 69 6e 67 20 74 68 65 20 3c 62 3e 53 54 5f 4c ling the <b>ST_L
21f80 69 6e 65 5f 53 75 62 73 74 72 69 6e 67 28 29 3c ine_Substring()<
21f90 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e /b> SQL function
21fa0 29 2e 3c 62 72 3e 0d 0a 42 6f 74 68 20 68 61 6c ).<br>..Both hal
21fb0 76 65 73 20 77 69 6c 6c 20 6e 6f 77 20 62 65 20 ves will now be
21fc0 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 70 6f considered as po
21fd0 73 73 69 62 6c 65 20 3c 62 3e 50 61 72 74 69 61 ssible <b>Partia
21fe0 6c 20 4c 69 6e 6b 73 20 28 53 74 61 72 74 29 20 l Links (Start)
21ff0 63 61 6e 64 69 64 61 74 65 73 3c 2f 62 3e 20 6c candidates</b> l
22000 65 61 64 69 6e 67 20 72 65 73 70 65 63 74 69 76 eading respectiv
22010 65 6c 79 20 74 6f 20 3c 62 3e 4e 31 3c 2f 62 3e ely to <b>N1</b>
22020 20 6f 72 20 3c 62 3e 4e 32 3c 2f 62 3e 3b 0d 0a or <b>N2</b>;..
22030 64 69 72 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20 directions will
22040 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 be automatically
22050 20 69 6e 76 65 72 74 65 64 20 61 73 20 72 65 71 inverted as req
22060 75 69 72 65 64 2c 20 62 75 74 20 6f 6e 6c 79 20 uired, but only
22070 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 if there are no
22080 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 <b>one-way</b> r
22090 65 73 74 72 69 63 74 69 6f 6e 73 2e 3c 62 72 3e estrictions.<br>
220a0 0d 0a 28 74 68 65 20 64 69 72 65 63 74 69 6f 6e ..(the direction
220b0 73 20 77 69 6c 6c 20 62 65 20 6f 62 76 69 6f 75 s will be obviou
220c0 73 6c 79 20 69 6e 76 65 72 74 65 64 20 69 6e 20 sly inverted in
220d0 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e 50 the case of <b>P
220e0 61 72 74 69 61 6c 20 4c 69 6e 6b 73 20 28 45 6e artial Links (En
220f0 64 29 3c 2f 62 3e 20 2f 20 3c 62 3e 4e 6f 64 65 d)</b> / <b>Node
22100 54 6f 3c 2f 62 3e 29 3c 2f 6c 69 3e 0d 0a 3c 6c To</b>)</li>..<l
22110 69 3e 41 6e 64 20 66 69 6e 61 6c 6c 79 20 61 20 i>And finally a
22120 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 6e 74 straight segment
22130 20 3c 62 3e 70 3c 2f 62 3e 20 63 6f 6e 6e 65 63 <b>p</b> connec
22140 74 69 6e 67 20 3c 62 3e 50 74 3c 2f 62 3e 20 74 ting <b>Pt</b> t
22150 6f 20 3c 62 3e 69 3c 2f 62 3e 20 77 69 6c 6c 20 o <b>i</b> will
22160 62 65 20 63 6f 6e 73 74 72 75 63 74 65 64 2e 0d be constructed..
22170 0a 53 6f 20 3c 62 3e 70 3c 2f 62 3e 20 65 78 61 .So <b>p</b> exa
22180 63 74 6c 79 20 63 6f 72 72 65 73 70 6f 6e 64 73 ctly corresponds
22190 20 74 6f 20 74 68 65 20 3c 62 3e 49 6e 67 72 65 to the <b>Ingre
221a0 73 73 20 50 61 74 68 3c 2f 62 3e 20 69 66 20 3c ss Path</b> if <
221b0 62 3e 50 74 3c 2f 62 3e 20 69 73 20 3c 62 3e 50 b>Pt</b> is <b>P
221c0 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2e 3c 62 72 ointFrom</b>.<br
221d0 3e 0d 0a 28 74 68 65 20 64 69 72 65 63 74 69 6f >..(the directio
221e0 6e 20 73 68 6f 75 6c 64 20 62 65 20 6f 62 76 69 n should be obvi
221f0 6f 75 73 6c 79 20 69 6e 76 65 72 74 65 64 20 69 ously inverted i
22200 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 74 68 n the case of th
22210 65 20 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68 e <b>Egress Path
22220 3c 2f 62 3e 20 2f 20 3c 62 3e 50 6f 69 6e 74 54 </b> / <b>PointT
22230 6f 3c 2f 62 3e 29 3c 2f 6c 69 3e 0d 0a 3c 2f 6f o</b>)</li>..</o
22240 6c 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d l>..</td>..<td>.
22250 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 .<img src="https
22260 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
22270 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 it/gaia-sins/rou
22280 74 69 6e 67 2d 66 69 67 73 2f 73 70 6c 69 74 2d ting-figs/split-
22290 6c 69 6e 6b 2e 70 6e 67 22 20 61 6c 74 3d 22 70 link.png" alt="p
222a0 32 70 2d 73 74 72 75 63 74 22 3e 0d 0a 3c 2f 74 2p-struct">..</t
222b0 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 d></tr>..</table
222c0 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 >..<br>..<table
222d0 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 bgcolor="#ffb060
222e0 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 " cellspacing="1
222f0 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 0" cellpadding="
22300 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 6"><tr><td>..<h3
22310 3e 57 61 72 6e 69 6e 67 3c 2f 68 33 3e 0d 0a 56 >Warning</h3>..V
22320 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 77 68 irtualRouting wh
22330 65 6e 20 73 6f 6c 76 69 6e 67 20 61 20 50 6f 69 en solving a Poi
22340 6e 74 2d 74 6f 2d 50 72 6f 62 6c 65 6d 20 72 65 nt-to-Problem re
22350 71 75 69 72 65 73 20 61 20 70 72 65 63 69 73 65 quires a precise
22360 20 65 73 74 69 6d 61 74 69 6f 6e 20 6f 66 20 3c estimation of <
22370 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 72 65 6c 61 b>Costs</b> rela
22380 74 65 64 20 74 6f 20 3c 62 3e 49 6e 67 72 65 73 ted to <b>Ingres
22390 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 67 72 s</b> and <b>Egr
223a0 65 73 73 20 50 61 74 68 73 3c 2f 62 3e 20 61 6e ess Paths</b> an
223b0 64 20 74 6f 20 3c 62 3e 50 61 72 74 69 61 6c 20 d to <b>Partial
223c0 4c 69 6e 6b 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a Links</b>.<br>..
223d0 42 75 74 20 56 69 72 74 75 61 6c 52 6f 75 74 69 But VirtualRouti
223e0 6e 67 20 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 ng is completely
223f0 20 75 6e 61 62 6c 65 20 74 6f 20 63 6f 6d 70 75 unable to compu
22400 74 65 20 63 6f 6d 70 6c 65 78 20 28 61 6e 64 20 te complex (and
22410 75 6e 73 70 65 63 69 66 69 65 64 29 20 43 6f 73 unspecified) Cos
22420 74 20 66 6f 72 6d 75 6c 61 73 2c 20 61 6e 64 20 t formulas, and
22430 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 69 74 20 consequently it
22440 77 69 6c 6c 20 73 69 6d 70 6c 79 20 61 73 73 75 will simply assu
22450 6d 65 20 61 20 43 6f 73 74 20 63 6f 72 72 65 73 me a Cost corres
22460 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 47 ponding to the G
22470 65 6f 6d 65 74 72 69 63 20 4c 65 6e 67 74 68 20 eometric Length
22480 6f 66 20 73 75 63 68 20 69 74 65 6d 73 2e 3c 62 of such items.<b
22490 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 43 6f 6e 63 6c r><br>..<b>Concl
224a0 75 73 69 6f 6e 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 usion</b>: only
224b0 4e 65 74 77 6f 72 6b 73 20 62 61 73 65 64 20 6f Networks based o
224c0 6e 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 63 n <b>Costs</b> c
224d0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 orresponding to
224e0 3c 62 3e 47 65 6f 6d 65 74 72 69 63 20 4c 65 6e <b>Geometric Len
224f0 67 74 68 73 3c 2f 62 3e 20 63 61 6e 20 65 66 66 gths</b> can eff
22500 65 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 74 ectively support
22510 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 Point-to-Point
22520 71 75 65 72 69 65 73 2e 3c 62 72 3e 0d 0a 41 6e queries.<br>..An
22530 79 20 64 69 66 66 65 72 65 6e 74 20 4e 65 74 77 y different Netw
22540 6f 72 6b 20 63 6f 6e 66 69 67 75 72 61 74 69 6f ork configuratio
22550 6e 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 6c 65 n will surely le
22560 61 64 20 74 6f 20 77 72 6f 6e 67 20 61 6e 64 20 ad to wrong and
22570 69 6e 63 6f 6e 73 69 73 74 65 6e 74 20 72 65 73 inconsistent res
22580 75 6c 74 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d ults...<br><br>.
22590 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 .</td></tr></tab
225a0 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4c le>..<br><br>..L
225b0 65 74 27 73 20 6e 6f 77 20 65 78 61 6d 69 6e 65 et's now examine
225c0 20 61 20 70 72 61 63 74 69 63 61 6c 20 65 78 61 a practical exa
225d0 6d 70 6c 65 20 6f 66 20 50 6f 69 6e 74 2d 74 6f mple of Point-to
225e0 2d 50 6f 69 6e 74 20 73 6f 6c 76 69 6e 67 20 75 -Point solving u
225f0 73 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 sing VirtualRout
22600 69 6e 67 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e ing...<verbatim>
22610 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 ..SELECT Algorit
22620 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 hm, Request, Opt
22630 69 6f 6e 73 2c 20 52 6f 75 74 65 49 64 2c 20 52 ions, RouteId, R
22640 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c outeRow, Role, L
22650 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 inkRowid, NodeFr
22660 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 50 6f 69 6e om, NodeTo, Poin
22670 74 46 72 6f 6d 2c 20 50 6f 69 6e 74 54 6f 2c 20 tFrom, PointTo,
22680 54 6f 6c 65 72 61 6e 63 65 2c 20 43 6f 73 74 2c Tolerance, Cost,
22690 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d Geometry, Name.
226a0 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 .FROM byfoot..WH
226b0 45 52 45 20 50 6f 69 6e 74 46 72 6f 6d 20 3d 20 ERE PointFrom =
226c0 28 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f (SELECT geom FRO
226d0 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 M house_nr_vw WH
226e0 45 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 ERE municipality
226f0 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 = 'AREZZO' AND
22700 61 64 64 72 65 73 73 20 3d 20 27 56 49 41 20 44 address = 'VIA D
22710 45 27 27 20 43 45 4e 43 49 20 31 33 27 29 0d 0a E'' CENCI 13')..
22720 20 20 20 20 41 4e 44 20 50 6f 69 6e 74 54 6f 20 AND PointTo
22730 3d 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 = (SELECT geom F
22740 52 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 ROM house_nr_vw
22750 57 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 WHERE municipali
22760 74 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e ty = 'AREZZO' AN
22770 44 20 61 64 64 72 65 73 73 20 3d 20 27 56 49 41 D address = 'VIA
22780 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e ANTONIO GUADAGN
22790 4f 4c 49 20 31 39 2f 42 27 29 3b 0d 0a 3c 2f 76 OLI 19/B');..</v
227a0 65 72 62 61 74 69 6d 3e 0d 0a 41 20 3c 62 3e 50 erbatim>..A <b>P
227b0 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 oint-to-Point</b
227c0 3e 20 71 75 65 72 79 20 68 61 73 20 74 68 65 20 > query has the
227d0 73 61 6d 65 20 66 6f 72 6d 20 6f 66 20 61 20 3c same form of a <
227e0 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 b>single-destina
227f0 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 tion Shortest Pa
22800 74 68 3c 2f 62 3e 20 71 75 65 72 79 2c 20 65 78 th</b> query, ex
22810 63 65 70 74 20 74 68 61 74 20 3c 62 3e 4e 6f 64 cept that <b>Nod
22820 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 eFrom</b> and <b
22830 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 61 72 65 20 >NodeTo</b> are
22840 6e 6f 77 20 72 65 70 6c 61 63 65 64 20 62 79 20 now replaced by
22850 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e <b>PointFrom</b>
22860 20 61 6e 64 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c and <b>PointTo<
22870 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 /b>.<br>..<u>Not
22880 65 3c 2f 75 3e 3a 20 74 68 65 20 73 61 6d 70 6c e</u>: the sampl
22890 65 20 44 42 2d 66 69 6c 65 20 73 75 70 70 6f 72 e DB-file suppor
228a0 74 73 20 3c 62 3e 48 6f 75 73 65 20 4e 75 6d 62 ts <b>House Numb
228b0 65 72 73 3c 2f 62 3e 2c 20 73 6f 20 79 6f 75 20 ers</b>, so you
228c0 63 61 6e 20 64 69 72 65 63 74 6c 79 20 75 73 65 can directly use
228d0 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20 63 6f House Number co
228e0 6f 72 64 69 6e 61 74 65 73 20 61 73 20 72 65 66 ordinates as ref
228f0 65 72 65 6e 63 65 20 50 6f 69 6e 74 73 2e 0d 0a erence Points...
22900 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f <br><br>..The fo
22910 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 llowing table sh
22920 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 ows the resultse
22930 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 t returned by th
22940 65 20 61 62 6f 76 65 20 50 6f 69 6e 74 2d 74 6f e above Point-to
22950 2d 50 6f 69 6e 74 20 71 75 65 72 79 2e 3c 62 72 -Point query.<br
22960 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f ><br>..<table bo
22970 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 rder="1" bgcolor
22980 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 ="#ffffcf" cells
22990 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 pacing="4" cellp
229a0 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 adding="6">..<tr
229b0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
229c0 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 0d0a0">Algorithm
229d0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
229e0 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 ="#d0d0a0">Reque
229f0 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
22a00 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 or="#d0d0a0">Opt
22a10 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ions</th><th bgc
22a20 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
22a30 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 outeId</th><th b
22a40 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
22a50 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 >RouteRow</th><t
22a60 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
22a70 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 a0">Role</th><th
22a80 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
22a90 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 0">LinkRowid</th
22aa0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
22ab0 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 0d0a0">NodeFrom<
22ac0 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
22ad0 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f "#d0d0a0">NodeTo
22ae0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
22af0 3d 22 23 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 ="#d0d0a0">Point
22b00 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 From</th><th bgc
22b10 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50 olor="#d0d0a0">P
22b20 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 ointTo</th><th b
22b30 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
22b40 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c >Tolerance</th><
22b50 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
22b60 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 0a0">Cost</th><t
22b70 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
22b80 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 a0">Geometry</th
22b90 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
22ba0 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0d0a0">Name</th>
22bb0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
22bc0 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 >Dijkstra</td><t
22bd0 64 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 50 61 d>Point2Point Pa
22be0 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c th</td><td>Full<
22bf0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
22c00 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 ight">0</td><td
22c10 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
22c20 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f /td><td>Point2Po
22c30 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 int Solution</td
22c40 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22c50 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22c60 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 ULL</td><td>BLOB
22c70 20 73 7a 3d 36 38 20 47 45 4f 4d 45 54 52 59 3c sz=68 GEOMETRY<
22c80 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d /td><td>BLOB sz=
22c90 36 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 68 GEOMETRY</td>
22ca0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22cb0 22 3e 32 30 2e 30 30 30 30 30 30 3c 2f 74 64 3e ">20.000000</td>
22cc0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22cd0 22 3e 36 35 32 2e 38 31 35 31 33 39 3c 2f 74 64 ">652.815139</td
22ce0 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 31 35 35 ><td>BLOB sz=155
22cf0 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 2 GEOMETRY</td><
22d00 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
22d10 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
22d20 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
22d30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22d40 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
22d50 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c ht">0</td><td al
22d60 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
22d70 64 3e 3c 74 64 3e 49 6e 67 72 65 73 73 20 50 61 d><td>Ingress Pa
22d80 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c th</td><td>NULL<
22d90 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22da0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
22db0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22dc0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
22dd0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22de0 72 69 67 68 74 22 3e 32 2e 33 30 31 36 38 37 3c right">2.301687<
22df0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
22e00 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
22e10 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
22e20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
22e30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
22e40 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
22e50 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 ight">0</td><td
22e60 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
22e70 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 /td><td>Partial
22e80 4c 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f 74 64 Link (Start)</td
22e90 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
22ea0 74 22 3e 32 32 34 32 36 34 3c 2f 74 64 3e 3c 74 t">224264</td><t
22eb0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
22ec0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
22ed0 36 33 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 630</td><td>NULL
22ee0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
22ef0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
22f00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
22f10 3e 34 36 2e 30 38 32 37 36 31 3c 2f 74 64 3e 3c >46.082761</td><
22f20 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
22f30 56 49 41 20 44 45 27 20 43 45 4e 43 49 3c 2f 74 VIA DE' CENCI</t
22f40 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
22f50 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
22f60 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
22f70 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
22f80 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
22f90 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
22fa0 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
22fb0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
22fc0 72 69 67 68 74 22 3e 32 32 33 37 35 38 3c 2f 74 right">223758</t
22fd0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
22fe0 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c ht">182630</td><
22ff0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
23000 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 3e >182629</td><td>
23010 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
23020 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
23030 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
23040 67 68 74 22 3e 32 34 2e 31 39 38 31 31 35 3c 2f ght">24.198115</
23050 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
23060 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 <td>CORSO ITALIA
23070 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
23080 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
23090 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
230a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
230b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
230c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
230d0 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c ght">4</td><td>L
230e0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
230f0 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31 32 n="right">225512
23100 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
23110 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 right">182629</t
23120 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
23130 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c ht">182933</td><
23140 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
23150 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
23160 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
23170 22 72 69 67 68 74 22 3e 33 34 2e 31 38 34 31 39 "right">34.18419
23180 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
23190 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 td><td>CORSO ITA
231a0 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d LIA</td>..</tr>.
231b0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
231c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
231d0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
231e0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
231f0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
23200 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 "right">5</td><t
23210 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
23220 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
23230 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 511</td><td alig
23240 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 n="right">182933
23250 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
23260 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 right">181999</t
23270 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
23280 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
23290 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
232a0 67 6e 3d 22 72 69 67 68 74 22 3e 34 39 2e 32 34 gn="right">49.24
232b0 31 37 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 1735</td><td>NUL
232c0 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 L</td><td>CORSO
232d0 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 ITALIA</td>..</t
232e0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
232f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
23300 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
23310 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
23320 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 t">0</td><td ali
23330 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 gn="right">6</td
23340 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
23350 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
23360 32 32 32 36 33 35 3c 2f 74 64 3e 3c 74 64 20 61 222635</td><td a
23370 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 lign="right">181
23380 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 999</td><td alig
23390 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 38 n="right">181998
233a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
233b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
233c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
233d0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 align="right">10
233e0 31 2e 36 32 39 37 35 30 3c 2f 74 64 3e 3c 74 64 1.629750</td><td
233f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f >NULL</td><td>CO
23400 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d RSO ITALIA</td>.
23410 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
23420 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
23430 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
23440 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
23450 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
23460 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 align="right">7
23470 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
23480 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
23490 68 74 22 3e 32 32 34 37 38 30 3c 2f 74 64 3e 3c ht">224780</td><
234a0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
234b0 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20 >181998</td><td
234c0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
234d0 33 35 36 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 3560</td><td>NUL
234e0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
234f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
23500 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
23510 22 3e 37 33 2e 37 33 33 35 37 32 3c 2f 74 64 3e ">73.733572</td>
23520 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
23530 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49 54 45 >VIA DELL'ANFITE
23540 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e ATRO</td>..</tr>
23550 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
23560 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
23570 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
23580 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
23590 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >0</td><td align
235a0 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c ="right">8</td><
235b0 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
235c0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
235d0 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 5827</td><td ali
235e0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 36 gn="right">18356
235f0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
23600 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
23610 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
23620 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
23630 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
23640 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 32 2e 33 ign="right">42.3
23650 30 39 35 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 09564</td><td>NU
23660 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 LL</td><td>VIA D
23670 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f ELL'ANFITEATRO</
23680 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
23690 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
236a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
236b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
236c0 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 gn="right">0</td
236d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
236e0 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">9</td><td>Lin
236f0 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
23700 22 72 69 67 68 74 22 3e 32 32 34 38 39 37 3c 2f "right">224897</
23710 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
23720 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e ght">183286</td>
23730 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
23740 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 ">183128</td><td
23750 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
23760 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
23770 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
23780 69 67 68 74 22 3e 37 32 2e 34 34 34 36 30 39 3c ight">72.444609<
23790 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
237a0 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 ><td>VIA MARGARI
237b0 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TONE</td>..</tr>
237c0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
237d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
237e0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
237f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
23800 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >0</td><td align
23810 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e ="right">10</td>
23820 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
23830 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
23840 32 34 32 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 24232</td><td al
23850 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 ign="right">1831
23860 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 28</td><td align
23870 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c ="right">182890<
23880 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
23890 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
238a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
238b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 lign="right">103
238c0 2e 36 31 32 32 32 31 3c 2f 74 64 3e 3c 74 64 3e .612221</td><td>
238d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
238e0 20 4e 49 43 43 4f 4c 4f 27 20 41 52 45 54 49 4e NICCOLO' ARETIN
238f0 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c O</td>..</tr>..<
23900 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
23910 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
23920 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
23930 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
23940 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
23950 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 ight">11</td><td
23960 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45 >Partial Link (E
23970 6e 64 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 nd)</td><td alig
23980 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 39 n="right">224019
23990 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
239a0 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c 2f 74 right">182890</t
239b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
239c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
239d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
239e0 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61 6c 69 67 L</td>..<td alig
239f0 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 37 36 30 n="right">95.760
23a00 32 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 222</td><td>NULL
23a10 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 </td><td>VIA ANT
23a20 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c ONIO GUADAGNOLI<
23a30 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
23a40 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
23a50 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
23a60 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
23a70 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 ign="right">0</t
23a80 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
23a90 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 45 ht">12</td><td>E
23aa0 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c gress Path</td><
23ab0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
23ac0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
23ad0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
23ae0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
23af0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
23b00 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 align="right">7
23b10 2e 33 31 36 37 30 39 3c 2f 74 64 3e 3c 74 64 3e .316709</td><td>
23b20 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
23b30 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c L</td>..</tr>..<
23b40 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c /table>..<br>..L
23b50 65 74 27 73 20 6e 6f 77 20 71 75 69 63 6b 6c 79 et's now quickly
23b60 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73 examine the res
23b70 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 ultset returned
23b80 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e by the above <b>
23b90 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f Point-to-Point</
23ba0 62 3e 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d b> query:..<ul>.
23bb0 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65 72 61 6c .<li>the general
23bc0 20 6c 61 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73 layout is almos
23bd0 74 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 t exactly the sa
23be0 6d 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 me as you've alr
23bf0 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 eady seen in the
23c00 20 63 61 73 65 20 6f 66 20 53 68 6f 72 74 65 73 case of Shortes
23c10 74 50 61 74 68 20 71 75 65 72 69 65 73 2e 3c 2f tPath queries.</
23c20 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 li>..<li>in the
23c30 73 70 65 63 69 66 69 63 20 63 61 73 65 20 6f 66 specific case of
23c40 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 Point-to-Point
23c50 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 the <b>first row
23c60 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 </b> of the resu
23c70 6c 74 73 65 74 20 77 69 6c 6c 20 61 6c 77 61 79 ltset will alway
23c80 73 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 66 6f s contain the fo
23c90 6c 6c 6f 77 69 6e 67 73 20 3c 62 3e 4e 4f 54 20 llowings <b>NOT
23ca0 4e 55 4c 4c 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 NULL</b> columns
23cb0 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e :..<ul>..<li><b>
23cc0 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 NodeFrom</b> and
23cd0 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 3a 20 <b>NodeTo</b>:
23ce0 74 68 65 20 74 77 6f 20 47 65 6f 6d 65 74 72 69 the two Geometri
23cf0 65 73 20 64 65 66 69 6e 69 6e 67 20 74 68 65 20 es defining the
23d00 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e <u><i>origin</i>
23d10 3c 2f 75 3e 20 61 6e 64 20 3c 75 3e 3c 69 3e 64 </u> and <u><i>d
23d20 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c 2f estination</i></
23d30 75 3e 20 50 6f 69 6e 74 73 2e 3c 2f 6c 69 3e 0d u> Points.</li>.
23d40 0a 3c 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61 6e 63 .<li><b>Toleranc
23d50 65 3c 2f 62 3e 3a 20 74 68 65 20 6d 61 78 69 6d e</b>: the maxim
23d60 75 6d 20 64 69 73 74 61 6e 63 65 20 61 6c 6c 6f um distance allo
23d70 77 65 64 20 62 65 74 77 65 65 6e 20 74 68 65 20 wed between the
23d80 72 65 66 65 72 65 6e 63 65 64 20 50 6f 69 6e 74 referenced Point
23d90 73 20 61 6e 64 20 43 61 6e 64 69 64 61 74 65 20 s and Candidate
23da0 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 Links.</li>..</u
23db0 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 l></li>..<li>the
23dc0 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20 63 6f 6c <b>Role</b> col
23dd0 75 6d 6e 20 63 61 6e 20 61 73 73 75 6d 65 20 6f umn can assume o
23de0 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 ne of the follow
23df0 69 6e 67 20 76 61 6c 75 65 73 3a 0d 0a 3c 75 6c ing values:..<ul
23e00 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 6f 69 6e 74 32 >..<li><b>Point2
23e10 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 3c 2f Point Solution</
23e20 62 3e 3a 20 74 68 65 20 68 65 61 64 65 72 20 72 b>: the header r
23e30 6f 77 20 73 75 6d 6d 61 72 69 7a 69 6e 67 20 74 ow summarizing t
23e40 68 65 20 53 6f 6c 75 74 69 6f 6e 20 61 73 20 61 he Solution as a
23e50 20 77 68 6f 6c 65 2e 0d 0a 3c 75 6c 3e 0d 0a 3c whole...<ul>..<
23e60 6c 69 3e 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c li><b>PointFrom<
23e70 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c /b>, <b>PointTo<
23e80 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c 65 72 /b> and <b>Toler
23e90 61 6e 63 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 ance</b> columns
23ea0 20 77 69 6c 6c 20 68 61 76 65 20 3c 62 3e 4e 4f will have <b>NO
23eb0 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 T NULL</b> value
23ec0 73 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 68 65 s only in the he
23ed0 61 64 65 72 20 72 6f 77 2e 3c 2f 6c 69 3e 0d 0a ader row.</li>..
23ee0 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </ul></li>..<li>
23ef0 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 74 68 3c <b>Ingress Path<
23f00 2f 62 3e 3a 20 61 20 73 74 72 61 69 67 68 74 20 /b>: a straight
23f10 73 65 67 6d 65 6e 74 20 63 6f 6e 6e 65 63 74 69 segment connecti
23f20 6e 67 20 74 68 65 20 4f 72 69 67 69 6e 20 50 6f ng the Origin Po
23f30 69 6e 74 20 74 6f 20 74 68 65 20 66 69 72 73 74 int to the first
23f40 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 Link.</li>..<li
23f50 3e 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68 3c ><b>Egress Path<
23f60 2f 62 3e 3a 20 61 20 73 74 72 61 69 67 68 74 20 /b>: a straight
23f70 73 65 67 6d 65 6e 74 20 63 6f 6e 6e 65 63 74 69 segment connecti
23f80 6e 67 20 74 68 65 20 6c 61 73 74 20 4c 69 6e 6b ng the last Link
23f90 20 74 6f 20 74 68 65 20 44 65 73 74 69 6e 61 74 to the Destinat
23fa0 69 6f 6e 20 50 6f 69 6e 74 2e 0d 0a 3c 75 6c 3e ion Point...<ul>
23fb0 0d 0a 3c 6c 69 3e 62 6f 74 68 20 74 68 65 20 49 ..<li>both the I
23fc0 6e 67 72 65 73 73 20 61 6e 64 20 74 68 65 20 45 ngress and the E
23fd0 67 72 65 73 73 20 50 61 74 68 20 72 6f 77 73 20 gress Path rows
23fe0 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 61 76 65 will always have
23ff0 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c <b>NULL</b> val
24000 75 65 73 20 6f 6e 20 3c 62 3e 4c 69 6e 6b 52 6f ues on <b>LinkRo
24010 77 69 64 3c 2f 62 3e 2c 20 3c 62 3e 4e 6f 64 65 wid</b>, <b>Node
24020 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e From</b> and <b>
24030 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d NodeTo</b> colum
24040 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c ns.</li>..</ul><
24050 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72 /li>..<li><b>Par
24060 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72 74 tial Link (Start
24070 29 3c 2f 62 3e 3a 20 74 68 65 20 70 61 72 74 69 )</b>: the parti
24080 61 6c 20 73 65 63 74 69 6f 6e 20 6f 66 20 74 68 al section of th
24090 65 20 66 69 72 73 74 20 4c 69 6e 6b 2e 0d 0a 3c e first Link...<
240a0 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 73 70 ul>..<li>this sp
240b0 65 63 69 66 69 63 20 72 6f 77 20 77 69 6c 6c 20 ecific row will
240c0 61 6c 77 61 79 73 20 68 61 76 65 20 61 20 3c 62 always have a <b
240d0 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 20 >NULL</b> value
240e0 6f 6e 20 74 68 65 20 3c 62 3e 4e 6f 64 65 46 72 on the <b>NodeFr
240f0 6f 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 3c 2f om</b> column.</
24100 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
24110 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 .<li><b>Partial
24120 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 62 3e 3a 20 Link (End)</b>:
24130 74 68 65 20 70 61 72 74 69 61 6c 20 73 65 63 74 the partial sect
24140 69 6f 6e 20 6f 66 20 74 68 65 20 6c 61 73 74 20 ion of the last
24150 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 Link...<ul>..<li
24160 3e 74 68 69 73 20 73 70 65 63 69 66 69 63 20 72 >this specific r
24170 6f 77 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 ow will always h
24180 61 76 65 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 ave a <b>NULL</b
24190 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20 3c > value on the <
241a0 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c b>NodeTo</b> col
241b0 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e umn.</li>..</ul>
241c0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 69 </li>..<li><b>Li
241d0 6e 6b 3c 2f 62 3e 3a 20 61 6e 79 20 6f 74 68 65 nk</b>: any othe
241e0 72 20 4c 69 6e 6b 20 72 65 71 75 69 72 65 64 20 r Link required
241f0 62 79 20 74 68 65 20 50 6f 69 6e 74 2d 74 6f 2d by the Point-to-
24200 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 2e 0d Point Solution..
24210 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 74 .<ul>..<li>all t
24220 68 65 73 65 20 72 6f 77 73 20 77 69 6c 6c 20 61 hese rows will a
24230 6c 77 61 79 73 20 68 61 76 65 20 3c 62 3e 4e 4f lways have <b>NO
24240 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 T NULL</b> value
24250 73 20 6f 6e 20 3c 62 3e 4c 69 6e 6b 52 6f 77 69 s on <b>LinkRowi
24260 64 3c 2f 62 3e 2c 20 3c 62 3e 4e 6f 64 65 46 72 d</b>, <b>NodeFr
24270 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f om</b> and <b>No
24280 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 deTo</b> columns
24290 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c .</li>..</ul></l
242a0 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
242b0 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c </ul>..<br><br><
242c0 62 72 3e 0d 0a 3c 62 3e 50 6f 69 6e 74 2d 74 6f br>..<b>Point-to
242d0 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 69 -Point</b> queri
242e0 65 73 20 63 61 6e 20 62 65 20 63 75 73 74 6f 6d es can be custom
242f0 69 7a 65 64 2c 20 62 75 74 20 74 68 65 20 63 6f ized, but the co
24300 6e 66 69 67 75 72 61 74 69 6f 6e 20 72 75 6c 65 nfiguration rule
24310 73 20 64 69 66 66 65 72 20 73 6c 69 67 68 74 6c s differ slightl
24320 79 20 66 72 6f 6d 20 77 68 61 74 20 79 6f 75 20 y from what you
24330 68 61 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 have already see
24340 6e 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 n in the previou
24350 73 20 65 78 61 6d 70 6c 65 73 2e 0d 0a 3c 75 6c s examples...<ul
24360 3e 0d 0a 3c 6c 69 3e 3c 62 3e 41 6c 67 6f 72 69 >..<li><b>Algori
24370 74 68 6d 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 3c 62 thm</b>: only <b
24380 3e 44 69 6a 6b 73 74 72 61 3c 2f 62 3e 20 69 73 >Dijkstra</b> is
24390 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 3c 62 supported by <b
243a0 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c >Point-to-Point<
243b0 2f 62 3e 2c 20 61 6e 64 20 77 69 6c 6c 20 62 65 /b>, and will be
243c0 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 73 73 75 implicitly assu
243d0 6d 65 64 20 65 76 65 6e 20 77 68 65 6e 20 74 68 med even when th
243e0 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 3c 62 e alternative <b
243f0 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68 >A*</b> algorith
24400 6d 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 73 m is currently s
24410 65 6c 65 63 74 65 64 2e 3c 62 72 3e 0d 0a 54 68 elected.<br>..Th
24420 69 73 20 69 73 20 62 65 63 61 75 73 65 20 74 68 is is because th
24430 65 20 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69 63 e internal logic
24440 20 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 of Point-to-Poi
24450 6e 74 20 72 65 71 75 69 72 65 73 20 6d 75 6c 74 nt requires mult
24460 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 i-destination qu
24470 65 72 69 65 73 20 69 6e 20 6f 72 64 65 72 20 74 eries in order t
24480 6f 20 65 76 61 6c 75 61 74 65 20 61 6c 6c 20 70 o evaluate all p
24490 6f 73 73 69 62 6c 65 20 43 61 6e 64 69 64 61 74 ossible Candidat
244a0 65 20 53 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 e Solutions.</li
244b0 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e >..<li><b>Option
244c0 73 3c 2f 62 3e 3a 20 74 68 65 20 75 73 75 61 6c s</b>: the usual
244d0 20 3c 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 <b>FULL</b>, <b
244e0 3e 53 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e >SIMPLE</b>, <b>
244f0 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 NO LINKS</b> and
24500 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 <b>NO GEOMETRIE
24510 53 3c 2f 62 3e 20 61 72 65 20 73 75 70 70 6f 72 S</b> are suppor
24520 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 68 61 76 ted and will hav
24530 65 20 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 e the same effec
24540 74 20 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 t as in single-d
24550 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 estination queri
24560 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 es.</li>..<li><b
24570 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 >Tolerance</b>:
24580 74 68 69 73 20 73 65 74 74 69 6e 67 20 69 73 20 this setting is
24590 73 70 65 63 69 66 69 63 20 74 6f 20 50 6f 69 6e specific to Poin
245a0 74 2d 74 6f 2d 50 6f 69 6e 74 2c 20 61 6e 64 20 t-to-Point, and
245b0 64 65 66 69 6e 65 73 20 74 68 65 20 6d 61 78 69 defines the maxi
245c0 6d 75 6d 20 61 6c 6c 6f 77 61 62 6c 65 20 64 69 mum allowable di
245d0 73 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20 61 stance between a
245e0 20 72 65 66 65 72 65 6e 63 65 20 50 6f 69 6e 74 reference Point
245f0 20 61 6e 64 20 43 61 6e 64 69 64 61 74 65 20 4c and Candidate L
24600 69 6e 6b 73 2e 3c 62 72 3e 0d 0a 49 74 20 64 65 inks.<br>..It de
24610 66 61 75 6c 74 73 20 74 6f 20 3c 62 3e 32 30 2e faults to <b>20.
24620 30 6d 3c 2f 62 3e 20 69 66 20 6e 6f 74 20 65 78 0m</b> if not ex
24630 70 6c 69 63 69 74 6c 79 20 73 65 74 2e 3c 2f 6c plicitly set.</l
24640 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 62 i>..</ul>..<verb
24650 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 atim>..UPDATE by
24660 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 foot SET Options
24670 20 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 = 'NO GEOMETRIE
24680 53 27 2c 20 54 6f 6c 65 72 61 6e 63 65 20 3d 20 S', Tolerance =
24690 32 35 2e 35 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 25.5;....SELECT
246a0 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 Request, Options
246b0 2c 20 54 6f 6c 65 72 61 6e 63 65 2c 20 52 6f 75 , Tolerance, Rou
246c0 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e teRow, Role, Lin
246d0 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d kRowid, NodeFrom
246e0 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 , NodeTo, Cost,
246f0 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a Geometry, Name..
24700 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 FROM byfoot..WHE
24710 52 45 20 50 6f 69 6e 74 46 72 6f 6d 20 3d 20 28 RE PointFrom = (
24720 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f 4d SELECT geom FROM
24730 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 45 house_nr_vw WHE
24740 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 20 RE municipality
24750 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 61 = 'AREZZO' AND a
24760 64 64 72 65 73 73 20 3d 20 27 56 49 41 20 44 45 ddress = 'VIA DE
24770 27 27 20 43 45 4e 43 49 20 31 33 27 29 0d 0a 20 '' CENCI 13')..
24780 20 20 20 41 4e 44 20 50 6f 69 6e 74 54 6f 20 3d AND PointTo =
24790 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52 (SELECT geom FR
247a0 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57 OM house_nr_vw W
247b0 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74 HERE municipalit
247c0 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44 y = 'AREZZO' AND
247d0 20 61 64 64 72 65 73 73 20 3d 20 27 56 49 41 20 address = 'VIA
247e0 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f ANTONIO GUADAGNO
247f0 4c 49 20 31 39 2f 43 27 29 3b 0d 0a 3c 2f 76 65 LI 19/C');..</ve
24800 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c rbatim>..The fol
24810 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f lowing table sho
24820 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 ws the resultset
24830 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 returned by the
24840 20 61 62 6f 76 65 20 50 6f 69 6e 74 2d 74 6f 2d above Point-to-
24850 50 6f 69 6e 74 20 71 75 65 72 79 20 61 66 74 65 Point query afte
24860 72 20 73 65 6c 65 63 74 69 6e 67 20 3c 62 3e 4f r selecting <b>O
24870 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 45 4f ptions = 'NO GEO
24880 4d 45 54 52 49 45 53 27 3c 2f 62 3e 20 61 6e 64 METRIES'</b> and
24890 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 20 3d 20 <b>Tolerance =
248a0 32 35 2e 35 3c 2f 62 3e 3c 62 72 3e 3c 62 72 3e 25.5</b><br><br>
248b0 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d ..<table border=
248c0 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 "1" bgcolor="#ff
248d0 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e ffcf" cellspacin
248e0 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e g="4" cellpaddin
248f0 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 g="6">..<tr><th
24900 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
24910 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 ">Request</th><t
24920 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
24930 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e a0">Options</th>
24940 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
24950 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c d0a0">Tolerance<
24960 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
24970 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 "#d0d0a0">RouteR
24980 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ow</th><th bgcol
24990 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c or="#d0d0a0">Rol
249a0 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f e</th><th bgcolo
249b0 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b r="#d0d0a0">Link
249c0 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 Rowid</th><th bg
249d0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
249e0 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 NodeFrom</th><th
249f0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
24a00 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 0">NodeTo</th><t
24a10 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
24a20 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 a0">Cost</th><th
24a30 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
24a40 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 0">Geometry</th>
24a50 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
24a60 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c d0a0">Name</th><
24a70 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
24a80 50 6f 69 6e 74 32 50 6f 69 6e 74 20 50 61 74 68 Point2Point Path
24a90 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 47 65 6f 6d </td><td>No Geom
24aa0 65 74 72 69 65 73 3c 2f 74 64 3e 3c 74 64 20 61 etries</td><td a
24ab0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 35 2e lign="right">25.
24ac0 35 30 30 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 500000</td><td a
24ad0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
24ae0 74 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f 69 td><td>Point2Poi
24af0 6e 74 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e nt Solution</td>
24b00 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
24b10 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
24b20 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
24b30 3d 22 72 69 67 68 74 22 3e 36 35 31 2e 30 36 37 ="right">651.067
24b40 30 38 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 082</td><td>NULL
24b50 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
24b60 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
24b70 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
24b80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
24b90 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
24ba0 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e n="right">1</td>
24bb0 3c 74 64 3e 49 6e 67 72 65 73 73 20 50 61 74 68 <td>Ingress Path
24bc0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
24bd0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
24be0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
24bf0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e align="right">2.
24c00 33 30 31 36 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 301687</td><td>N
24c10 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
24c20 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
24c30 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 r>..<td>NULL</td
24c40 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
24c50 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
24c60 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f lign="right">2</
24c70 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c td><td>Partial L
24c80 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f 74 64 3e ink (Start)</td>
24c90 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24ca0 22 3e 32 32 34 32 36 34 3c 2f 74 64 3e 3c 74 64 ">224264</td><td
24cb0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
24cc0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 ign="right">1826
24cd0 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 30</td><td align
24ce0 3d 22 72 69 67 68 74 22 3e 34 36 2e 30 38 32 37 ="right">46.0827
24cf0 36 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 61</td><td>NULL<
24d00 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 27 20 /td><td>VIA DE'
24d10 43 45 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 CENCI</td>..</tr
24d20 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
24d30 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
24d40 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
24d50 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24d60 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
24d70 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
24d80 72 69 67 68 74 22 3e 32 32 33 37 35 38 3c 2f 74 right">223758</t
24d90 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
24da0 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c ht">182630</td><
24db0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
24dc0 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 >182629</td><td
24dd0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 34 align="right">24
24de0 2e 31 39 38 31 31 35 3c 2f 74 64 3e 3c 74 64 3e .198115</td><td>
24df0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 NULL</td><td>COR
24e00 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a SO ITALIA</td>..
24e10 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
24e20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
24e30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
24e40 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24e50 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e ight">4</td><td>
24e60 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
24e70 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31 gn="right">22551
24e80 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
24e90 22 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f "right">182629</
24ea0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
24eb0 67 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e ght">182933</td>
24ec0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
24ed0 22 3e 33 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e ">34.184194</td>
24ee0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
24ef0 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 >CORSO ITALIA</t
24f00 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
24f10 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
24f20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
24f30 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
24f40 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e n="right">5</td>
24f50 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
24f60 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
24f70 32 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 25511</td><td al
24f80 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 ign="right">1829
24f90 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 33</td><td align
24fa0 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c ="right">181999<
24fb0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
24fc0 69 67 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c ight">49.241735<
24fd0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
24fe0 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 ><td>CORSO ITALI
24ff0 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c A</td>..</tr>..<
25000 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 tr>..<td>NULL</t
25010 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
25020 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
25030 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c align="right">6<
25040 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
25050 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
25060 74 22 3e 32 32 35 38 30 30 3c 2f 74 64 3e 3c 74 t">225800</td><t
25070 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
25080 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 181999</td><td a
25090 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
250a0 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 880</td><td alig
250b0 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 35 39 32 n="right">95.592
250c0 32 30 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 204</td><td>NULL
250d0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 </td><td>VIA FRA
250e0 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 NCESCO CRISPI</t
250f0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
25100 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 .<td>NULL</td><t
25110 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
25120 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
25130 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e n="right">7</td>
25140 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
25150 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
25160 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 19171</td><td al
25170 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
25180 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
25190 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c ="right">178732<
251a0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
251b0 69 67 68 74 22 3e 39 33 2e 32 38 35 35 33 38 3c ight">93.285538<
251c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
251d0 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 ><td>VIA FRANCES
251e0 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a CO CRISPI</td>..
251f0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
25200 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
25210 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
25220 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
25230 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e ight">8</td><td>
25240 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
25250 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35 gn="right">21905
25260 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 8</td><td align=
25270 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f "right">178732</
25280 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
25290 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e ght">178754</td>
252a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
252b0 22 3e 31 34 38 2e 36 35 36 30 38 39 3c 2f 74 64 ">148.656089</td
252c0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
252d0 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 d>VIA FRANCESCO
252e0 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 CRISPI</td>..</t
252f0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 r>..<tr>..<td>NU
25300 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
25310 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
25320 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
25330 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 t">9</td><td>Par
25340 74 69 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c tial Link (End)<
25350 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
25360 69 67 68 74 22 3e 32 32 34 30 31 39 3c 2f 74 64 ight">224019</td
25370 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
25380 74 22 3e 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74 t">182890</td><t
25390 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
253a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 30 lign="right">150
253b0 2e 32 36 30 36 34 31 3c 2f 74 64 3e 3c 74 64 3e .260641</td><td>
253c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
253d0 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e ANTONIO GUADAGN
253e0 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d OLI</td>..</tr>.
253f0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c .<tr>..<td>NULL<
25400 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
25410 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
25420 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
25430 31 30 3c 2f 74 64 3e 3c 74 64 3e 45 67 72 65 73 10</td><td>Egres
25440 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e s Path</td><td>N
25450 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
25460 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
25470 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
25480 68 74 22 3e 37 2e 32 36 34 31 31 38 3c 2f 74 64 ht">7.264118</td
25490 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
254a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
254b0 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 r>..</table>..<b
254c0 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 r><br>..The map
254d0 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c below graphicall
254e0 79 20 73 68 6f 77 73 20 74 68 65 20 74 77 6f 20 y shows the two
254f0 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 Point-to-Point S
25500 6f 6c 75 74 69 6f 6e 73 20 72 65 74 75 72 6e 65 olutions returne
25510 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 d by the previou
25520 73 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e s queries...<br>
25530 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 <br>..<img src="
25540 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
25550 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e -gis.it/gaia-sin
25560 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 70 s/routing-figs/p
25570 6f 69 6e 74 2d 74 6f 2d 70 6f 69 6e 74 2e 6a 70 oint-to-point.jp
25580 67 22 20 61 6c 74 3d 22 70 6f 69 6e 74 2d 74 6f g" alt="point-to
25590 2d 70 6f 69 6e 74 22 3e 0d 0a 3c 75 6c 3e 0d 0a -point">..<ul>..
255a0 3c 6c 69 3e 74 68 65 20 67 72 65 65 6e 20 6c 69 <li>the green li
255b0 6e 65 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 ne corresponds t
255c0 6f 20 74 68 65 20 66 69 72 73 74 20 73 6f 6c 75 o the first solu
255d0 74 69 6f 6e 20 28 3c 69 3e 50 6f 69 6e 74 54 6f tion (<i>PointTo
255e0 20 3d 20 56 49 41 20 47 55 41 44 41 47 4e 4f 4c = VIA GUADAGNOL
255f0 49 20 31 39 2f 42 3c 2f 69 3e 29 2e 3c 2f 6c 69 I 19/B</i>).</li
25600 3e 0d 0a 3c 6c 69 3e 74 68 65 20 79 65 6c 6c 6f >..<li>the yello
25610 77 20 6c 69 6e 65 20 63 6f 72 72 65 73 70 6f 6e w line correspon
25620 64 73 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 ds to the second
25630 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 50 6f solution (<i>Po
25640 69 6e 74 54 6f 20 3d 20 56 49 41 20 47 55 41 44 intTo = VIA GUAD
25650 41 47 4e 4f 4c 49 20 31 39 2f 43 3c 2f 69 3e 29 AGNOLI 19/C</i>)
25660 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c .</li>..</ul>..<
25670 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e br>..<u>Note</u>
25680 3a 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 : Point-to-Point
25690 20 71 75 65 72 69 65 73 20 61 72 65 20 76 65 72 queries are ver
256a0 79 20 73 65 6e 73 69 74 69 76 65 2c 20 61 6e 64 y sensitive, and
256b0 20 61 20 76 65 72 79 20 62 6c 61 6e 64 20 73 68 a very bland sh
256c0 69 66 74 20 61 66 66 65 63 74 69 6e 67 20 74 68 ift affecting th
256d0 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 61 20 e position of a
256e0 72 65 66 65 72 65 6e 63 65 20 50 6f 69 6e 74 20 reference Point
256f0 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 63 61 75 could easily cau
25700 73 65 20 64 72 61 6d 61 74 69 63 20 63 68 61 6e se dramatic chan
25710 67 65 73 20 69 6e 20 74 68 65 20 53 6f 6c 75 74 ges in the Solut
25720 69 6f 6e 27 73 20 50 61 74 68 20 28 61 73 20 69 ion's Path (as i
25730 73 20 69 6e 20 74 68 69 73 20 63 61 73 65 29 2e s in this case).
25740 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e ..<br><br>..<hr>
25750 3c 62 72 3e 0d 0a 42 61 63 6b 20 74 6f 20 3c 61 <br>..Back to <a
25760 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 href="https://w
25770 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 66 ww.gaia-gis.it/f
25780 6f 73 73 69 6c 2f 6c 69 62 73 70 61 74 69 61 6c ossil/libspatial
25790 69 74 65 2f 77 69 6b 69 3f 6e 61 6d 65 3d 35 2e ite/wiki?name=5.
257a0 30 2e 30 2d 64 6f 63 22 3e 35 2e 30 2e 30 2d 64 0.0-doc">5.0.0-d
257b0 6f 63 20 6d 61 69 6e 20 70 61 67 65 3c 2f 61 3e oc main page</a>
257c0 0a 5a 20 62 38 32 31 36 62 34 30 62 32 61 35 35 .Z b8216b40b2a55
257d0 61 30 30 64 33 30 65 64 31 64 66 65 33 34 34 33 a00d30ed1dfe3443
257e0 63 64 62 0a cdb.