Wiki page
[VirtualRouting] by
sandro
2018-04-03 10:08:01.
0000: 44 20 32 30 31 38 2d 30 34 2d 30 33 54 31 30 3a D 2018-04-03T10:
0010: 30 38 3a 30 31 2e 35 34 38 0a 4c 20 56 69 72 74 08:01.548.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 36 63 33 ualRouting.P 6c3
0030: 64 30 62 38 61 32 66 35 65 31 39 66 30 39 38 31 d0b8a2f5e19f0981
0040: 36 64 36 32 62 34 66 62 34 66 35 38 39 66 31 34 6d62b4fb4f589f14
0050: 35 66 39 35 37 0a 55 20 73 61 6e 64 72 6f 0a 57 5f957.U sandro.W
0060: 20 34 33 33 30 30 0a 3c 61 20 68 72 65 66 3d 22 43300.<a href="
0070: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
0080: 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c -gis.it/fossil/l
0090: 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 6b ibspatialite/wik
00a0: 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 i?name=4.3.0-doc
00b0: 22 3e 62 61 63 6b 3c 2f 61 3e 3c 68 72 3e 3c 62 ">back</a><hr><b
00c0: 72 3e 0d 0a 3c 68 31 3e 54 61 62 6c 65 20 6f 66 r>..<h1>Table of
00d0: 20 43 6f 6e 74 65 6e 74 73 3c 2f 68 31 3e 0d 0a Contents</h1>..
00e0: 31 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 1 - <a href="#in
00f0: 74 72 6f 22 3e 49 6e 74 72 6f 64 75 63 74 69 6f tro">Introductio
0100: 6e 3c 2f 61 3e 3c 62 72 3e 0d 0a 32 20 2d 20 3c n</a><br>..2 - <
0110: 61 20 68 72 65 66 3d 22 23 73 61 6d 70 6c 65 22 a href="#sample"
0120: 3e 54 68 65 20 73 61 6d 70 6c 65 2f 74 65 73 74 >The sample/test
0130: 20 44 42 3c 2f 61 3e 3c 62 72 3e 0d 0a 33 20 2d DB</a><br>..3 -
0140: 20 3c 61 20 68 72 65 66 3d 22 23 63 72 65 61 74 <a href="#creat
0150: 65 22 3e 43 72 65 61 74 69 6e 67 20 56 69 72 74 e">Creating Virt
0160: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 ualRouting Table
0170: 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 34 20 2d 20 3c s</a><br>..4 - <
0180: 61 20 68 72 65 66 3d 22 23 66 72 6f 6d 5f 74 6f a href="#from_to
0190: 22 3e 53 6f 6c 76 69 6e 67 20 63 6c 61 73 73 69 ">Solving classi
01a0: 63 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 c Shortest Path
01b0: 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e problems</a><br>
01c0: 0d 0a 3c 62 72 3e 3c 68 72 3e 0d 0a 3c 68 31 3e ..<br><hr>..<h1>
01d0: 3c 61 20 6e 61 6d 65 3d 22 69 6e 74 72 6f 22 3e <a name="intro">
01e0: 31 20 2d 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 1 - Introduction
01f0: 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 50 72 65 76 69 </a></h1>..Previ
0200: 6f 75 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 ous versions of
0210: 53 70 61 74 69 61 4c 69 74 65 20 74 72 61 64 69 SpatiaLite tradi
0220: 74 69 6f 6e 61 6c 6c 79 20 73 75 70 70 6f 72 74 tionally support
0230: 65 64 20 61 20 3c 62 3e 70 75 72 65 20 53 51 4c ed a <b>pure SQL
0240: 20 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65 3c routing module<
0250: 2f 62 3e 20 74 68 61 74 20 77 61 73 20 6e 61 6d /b> that was nam
0260: 65 64 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 ed <a href="http
0270: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
0280: 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 .it/fossil/libsp
0290: 61 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 atialite/wiki?na
02a0: 6d 65 3d 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 me=VirtualNetwor
02b0: 6b 2b 72 65 6c 6f 61 64 65 64 22 3e 56 69 72 74 k+reloaded">Virt
02c0: 75 61 6c 4e 65 74 77 6f 72 6b 3c 2f 61 3e 2e 3c ualNetwork</a>.<
02d0: 62 72 3e 3c 62 72 3e 0d 0a 53 69 6e 63 65 20 76 br><br>..Since v
02e0: 65 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c ersion <b>5.0.0<
02f0: 2f 62 3e 20 61 20 62 72 61 6e 64 20 6e 65 77 20 /b> a brand new
0300: 3c 62 3e 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c <b>routing modul
0310: 65 3c 2f 62 3e 20 28 6d 6f 72 65 20 61 64 76 61 e</b> (more adva
0320: 6e 63 65 64 20 61 6e 64 20 73 6f 70 68 69 73 74 nced and sophist
0330: 69 63 61 74 65 64 29 20 69 73 20 61 76 61 69 6c icated) is avail
0340: 61 62 6c 65 2c 20 74 68 61 74 20 69 73 20 63 61 able, that is ca
0350: 6c 6c 65 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 lled <b>VirtualR
0360: 6f 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d outing</b>.<br>.
0370: 0a 54 68 65 20 6e 6f 77 20 6f 62 73 6f 6c 65 74 .The now obsolet
0380: 65 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 e <b>VirtualNetw
0390: 6f 72 6b 3c 2f 62 3e 20 69 73 20 73 74 69 6c 6c ork</b> is still
03a0: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 76 65 supported by ve
03b0: 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f rsion <b>5.0.0</
03c0: 62 3e 20 73 6f 20 61 73 20 74 6f 20 6e 6f 74 20 b> so as to not
03d0: 63 61 75 73 65 20 61 6e 20 61 62 72 75 70 74 20 cause an abrupt
03e0: 62 72 65 61 6b 20 74 6f 20 61 6c 72 65 61 64 79 break to already
03f0: 20 65 78 69 73 74 69 6e 67 20 61 70 70 6c 69 63 existing applic
0400: 61 74 69 6f 6e 73 2c 20 62 75 74 20 77 69 6c 6c ations, but will
0410: 20 70 72 65 73 75 6d 61 62 6c 79 20 62 65 20 64 presumably be d
0420: 69 73 63 6f 6e 74 69 6e 75 65 64 20 69 6e 20 66 iscontinued in f
0430: 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 2e 3c uture versions.<
0440: 62 72 3e 0d 0a 55 73 69 6e 67 20 3c 62 3e 56 69 br>..Using <b>Vi
0450: 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e rtualRouting</b>
0460: 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 62 3e 56 instead of <b>V
0470: 69 72 74 75 61 6c 4e 65 74 77 69 72 6b 3c 2f 62 irtualNetwirk</b
0480: 3e 20 69 73 20 77 61 72 6d 6c 79 20 72 65 63 6f > is warmly reco
0490: 6d 6d 65 6e 64 65 64 20 66 6f 72 20 61 6e 79 20 mmended for any
04a0: 6e 65 77 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e new development.
04b0: 20 0d 0a 3c 68 32 3e 54 68 65 6f 72 65 74 69 63 ..<h2>Theoretic
04c0: 61 6c 20 66 6f 75 6e 64 61 74 69 6f 6e 73 20 2d al foundations -
04d0: 20 61 6e 20 75 6c 74 72 61 2d 71 75 69 63 6b 20 an ultra-quick
04e0: 72 65 63 61 6c 6c 3c 2f 68 32 3e 0d 0a 41 6c 6c recall</h2>..All
04f0: 20 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f <b>Routing algo
0500: 72 69 74 68 6d 73 3c 2f 62 3e 20 28 3c 69 3e 61 rithms</b> (<i>a
0510: 6b 61 3c 2f 69 3e 20 3c 62 3e 53 68 6f 72 74 65 ka</i> <b>Shorte
0520: 73 74 20 50 61 74 68 3c 2f 62 3e 20 61 6c 67 6f st Path</b> algo
0530: 72 69 74 68 6d 73 29 20 61 72 65 20 62 61 73 65 rithms) are base
0540: 64 20 6f 6e 20 74 68 65 20 6d 61 74 68 65 6d 61 d on the mathema
0550: 74 69 63 73 20 6f 66 20 74 68 65 20 3c 61 20 68 tics of the <a h
0560: 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e ref="https://en.
0570: 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 wikipedia.org/wi
0580: 6b 69 2f 47 72 61 70 68 5f 74 68 65 6f 72 79 22 ki/Graph_theory"
0590: 3e 47 72 61 70 68 20 74 68 65 6f 72 79 3c 2f 61 >Graph theory</a
05a0: 3e 20 6f 72 20 74 6f 20 62 65 20 6d 6f 72 65 20 > or to be more
05b0: 70 72 65 63 69 73 65 3a 20 6f 6e 20 3c 62 3e 57 precise: on <b>W
05c0: 65 69 67 68 74 65 64 20 47 72 61 70 68 73 3c 2f eighted Graphs</
05d0: 62 3e 2e 0d 0a 3c 62 72 3e 0d 0a 3c 69 6d 67 20 b>...<br>..<img
05e0: 73 72 63 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e src="http://www.
05f0: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
0600: 2d 73 69 6e 73 2f 6e 65 74 77 6f 72 6b 2e 70 6e -sins/network.pn
0610: 67 22 20 61 6c 74 3d 22 6e 65 74 77 6f 72 6b 22 g" alt="network"
0620: 3e 0d 0a 3c 62 72 3e 0d 0a 41 20 74 6f 70 6f 6c >..<br>..A topol
0630: 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64 20 3c ogically valid <
0640: 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73 b>Network</b> is
0650: 20 61 20 64 61 74 61 73 65 74 20 74 68 61 74 20 a dataset that
0660: 66 75 6c 66 69 6c 6c 73 20 74 68 65 20 66 6f 6c fulfills the fol
0670: 6c 6f 77 69 6e 67 20 72 65 71 75 69 72 65 6d 65 lowing requireme
0680: 6e 74 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e nts:..<ul>..<li>
0690: 41 6c 6c 20 69 74 65 6d 73 20 69 6e 20 74 68 65 All items in the
06a0: 20 64 61 74 61 73 65 74 20 61 72 65 20 63 61 6c dataset are cal
06b0: 6c 65 64 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e led <b>Links</b>
06c0: 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e (<i>aka</i> <b>
06d0: 41 72 63 73 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 Arcs</b>), and a
06e0: 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 72 re expected to r
06f0: 65 70 72 65 73 65 6e 74 20 73 6f 6d 65 20 6f 72 epresent some or
0700: 69 65 6e 74 65 64 20 63 6f 6e 6e 65 63 74 69 6f iented connectio
0710: 6e 20 6a 6f 69 6e 69 6e 67 20 74 77 6f 20 3c 62 n joining two <b
0720: 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c 62 72 3e 0d >Nodes</b>.<br>.
0730: 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a .<u>Example</u>:
0740: 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 66 69 in the above fi
0750: 67 75 72 65 20 4c 69 6e 6b 20 3c 62 3e 4c 33 3c gure Link <b>L3<
0760: 2f 62 3e 20 63 6f 6e 6e 65 63 74 73 20 4e 6f 64 /b> connects Nod
0770: 65 73 20 3c 62 3e 4e 32 3c 2f 62 3e 20 61 6e 64 es <b>N2</b> and
0780: 20 3c 62 3e 4e 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e <b>N5</b>.</li>
0790: 0d 0a 3c 6c 69 3e 53 6f 20 61 6c 6c 20 3c 62 3e ..<li>So all <b>
07a0: 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72 65 20 61 6c Links</b> are al
07b0: 77 61 79 73 20 65 78 70 65 63 74 65 64 20 74 6f ways expected to
07c0: 20 65 78 70 6c 69 63 69 74 6c 79 20 72 65 66 65 explicitly refe
07d0: 72 65 6e 63 65 20 61 20 3c 62 3e 53 74 61 72 74 rence a <b>Start
07e0: 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c 69 3e 61 6b -Node</b> (<i>ak
07f0: 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64 65 2d 46 72 a</i> <b>Node-Fr
0800: 6f 6d 3c 2f 62 3e 29 20 61 6e 64 20 61 6e 20 3c om</b>) and an <
0810: 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f 62 3e 20 28 b>End-Node</b> (
0820: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 6f <i>aka</i> <b>No
0830: 64 65 2d 54 6f 3c 2f 62 3e 29 2e 0d 0a 3c 75 6c de-To</b>)...<ul
0840: 3e 0d 0a 3c 6c 69 3e 4c 69 6e 6b 73 20 61 72 65 >..<li>Links are
0850: 20 61 6c 77 61 79 73 20 3c 62 3e 6f 72 69 65 6e always <b>orien
0860: 74 65 64 3c 2f 62 3e 2c 20 61 6e 64 20 74 68 65 ted</b>, and the
0870: 69 72 20 6e 61 74 75 72 61 6c 20 64 69 72 65 63 ir natural direc
0880: 74 69 6f 6e 20 69 73 20 3c 62 3e 46 72 6f 6d 2d tion is <b>From-
0890: 54 6f 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c To</b>:..<ul>..<
08a0: 6c 69 3e 69 6e 20 61 6e 20 3c 62 3e 75 6e 69 64 li>in an <b>unid
08b0: 69 72 65 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 4e irectional</b> N
08c0: 65 74 77 6f 72 6b 20 65 61 63 68 20 4c 69 6e 6b etwork each Link
08d0: 20 69 73 20 61 6e 20 3c 62 3e 6f 6e 65 2d 77 61 is an <b>one-wa
08e0: 79 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74 69 6f 6e y</b> connection
08f0: 2e 3c 62 72 3e 0d 0a 49 66 20 74 68 65 20 63 6f .<br>..If the co
0900: 6e 6e 65 63 74 69 6f 6e 20 69 73 20 61 76 61 69 nnection is avai
0910: 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 6f 70 70 lable in the opp
0920: 6f 73 69 74 65 20 64 69 72 65 63 74 69 6f 6e 20 osite direction
0930: 61 20 73 65 63 6f 6e 64 20 4c 69 6e 6b 20 6d 75 a second Link mu
0940: 73 74 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 st be explicitly
0950: 20 64 65 63 6c 61 72 65 64 2e 3c 62 72 3e 0d 0a declared.<br>..
0960: 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 <u>Example</u>:
0970: 4c 69 6e 6b 20 3c 62 3e 58 31 3c 2f 62 3e 20 67 Link <b>X1</b> g
0980: 6f 65 73 20 66 72 6f 6d 20 4e 6f 64 65 20 3c 62 oes from Node <b
0990: 3e 41 3c 2f 62 3e 20 74 6f 20 4e 6f 64 65 20 3c >A</b> to Node <
09a0: 62 3e 42 3c 2f 62 3e 2c 20 61 6e 64 20 4c 69 6e b>B</b>, and Lin
09b0: 6b 20 3c 62 3e 58 32 3c 2f 62 3e 20 67 6f 65 73 k <b>X2</b> goes
09c0: 20 66 72 6f 6d 20 4e 6f 64 65 20 3c 62 3e 42 3c from Node <b>B<
09d0: 2f 62 3e 20 74 6f 20 4e 6f 64 65 20 3c 62 3e 41 /b> to Node <b>A
09e0: 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </b>.</li>..<li>
09f0: 69 6e 20 61 20 3c 62 3e 62 69 64 69 72 65 63 74 in a <b>bidirect
0a00: 69 6f 6e 61 6c 3c 2f 62 3e 20 4e 65 74 77 6f 72 ional</b> Networ
0a10: 6b 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20 k all Links are
0a20: 61 73 73 75 6d 65 64 20 74 6f 20 65 73 74 61 62 assumed to estab
0a30: 6c 69 73 68 20 61 20 63 6f 6e 6e 65 63 74 69 6f lish a connectio
0a40: 6e 20 69 6e 20 62 6f 74 68 20 64 69 72 65 63 74 n in both direct
0a50: 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 44 65 66 69 6e ions.<br>..Defin
0a60: 69 74 69 6e 67 20 61 6e 20 3c 62 3e 6f 6e 65 2d iting an <b>one-
0a70: 77 61 79 20 63 6f 6e 6e 65 63 74 69 6f 6e 3c 2f way connection</
0a80: 62 3e 20 72 65 71 75 69 72 65 73 20 61 6e 20 61 b> requires an a
0a90: 70 70 72 6f 70 72 69 61 74 65 20 61 74 74 72 69 ppropriate attri
0aa0: 62 75 74 65 20 74 6f 20 62 65 20 73 65 74 20 28 bute to be set (
0ab0: 73 65 65 20 62 65 6c 6f 77 29 2e 3c 2f 6c 69 3e see below).</li>
0ac0: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c ..</ul></li>..<l
0ad0: 69 3e 54 68 65 20 3c 62 3e 53 74 61 72 74 2d 3c i>The <b>Start-<
0ae0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 6e 64 2d 4e /b> and <b>End-N
0af0: 6f 64 65 3c 2f 62 3e 20 63 6f 75 6c 64 20 65 76 ode</b> could ev
0b00: 65 6e 74 75 61 6c 6c 79 20 62 65 20 74 68 65 20 entually be the
0b10: 73 61 6d 65 2c 20 61 6e 64 20 69 6e 20 74 68 69 same, and in thi
0b20: 73 20 63 61 73 65 20 77 65 27 6c 6c 20 68 61 76 s case we'll hav
0b30: 65 20 61 20 3c 62 3e 73 65 6c 66 2d 63 6c 6f 73 e a <b>self-clos
0b40: 65 64 3c 2f 62 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 ed</b> Link.</li
0b50: 3e 0d 0a 3c 6c 69 3e 4e 65 74 77 6f 72 6b 27 73 >..<li>Network's
0b60: 20 4c 69 6e 6b 73 20 3c 62 3e 63 61 6e 3c 2f 62 Links <b>can</b
0b70: 3e 20 65 76 65 6e 74 75 61 6c 6c 79 20 64 65 66 > eventually def
0b80: 69 6e 65 20 61 20 6c 69 6e 65 61 72 20 47 65 6f ine a linear Geo
0b90: 6d 65 74 72 79 20 28 3c 62 3e 4c 49 4e 45 53 54 metry (<b>LINEST
0ba0: 52 49 4e 47 3c 2f 62 3e 29 20 67 6f 69 6e 67 20 RING</b>) going
0bb0: 66 72 6f 6d 20 74 68 65 20 3c 62 3e 53 74 61 72 from the <b>Star
0bc0: 74 2d 4e 6f 64 65 3c 2f 62 3e 20 74 6f 20 74 68 t-Node</b> to th
0bd0: 65 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f 62 e <b>End-Node</b
0be0: 3e 2c 20 62 75 74 20 74 68 69 73 20 69 73 20 61 >, but this is a
0bf0: 6e 20 6f 70 74 69 6f 6e 61 6c 20 66 65 61 74 75 n optional featu
0c00: 72 65 2c 20 6e 6f 74 20 61 20 6d 61 6e 64 61 74 re, not a mandat
0c10: 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e 74 2e ory requirement.
0c20: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68 61 74 20 </li>..<li>What
0c30: 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 6d 61 is absolutely ma
0c40: 6e 64 61 74 6f 72 79 20 69 73 20 74 68 61 74 20 ndatory is that
0c50: 65 61 63 68 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e each <b>Link</b>
0c60: 20 6d 75 73 74 20 65 78 70 6c 69 63 69 74 6c 79 must explicitly
0c70: 20 72 65 66 65 72 65 6e 63 65 20 69 74 73 20 3c reference its <
0c80: 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 b>Nodes</b>.</li
0c90: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c >..</ul></li>..<
0ca0: 6c 69 3e 41 20 4e 65 74 77 6f 72 6b 20 73 75 70 li>A Network sup
0cb0: 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65 74 72 69 porting Geometri
0cc0: 65 73 20 69 73 20 61 20 3c 62 3e 53 70 61 74 69 es is a <b>Spati
0cd0: 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 3b 20 al Network</b>;
0ce0: 6f 74 68 65 72 77 69 73 65 20 61 20 4e 65 74 77 otherwise a Netw
0cf0: 6f 72 6b 20 6c 61 63 6b 69 6e 67 20 61 6e 79 20 ork lacking any
0d00: 47 65 6f 6d 65 74 72 79 20 69 73 20 61 20 3c 62 Geometry is a <b
0d10: 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b >Logical Network
0d20: 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 </b>...<ul>..<li
0d30: 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61 6c >In a <b>Spatial
0d40: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c 6c Network</b> all
0d50: 20 4c 69 6e 6b 73 20 3c 62 3e 6d 75 73 74 3c 2f Links <b>must</
0d60: 62 3e 20 68 61 76 65 20 61 20 63 6f 72 72 65 73 b> have a corres
0d70: 70 6f 6e 64 69 6e 67 20 47 65 6f 6d 65 74 72 79 ponding Geometry
0d80: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 .</li>..<li>In a
0d90: 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 <b>Logical Netw
0da0: 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20 4c 69 6e 6b ork</b> all Link
0db0: 73 20 3c 62 3e 61 72 65 20 73 74 72 69 63 74 6c s <b>are strictl
0dc0: 79 20 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 y forbidden</b>
0dd0: 74 6f 20 68 61 76 65 20 61 6e 79 20 47 65 6f 6d to have any Geom
0de0: 65 74 72 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e etry.</li>..<li>
0df0: 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 In a <b>Spatial
0e00: 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 62 6f 74 68 Network</b> both
0e10: 20 74 68 65 20 3c 62 3e 53 74 61 72 74 50 6f 69 the <b>StartPoi
0e20: 6e 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 6e nt</b> and <b>En
0e30: 64 50 6f 69 6e 74 3c 2f 62 3e 20 6f 66 20 65 61 dPoint</b> of ea
0e40: 63 68 20 4c 69 6e 6b 27 73 20 3c 62 3e 4c 49 4e ch Link's <b>LIN
0e50: 45 53 54 52 49 4e 47 3c 2f 62 3e 20 61 72 65 20 ESTRING</b> are
0e60: 61 6c 77 61 79 73 20 65 78 70 65 63 74 65 64 20 always expected
0e70: 74 6f 20 65 78 61 63 74 6c 79 20 63 6f 69 6e 63 to exactly coinc
0e80: 69 64 65 20 77 69 74 68 20 74 68 65 20 63 6f 72 ide with the cor
0e90: 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62 3e 4e 6f responding <b>No
0ea0: 64 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c des</b>.</li>..<
0eb0: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 /ul></li>..<li>I
0ec0: 6e 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e n a <b>Spatial N
0ed0: 65 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20 72 etwork</b> all r
0ee0: 65 66 65 72 65 6e 63 65 73 20 74 6f 20 74 68 65 eferences to the
0ef0: 20 73 61 6d 65 20 3c 62 3e 4e 6f 64 65 3c 2f 62 same <b>Node</b
0f00: 3e 20 62 79 20 64 69 66 66 65 72 65 6e 74 20 4c > by different L
0f10: 69 6e 6b 73 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e inks <b>must</b>
0f20: 20 62 65 20 61 6e 20 65 78 61 63 74 20 6d 61 74 be an exact mat
0f30: 63 68 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61 6d ch.<br>..<u>Exam
0f40: 70 6c 65 3c 2f 75 3e 3a 20 4e 6f 64 65 20 3c 62 ple</u>: Node <b
0f50: 3e 4e 35 3c 2f 62 3e 20 69 73 20 73 68 61 72 65 >N5</b> is share
0f60: 64 20 62 79 20 4c 69 6e 6b 73 20 3c 62 3e 4c 33 d by Links <b>L3
0f70: 3c 2f 62 3e 2c 20 3c 62 3e 4c 36 3c 2f 62 3e 2c </b>, <b>L6</b>,
0f80: 20 3c 62 3e 4c 37 3c 2f 62 3e 2c 20 3c 62 3e 4c <b>L7</b>, <b>L
0f90: 39 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 31 30 9</b> and <b>L10
0fa0: 3c 2f 62 3e 2c 20 73 6f 20 61 6c 6c 20 74 68 65 </b>, so all the
0fb0: 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 ir corresponding
0fc0: 20 4c 49 4e 45 53 54 52 49 4e 47 53 20 61 72 65 LINESTRINGS are
0fd0: 20 65 78 70 65 63 74 65 64 20 74 6f 20 68 61 76 expected to hav
0fe0: 65 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 e the correspond
0ff0: 69 6e 67 20 65 78 74 72 65 6d 69 74 79 20 28 3c ing extremity (<
1000: 62 3e 53 74 61 72 74 2d 3c 2f 62 3e 20 6f 72 20 b>Start-</b> or
1010: 3c 62 3e 45 6e 64 2d 3c 2f 62 3e 2c 20 64 65 70 <b>End-</b>, dep
1020: 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6f 72 ending on the or
1030: 69 65 6e 74 61 74 69 6f 6e 29 20 70 6f 69 6e 74 ientation) point
1040: 73 20 74 68 61 74 20 6d 75 73 74 20 65 78 61 63 s that must exac
1050: 74 6c 79 20 6d 61 74 63 68 20 74 68 65 20 6f 74 tly match the ot
1060: 68 65 72 2e 3c 62 72 3e 0d 0a 41 20 3c 62 3e 74 her.<br>..A <b>t
1070: 6f 70 6f 6c 6f 67 69 63 61 6c 20 69 6e 63 6f 6e opological incon
1080: 73 69 73 74 65 6e 63 79 3c 2f 62 3e 20 65 78 69 sistency</b> exi
1090: 73 74 73 20 69 66 20 61 6e 79 20 6f 66 20 74 68 sts if any of th
10a0: 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 ese conditions a
10b0: 72 65 20 6e 6f 74 20 73 61 74 69 73 66 69 65 64 re not satisfied
10c0: 2c 20 77 68 69 63 68 20 6c 65 61 64 73 20 74 6f , which leads to
10d0: 20 61 6e 20 3c 62 3e 69 6e 76 61 6c 69 64 3c 2f an <b>invalid</
10e0: 62 3e 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 3e b> Network.</li>
10f0: 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62 3e 53 70 ..<li>In a <b>Sp
1100: 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 atial Network</b
1110: 3e 20 74 77 6f 0d 0a 3c 6c 69 3e 41 63 63 6f 72 > two..<li>Accor
1120: 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 61 62 dingly to the ab
1130: 6f 76 65 20 70 72 65 6d 69 73 65 73 2c 20 3c 62 ove premises, <b
1140: 3e 4e 6f 64 65 73 3c 2f 62 3e 20 61 72 65 20 6e >Nodes</b> are n
1150: 65 76 65 72 20 65 78 70 65 63 74 65 64 20 74 6f ever expected to
1160: 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20 64 be explicitly d
1170: 65 63 6c 61 72 65 64 20 69 6e 20 61 20 73 65 70 eclared in a sep
1180: 61 72 61 74 65 20 54 61 62 6c 65 2e 3c 62 72 3e arate Table.<br>
1190: 0d 0a 4a 75 73 74 20 61 20 73 69 6e 67 6c 65 20 ..Just a single
11a0: 54 61 62 6c 65 20 64 65 63 6c 61 72 69 6e 67 20 Table declaring
11b0: 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e all <b>Links</b>
11c0: 20 69 73 20 72 65 71 75 69 72 65 64 20 69 6e 20 is required in
11d0: 6f 72 64 65 72 20 74 6f 20 66 75 6c 6c 79 20 64 order to fully d
11e0: 65 66 69 6e 65 20 61 20 74 6f 70 6f 6c 6f 67 69 efine a topologi
11f0: 63 61 6c 6c 79 20 76 61 6c 69 64 20 4e 65 74 77 cally valid Netw
1200: 6f 72 6b 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 ork.<br>..All th
1210: 65 20 4e 6f 64 65 73 20 63 61 6e 20 74 68 65 6e e Nodes can then
1220: 20 62 65 20 65 61 73 69 6c 79 20 65 78 74 72 61 be easily extra
1230: 63 74 65 64 20 66 72 6f 6d 20 74 68 65 20 4c 69 cted from the Li
1240: 6e 6b 73 27 20 64 65 66 69 6e 69 74 69 6f 6e 73 nks' definitions
1250: 20 61 6e 64 20 74 68 65 20 63 6f 6f 72 64 69 6e and the coordin
1260: 61 74 65 73 20 66 6f 72 20 65 61 63 68 20 4e 6f ates for each No
1270: 64 65 20 63 61 6e 20 62 65 20 64 69 72 65 63 74 de can be direct
1280: 6c 79 20 73 65 74 20 62 79 20 65 78 74 72 61 63 ly set by extrac
1290: 74 69 6e 67 20 74 68 65 20 65 78 74 72 65 6d 65 ting the extreme
12a0: 20 50 6f 69 6e 74 20 6f 66 20 74 68 65 20 63 6f Point of the co
12b0: 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 65 rresponding Line
12c0: 73 74 72 69 6e 67 73 2e 3c 62 72 3e 0d 0a 49 66 strings.<br>..If
12d0: 20 61 6e 79 20 6d 69 73 6d 61 74 63 68 20 69 73 any mismatch is
12e0: 20 64 65 74 65 63 74 65 64 20 74 68 69 73 20 73 detected this s
12f0: 75 72 65 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 urely means that
1300: 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 69 73 20 the Network is
1310: 69 6e 76 61 6c 69 64 2e 3c 2f 6c 69 3e 0d 0a 3c invalid.</li>..<
1320: 6c 69 3e 41 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e li>A <b>Link</b>
1330: 20 6d 61 79 20 6c 65 67 69 74 69 6d 61 74 65 6c may legitimatel
1340: 79 20 73 65 6c 66 2d 69 6e 74 65 72 73 65 63 74 y self-intersect
1350: 20 69 74 73 65 6c 66 20 28 65 2e 67 2e 20 66 6f itself (e.g. fo
1360: 72 6d 69 6e 67 20 61 20 6c 6f 6f 70 29 2c 20 61 rming a loop), a
1370: 73 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 61 s shown in the a
1380: 62 6f 76 65 20 66 69 67 75 72 65 20 62 79 20 4c bove figure by L
1390: 69 6e 6b 20 3c 62 3e 4c 31 35 3c 2f 62 3e 20 28 ink <b>L15</b> (
13a0: 6f 72 61 6e 67 65 20 73 70 6f 74 29 2e 3c 2f 6c orange spot).</l
13b0: 69 3e 0d 0a 3c 6c 69 3e 54 77 6f 20 3c 62 3e 4c i>..<li>Two <b>L
13c0: 69 6e 6b 73 3c 2f 62 3e 20 6d 61 79 20 6c 65 67 inks</b> may leg
13d0: 69 74 69 6d 61 74 65 6c 79 20 69 6e 74 65 72 73 itimately inters
13e0: 65 63 74 20 77 68 65 72 65 20 6e 6f 20 4e 6f 64 ect where no Nod
13f0: 65 20 65 78 69 73 74 73 2c 20 61 73 20 65 78 65 e exists, as exe
1400: 6d 70 6c 69 66 69 65 64 20 6f 6e 20 74 68 65 20 mplified on the
1410: 61 62 6f 76 65 20 66 69 67 75 72 65 20 62 79 20 above figure by
1420: 4c 69 6e 6b 73 20 3c 62 3e 4c 34 3c 2f 62 3e 20 Links <b>L4</b>
1430: 61 6e 64 20 3c 62 3e 4c 37 3c 2f 62 3e 20 28 67 and <b>L7</b> (g
1440: 72 65 65 6e 20 73 70 6f 74 29 2e 3c 62 72 3e 0d reen spot).<br>.
1450: 0a 54 68 69 73 20 75 73 75 61 6c 6c 79 20 68 61 .This usually ha
1460: 70 70 65 6e 73 20 77 68 65 6e 20 6f 6e 65 20 6f ppens when one o
1470: 66 20 74 68 65 20 74 77 6f 20 4c 69 6e 6b 73 20 f the two Links
1480: 6f 76 65 72 70 61 73 73 65 73 20 74 68 65 20 6f overpasses the o
1490: 74 68 65 72 2c 20 6f 72 20 77 68 65 72 65 20 73 ther, or where s
14a0: 6f 6d 65 20 74 65 63 68 6e 69 63 61 6c 20 72 65 ome technical re
14b0: 73 74 72 69 63 74 69 6f 6e 20 65 78 69 73 74 73 striction exists
14c0: 20 28 65 2e 67 2e 20 74 77 6f 20 69 6e 73 75 6c (e.g. two insul
14d0: 61 74 65 64 20 77 69 72 65 73 20 69 6e 20 61 6e ated wires in an
14e0: 20 45 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 77 Electrical Netw
14f0: 6f 72 6b 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e ork).</li>..<li>
1500: 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72 65 <b>Links</b> are
1510: 6e 27 74 20 73 74 72 69 63 74 6c 79 20 72 65 71 n't strictly req
1520: 75 69 72 65 64 20 74 6f 20 62 65 20 61 73 73 6f uired to be asso
1530: 63 69 61 74 65 64 20 77 69 74 68 20 61 6e 79 20 ciated with any
1540: 73 70 65 63 69 66 69 63 20 61 74 74 72 69 62 75 specific attribu
1550: 74 65 2c 20 62 75 74 20 74 68 65 20 66 6f 6c 6c te, but the foll
1560: 6f 77 69 6e 67 20 61 74 74 72 69 62 75 74 65 73 owing attributes
1570: 20 61 72 65 20 61 6c 6d 6f 73 74 20 75 6e 69 76 are almost univ
1580: 65 72 73 61 6c 6c 79 20 73 75 70 70 6f 72 74 65 ersally supporte
1590: 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 20 d:..<ul>..<li>a
15a0: 3c 62 3e 6e 61 6d 65 3c 2f 62 3e 20 69 64 65 6e <b>name</b> iden
15b0: 74 69 66 79 69 6e 67 20 74 68 65 20 4c 69 6e 6b tifying the Link
15c0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c .<br>..<u>Exampl
15d0: 65 73 3c 2f 75 3e 3a 20 74 68 65 20 3c 69 3e 72 es</u>: the <i>r
15e0: 6f 61 64 20 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 20 oad toponym</i>
15f0: 69 6e 20 61 20 3c 62 3e 72 6f 61 64 20 6e 65 74 in a <b>road net
1600: 77 6f 72 6b 3c 2f 62 3e 2c 20 6f 72 20 74 68 65 work</b>, or the
1610: 20 3c 69 3e 72 69 76 65 72 20 6e 61 6d 65 3c 2f <i>river name</
1620: 69 3e 20 69 6e 20 61 6e 20 3c 62 3e 68 79 64 72 i> in an <b>hydr
1630: 6f 67 72 61 70 68 69 63 20 6e 65 74 77 6f 72 6b ographic network
1640: 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </b>.</li>..<li>
1650: 6f 6e 65 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72 one (or even mor
1660: 65 29 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c e) appropriate <
1670: 62 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e b>cost value</b>
1680: 28 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61 (s).<br>..<u>Exa
1690: 6d 70 6c 65 3c 2f 75 3e 3a 20 74 68 65 20 3c 69 mple</u>: the <i
16a0: 3e 74 69 6d 65 3c 2f 69 3e 20 72 65 71 75 69 72 >time</i> requir
16b0: 65 64 20 74 6f 20 74 72 61 76 65 72 73 65 20 74 ed to traverse t
16c0: 68 65 20 4c 69 6e 6b 20 28 6d 61 79 20 62 65 20 he Link (may be
16d0: 64 69 73 74 69 6e 67 75 69 73 68 65 64 20 62 65 distinguished be
16e0: 74 77 65 65 6e 20 70 65 64 65 73 74 72 69 61 6e tween pedestrian
16f0: 73 2c 20 62 69 63 79 63 6c 65 73 2c 20 63 61 72 s, bicycles, car
1700: 73 2c 20 6c 6f 72 72 69 65 73 20 61 6e 64 20 73 s, lorries and s
1710: 6f 20 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 o on).</li>..<li
1720: 3e 61 20 70 61 69 72 20 6f 66 20 3c 62 3e 62 6f >a pair of <b>bo
1730: 6f 6c 65 61 6e 20 66 6c 61 67 73 3c 2f 62 3e 20 olean flags</b>
1740: 28 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e 20 (<b>from-to</b>
1750: 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c 2f and <b>to-from</
1760: 62 3e 29 20 61 72 65 20 69 6e 74 65 6e 64 65 6e b>) are intenden
1770: 64 20 74 6f 20 73 70 65 63 69 66 79 20 69 66 20 d to specify if
1780: 74 68 65 20 4c 69 6e 6b 20 63 61 6e 20 62 65 20 the Link can be
1790: 74 72 61 76 65 72 73 65 64 20 6f 6e 20 62 6f 74 traversed on bot
17a0: 68 20 64 69 72 65 63 74 69 6f 6e 73 20 6f 72 20 h directions or
17b0: 6a 75 73 74 20 69 6e 20 6f 6e 65 20 28 3c 62 3e just in one (<b>
17c0: 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c 2f 6c one-way</b>).</l
17d0: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a i>..</ul></li>..
17e0: 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e 4c 6f 67 69 63 </ul>..<h4>Logic
17f0: 61 6c 20 63 6f 6e 63 6c 75 73 69 6f 6e 73 3c 2f al conclusions</
1800: 68 34 3e 0d 0a 41 6e 79 20 74 6f 70 6f 6c 6f 67 h4>..Any topolog
1810: 69 63 61 6c 6c 79 20 76 61 6c 69 64 20 3c 62 3e ically valid <b>
1820: 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 28 69 72 72 Network</b> (irr
1830: 65 73 70 65 63 74 69 76 65 20 6f 66 20 77 68 65 espective of whe
1840: 74 68 65 72 20 69 74 20 69 73 20 61 20 3c 62 3e ther it is a <b>
1850: 53 70 61 74 69 61 6c 3c 2f 62 3e 20 6f 72 20 3c Spatial</b> or <
1860: 62 3e 4c 6f 67 69 63 61 6c 3c 2f 62 3e 20 74 79 b>Logical</b> ty
1870: 70 65 29 20 69 73 20 61 20 76 61 6c 69 64 20 3c pe) is a valid <
1880: 62 3e 47 72 61 70 68 3c 2f 62 3e 2e 3c 62 72 3e b>Graph</b>.<br>
1890: 0d 0a 41 20 4e 65 74 77 6f 72 6b 20 61 6c 6c 6f ..A Network allo
18a0: 77 69 6e 67 20 74 68 65 20 73 75 70 70 6f 72 74 wing the support
18b0: 20 28 64 69 72 65 63 74 20 6f 72 20 69 6e 64 69 (direct or indi
18c0: 72 65 63 74 29 20 6f 66 20 73 6f 6d 65 20 61 70 rect) of some ap
18d0: 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 63 6f 73 propriate <b>cos
18e0: 74 20 76 61 6c 75 65 3c 2f 62 3e 20 69 73 20 61 t value</b> is a
18f0: 20 76 61 6c 69 64 20 3c 62 3e 57 65 69 67 68 74 valid <b>Weight
1900: 65 64 20 47 72 61 70 68 3c 2f 62 3e 2c 20 61 6e ed Graph</b>, an
1910: 64 20 63 61 6e 20 63 6f 6e 73 65 71 75 65 6e 74 d can consequent
1920: 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 52 6f ly support <b>Ro
1930: 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 uting algorithms
1940: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 52 </b>.<br>..All R
1950: 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d outing algorithm
1960: 73 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 s are intended t
1970: 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 3c o identify the <
1980: 62 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c b>Shortest Path<
1990: 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 63 6f 6e /b> solution con
19a0: 6e 65 63 74 69 6e 67 20 74 77 6f 20 3c 62 3e 4e necting two <b>N
19b0: 6f 64 65 73 3c 2f 62 3e 20 69 6e 20 61 20 3c 62 odes</b> in a <b
19c0: 3e 77 65 69 67 68 74 65 64 20 67 72 61 70 68 3c >weighted graph<
19d0: 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 /b> (<i>aka</i>
19e0: 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 29 2e <b>Network</b>).
19f0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 3c 75 3e <br><br>..<b><u>
1a00: 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 68 Note</u></b>: th
1a10: 65 20 74 65 72 6d 20 3c 62 3e 3c 69 3e 53 68 6f e term <b><i>Sho
1a20: 72 74 65 73 74 20 50 61 74 68 3c 2f 69 3e 3c 2f rtest Path</i></
1a30: 62 3e 20 63 61 6e 20 62 65 20 65 61 73 69 6c 79 b> can be easily
1a40: 20 6d 69 73 75 6e 64 65 72 73 74 6f 6f 64 2e 3c misunderstood.<
1a50: 62 72 3e 0d 0a 44 75 65 20 74 6f 20 68 69 73 74 br>..Due to hist
1a60: 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e 73 20 74 orical reasons t
1a70: 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 61 he most common a
1a80: 70 70 6c 69 63 61 74 69 6f 6e 20 66 69 65 6c 64 pplication field
1a90: 20 66 6f 72 20 52 6f 75 74 69 6e 67 20 61 6c 67 for Routing alg
1aa0: 6f 72 69 74 68 6d 73 20 69 73 20 72 65 6c 61 74 orithms is relat
1ab0: 65 64 20 74 6f 20 3c 62 3e 52 6f 61 64 20 4e 65 ed to <b>Road Ne
1ac0: 74 77 6f 72 6b 73 3c 2f 62 3e 2c 20 62 75 74 20 tworks</b>, but
1ad0: 61 6c 73 6f 20 6d 61 6e 79 20 6f 74 68 65 72 20 also many other
1ae0: 6b 69 6e 64 73 20 6f 66 20 4e 65 74 77 6f 72 6b kinds of Network
1af0: 73 20 65 78 69 73 74 3a 0d 0a 3c 75 6c 3e 0d 0a s exist:..<ul>..
1b00: 3c 6c 69 3e 48 79 64 72 6f 67 72 61 70 68 69 63 <li>Hydrographic
1b10: 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d Networks.</li>.
1b20: 0a 3c 6c 69 3e 47 61 73 20 2f 20 57 61 74 65 72 .<li>Gas / Water
1b30: 20 2f 20 4f 69 6c 20 4e 65 74 77 6f 72 6b 73 2e / Oil Networks.
1b40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 6c 65 63 74 </li>..<li>Elect
1b50: 72 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 2e 3c rical Networks.<
1b60: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c 65 63 6f /li>..<li>Teleco
1b70: 6d 75 6e 69 63 61 74 69 6f 6e 20 4e 65 74 77 6f munication Netwo
1b80: 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 53 rks.</li>..<li>S
1b90: 6f 63 69 61 6c 20 6f 72 20 45 63 6f 6e 6f 6d 69 ocial or Economi
1ba0: 63 61 6c 20 4e 65 74 77 6f 72 6b 73 20 72 65 70 cal Networks rep
1bb0: 72 65 73 65 6e 74 69 6e 67 20 72 65 6c 61 74 69 resenting relati
1bc0: 6f 6e 73 68 69 70 73 20 62 65 74 77 65 65 6e 20 onships between
1bd0: 69 6e 64 69 76 69 64 75 61 6c 73 20 6f 72 20 63 individuals or c
1be0: 6f 6d 70 61 6e 69 65 73 2e 3c 2f 6c 69 3e 0d 0a ompanies.</li>..
1bf0: 3c 6c 69 3e 45 70 69 64 65 6d 69 6f 6c 6f 67 69 <li>Epidemiologi
1c00: 63 61 6c 20 4e 65 74 77 6f 72 6b 73 20 72 65 70 cal Networks rep
1c10: 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 70 72 resenting the pr
1c20: 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 69 6e 66 opagation of inf
1c30: 65 63 74 69 76 65 20 64 69 73 65 61 73 65 73 20 ective diseases
1c40: 62 65 74 77 65 65 6e 20 69 6e 64 69 76 69 64 75 between individu
1c50: 61 6c 73 20 6f 72 20 67 72 6f 75 70 73 2e 3c 2f als or groups.</
1c60: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 li>..</ul></li>
1c70: 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 61 6c 6c 20 74 ..<br>..In all t
1c80: 68 65 20 61 62 6f 76 65 20 63 61 73 65 73 20 77 he above cases w
1c90: 65 20 63 65 72 74 61 69 6e 6c 79 20 68 61 76 65 e certainly have
1ca0: 20 76 61 6c 69 64 20 4e 65 74 77 6f 72 6b 73 20 valid Networks
1cb0: 73 75 70 70 6f 72 74 69 6e 67 20 52 6f 75 74 69 supporting Routi
1cc0: 6e 67 20 61 6c 67 6f 72 69 74 68 6e 73 2c 20 62 ng algorithns, b
1cd0: 75 74 20 6e 6f 74 20 61 6c 6c 20 6f 66 20 74 68 ut not all of th
1ce0: 65 6d 20 63 61 6e 20 69 6d 70 6c 79 20 73 6f 6d em can imply som
1cf0: 65 74 68 69 6e 67 20 6c 69 6b 65 20 61 20 3c 69 ething like a <i
1d00: 3e 73 70 61 74 69 61 6c 20 64 69 73 74 61 6e 63 >spatial distanc
1d10: 65 3c 2f 69 3e 20 28 3c 69 3e 67 65 6f 6d 65 74 e</i> (<i>geomet
1d20: 72 69 63 20 6c 65 6e 67 74 68 3c 2f 69 3e 29 20 ric length</i>)
1d30: 6f 72 20 61 20 3c 69 3e 74 72 61 76 65 6c 20 74 or a <i>travel t
1d40: 69 6d 65 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a 49 6e ime</i>.<br>..In
1d50: 20 74 68 65 20 6d 6f 73 74 20 67 65 6e 65 72 61 the most genera
1d60: 6c 20 61 63 63 65 70 74 69 6f 6e 20 3c 62 3e 63 l acception <b>c
1d70: 6f 73 74 73 3c 2f 62 3e 20 63 61 6e 20 62 65 20 osts</b> can be
1d80: 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 61 represented by a
1d90: 6e 79 20 72 65 61 73 6f 6e 61 62 6c 65 20 70 68 ny reasonable ph
1da0: 79 73 69 63 61 6c 20 71 75 61 6e 74 69 74 79 2e ysical quantity.
1db0: 3c 62 72 3e 0d 0a 53 6f 20 61 20 6d 6f 72 65 20 <br>..So a more
1dc0: 67 65 6e 65 72 61 6c 69 7a 65 64 20 64 65 66 69 generalized defi
1dd0: 6e 69 74 69 6f 6e 20 69 73 20 61 73 73 75 6d 69 nition is assumi
1de0: 6e 67 20 74 68 61 74 20 52 6f 75 74 69 6e 67 20 ng that Routing
1df0: 61 6c 67 6f 72 69 74 68 6d 73 20 61 72 65 20 69 algorithms are i
1e00: 6e 74 65 6e 64 65 64 20 74 6f 20 69 64 65 6e 74 ntended to ident
1e10: 69 66 79 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f ify <b>lesser co
1e20: 73 74 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 73 st</b> solutions
1e30: 20 6f 6e 20 61 20 3c 62 3e 77 65 69 67 68 74 65 on a <b>weighte
1e40: 64 20 67 72 61 70 68 3c 2f 62 3e 2e 3c 62 72 3e d graph</b>.<br>
1e50: 0d 0a 54 68 65 20 65 78 61 63 74 20 69 6e 74 65 ..The exact inte
1e60: 72 70 72 65 74 61 74 69 6f 6e 20 6f 66 20 74 68 rpretation of th
1e70: 65 20 69 6e 76 6f 6c 76 65 64 20 3c 62 3e 63 6f e involved <b>co
1e80: 73 74 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c sts</b> (<i>aka<
1e90: 2f 69 3e 20 3c 62 3e 77 65 69 67 68 74 73 3c 2f /i> <b>weights</
1ea0: 62 3e 29 20 73 74 72 69 63 74 6c 79 20 64 65 70 b>) strictly dep
1eb0: 65 6e 64 73 20 6f 6e 20 74 68 65 20 76 65 72 79 ends on the very
1ec0: 20 73 70 65 63 69 66 69 63 20 6e 61 74 75 72 65 specific nature
1ed0: 20 6f 66 20 65 61 63 68 20 4e 65 74 77 6f 72 6b of each Network
1ee0: 2e 0d 0a 3c 68 33 3e 54 68 65 20 44 69 6a 6b 73 ...<h3>The Dijks
1ef0: 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d 3c tra's algorithm<
1f00: 2f 68 33 3e 0d 0a 54 68 69 73 20 77 65 6c 6c 20 /h3>..This well
1f10: 6b 6e 6f 77 6e 20 3c 61 20 68 72 65 66 3d 22 68 known <a href="h
1f20: 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 ttps://en.wikipe
1f30: 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 44 69 6a dia.org/wiki/Dij
1f40: 6b 73 74 72 61 25 32 37 73 5f 61 6c 67 6f 72 69 kstra%27s_algori
1f50: 74 68 6d 22 3e 61 6c 67 6f 72 69 74 68 6d 3c 2f thm">algorithm</
1f60: 61 3e 20 69 73 6e 27 74 20 6e 65 63 65 73 73 61 a> isn't necessa
1f70: 72 69 6c 79 20 74 68 65 20 66 61 73 74 65 73 74 rily the fastest
1f80: 20 6f 6e 65 2c 20 62 75 74 20 69 74 20 61 6c 77 one, but it alw
1f90: 61 79 73 20 65 6e 73 75 72 65 73 20 3c 62 3e 66 ays ensures <b>f
1fa0: 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73 3c ull correctness<
1fb0: 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e /b>:..<ul>..<li>
1fc0: 41 6e 79 20 4e 6f 64 65 2d 74 6f 2d 4e 6f 64 65 Any Node-to-Node
1fd0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 64 65 6e connection iden
1fe0: 74 69 66 69 65 64 20 62 79 20 44 69 6a 6b 73 74 tified by Dijkst
1ff0: 72 61 27 73 20 69 73 20 63 65 72 74 61 69 6e 6c ra's is certainl
2000: 79 20 65 6e 73 75 72 65 64 20 74 6f 20 62 65 20 y ensured to be
2010: 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e 2e 3c <b>optimal</b>.<
2020: 62 72 3e 0d 0a 49 6e 20 6f 74 68 65 72 20 77 6f br>..In other wo
2030: 72 64 73 2c 20 6e 6f 20 63 6f 6e 6e 65 74 63 74 rds, no connetct
2040: 69 6f 6e 20 70 72 65 73 65 6e 74 69 6e 67 20 61 ion presenting a
2050: 20 6c 6f 77 65 72 20 63 6f 73 74 20 63 61 6e 20 lower cost can
2060: 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 65 78 69 conceptually exi
2070: 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68 st.</li>..<li>Wh
2080: 65 6e 20 44 69 6a 73 6a 74 72 61 27 73 20 66 61 en Dijsjtra's fa
2090: 69 6c 73 20 74 6f 20 69 64 65 6e 74 69 66 79 20 ils to identify
20a0: 61 20 73 6f 6c 75 74 69 6f 6e 20 74 68 69 73 20 a solution this
20b0: 73 75 72 65 6c 79 20 6d 65 61 6e 73 20 74 68 61 surely means tha
20c0: 74 20 6e 6f 20 73 6f 6c 75 74 69 6f 6e 20 69 73 t no solution is
20d0: 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c 69 3e 0d possible.</li>.
20e0: 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 54 68 65 20 .</ul>..<h3>The
20f0: 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 68 33 A* algorithm</h3
2100: 3e 0d 0a 4d 61 6e 79 20 61 6c 74 65 72 6e 61 74 >..Many alternat
2110: 69 76 65 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f ive Routing algo
2120: 72 69 74 68 6d 73 20 68 61 76 65 20 62 65 65 6e rithms have been
2130: 20 69 6e 76 65 6e 74 65 64 20 64 75 72 69 6e 67 invented during
2140: 20 74 68 65 20 79 65 61 72 73 2e 3c 62 72 3e 0d the years.<br>.
2150: 0a 41 6c 6c 20 74 68 65 6d 20 61 72 65 20 62 61 .All them are ba
2160: 73 65 64 20 6f 6e 20 68 65 75 72 69 73 74 69 63 sed on heuristic
2170: 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 61 6e 64 assumptions and
2180: 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f are intended to
2190: 20 62 65 20 66 61 73 74 65 72 20 74 68 61 6e 20 be faster than
21a0: 44 69 6a 6b 73 74 72 61 27 73 2c 20 62 75 74 20 Dijkstra's, but
21b0: 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 63 61 6e none of them can
21c0: 20 65 6e 73 75 72 65 20 3c 62 3e 66 75 6c 6c 20 ensure <b>full
21d0: 63 6f 72 72 65 63 74 6e 65 73 73 3c 2f 62 3e 20 correctness</b>
21e0: 61 73 20 44 69 6a 6b 73 74 72 61 27 73 20 64 6f as Dijkstra's do
21f0: 65 73 2e 3c 62 72 3e 0d 0a 54 68 65 20 3c 61 20 es.<br>..The <a
2200: 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e href="https://en
2210: 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 .wikipedia.org/w
2220: 69 6b 69 2f 41 2a 5f 73 65 61 72 63 68 5f 61 6c iki/A*_search_al
2230: 67 6f 72 69 74 68 6d 22 3e 41 2a 20 61 6c 67 6f gorithm">A* algo
2240: 72 69 74 68 6d 3c 2f 61 3e 20 61 70 70 6c 69 65 rithm</a> applie
2250: 73 20 61 20 6d 69 6c 64 20 68 65 75 72 69 73 74 s a mild heurist
2260: 69 63 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2c ic optimization,
2270: 20 61 6e 64 20 63 61 6e 20 62 65 20 61 20 72 65 and can be a re
2280: 61 6c 69 73 74 69 63 20 61 6c 74 65 72 6e 61 74 alistic alternat
2290: 69 76 65 20 74 6f 20 44 69 6a 6b 73 74 72 61 27 ive to Dijkstra'
22a0: 73 20 69 6e 20 6d 61 6e 79 20 63 61 73 65 73 2e s in many cases.
22b0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a <br><br>..<hr>..
22c0: 3c 68 31 3e 32 20 2d 20 54 68 65 20 73 61 6d 70 <h1>2 - The samp
22d0: 6c 65 2f 74 65 73 74 20 44 42 3c 2f 68 31 3e 0d le/test DB</h1>.
22e0: 0a 59 6f 75 20 61 72 65 20 65 78 70 65 63 74 65 .You are expecte
22f0: 64 20 74 6f 20 66 6f 6c 6c 6f 77 20 74 68 65 20 d to follow the
2300: 63 75 72 72 65 6e 74 20 74 75 74 6f 72 69 61 6c current tutorial
2310: 20 61 62 6f 75 74 20 3c 62 3e 56 69 72 74 75 61 about <b>Virtua
2320: 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 79 20 lRouting</b> by
2330: 64 69 72 65 63 74 6c 79 20 74 65 73 74 69 6e 67 directly testing
2340: 20 61 6c 6c 20 53 51 4c 20 71 75 65 72 69 65 73 all SQL queries
2350: 20 64 69 73 63 75 73 73 65 64 20 62 65 6c 6f 77 discussed below
2360: 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 20 74 68 on behalf of th
2370: 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 e <a href="https
2380: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
2390: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 it/gaia-sins/rou
23a0: 74 69 6e 67 2d 73 61 6d 70 6c 65 2d 35 2e 30 2e ting-sample-5.0.
23b0: 30 2e 37 7a 22 3e 73 61 6d 70 6c 65 2f 74 65 73 0.7z">sample/tes
23c0: 74 20 44 42 20 74 68 61 74 20 79 6f 75 20 63 61 t DB that you ca
23d0: 6e 20 64 6f 77 6e 6c 6f 61 64 20 66 72 6f 6d 20 n download from
23e0: 68 65 72 65 3c 2f 61 3e 3c 62 72 3e 3c 62 72 3e here</a><br><br>
23f0: 0d 0a 54 68 65 20 73 61 6d 70 6c 65 20 44 42 20 ..The sample DB
2400: 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 75 6c contains the ful
2410: 6c 20 3c 62 3e 72 6f 61 64 20 6e 65 74 77 6f 72 l <b>road networ
2420: 6b 3c 2f 62 3e 20 6f 66 20 3c 62 3e 54 75 73 63 k</b> of <b>Tusc
2430: 61 6e 79 20 52 65 67 69 6f 6e 20 28 49 74 61 6c any Region (Ital
2440: 79 29 3c 2f 62 3e 20 28 3c 61 20 68 72 65 66 3d y)</b> (<a href=
2450: 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e 72 "http://www502.r
2460: 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e 69 egione.toscana.i
2470: 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77 6e t/geoscopio/down
2480: 6c 6f 61 64 2f 67 72 61 66 6f 5f 73 74 72 61 64 load/grafo_strad
2490: 61 6c 65 2f 69 74 65 72 6e 65 74 2e 7a 69 70 22 ale/iternet.zip"
24a0: 3e 49 74 65 72 2e 4e 65 74 20 64 61 74 61 73 65 >Iter.Net datase
24b0: 74 3c 2f 61 3e 29 20 6b 69 6e 64 6c 79 20 72 65 t</a>) kindly re
24c0: 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 65 leased under the
24d0: 20 3c 62 3e 43 43 2d 42 59 2d 53 41 20 34 2e 30 <b>CC-BY-SA 4.0
24e0: 3c 2f 62 3e 20 6c 69 63 65 6e 63 65 20 74 65 72 </b> licence ter
24f0: 6d 73 2e 3c 62 72 3e 0d 0a 54 68 65 20 63 6f 6e ms.<br>..The con
2500: 74 65 6e 74 73 20 73 74 6f 72 65 64 20 69 6e 74 tents stored int
2510: 6f 20 74 68 65 20 73 61 6d 70 6c 65 20 64 61 74 o the sample dat
2520: 61 62 61 73 65 20 77 65 72 65 20 6f 70 70 6f 72 abase were oppor
2530: 74 75 6e 65 6c 79 20 72 65 61 72 72 61 6e 67 65 tunely rearrange
2540: 64 2c 20 61 6e 64 20 61 72 65 20 73 74 69 6c 6c d, and are still
2550: 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 subject to the
2560: 69 6e 69 74 69 61 6c 20 3c 62 3e 43 43 2d 42 59 initial <b>CC-BY
2570: 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 63 6c 61 75 -SA 4.0</b> clau
2580: 73 65 73 20 28 3c 69 3e 64 65 72 69 76 65 64 20 ses (<i>derived
2590: 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a 3c 62 72 3e work</i>)...<br>
25a0: 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e <br>..<ul>..<li>
25b0: 61 6c 6c 20 72 6f 61 64 20 6e 61 6d 65 73 20 61 all road names a
25c0: 72 65 20 73 74 6f 72 65 64 20 77 69 74 68 69 6e re stored within
25d0: 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 the <b>toponyms
25e0: 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c 62 72 3e 0d </b> Table.<br>.
25f0: 0a 74 68 65 20 73 61 6d 65 20 72 6f 61 64 20 6e .the same road n
2600: 61 6d 65 20 63 6f 75 6c 64 20 62 65 20 75 73 65 ame could be use
2610: 64 20 69 6e 20 64 69 66 66 65 72 65 6e 74 20 4d d in different M
2620: 75 6e 69 63 69 70 61 6c 69 74 69 65 73 2c 20 73 unicipalities, s
2630: 6f 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d o the <b>toponym
2640: 73 3c 2f 62 3e 20 54 61 62 6c 65 20 72 65 6c 61 s</b> Table rela
2650: 74 69 6f 6e 61 6c 6c 79 20 72 65 66 65 72 65 6e tionally referen
2660: 63 65 73 20 74 68 65 20 3c 62 3e 6d 75 6e 69 63 ces the <b>munic
2670: 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 20 54 61 ipalities</b> Ta
2680: 62 6c 65 20 28 76 69 61 20 3c 62 3e 50 52 49 4d ble (via <b>PRIM
2690: 41 52 59 3c 2f 62 3e 20 2f 20 3c 62 3e 46 4f 52 ARY</b> / <b>FOR
26a0: 45 49 47 4e 20 4b 45 59 3c 2f 62 3e 20 72 65 6c EIGN KEY</b> rel
26b0: 61 74 69 6f 6e 73 68 69 70 73 29 2e 3c 2f 6c 69 ationships).</li
26c0: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 72 6f >..<li>the <b>ro
26d0: 61 64 73 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 ads</b> Spatial
26e0: 54 61 62 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 Table contains a
26f0: 62 6f 75 74 20 3c 62 3e 33 38 30 2c 30 30 30 3c bout <b>380,000<
2700: 2f 62 3e 20 4c 69 6e 6b 73 2c 20 61 6e 64 20 68 /b> Links, and h
2710: 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 as the following
2720: 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e 0d columns:..<ul>.
2730: 0a 3c 6c 69 3e 3c 62 3e 69 64 3c 2f 62 3e 3a 20 .<li><b>id</b>:
2740: 75 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 unique identifie
2750: 72 20 6f 66 20 65 61 63 68 20 4c 69 6e 6b 20 28 r of each Link (
2760: 3c 62 3e 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f <b>PRIMARY KEY</
2770: 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c b>).</li>..<li><
2780: 62 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 62 3e 20 b>node_from</b>
2790: 61 6e 64 20 3c 62 3e 6e 6f 64 65 5f 74 6f 3c 2f and <b>node_to</
27a0: 62 3e 3a 20 4e 6f 64 65 20 69 64 65 6e 74 69 66 b>: Node identif
27b0: 69 65 72 73 2e 0d 0a 54 68 65 20 6f 72 69 67 69 iers...The origi
27c0: 6e 61 6c 20 49 74 65 72 2e 4e 65 74 20 64 61 74 nal Iter.Net dat
27d0: 61 73 65 74 20 61 64 6f 70 74 73 20 76 65 72 79 aset adopts very
27e0: 20 6c 6f 6e 67 20 61 6e 20 63 6f 6d 70 6c 65 78 long an complex
27f0: 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 4e 6f alphanumeric No
2800: 64 65 20 63 6f 64 65 73 3b 20 74 68 65 20 69 6e de codes; the in
2810: 74 65 67 65 72 20 4e 6f 64 65 20 49 44 73 20 77 teger Node IDs w
2820: 65 72 65 20 6f 62 74 61 69 6e 65 64 20 62 79 20 ere obtained by
2830: 63 61 6c 6c 69 6e 67 20 74 68 65 20 3c 62 3e 43 calling the <b>C
2840: 72 65 61 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 reateRoutingNode
2850: 73 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 s()</b> SQL func
2860: 74 69 6f 6e 20 64 69 73 63 75 73 73 65 64 20 69 tion discussed i
2870: 6e 20 61 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 n a following se
2880: 63 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 ction.</li>..<li
2890: 3e 3c 62 3e 69 64 5f 74 6f 70 6f 6e 79 6d 3c 2f ><b>id_toponym</
28a0: 62 3e 3a 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 b>: relational r
28b0: 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 eference to the
28c0: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 72 6f corresponding ro
28d0: 61 64 20 6e 61 6d 65 20 63 6f 6e 74 61 69 6e 65 ad name containe
28e0: 64 20 69 6e 74 6f 20 74 68 65 20 3c 62 3e 74 6f d into the <b>to
28f0: 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 ponyms</b> Table
2900: 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 (<b>FOREIGN KEY
2910: 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 </b>).</li>..<li
2920: 3e 3c 62 3e 73 70 65 65 64 5f 6b 6d 68 3c 2f 62 ><b>speed_kmh</b
2930: 3e 3a 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 >: the estimated
2940: 20 61 76 65 72 61 67 65 20 73 70 65 65 64 20 73 average speed s
2950: 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 upported by the
2960: 4c 69 6e 6b 2c 20 65 78 70 72 65 73 73 65 64 20 Link, expressed
2970: 69 6e 20 3c 62 3e 6b 6d 2f 68 3c 2f 62 3e 2e 3c in <b>km/h</b>.<
2980: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e br>..<u>Note</u>
2990: 3a 20 3c 62 3e 6e 65 67 61 74 69 76 65 3c 2f 62 : <b>negative</b
29a0: 3e 20 73 70 65 65 64 73 20 69 6e 74 65 6e 64 20 > speeds intend
29b0: 61 20 66 6f 72 62 69 64 64 65 6e 20 4c 69 6e 6b a forbidden Link
29c0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6f .</li>..<li><b>o
29d0: 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 3e neway_fromto</b>
29e0: 20 61 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 and <b>oneway_t
29f0: 6f 66 72 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c 65 ofrom</b>: boole
2a00: 61 6e 20 66 6c 61 67 73 20 69 6e 74 65 6e 64 65 an flags intende
2a10: 64 20 74 6f 20 73 74 61 74 65 20 69 66 20 61 20 d to state if a
2a20: 4c 69 6e 6b 20 63 61 6e 20 62 65 20 74 72 61 76 Link can be trav
2a30: 65 72 73 65 64 20 69 6e 20 62 6f 74 68 20 64 69 ersed in both di
2a40: 72 65 63 74 69 6f 6e 73 20 6f 72 20 6a 75 73 74 rections or just
2a50: 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 64 69 72 in a single dir
2a60: 65 63 74 69 6f 6e 20 28 3c 62 3e 6f 6e 65 2d 77 ection (<b>one-w
2a70: 61 79 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 3c 75 ay</b>).<br>..<u
2a80: 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6c 6c 20 4c >Note</u>: all L
2a90: 69 6e 6b 73 20 64 65 63 6c 61 72 69 6e 67 20 3c inks declaring <
2aa0: 62 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3d b>oneway_fromto=
2ab0: 30 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6f 6e 65 0</b> and <b>one
2ac0: 77 61 79 5f 74 6f 66 72 6f 6d 3d 30 3c 2f 62 3e way_tofrom=0</b>
2ad0: 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f are intended to
2ae0: 20 62 65 20 61 6c 77 61 79 73 20 66 6f 72 62 69 be always forbi
2af0: 64 64 65 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e dden.</li>..<li>
2b00: 3c 62 3e 63 6f 73 74 3c 2f 62 3e 3a 20 74 68 65 <b>cost</b>: the
2b10: 20 3c 62 3e 74 69 6d 65 3c 2f 62 3e 20 65 78 70 <b>time</b> exp
2b20: 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 73 65 63 ressed in <b>sec
2b30: 6f 6e 64 73 3c 2f 62 3e 20 72 65 71 75 69 72 65 onds</b> require
2b40: 64 20 74 6f 20 74 72 61 76 65 72 73 65 20 65 61 d to traverse ea
2b50: 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c 75 ch Link.<br>..<u
2b60: 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 20 61 6c 6c >Note #1</u> all
2b70: 20 63 6f 73 74 73 20 77 65 72 65 20 63 61 6c 63 costs were calc
2b80: 75 6c 61 74 65 64 20 61 63 63 6f 72 64 69 6e 67 ulated according
2b90: 6c 79 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 ly to the follow
2ba0: 69 6e 67 20 66 6f 72 6d 75 6c 61 3a 20 3c 62 3e ing formula: <b>
2bb0: 63 6f 73 74 20 3d 20 28 28 53 54 5f 4c 65 6e 67 cost = ((ST_Leng
2bc0: 74 68 28 67 65 6f 6d 29 20 2f 20 31 30 30 30 2e th(geom) / 1000.
2bd0: 30 29 20 2f 20 73 70 65 65 64 5f 6b 6d 68 29 20 0) / speed_kmh)
2be0: 2a 20 33 36 30 30 2e 30 3c 2f 62 3e 3c 62 72 3e * 3600.0</b><br>
2bf0: 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e ..<u>Note #2</u>
2c00: 20 61 6c 6c 20 3c 62 3e 38 36 2c 34 30 30 2e 30 all <b>86,400.0
2c10: 3c 2f 62 3e 20 63 6f 73 74 20 76 61 6c 75 65 73 </b> cost values
2c20: 20 28 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 (equivalent to
2c30: 31 20 64 61 79 29 20 61 70 70 72 6f 78 69 6d 61 1 day) approxima
2c40: 74 65 20 61 6e 20 3c 62 3e 69 6e 66 69 6e 69 74 te an <b>infinit
2c50: 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 74 68 75 ive cost</b> thu
2c60: 73 20 69 6e 74 65 6e 64 69 6e 67 20 61 20 3c 62 s intending a <b
2c70: 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 4c >forbidden</b> L
2c80: 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ink.</li>..<li><
2c90: 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62 b>geom</b>: a <b
2ca0: 3e 33 44 20 4c 69 6e 65 73 74 72 69 6e 67 3c 2f >3D Linestring</
2cb0: 62 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 b> representing
2cc0: 74 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 the Geometry of
2cd0: 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a each Link.<br>..
2ce0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 65 <u>Note</u>: the
2cf0: 20 6f 72 69 67 69 6e 61 6c 20 3c 62 3e 49 74 65 original <b>Ite
2d00: 72 2e 4e 65 74 3c 2f 62 3e 20 64 61 74 61 73 65 r.Net</b> datase
2d10: 74 20 69 73 20 6a 75 73 74 20 3c 62 3e 32 44 3c t is just <b>2D<
2d20: 2f 62 3e 3b 20 65 6c 65 76 61 74 69 6f 6e 73 20 /b>; elevations
2d30: 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64 69 (<b>Z</b> coordi
2d40: 6e 61 74 65 73 29 20 77 65 72 65 20 69 6e 74 65 nates) were inte
2d50: 72 70 6f 6c 61 74 65 64 20 62 79 20 64 72 61 70 rpolated by drap
2d60: 69 6e 67 20 74 68 65 20 64 61 74 61 73 65 74 20 ing the dataset
2d70: 6f 76 65 72 20 61 6e 20 3c 61 20 68 72 65 66 3d over an <a href=
2d80: 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e 72 "http://www502.r
2d90: 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e 69 egione.toscana.i
2da0: 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77 6e t/geoscopio/down
2db0: 6c 6f 61 64 2f 61 6c 74 69 6d 65 74 72 69 61 2f load/altimetria/
2dc0: 64 61 5f 63 74 72 31 30 6b 2f 67 62 2f 44 54 4d da_ctr10k/gb/DTM
2dd0: 5f 4f 72 6f 67 72 61 66 69 63 6f 2e 37 7a 22 3e _Orografico.7z">
2de0: 6f 72 6f 67 72 61 70 68 69 63 20 44 45 4d 20 28 orographic DEM (
2df0: 31 30 6d 20 58 20 31 30 6d 20 63 65 6c 6c 73 29 10m X 10m cells)
2e00: 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e </a></li>..</ul>
2e10: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c </li>..<li>the <
2e20: 62 3e 72 6f 61 64 73 5f 76 77 3c 2f 62 3e 20 53 b>roads_vw</b> S
2e30: 70 61 74 69 61 6c 20 56 69 65 77 20 69 73 20 6a patial View is j
2e40: 75 73 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 ust intended to
2e50: 66 75 6c 6c 79 20 72 65 73 6f 6c 76 65 20 61 6c fully resolve al
2e60: 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66 l relational ref
2e70: 65 72 65 6e 63 65 73 20 62 65 74 77 65 65 6e 20 erences between
2e80: 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c 20 3c 62 <b>roads</b>, <b
2e90: 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 61 6e >toponyms</b> an
2ea0: 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61 6c 69 74 d <b>municipalit
2eb0: 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73 20 61 6c ies</b>, thus al
2ec0: 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61 73 69 65 lowing for easie
2ed0: 72 20 53 51 4c 20 71 75 65 72 69 65 73 2e 3c 2f r SQL queries.</
2ee0: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e li>..<li>the <b>
2ef0: 68 6f 75 73 65 5f 6e 72 3c 2f 62 3e 20 53 70 61 house_nr</b> Spa
2f00: 74 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74 61 tial Table conta
2f10: 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e 31 2c 34 ins about <b>1,4
2f20: 38 30 2c 30 30 30 3c 2f 62 3e 20 48 6f 75 73 65 80,000</b> House
2f30: 20 4e 75 6d 62 65 72 73 2c 20 61 6e 64 20 68 61 Numbers, and ha
2f40: 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 s the following
2f50: 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a columns:..<ul>..
2f60: 3c 6c 69 3e 3c 62 3e 69 64 3c 2f 62 3e 3a 20 75 <li><b>id</b>: u
2f70: 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 nique identifier
2f80: 20 6f 66 20 65 61 63 68 20 48 6f 75 73 65 20 4e of each House N
2f90: 75 6d 62 65 72 20 28 3c 62 3e 50 52 49 4d 41 52 umber (<b>PRIMAR
2fa0: 59 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e Y KEY</b>).</li>
2fb0: 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 72 6f 61 64 ..<li><b>id_road
2fc0: 3c 2f 62 3e 3a 20 72 65 6c 61 74 69 6f 6e 61 6c </b>: relational
2fd0: 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 reference to th
2fe0: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 e corresponding
2ff0: 4c 69 6e 6b 20 63 6f 6e 74 61 69 6e 65 64 20 69 Link contained i
3000: 6e 74 6f 20 74 68 65 20 3c 62 3e 72 6f 61 64 73 nto the <b>roads
3010: 3c 2f 62 3e 20 54 61 62 6c 65 20 28 3c 62 3e 46 </b> Table (<b>F
3020: 4f 52 45 49 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e OREIGN KEY</b>).
3030: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6c 61 </li>..<li><b>la
3040: 62 65 6c 3c 2f 62 3e 3a 20 74 68 65 20 74 65 78 bel</b>: the tex
3050: 74 75 61 6c 20 6c 61 62 65 6c 20 66 75 6c 6c 79 tual label fully
3060: 20 71 75 61 6c 69 66 79 69 6e 67 20 65 61 63 68 qualifying each
3070: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c 2f House Number.</
3080: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 67 65 6f 6d li>..<li><b>geom
3090: 3c 2f 62 3e 3a 20 61 20 3c 62 3e 33 44 20 50 6f </b>: a <b>3D Po
30a0: 69 6e 74 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e int</b> represen
30b0: 74 69 6e 67 20 74 68 65 20 47 65 6f 6d 65 74 72 ting the Geometr
30c0: 79 20 6f 66 20 65 61 63 68 20 48 6f 75 73 65 20 y of each House
30d0: 4e 75 6d 62 65 72 2e 3c 62 72 3e 0d 0a 3c 75 3e Number.<br>..<u>
30e0: 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 61 6c 73 Note #1</u>: als
30f0: 6f 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 61 o in this case a
3100: 6c 6c 20 65 6c 65 76 61 74 69 6f 6e 73 20 28 3c ll elevations (<
3110: 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64 69 6e 61 b>Z</b> coordina
3120: 74 65 73 29 20 77 65 72 65 20 69 6e 74 65 72 70 tes) were interp
3130: 6f 6c 61 74 65 64 20 62 79 20 64 72 61 70 69 6e olated by drapin
3140: 67 20 74 68 65 20 64 61 74 61 73 65 74 20 6f 76 g the dataset ov
3150: 65 72 20 74 68 65 20 73 61 6d 65 20 44 45 4d 20 er the same DEM
3160: 61 73 20 61 62 6f 76 65 2e 3c 62 72 3e 0d 0a 3c as above.<br>..<
3170: 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 73 u>Note #2</u>: s
3180: 74 72 69 63 74 6c 79 20 73 70 65 63 6b 69 6e 67 trictly specking
3190: 20 74 68 65 20 48 6f 75 73 65 20 4e 75 6d 62 65 the House Numbe
31a0: 72 73 20 61 72 65 20 6e 6f 74 20 70 61 72 74 20 rs are not part
31b0: 6f 66 20 74 68 65 20 52 6f 61 64 20 4e 65 74 77 of the Road Netw
31c0: 6f 72 6b 3b 20 74 68 65 79 20 61 72 65 20 69 6e ork; they are in
31d0: 63 6c 75 64 65 20 69 6e 74 6f 20 74 68 65 20 73 clude into the s
31e0: 61 6d 70 6c 65 2f 74 65 73 74 20 64 61 74 61 62 ample/test datab
31f0: 61 73 65 20 6a 75 73 74 20 62 65 63 61 75 73 65 ase just because
3200: 20 74 68 65 79 27 6c 6c 20 62 65 20 75 73 65 66 they'll be usef
3210: 75 6c 20 69 6e 20 73 6f 6d 65 20 6f 66 20 74 68 ul in some of th
3220: 65 20 65 78 61 6d 70 6c 65 73 20 65 78 70 6c 61 e examples expla
3230: 69 6e 65 64 20 69 6e 20 62 65 6c 6f 77 20 70 61 ined in below pa
3240: 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a ragraphs.</li>..
3250: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e </ul></li>..<li>
3260: 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 5f the <b>house_nr_
3270: 76 77 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 56 vw</b> Spatial V
3280: 69 65 77 20 69 73 20 6a 75 73 74 20 69 6e 74 65 iew is just inte
3290: 6e 64 65 64 20 74 6f 20 66 75 6c 6c 79 20 72 65 nded to fully re
32a0: 73 6f 6c 76 65 20 61 6c 6c 20 72 65 6c 61 74 69 solve all relati
32b0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20 onal references
32c0: 62 65 74 77 65 65 6e 20 3c 62 3e 68 6f 75 73 65 between <b>house
32d0: 5f 6e 72 3c 2f 62 3e 2c 20 3c 62 3e 72 6f 61 64 _nr</b>, <b>road
32e0: 73 3c 2f 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 s</b>, <b>topony
32f0: 6d 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 ms</b> and <b>mu
3300: 6e 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e nicipalities</b>
3310: 2c 20 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 , thus allowing
3320: 66 6f 72 20 65 61 73 69 65 72 20 53 51 4c 20 71 for easier SQL q
3330: 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f ueries.</li>..</
3340: 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 20 3c 68 72 3e ul>..<br>.. <hr>
3350: 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 63 ..<h1><a name="c
3360: 72 65 61 74 65 22 3e 33 20 2d 20 43 72 65 61 74 reate">3 - Creat
3370: 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 69 ing VirtualRouti
3380: 6e 67 20 54 61 62 6c 65 73 3c 2f 61 3e 3c 2f 68 ng Tables</a></h
3390: 31 3e 0d 0a 41 6c 6c 20 56 69 72 74 75 61 6c 52 1>..All VirtualR
33a0: 6f 75 74 69 6e 67 20 71 75 65 72 69 65 73 20 61 outing queries a
33b0: 72 65 20 62 61 73 65 64 20 6f 6e 20 73 6f 6d 65 re based on some
33c0: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 <b>VirtualRouti
33d0: 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 2c 20 61 6e ng Table</b>, an
33e0: 64 20 69 6e 20 74 75 72 6e 20 61 6e 79 20 56 69 d in turn any Vi
33f0: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 rtualRouting Tab
3400: 6c 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20 73 le is based on s
3410: 6f 6d 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 ome appropriate
3420: 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54 <b>Binary Data T
3430: 61 62 6c 65 3c 2f 62 3e 20 73 75 70 70 6f 72 74 able</b> support
3440: 69 6e 67 20 61 6e 20 65 66 66 69 63 69 65 6e 74 ing an efficient
3450: 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 representation
3460: 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e of the underlyin
3470: 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a g Network.<br>..
3480: 53 6f 20 77 65 27 6c 6c 20 73 74 61 72 74 20 66 So we'll start f
3490: 69 72 73 74 20 62 79 20 63 72 65 61 74 69 6e 67 irst by creating
34a0: 20 73 75 63 68 20 74 61 62 6c 65 73 2e 3c 62 72 such tables.<br
34b0: 3e 3c 62 72 3e 0d 0a 54 68 65 20 6f 6c 64 20 61 ><br>..The old a
34c0: 6e 64 20 6e 6f 77 20 73 75 70 65 72 73 65 64 65 nd now supersede
34d0: 64 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 d <b>VirtualNetw
34e0: 6f 72 6b 3c 2f 62 3e 20 72 65 71 75 69 72 65 64 ork</b> required
34f0: 20 75 73 69 6e 67 20 61 20 73 65 70 61 72 61 74 using a separat
3500: 65 20 43 4c 49 20 74 6f 6f 6c 20 28 3c 62 3e 73 e CLI tool (<b>s
3510: 70 61 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 patialite_networ
3520: 6b 3c 2f 62 3e 29 20 69 6e 20 6f 72 64 65 72 20 k</b>) in order
3530: 74 6f 20 70 72 6f 70 65 72 6c 79 20 69 6e 69 74 to properly init
3540: 69 61 6c 69 7a 65 20 61 20 56 69 72 74 75 61 6c ialize a Virtual
3550: 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 20 61 6e Network Table an
3560: 64 20 69 74 73 20 63 6f 6d 70 61 6e 69 6f 6e 20 d its companion
3570: 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c Binary Data Tabl
3580: 65 3b 0d 0a 61 6c 74 65 72 6e 61 74 69 76 65 6c e;..alternativel
3590: 79 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f y <b>spatialite_
35a0: 67 75 69 3c 2f 62 3e 20 73 75 70 70 6f 72 74 65 gui</b> supporte
35b0: 64 20 61 20 3c 62 3e 47 55 49 20 77 69 7a 61 72 d a <b>GUI wizar
35c0: 64 3c 2f 62 3e 20 66 6f 72 20 74 68 65 20 73 61 d</b> for the sa
35d0: 6d 65 20 74 61 73 6b 2e 20 53 69 6e 63 65 20 76 me task. Since v
35e0: 65 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c ersion <b>5.0.0<
35f0: 2f 62 3e 20 6e 6f 77 20 53 70 61 74 69 61 4c 69 /b> now SpatiaLi
3600: 74 65 20 64 69 72 65 63 74 6c 79 20 73 75 70 70 te directly supp
3610: 6f 72 74 73 20 61 20 73 70 65 63 69 66 69 63 20 orts a specific
3620: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 <b>CreateRouting
3630: 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 ()</b> SQL funct
3640: 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e ion...<verbatim>
3650: 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 74 65 52 ..SELECT CreateR
3660: 6f 75 74 69 6e 67 28 27 62 79 66 6f 6f 74 5f 64 outing('byfoot_d
3670: 61 74 61 27 2c 20 27 62 79 66 6f 6f 74 27 2c 20 ata', 'byfoot',
3680: 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e 6f 64 'roads_vw', 'nod
3690: 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 74 6f e_from', 'nodeto
36a0: 27 2c 20 27 67 65 6f 6d 27 2c 20 4e 55 4c 4c 29 ', 'geom', NULL)
36b0: 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 ;....SELECT Crea
36c0: 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 teRouting_GetLas
36d0: 74 45 72 72 6f 72 28 29 3b 0d 0a 2d 2d 2d 2d 2d tError();..-----
36e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
36f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
3700: 0a 54 6f 4e 6f 64 65 20 43 6f 6c 75 6d 6e 20 22 .ToNode Column "
3710: 6e 6f 64 65 74 6f 22 20 69 73 20 6e 6f 74 20 64 nodeto" is not d
3720: 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 49 6e efined in the In
3730: 70 75 74 20 54 61 62 6c 65 0d 0a 3c 2f 76 65 72 put Table..</ver
3740: 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c batim>..<u>Note<
3750: 2f 75 3e 3a 20 74 68 69 73 20 66 69 72 73 74 20 /u>: this first
3760: 71 75 65 72 79 20 63 6f 6e 74 61 69 6e 73 20 61 query contains a
3770: 6e 20 69 6e 74 65 6e 64 65 64 20 65 72 72 6f 72 n intended error
3780: 20 63 61 75 73 69 6e 67 20 3c 62 3e 43 72 65 61 causing <b>Crea
3790: 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 teRouting()</b>
37a0: 74 6f 20 66 61 69 6c 20 72 61 69 73 69 6e 67 20 to fail raising
37b0: 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 3c 62 72 an exception.<br
37c0: 3e 0d 0a 43 72 65 61 74 65 52 6f 75 74 69 6e 67 >..CreateRouting
37d0: 28 29 20 63 61 6e 20 66 61 69 6c 20 66 6f 72 20 () can fail for
37e0: 6d 75 6c 74 69 70 6c 65 20 72 65 61 73 6f 6e 73 multiple reasons
37f0: 2c 20 61 6e 64 20 62 79 20 63 61 6c 6c 69 6e 67 , and by calling
3800: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e <b>CreateRoutin
3810: 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 g_GetLastError()
3820: 3c 2f 62 3e 20 79 6f 75 20 63 61 6e 20 65 61 73 </b> you can eas
3830: 69 6c 79 20 69 64 65 6e 74 69 66 79 20 74 68 65 ily identify the
3840: 20 65 78 61 63 74 20 72 65 61 73 6f 6e 20 77 68 exact reason wh
3850: 79 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e y the most recen
3860: 74 20 63 61 6c 6c 20 74 6f 20 43 72 65 61 74 65 t call to Create
3870: 52 6f 75 74 69 6e 67 28 29 20 66 61 69 6c 65 64 Routing() failed
3880: 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d .<br>..<verbatim
3890: 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 74 65 >..SELECT Create
38a0: 52 6f 75 74 69 6e 67 28 27 62 79 66 6f 6f 74 5f Routing('byfoot_
38b0: 64 61 74 61 27 2c 20 27 62 79 66 6f 6f 74 27 2c data', 'byfoot',
38c0: 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e 6f 'roads_vw', 'no
38d0: 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f de_from', 'node_
38e0: 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e 55 4c to', 'geom', NUL
38f0: 4c 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d L);..-----------
3900: 2d 2d 0d 0a 31 0d 0a 0d 0a 53 45 4c 45 43 54 20 --..1....SELECT
3910: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 CreateRouting_Ge
3920: 74 4c 61 73 74 45 72 72 6f 72 28 29 3b 0d 0a 2d tLastError();..-
3930: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3940: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3950: 2d 2d 2d 0d 0a 4e 55 4c 4c 0d 0a 3c 2f 76 65 72 ---..NULL..</ver
3960: 62 61 74 69 6d 3e 0d 0a 54 68 69 73 20 73 65 63 batim>..This sec
3970: 6f 6e 64 20 61 74 74 65 6d 70 74 20 69 66 20 66 ond attempt if f
3980: 69 6e 61 6c 6c 79 20 73 75 63 63 65 73 73 66 75 inally successfu
3990: 6c 2c 20 61 6e 64 20 6e 6f 77 20 43 72 65 61 74 l, and now Creat
39a0: 65 52 6f 75 74 69 6e 67 28 29 20 72 65 74 75 72 eRouting() retur
39b0: 6e 73 20 3c 62 3e 31 3c 2f 62 3e 20 28 3c 69 3e ns <b>1</b> (<i>
39c0: 61 6b 61 3c 2f 69 3e 20 3c 62 3e 54 52 55 45 3c aka</i> <b>TRUE<
39d0: 2f 62 3e 29 2c 20 61 6e 64 20 61 73 20 79 6f 75 /b>), and as you
39e0: 20 63 61 6e 20 65 61 73 69 6c 79 20 63 68 65 63 can easily chec
39f0: 6b 20 6e 6f 77 20 74 68 65 20 44 61 74 61 62 61 k now the Databa
3a00: 73 65 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 se contains two
3a10: 6e 65 77 20 54 61 62 6c 65 73 3a 20 3c 62 3e 62 new Tables: <b>b
3a20: 79 66 6f 6f 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 yfoot</b> and <b
3a30: 3e 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f 62 3e >byfoot_data</b>
3a40: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f .<br>..<u>Note</
3a50: 75 3e 3a 20 61 66 74 65 72 20 61 20 73 75 63 63 u>: after a succ
3a60: 65 73 73 66 75 6c 20 63 61 6c 6c 20 74 6f 20 43 essful call to C
3a70: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 3c reateRouting() <
3a80: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f b>CreateRouting_
3a90: 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3c 2f GetLastError()</
3aa0: 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 72 b> will always r
3ab0: 65 74 75 72 6e 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 eturn <b>NULL</b
3ac0: 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 59 6f 75 27 >.<br><br>..You'
3ad0: 76 65 20 6a 75 73 74 20 75 73 65 64 20 74 68 65 ve just used the
3ae0: 20 3c 69 3e 72 65 64 75 63 65 64 20 66 6f 72 6d <i>reduced form
3af0: 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 52 6f </i> of CreateRo
3b00: 75 74 69 6e 67 28 29 3b 20 6c 65 74 27 73 20 73 uting(); let's s
3b10: 65 65 20 69 6e 20 6d 6f 72 65 20 64 65 70 74 68 ee in more depth
3b20: 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 6e all the argumen
3b30: 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65 61 ts and their mea
3b40: 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 ning:..<ol>..<li
3b50: 3e 3c 69 3e 62 79 66 6f 6f 74 5f 64 61 74 61 3c ><i>byfoot_data<
3b60: 2f 69 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 /i>: the name of
3b70: 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 42 69 6e the Network Bin
3b80: 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 20 74 ary Data Table t
3b90: 6f 20 62 65 20 63 72 65 61 74 65 64 2e 3c 2f 6c o be created.</l
3ba0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f i>..<li><i>byfoo
3bb0: 74 3c 2f 69 3e 3a 20 74 68 65 20 6e 61 6d 65 20 t</i>: the name
3bc0: 6f 66 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f of the VirtualRo
3bd0: 75 74 69 6e 67 20 54 61 62 6c 65 20 74 6f 20 62 uting Table to b
3be0: 65 20 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d e created.</li>.
3bf0: 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 .<li><i>roads_vw
3c00: 3c 2f 69 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f </i>: the name o
3c10: 66 20 74 68 65 20 3c 62 3e 53 70 61 74 69 61 6c f the <b>Spatial
3c20: 20 54 61 62 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 Table</b> or <b
3c30: 3e 53 70 61 74 69 61 6c 20 56 69 65 77 3c 2f 62 >Spatial View</b
3c40: 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 > representing t
3c50: 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e 65 he underlying Ne
3c60: 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e twork.<br>..<u>N
3c70: 6f 74 65 3c 2f 75 3e 3a 20 69 6e 20 74 68 69 73 ote</u>: in this
3c80: 20 63 61 73 65 20 77 65 20 61 63 74 75 61 6c 6c case we actuall
3c90: 79 20 75 73 65 64 20 61 20 53 70 61 74 69 61 6c y used a Spatial
3ca0: 20 56 69 65 77 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 View.</li>..<li
3cb0: 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 ><i>node_from</i
3cc0: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 >: name of the c
3cd0: 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 olumn (in the ab
3ce0: 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 ove Table or Vie
3cf0: 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 w) expected to c
3d00: 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f 64 65 2d 66 ontain <b>node-f
3d10: 72 6f 6d 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c rom</b> values.<
3d20: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 /li>..<li><i>nod
3d30: 65 5f 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f e_to</i>: name o
3d40: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e f the column (in
3d50: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 the above Table
3d60: 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74 or View) expect
3d70: 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 ed to contain <b
3d80: 3e 6e 6f 64 65 2d 74 6f 3c 2f 62 3e 20 76 61 6c >node-to</b> val
3d90: 75 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c ues.</li>..<li><
3da0: 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 i>geom</i>: name
3db0: 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 of the column (
3dc0: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 in the above Tab
3dd0: 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 le or View) expe
3de0: 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 cted to contain
3df0: 3c 62 3e 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f <b>Linestrings</
3e00: 62 3e 2e 3c 62 72 3e 0d 0a 57 65 20 63 6f 75 6c b>.<br>..We coul
3e10: 64 20 68 61 76 65 20 6c 65 67 69 74 69 6d 61 74 d have legitimat
3e20: 65 6c 79 20 70 61 73 73 65 64 20 61 20 3c 62 3e ely passed a <b>
3e30: 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 20 66 NULL</b> value f
3e40: 6f 72 20 74 68 69 73 20 61 72 67 75 6d 65 6e 74 or this argument
3e50: 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 in the case of
3e60: 61 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 a <b>Logical Net
3e70: 77 6f 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a work</b>.</li>..
3e80: 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a <li><i>NULL</i>:
3e90: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c name of the col
3ea0: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 umn (in the abov
3eb0: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 e Table or View)
3ec0: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e expected to con
3ed0: 74 61 69 6e 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e tain <b>cost</b>
3ee0: 20 76 61 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 6e values.<br>..In
3ef0: 20 74 68 69 73 20 63 61 73 65 20 77 65 20 68 61 this case we ha
3f00: 76 65 20 70 61 73 73 65 64 20 61 20 3c 62 3e 4e ve passed a <b>N
3f10: 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 2c 20 61 ULL</b> value, a
3f20: 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 nd consequently
3f30: 74 68 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 the <b>cost</b>
3f40: 6f 66 20 65 61 63 68 20 4c 69 6e 6b 20 77 69 6c of each Link wil
3f50: 6c 20 62 65 20 61 73 73 75 6d 65 64 20 74 6f 20 l be assumed to
3f60: 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 be represented b
3f70: 79 20 74 68 65 20 3c 62 3e 67 65 6f 6d 65 74 72 y the <b>geometr
3f80: 69 63 20 6c 65 6e 67 74 68 3c 2f 62 3e 20 6f 66 ic length</b> of
3f90: 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 the correspondi
3fa0: 6e 67 20 4c 69 6e 65 73 74 72 69 6e 67 2e 3c 62 ng Linestring.<b
3fb0: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f r>..<u>Note #1</
3fc0: 75 3e 3a 20 69 6e 20 74 68 65 20 63 61 73 65 20 u>: in the case
3fd0: 6f 66 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 65 of Networks base
3fe0: 64 20 6f 6e 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 d on <b>longitud
3ff0: 65 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 es</b> and <b>la
4000: 74 69 74 75 64 65 73 3c 2f 62 3e 20 28 3c 69 3e titudes</b> (<i>
4010: 61 6b 61 3c 2f 69 3e 20 3c 62 3e 67 65 6f 67 72 aka</i> <b>geogr
4020: 61 70 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 aphic</b> Refere
4030: 6e 63 65 20 53 79 73 74 65 6d 73 29 20 74 68 65 nce Systems) the
4040: 20 67 65 6f 6d 65 74 72 79 20 6c 65 6e 67 74 68 geometry length
4050: 20 6f 66 20 61 6c 6c 20 4c 69 6e 65 73 74 72 69 of all Linestri
4060: 6e 67 73 20 77 69 6c 6c 20 62 65 20 70 72 65 63 ngs will be prec
4070: 69 73 65 6c 79 20 3c 62 3e 6d 65 61 73 75 72 65 isely <b>measure
4080: 64 20 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f d on the ellipso
4090: 69 64 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 id</b> by applyi
40a0: 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 ng the most accu
40b0: 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 rate <b>geodesic
40c0: 20 66 6f 72 6d 75 6c 61 65 3c 2f 62 3e 20 61 6e formulae</b> an
40d0: 64 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 65 71 d will be conseq
40e0: 75 65 6e 74 6c 79 20 65 78 70 72 65 73 73 65 64 uently expressed
40f0: 20 69 6e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 in <b>meters</b
4100: 3e 2e 20 49 6e 20 61 6e 79 20 6f 74 68 65 72 20 >. In any other
4110: 63 61 73 65 20 28 3c 62 3e 70 72 6f 6a 65 63 74 case (<b>project
4120: 65 64 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 65 ed</b> Reference
4130: 20 53 79 73 74 65 6d 73 29 20 6c 65 6e 67 74 68 Systems) length
4140: 73 20 77 69 6c 6c 20 62 65 20 65 78 70 72 65 73 s will be expres
4150: 73 65 64 20 69 6e 20 74 68 65 20 3c 62 3e 6d 65 sed in the <b>me
4160: 61 73 75 72 65 20 75 6e 69 74 3c 2f 62 3e 20 64 asure unit</b> d
4170: 65 66 69 6e 65 64 20 62 79 20 74 68 65 20 52 65 efined by the Re
4180: 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 ference System (
4190: 65 2e 67 2e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f e.g. <b>meters</
41a0: 62 3e 20 66 6f 72 20 3c 62 3e 55 54 4d 3c 2f 62 b> for <b>UTM</b
41b0: 3e 20 70 72 6f 6a 65 63 74 69 6f 6e 73 20 61 6e > projections an
41c0: 64 20 3c 62 3e 66 65 65 74 3c 2f 62 3e 20 66 6f d <b>feet</b> fo
41d0: 72 20 3c 62 3e 4e 41 44 2d 66 74 3c 2f 62 3e 20 r <b>NAD-ft</b>
41e0: 70 72 6f 6a 65 63 74 69 6f 6e 73 29 2e 3c 62 72 projections).<br
41f0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 >..<u>Note #2</u
4200: 3e 3a 20 74 68 65 20 3c 62 3e 67 65 6f 6d 2d 63 >: the <b>geom-c
4210: 6f 6c 75 6d 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 olumn</b> and <b
4220: 3e 63 6f 73 74 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e >cost-column</b>
4230: 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6e arguments are n
4240: 65 76 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 ever allowed to
4250: 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 61 be <b>NULL</b> a
4260: 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e t the same time.
4270: 3c 2f 6c 69 3e 20 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c </li> ..</ol>..<
4280: 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 table bgcolor="#
4290: 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 c0ffc0" cellspac
42a0: 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 ing="10" cellpad
42b0: 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 ding="6"><tr><td
42c0: 3e 0d 0a 3c 68 33 3e 54 65 63 68 6e 69 63 61 6c >..<h3>Technical
42d0: 20 6e 6f 74 65 3c 2f 68 33 3e 0d 0a 54 68 65 20 note</h3>..The
42e0: 69 6e 74 65 72 6e 61 6c 20 65 6e 63 6f 64 69 6e internal encodin
42f0: 67 20 61 64 6f 70 74 65 64 20 62 79 20 74 68 65 g adopted by the
4300: 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 <b>Binary Data
4310: 54 61 62 6c 65 3c 2f 62 3e 20 69 73 20 75 6e 63 Table</b> is unc
4320: 68 61 6e 67 65 64 20 61 6e 64 20 69 73 20 74 68 hanged and is th
4330: 65 20 73 61 6d 65 20 66 6f 72 20 62 6f 74 68 20 e same for both
4340: 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f 6b <b>VirtualNetwok
4350: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 56 69 72 74 </b> and <b>Virt
4360: 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 2e 3c ualRouting</b>.<
4370: 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 73 61 66 br>..You can saf
4380: 65 6c 79 20 62 61 73 65 20 61 20 3c 62 3e 56 69 ely base a <b>Vi
4390: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 rtualRouting Tab
43a0: 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 65 78 le</b> on any ex
43b0: 69 73 74 69 6e 67 20 42 69 6e 61 72 79 20 44 61 isting Binary Da
43c0: 74 61 0d 0a 54 61 62 6c 65 20 63 72 65 61 74 65 ta..Table create
43d0: 64 20 62 79 20 74 68 65 20 3c 62 3e 73 70 61 74 d by the <b>spat
43e0: 69 61 6c 69 74 65 2d 6e 65 74 77 6f 72 6b 3c 2f ialite-network</
43f0: 62 3e 20 43 4c 49 20 74 6f 6f 6c 2c 20 65 78 61 b> CLI tool, exa
4400: 63 74 6c 79 20 61 73 20 79 6f 75 20 63 61 6e 20 ctly as you can
4410: 62 61 73 65 20 61 20 3c 62 3e 56 69 72 74 75 61 base a <b>Virtua
4420: 6c 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 3c 2f lNetwork Table</
4430: 62 3e 20 6f 6e 20 61 6e 79 20 42 69 6e 61 72 79 b> on any Binary
4440: 20 44 61 74 61 20 54 61 62 6c 65 20 63 72 65 61 Data Table crea
4450: 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 43 72 ted by the <b>Cr
4460: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 eateRouting()</b
4470: 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d > SQL function..
4480: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 43 52 45 .<verbatim>..CRE
4490: 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c ATE VIRTUAL TABL
44a0: 45 20 74 65 73 74 5f 6e 65 74 77 6f 72 6b 20 55 E test_network U
44b0: 53 49 4e 47 20 56 69 72 74 75 61 6c 4e 65 74 77 SING VirtualNetw
44c0: 6f 72 6b 28 27 73 6f 6d 65 5f 64 61 74 61 5f 74 ork('some_data_t
44d0: 61 62 6c 65 27 29 3b 0d 0a 0d 0a 43 52 45 41 54 able');....CREAT
44e0: 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 E VIRTUAL TABLE
44f0: 74 65 73 74 5f 72 6f 75 74 69 6e 67 20 55 53 49 test_routing USI
4500: 4e 47 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e NG VirtualRoutin
4510: 67 28 27 73 6f 6d 65 5f 64 61 74 61 5f 74 61 62 g('some_data_tab
4520: 6c 65 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 le');..</verbati
4530: 6d 3e 0d 0a 49 6e 20 6f 72 64 65 72 20 74 6f 20 m>..In order to
4540: 6d 61 6e 75 61 6c 6c 79 20 63 72 65 61 74 65 20 manually create
4550: 79 6f 75 72 20 56 69 72 74 75 61 6c 20 54 61 62 your Virtual Tab
4560: 6c 65 73 20 79 6f 75 20 6a 75 73 74 20 68 61 76 les you just hav
4570: 65 20 74 6f 20 65 78 65 63 75 74 65 20 61 6e 20 e to execute an
4580: 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 43 appropriate <b>C
4590: 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 REATE VIRTUAL TA
45a0: 42 4c 45 20 2e 2e 2e 20 55 53 49 4e 47 20 56 69 BLE ... USING Vi
45b0: 72 74 75 61 6c 2e 2e 2e 20 28 2e 2e 2e 29 3c 2f rtual... (...)</
45c0: 62 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0d 0a 3c b> statement...<
45d0: 68 34 3e 57 61 72 6e 69 6e 67 3c 2f 68 34 3e 0d h4>Warning</h4>.
45e0: 0a 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 .In the case of
45f0: 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f <b>Spatial Netwo
4600: 72 6b 73 3c 2f 62 3e 20 62 61 73 65 64 20 6f 6e rks</b> based on
4610: 20 61 6e 79 20 3c 62 3e 67 65 6f 67 72 61 70 68 any <b>geograph
4620: 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 65 ic</b> Reference
4630: 20 53 79 73 74 65 6d 20 28 75 73 69 6e 67 20 3c System (using <
4640: 62 3e 6c 6f 6e 67 69 74 75 64 65 73 3c 2f 62 3e b>longitudes</b>
4650: 20 61 6e 64 20 3c 62 3e 6c 61 74 69 74 75 64 65 and <b>latitude
4660: 73 3c 2f 62 3e 29 20 74 68 65 72 65 20 69 73 20 s</b>) there is
4670: 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 64 69 66 an important dif
4680: 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 ference between
4690: 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c Binary Data Tabl
46a0: 65 73 20 63 72 65 61 74 65 64 20 62 79 20 74 68 es created by th
46b0: 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f e <b>spatialite_
46c0: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 47 55 49 20 network</b> GUI
46d0: 74 6f 6f 6c 20 61 6e 64 20 20 42 69 6e 61 72 79 tool and Binary
46e0: 20 44 61 74 61 20 54 61 62 6c 65 73 20 63 72 65 Data Tables cre
46f0: 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 43 ated by the <b>C
4700: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f reateRouting()</
4710: 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 b> SQL function
4720: 77 68 65 6e 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 when <b>costs</b
4730: 3e 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 > are implicitly
4740: 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 67 65 based on the ge
4750: 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 20 6f ometric length o
4760: 66 20 74 68 65 20 4c 69 6e 6b 27 73 20 4c 69 6e f the Link's Lin
4770: 65 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c 3e 0d 0a estring:..<ul>..
4780: 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 70 61 74 69 <li>the <b>spati
4790: 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 alite_network</b
47a0: 3e 20 43 4c 49 20 74 6f 6f 6c 20 28 61 6e 64 20 > CLI tool (and
47b0: 74 68 65 20 3c 62 3e 47 55 49 20 77 69 7a 61 72 the <b>GUI wizar
47c0: 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65 6e 74 65 d</b> implemente
47d0: 64 20 62 79 20 70 72 65 76 69 6f 75 73 20 76 65 d by previous ve
47e0: 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e 73 70 61 rsions of <b>spa
47f0: 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 29 tialite_gui</b>)
4800: 20 63 6f 6d 70 75 74 65 20 74 68 65 20 4c 69 6e compute the Lin
4810: 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 68 estring's length
4820: 20 61 73 20 61 6e 20 3c 62 3e 61 6e 67 75 6c 61 as an <b>angula
4830: 72 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 r distance</b> e
4840: 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 64 xpressed in <b>d
4850: 65 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e egrees</b>.</li>
4860: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 43 72 65 ..<li>the <b>Cre
4870: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e ateRouting()</b>
4880: 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 63 6f SQL function co
4890: 6d 70 75 74 65 73 20 74 68 65 20 4c 69 6e 65 73 mputes the Lines
48a0: 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 68 20 61 tring's length a
48b0: 73 20 61 20 3c 62 3e 6c 69 6e 65 61 72 20 64 69 s a <b>linear di
48c0: 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78 70 72 65 stance</b> expre
48d0: 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 72 65 ssed in <b>metre
48e0: 73 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 6e s</b> by applyin
48f0: 67 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 72 g the most accur
4900: 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 20 ate <b>geodesic
4910: 66 6f 72 6d 75 6c 61 65 3c 2f 62 3e 20 6f 6e 20 formulae</b> on
4920: 74 68 65 20 65 6c 6c 69 70 73 6f 69 64 2e 3c 2f the ellipsoid.</
4930: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 li>..</ul>..</td
4940: 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 3c 62 ></tr></table><b
4950: 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 r><br>..<verbati
4960: 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 74 m>..SELECT Creat
4970: 65 52 6f 75 74 69 6e 67 28 27 62 79 63 61 72 5f eRouting('bycar_
4980: 64 61 74 61 27 2c 20 27 62 79 63 61 72 27 2c 20 data', 'bycar',
4990: 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e 6f 64 'roads_vw', 'nod
49a0: 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f 74 e_from', 'node_t
49b0: 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 27 63 6f 73 o', 'geom', 'cos
49c0: 74 27 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20 31 t', 'toponym', 1
49d0: 2c 20 31 2c 20 27 6f 6e 65 77 61 79 5f 66 72 6f , 1, 'oneway_fro
49e0: 6d 74 6f 27 2c 20 27 6f 6e 65 77 61 79 5f 74 6f mto', 'oneway_to
49f0: 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d 2d 2d 2d from', 0);..----
4a00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4a10: 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e ..1..</verbatim>
4a20: 0d 0a 41 66 74 65 72 20 63 61 6c 6c 69 6e 67 20 ..After calling
4a30: 79 65 74 20 61 6e 6f 74 68 65 72 20 74 69 6d 65 yet another time
4a40: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e <b>CreateRoutin
4a50: 67 28 29 3c 2f 62 3e 20 6e 6f 77 20 74 68 65 20 g()</b> now the
4a60: 44 61 74 61 62 61 73 65 20 63 6f 6e 74 61 69 6e Database contain
4a70: 73 20 74 77 6f 20 66 75 72 74 68 65 72 20 54 61 s two further Ta
4a80: 62 6c 65 73 3a 20 3c 62 3e 62 79 63 61 72 3c 2f bles: <b>bycar</
4a90: 62 3e 20 61 6e 64 20 3c 62 3e 62 79 63 61 72 5f b> and <b>bycar_
4aa0: 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 data</b>.<br>..T
4ab0: 68 69 73 20 74 69 6d 65 20 79 6f 75 27 76 65 20 his time you've
4ac0: 75 73 65 64 20 74 68 65 20 3c 69 3e 63 6f 6d 70 used the <i>comp
4ad0: 6c 65 74 65 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 lete form</i> of
4ae0: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 CreateRouting()
4af0: 3b 20 6c 65 74 27 73 20 73 65 65 20 69 6e 20 6d ; let's see in m
4b00: 6f 72 65 20 64 65 70 74 68 20 61 6c 6c 20 74 68 ore depth all th
4b10: 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 e arguments and
4b20: 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 3a 0d 0a their meaning:..
4b30: 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 63 <ol>..<li><i>byc
4b40: 61 72 5f 64 61 74 61 3c 2f 69 3e 3a 20 73 61 6d ar_data</i>: sam
4b50: 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e e as above.</li>
4b60: 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 63 61 72 3c 2f ..<li><i>bycar</
4b70: 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 i>: same as abov
4b80: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e e.</li>..<li><i>
4b90: 72 6f 61 64 73 5f 76 77 3c 2f 69 3e 3a 20 73 61 roads_vw</i>: sa
4ba0: 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 me as above.</li
4bb0: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 66 >..<li><i>node_f
4bc0: 72 6f 6d 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 rom</i>: same as
4bd0: 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c above.</li>..<l
4be0: 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e i><i>node_to</i>
4bf0: 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e : same as above.
4c00: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 </li>..<li><i>ge
4c10: 6f 6d 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 om</i>: same as
4c20: 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 above.</li>..<li
4c30: 3e 3c 69 3e 63 6f 73 74 3c 2f 69 3e 3a 20 73 61 ><i>cost</i>: sa
4c40: 6d 65 20 61 73 20 61 62 6f 76 65 2e 0d 0a 49 6e me as above...In
4c50: 20 74 68 69 73 20 63 61 73 65 20 77 65 20 68 61 this case we ha
4c60: 76 65 20 72 65 66 65 72 65 6e 63 65 64 20 61 20 ve referenced a
4c70: 63 6f 6c 75 6d 6e 20 70 72 65 6c 6f 61 64 65 64 column preloaded
4c80: 20 77 69 74 68 20 76 61 6c 75 65 73 20 63 6f 72 with values cor
4c90: 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 responding to th
4ca0: 65 20 3c 62 3e 74 69 6d 65 3c 2f 62 3e 20 6d 65 e <b>time</b> me
4cb0: 61 73 75 72 65 64 20 69 6e 20 3c 62 3e 73 65 63 asured in <b>sec
4cc0: 6f 6e 64 73 3c 2f 62 3e 20 72 65 71 75 69 72 65 onds</b> require
4cd0: 64 20 74 6f 20 74 72 61 76 65 72 73 65 20 65 61 d to traverse ea
4ce0: 63 68 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 20 0d 0a ch Link.</li> ..
4cf0: 3c 6c 69 3e 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f <li><i>toponym</
4d00: 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 i>: name of the
4d10: 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 column (in the a
4d20: 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 bove Table or Vi
4d30: 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 ew) expected to
4d40: 63 6f 6e 74 61 69 6e 20 3c 62 3e 72 6f 61 64 2d contain <b>road-
4d50: 6e 61 6d 65 3c 2f 62 3e 20 76 61 6c 75 65 73 2e name</b> values.
4d60: 3c 62 72 3e 0d 0a 49 74 20 63 6f 75 6c 64 20 62 <br>..It could b
4d70: 65 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 73 e legitimately s
4d80: 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 et to <b>NULL</b
4d90: 3e 20 69 66 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 > if all Links a
4da0: 72 65 20 61 6e 6f 6e 79 6d 6f 75 73 2e 3c 2f 6c re anonymous.</l
4db0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e i>..<li><i>1</i>
4dc0: 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 : a boolean flag
4dd0: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 intended to spe
4de0: 63 69 66 79 20 69 66 20 74 68 65 20 4e 65 74 77 cify if the Netw
4df0: 6f 72 6b 20 6d 75 73 74 20 73 75 70 70 6f 72 74 ork must support
4e00: 20 74 68 65 20 3c 62 3e 41 2a 20 61 6c 67 6f 72 the <b>A* algor
4e10: 69 74 68 6d 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20 ithm</b> or not
4e20: 28 73 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c (set to <b>TRUE<
4e30: 2f 62 3e 20 62 79 20 64 65 66 61 75 6c 74 29 2e /b> by default).
4e40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c </li>..<li><i>1<
4e50: 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66 /i>: a boolean f
4e60: 6c 61 67 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 lag intended to
4e70: 73 70 65 63 69 66 79 20 69 66 20 61 6c 6c 20 4e specify if all N
4e80: 65 74 77 6f 72 6b 27 73 20 4c 69 6e 6b 73 20 61 etwork's Links a
4e90: 72 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 re assumed to be
4ea0: 20 3c 62 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 <b>bidirectiona
4eb0: 6c 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 61 73 l</b> or not (as
4ec0: 73 75 6d 65 64 20 74 6f 20 62 65 20 3c 62 3e 54 sumed to be <b>T
4ed0: 52 55 45 3c 2f 62 3e 20 62 79 20 64 65 66 61 75 RUE</b> by defau
4ee0: 6c 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c lt).</li>..<li><
4ef0: 69 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c i>oneway_fromto<
4f00: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 /i>: name of the
4f10: 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 column (in the
4f20: 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 above Table or V
4f30: 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f iew) expected to
4f40: 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e contain boolean
4f50: 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e flags specifyin
4f60: 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 g if each Link c
4f70: 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20 an be traversed
4f80: 69 6e 20 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 in the <b>from-t
4f90: 6f 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 o</b> direction
4fa0: 6f 72 20 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c or not.</li>..<l
4fb0: 69 3e 3c 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 i><i>oneway_tofr
4fc0: 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 om</i>: name of
4fd0: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 the column (in t
4fe0: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f he above Table o
4ff0: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 r View) expected
5000: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c to contain bool
5010: 65 61 6e 20 66 6c 61 67 73 20 73 70 65 63 69 66 ean flags specif
5020: 79 69 6e 67 20 69 66 20 65 61 63 68 20 4c 69 6e ying if each Lin
5030: 6b 20 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 k can be travers
5040: 65 64 20 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d ed in the <b>to-
5050: 66 72 6f 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 from</b> directi
5060: 6f 6e 20 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a on or not.<br>..
5070: 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 <u>Note #1</u>:
5080: 62 6f 74 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c both <b>from-to<
5090: 2f 62 3e 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 /b> and <b>to-fr
50a0: 6f 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 om</b> column na
50b0: 6d 65 73 20 63 61 6e 20 62 65 20 6c 65 67 69 74 mes can be legit
50c0: 69 6d 61 74 65 6c 79 20 73 65 74 20 61 73 20 3c imately set as <
50d0: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f b>NULL</b> if no
50e0: 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 <b>one-way</b>
50f0: 72 65 73 74 72 69 63 74 69 6f 6e 73 20 61 70 70 restrictions app
5100: 6c 79 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e ly to the curren
5110: 74 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a t Network.<br>..
5120: 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 <u>Note #2</u>:
5130: 4e 65 74 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 Networks of the
5140: 3c 62 3e 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 <b>unidirectiona
5150: 6c 3c 2f 62 3e 20 74 79 70 65 20 61 72 65 20 6e l</b> type are n
5160: 65 76 65 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 ever enabled to
5170: 72 65 66 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 reference <b>one
5180: 2d 77 61 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 -way</b> columns
5190: 20 28 74 68 65 79 20 73 68 6f 75 6c 64 20 61 6c (they should al
51a0: 77 61 79 73 20 62 65 20 73 65 74 20 74 6f 20 3c ways be set to <
51b0: 62 3e 4e 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 b>NULL</b>).</li
51c0: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a >..<li><i>0</i>:
51d0: 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 a boolean flag
51e0: 69 6e 74 65 6e 64 69 6e 67 20 61 6e 20 3c 62 3e intending an <b>
51f0: 6f 76 65 72 77 72 69 74 65 20 61 75 74 68 6f 72 overwrite author
5200: 69 7a 61 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c 75 ization</b>...<u
5210: 6c 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 l>..<li>If set t
5220: 6f 20 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e 20 61 o <b>FALSE</b> a
5230: 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c n exception will
5240: 20 62 65 20 72 61 69 73 65 64 20 69 66 20 74 68 be raised if th
5250: 65 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 e <b>Binary Data
5260: 20 54 61 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f Table</b> and/o
5270: 72 20 74 68 65 20 3c 62 3e 56 69 72 74 75 61 6c r the <b>Virtual
5280: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 Routing Table</b
5290: 3e 20 64 6f 20 61 6c 72 65 61 64 79 20 65 78 69 > do already exi
52a0: 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 66 st.</li>..<li>If
52b0: 20 73 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c set to <b>TRUE<
52c0: 2f 62 3e 20 65 76 65 6e 74 75 61 6c 6c 79 20 65 /b> eventually e
52d0: 78 69 73 74 69 6e 67 20 54 61 62 6c 65 73 20 77 xisting Tables w
52e0: 69 6c 6c 20 62 65 20 70 72 65 76 65 6e 74 69 76 ill be preventiv
52f0: 65 6c 79 20 64 72 6f 70 70 65 64 20 69 6d 6d 65 ely dropped imme
5300: 64 69 61 74 65 6c 79 20 62 65 66 6f 72 65 20 73 diately before s
5310: 74 61 72 74 69 6e 67 20 74 68 65 20 65 78 65 63 tarting the exec
5320: 75 74 69 6f 6e 20 6f 66 20 3c 62 3e 43 72 65 61 ution of <b>Crea
5330: 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 2e teRouting()</b>.
5340: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 </li>..</ul></li
5350: 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 72 3e 0d 0a >..</ol>..<br>..
5360: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 <table bgcolor="
5370: 23 66 66 66 66 63 30 22 20 63 65 6c 6c 73 70 61 #ffffc0" cellspa
5380: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 cing="10" cellpa
5390: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 dding="6"><tr><t
53a0: 64 3e 0d 0a 3c 68 33 3e 48 69 67 68 6c 69 67 68 d>..<h3>Highligh
53b0: 74 3a 20 77 68 65 72 65 20 79 6f 75 20 61 72 65 t: where you are
53c0: 3c 2f 68 33 3e 0d 0a 59 6f 75 27 76 65 20 6a 75 </h3>..You've ju
53d0: 73 74 20 63 72 65 61 74 65 64 20 74 77 6f 20 56 st created two V
53e0: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 irtualRouting Ta
53f0: 62 6c 65 73 20 62 61 73 65 64 20 6f 6e 20 64 69 bles based on di
5400: 66 66 65 72 65 6e 74 20 73 65 74 74 69 6e 67 73 fferent settings
5410: 3b 20 62 6f 74 68 20 74 68 65 6d 20 61 72 65 20 ; both them are
5420: 70 65 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 perfectly valid
5430: 61 6e 64 20 72 65 61 73 6f 6e 61 62 6c 65 2c 20 and reasonable,
5440: 62 75 74 20 74 68 65 79 20 61 72 65 20 69 6e 74 but they are int
5450: 65 6e 64 65 64 20 66 6f 72 20 64 69 66 66 65 72 ended for differ
5460: 65 6e 74 20 70 75 72 70 6f 73 65 73 3a 0d 0a 3c ent purposes:..<
5470: 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 79 66 6f ul>..<li><b>byfo
5480: 6f 74 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 66 ot</b> is specif
5490: 69 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 ically intended
54a0: 66 6f 72 20 3c 62 3e 70 65 64 65 73 74 72 69 61 for <b>pedestria
54b0: 6e 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c ns</b>:..<ul>..<
54c0: 6c 69 3e 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 li>all Links are
54d0: 20 61 6c 77 61 79 73 20 61 73 73 75 6d 65 64 20 always assumed
54e0: 74 6f 20 62 65 20 61 63 63 65 73 73 69 62 6c 65 to be accessible
54f0: 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64 69 72 65 in <b>both dire
5500: 63 74 69 6f 6e 73 3c 2f 62 3e 3b 20 74 68 65 72 ctions</b>; ther
5510: 65 20 61 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 2d e are no <b>one-
5520: 77 61 79 73 3c 2f 62 3e 20 61 6e 64 20 6e 6f 20 ways</b> and no
5530: 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e <b>forbidden</b>
5540: 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c Links.</li>..<l
5550: 69 3e 74 68 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 i>the <b>cost</b
5560: 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e 6b 20 69 > of each Link i
5570: 73 20 64 69 72 65 63 74 6c 79 20 72 65 70 72 65 s directly repre
5580: 73 65 6e 74 65 64 20 62 79 20 69 74 73 20 67 65 sented by its ge
5590: 6f 6d 65 74 72 69 63 20 3c 62 3e 6c 65 6e 67 74 ometric <b>lengt
55a0: 68 3c 2f 62 3e 2c 20 77 68 69 63 68 20 69 73 20 h</b>, which is
55b0: 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 consistent with
55c0: 74 68 65 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f the assumption o
55d0: 66 20 61 6e 20 61 6c 6d 6f 73 74 20 63 6f 6e 73 f an almost cons
55e0: 74 61 6e 74 20 73 70 65 65 64 20 73 75 62 73 74 tant speed subst
55f0: 61 6e 74 69 61 6c 6c 79 20 69 6d 6d 75 6e 65 20 antially immune
5600: 66 72 6f 6d 20 61 64 76 65 72 73 65 20 72 6f 61 from adverse roa
5610: 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 d conditions and
5620: 20 74 72 61 66 66 69 63 20 63 6f 6e 67 65 73 74 traffic congest
5630: 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e ion.</li>..</ul>
5640: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 79 </li>..<li><b>by
5650: 63 61 72 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 car</b> is speci
5660: 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 fically intended
5670: 20 66 6f 72 20 3c 62 3e 6d 6f 74 6f 72 20 76 65 for <b>motor ve
5680: 68 69 63 6c 65 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c hicles</b>:..<ul
5690: 3e 0d 0a 3c 6c 69 3e 6d 61 6e 79 20 4c 69 6e 6b >..<li>many Link
56a0: 73 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74 s are expected t
56b0: 6f 20 62 65 20 61 63 63 65 73 73 69 62 6c 65 20 o be accessible
56c0: 69 6e 20 3c 62 3e 62 6f 74 68 20 64 69 72 65 63 in <b>both direc
56d0: 74 69 6f 6e 73 3c 2f 62 3e 20 62 75 74 20 6f 74 tions</b> but ot
56e0: 68 65 72 73 20 63 6f 75 6c 64 20 65 61 73 69 6c hers could easil
56f0: 79 20 62 65 20 73 75 62 6a 65 63 74 20 74 6f 20 y be subject to
5700: 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 <b>one-way</b> r
5710: 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 72 20 65 estrictions or e
5720: 76 65 6e 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c ven be completel
5730: 79 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f y <b>forbidden</
5740: 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 b>.</li>..<li>th
5750: 65 20 63 6f 73 74 20 6f 66 20 65 61 63 68 20 4c e cost of each L
5760: 69 6e 6b 20 69 73 20 65 78 70 72 65 73 73 65 64 ink is expressed
5770: 20 61 73 20 61 6e 20 65 73 74 69 6d 61 74 65 64 as an estimated
5780: 20 3c 62 3e 74 72 61 76 65 6c 20 74 69 6d 65 3c <b>travel time<
5790: 2f 62 3e 2c 20 62 65 63 61 75 73 65 20 74 68 65 /b>, because the
57a0: 20 65 78 70 65 63 74 65 64 20 73 70 65 65 64 73 expected speeds
57b0: 20 63 61 6e 20 67 72 65 61 74 6c 79 20 76 61 72 can greatly var
57c0: 79 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f y accordingly to
57d0: 20 73 70 65 63 69 66 69 63 20 72 6f 61 64 20 63 specific road c
57e0: 6f 6e 64 69 74 69 6f 6e 73 2c 20 74 72 61 66 66 onditions, traff
57f0: 69 63 20 63 6f 6e 67 65 73 74 69 6f 6e 20 61 6e ic congestion an
5800: 64 20 6c 65 67 61 6c 20 72 65 67 75 6c 61 74 69 d legal regulati
5810: 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e ons.</li>..</ul>
5820: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 </li>..</ul>..<b
5830: 72 3e 0d 0a 3c 75 3e 43 6f 6e 63 6c 75 73 69 6f r>..<u>Conclusio
5840: 6e 3c 2f 75 3e 3a 20 61 20 73 69 6e 67 6c 65 20 n</u>: a single
5850: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 VirtualRouting T
5860: 61 62 6c 65 20 63 61 6e 27 74 20 62 65 20 61 62 able can't be ab
5870: 6c 65 20 74 6f 20 61 64 65 71 75 61 74 65 6c 79 le to adequately
5880: 20 73 75 70 70 6f 72 74 20 73 75 70 70 6f 72 74 support support
5890: 20 74 68 65 20 73 70 65 63 69 66 69 63 20 72 65 the specific re
58a0: 71 75 69 72 65 6d 65 6e 74 73 20 61 6e 64 20 65 quirements and e
58b0: 78 70 65 63 74 61 74 69 6f 6e 73 20 6f 66 20 64 xpectations of d
58c0: 69 66 66 65 72 65 6e 74 20 75 73 65 72 73 2e 3c ifferent users.<
58d0: 62 72 3e 0d 0a 44 65 66 69 6e 69 6e 67 20 6d 6f br>..Defining mo
58e0: 72 65 20 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 re Routing Table
58f0: 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 s with different
5900: 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20 74 68 settings for th
5910: 65 20 73 61 6d 65 20 4e 65 74 77 6f 72 6b 20 75 e same Network u
5920: 73 75 61 6c 6c 79 20 69 73 20 61 20 67 6f 6f 64 sually is a good
5930: 20 64 65 73 69 67 6e 20 63 68 6f 69 63 65 20 6c design choice l
5940: 65 61 64 69 6e 67 20 74 6f 20 6d 6f 72 65 20 72 eading to more r
5950: 65 61 6c 69 73 74 69 63 20 72 65 73 75 6c 74 73 ealistic results
5960: 2e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 .<br>..</td></tr
5970: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 >..</table>..<br
5980: 3e 3c 62 72 3e 0d 0a 3c 68 33 3e 55 74 69 6c 69 ><br>..<h3>Utili
5990: 74 79 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 ty function for
59a0: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 automatically se
59b0: 74 74 69 6e 67 20 4e 6f 64 65 46 72 6f 6d 20 61 tting NodeFrom a
59c0: 6e 64 20 4e 6f 64 65 54 6f 20 49 44 73 3c 2f 68 nd NodeTo IDs</h
59d0: 33 3e 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 3>..Sometimes it
59e0: 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c could eventuall
59f0: 79 20 68 61 70 70 65 6e 20 74 6f 20 65 6e 63 6f y happen to enco
5a00: 75 6e 74 65 72 20 73 6f 6d 65 20 3c 62 3e 53 70 unter some <b>Sp
5a10: 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 atial Network</b
5a20: 3e 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e > representation
5a30: 20 62 65 69 6e 67 20 66 75 6c 6c 79 20 74 6f 70 being fully top
5a40: 6f 6c 6f 67 69 63 61 6c 6c 79 20 63 6f 6e 73 69 ologically consi
5a50: 73 74 65 6e 74 20 62 75 74 20 63 6f 6d 70 6c 65 stent but comple
5a60: 74 65 6c 79 20 6c 61 63 6b 69 6e 67 20 61 6e 79 tely lacking any
5a70: 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 62 6f 75 definition abou
5a80: 74 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 t <b>NodeFrom</b
5a90: 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c > and <b>NodeTo<
5aa0: 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 72 73 2e /b> identifiers.
5ab0: 3c 62 72 3e 0d 0a 49 6e 20 74 68 69 73 20 73 70 <br>..In this sp
5ac0: 65 63 69 66 69 63 20 63 61 73 65 20 79 6f 75 20 ecific case you
5ad0: 63 61 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 can successfully
5ae0: 20 72 65 63 6f 76 65 72 20 61 20 70 65 72 66 65 recover a perfe
5af0: 63 74 6c 79 20 76 61 6c 69 64 20 4e 65 74 77 6f ctly valid Netwo
5b00: 72 6b 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 rk by calling th
5b10: 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 e <b>CreateRouti
5b20: 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 ngNodes()</b> SQ
5b30: 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 L function...<ve
5b40: 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 rbatim>..SELECT
5b50: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 4e 6f 64 CreateRoutingNod
5b60: 65 73 28 4e 55 4c 4c 2c 20 27 74 61 62 6c 65 5f es(NULL, 'table_
5b70: 6e 61 6d 65 27 2c 20 27 67 65 6f 6d 27 2c 20 27 name', 'geom', '
5b80: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 node_from', 'nod
5b90: 65 5f 74 6f 27 29 3b 0d 0a 5f 5f 5f 5f 5f 5f 5f e_to');.._______
5ba0: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f ________________
5bb0: 5f 5f 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 __..1..</verbati
5bc0: 6d 3e 0d 0a 4c 65 74 27 73 20 65 78 61 6d 69 6e m>..Let's examin
5bd0: 65 20 61 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 e all arguments
5be0: 61 6e 64 20 74 68 65 69 72 20 6d 65 61 6e 69 6e and their meanin
5bf0: 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 g:..<ol>..<li><i
5c00: 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 >NULL</i>: name
5c10: 6f 66 20 74 68 65 20 3c 62 3e 41 74 74 61 63 68 of the <b>Attach
5c20: 65 64 2d 44 42 3c 2f 62 3e 20 63 6f 6e 74 61 69 ed-DB</b> contai
5c30: 6e 69 6e 67 20 74 68 65 20 53 70 61 74 69 61 6c ning the Spatial
5c40: 20 54 61 62 6c 65 2e 3c 62 72 3e 0d 0a 49 74 20 Table.<br>..It
5c50: 63 61 6e 20 62 65 20 6c 65 67 69 74 69 6d 61 74 can be legitimat
5c60: 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 ely set to <b>NU
5c70: 4c 4c 3c 2f 62 3e 2c 20 61 6e 64 20 69 6e 20 74 LL</b>, and in t
5c80: 68 69 73 20 63 61 73 65 20 74 68 65 20 3c 62 3e his case the <b>
5c90: 4d 41 49 4e 3c 2f 62 3e 20 44 42 20 69 73 20 61 MAIN</b> DB is a
5ca0: 73 73 75 6d 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c ssumed.</li>..<l
5cb0: 69 3e 3c 69 3e 74 61 62 6c 65 5f 6e 61 6d 65 3c i><i>table_name<
5cc0: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 /i>: name of the
5cd0: 20 53 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c Spatial Table.<
5ce0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f /li>..<li><i>geo
5cf0: 6d 3c 2f 6c 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 m</li>: name of
5d00: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 28 69 6e 20 the column ((in
5d10: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 29 the above Table)
5d20: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 3c 62 3e 4c containing <b>L
5d30: 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c inestrings</b>.<
5d40: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 /li>..<li><i>nod
5d50: 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 e_from</i>: name
5d60: 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 74 of the column t
5d70: 6f 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 o be added to th
5d80: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 61 6e e above Table an
5d90: 64 20 70 6f 70 75 6c 61 74 65 64 20 77 69 74 68 d populated with
5da0: 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e appropriate <b>
5db0: 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 49 44 73 NodeFrom</b> IDs
5dc0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e .</li>..<li><i>n
5dd0: 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 ode_to</i>: name
5de0: 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 74 of the column t
5df0: 6f 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 o be added to th
5e00: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 61 6e e above Table an
5e10: 64 20 70 6f 70 75 6c 61 74 65 64 20 77 69 74 68 d populated with
5e20: 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e appropriate <b>
5e30: 4e 6f 64 65 54 6f 3c 2f 62 3e 20 49 44 73 2e 3c NodeTo</b> IDs.<
5e40: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e br>..<u>Note</u>
5e50: 3a 20 62 6f 74 68 20 3c 62 3e 4e 6f 64 65 46 72 : both <b>NodeFr
5e60: 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f om</b> and <b>No
5e70: 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 deTo</b> columns
5e80: 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 should not be a
5e90: 6c 72 65 61 64 79 20 64 65 66 69 6e 65 64 20 69 lready defined i
5ea0: 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c n the above Tabl
5eb0: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a e.</li>..</ol>..
5ec0: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 <b>CreateRouting
5ed0: 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 77 69 6c 6c Nodes()</b> will
5ee0: 20 72 65 74 75 72 6e 20 3c 62 3e 31 3c 2f 62 3e return <b>1</b>
5ef0: 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e (<i>aka</i> <b>
5f00: 54 52 55 45 3c 2f 62 3e 29 20 6f 6e 20 73 75 63 TRUE</b>) on suc
5f10: 63 65 73 73 3b 20 61 6e 20 65 78 63 65 70 74 69 cess; an excepti
5f20: 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61 69 73 65 on will be raise
5f30: 64 20 6f 6e 20 66 61 69 6c 75 72 65 2e 3c 62 72 d on failure.<br
5f40: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
5f50: 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 3c 62 3e you can call <b>
5f60: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 CreateRouting_Ge
5f70: 74 4c 61 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e tLastError()</b>
5f80: 20 73 6f 20 74 6f 20 70 72 65 63 69 73 65 6c 79 so to precisely
5f90: 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 63 61 identify the ca
5fa0: 75 73 65 20 61 63 63 6f 75 6e 74 69 6e 67 20 66 use accounting f
5fb0: 6f 72 20 66 61 69 6c 75 72 65 2e 3c 62 72 3e 3c or failure.<br><
5fc0: 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 br><br>..<table
5fd0: 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 bgcolor="#c0ffc0
5fe0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 " cellspacing="1
5ff0: 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 0" cellpadding="
6000: 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 6"><tr><td>..<h3
6010: 3e 48 61 6e 64 6c 69 6e 67 20 64 79 6e 61 6d 69 >Handling dynami
6020: 63 20 4e 65 74 77 6f 72 6b 73 3c 2f 68 33 3e 0d c Networks</h3>.
6030: 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20 68 61 .Sometimes it ha
6040: 70 70 65 6e 73 20 74 68 61 74 20 61 20 4e 65 74 ppens that a Net
6050: 77 6f 72 6b 20 63 6f 75 6c 64 20 62 65 20 73 75 work could be su
6060: 62 6a 65 63 74 20 74 6f 20 72 61 74 68 65 72 20 bject to rather
6070: 66 72 65 71 75 65 6e 74 20 63 68 61 6e 67 65 73 frequent changes
6080: 3a 20 73 6f 6d 65 20 6e 65 77 20 4c 69 6e 6b 73 : some new Links
6090: 20 72 65 71 75 69 72 65 20 74 6f 20 62 65 20 61 require to be a
60a0: 64 64 65 64 2c 20 6f 62 73 6f 6c 65 74 65 20 4c dded, obsolete L
60b0: 69 6e 6b 73 20 72 65 71 75 69 72 65 20 74 6f 20 inks require to
60c0: 62 65 20 72 65 6d 6f 76 65 64 2c 20 6f 74 68 65 be removed, othe
60d0: 72 20 4c 69 6e 6b 73 20 6d 61 79 20 61 73 73 75 r Links may assu
60e0: 6d 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 43 me a different C
60f0: 6f 73 74 2c 20 6f 6e 65 2d 77 61 79 73 20 63 6f ost, one-ways co
6100: 75 6c 64 20 62 65 20 72 65 76 65 72 73 65 64 2c uld be reversed,
6110: 20 74 68 65 20 64 69 73 63 69 70 6c 69 6e 65 20 the discipline
6120: 6f 66 20 70 65 64 65 73 74 72 69 61 6e 20 61 72 of pedestrian ar
6130: 65 61 73 20 63 6f 75 6c 64 20 62 65 20 6d 6f 64 eas could be mod
6140: 69 66 69 65 64 20 61 6e 64 20 73 6f 20 6f 6e 2e ified and so on.
6150: 3c 62 72 3e 0d 0a 41 20 56 69 72 74 75 61 6c 52 <br>..A VirtualR
6160: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 69 73 20 outing Table is
6170: 61 6c 77 61 79 73 20 62 61 73 65 64 20 6f 6e 20 always based on
6180: 61 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 a companion Bina
6190: 72 79 20 44 61 74 61 20 54 61 62 6c 65 2c 20 74 ry Data Table, t
61a0: 68 61 74 20 69 73 20 69 6e 74 72 69 6e 73 69 63 hat is intrinsic
61b0: 61 6c 6c 79 20 3c 62 3e 73 74 61 74 69 63 3c 2f ally <b>static</
61c0: 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 b>, and conseque
61d0: 6e 74 6c 79 20 79 6f 75 20 61 72 65 20 72 65 71 ntly you are req
61e0: 75 69 72 65 64 20 74 6f 20 72 65 2d 63 72 65 61 uired to re-crea
61f0: 74 65 20 62 6f 74 68 20 74 68 65 6d 20 66 72 6f te both them fro
6200: 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 m time to time i
6210: 6e 20 6f 72 64 65 72 20 74 6f 20 73 75 70 70 6f n order to suppo
6220: 72 74 20 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 rt all recent ch
6230: 61 6e 67 65 73 20 61 66 66 65 63 74 69 6e 67 20 anges affecting
6240: 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 the underlaying
6250: 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 Network.<br>..Th
6260: 65 20 6f 70 74 69 6d 61 6c 20 66 72 65 71 75 65 e optimal freque
6270: 6e 63 79 20 66 6f 72 20 63 79 63 6c 69 63 61 6c ncy for cyclical
6280: 6c 79 20 72 65 66 72 65 73 68 69 6e 67 20 74 68 ly refreshing th
6290: 65 20 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 e Routing Tables
62a0: 20 73 74 72 69 63 74 6c 79 20 64 65 70 65 6e 64 strictly depend
62b0: 73 20 6f 6e 20 73 70 65 63 69 66 69 63 20 72 65 s on specific re
62c0: 71 75 69 72 65 6d 65 6e 74 73 2c 20 62 75 74 20 quirements, but
62d0: 74 68 65 20 74 77 6f 20 6f 76 65 72 61 6c 6c 20 the two overall
62e0: 61 70 70 72 6f 61 63 68 65 73 20 61 72 65 20 63 approaches are c
62f0: 6f 6d 6d 6f 6e 6c 79 20 61 64 6f 70 74 65 64 3a ommonly adopted:
6300: 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6c ..<ol>..<li><b>l
6310: 6f 77 20 66 72 65 71 75 65 6e 63 79 20 72 65 66 ow frequency ref
6320: 72 65 73 68 3c 2f 62 3e 3a 20 62 65 73 74 20 66 resh</b>: best f
6330: 69 74 20 66 6f 72 20 73 6c 6f 77 6c 79 20 65 76 it for slowly ev
6340: 6f 6c 76 69 6e 67 20 4e 65 74 77 6f 72 6b 73 2e olving Networks.
6350: 3c 62 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 <br>..In this ca
6360: 73 65 20 72 65 2d 63 72 65 61 74 69 6e 67 20 74 se re-creating t
6370: 68 65 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 he Network Table
6380: 73 20 6f 6e 63 65 20 61 20 6d 6f 6e 74 68 20 2f s once a month /
6390: 20 77 65 65 6b 20 2f 20 64 61 79 20 63 6f 75 6c week / day coul
63a0: 64 20 62 65 20 72 65 61 73 6f 6e 61 62 6c 79 20 d be reasonably
63b0: 65 6e 6f 75 67 68 2e 0d 0a 52 65 63 72 65 61 74 enough...Recreat
63c0: 69 6e 67 20 74 68 65 20 54 61 62 6c 65 73 20 66 ing the Tables f
63d0: 72 6f 6d 20 73 63 72 61 74 63 68 20 75 73 75 61 rom scratch usua
63e0: 6c 6c 79 20 72 65 71 75 69 72 65 73 20 73 65 76 lly requires sev
63f0: 65 72 61 6c 20 73 65 63 6f 6e 64 73 20 28 6f 72 eral seconds (or
6400: 20 65 76 65 6e 20 6c 65 73 73 2c 20 64 65 70 65 even less, depe
6410: 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 6d nding on the num
6420: 62 65 72 20 6f 66 20 4c 69 6e 6b 73 29 2e 3c 62 ber of Links).<b
6430: 72 3e 0d 0a 54 68 65 20 72 65 66 72 65 73 68 20 r>..The refresh
6440: 61 63 74 69 76 69 74 69 65 73 20 63 6f 75 6c 64 activities could
6450: 20 62 65 20 6f 70 70 6f 72 74 75 6e 65 6c 79 20 be opportunely
6460: 70 6c 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74 planned at low t
6470: 72 61 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e raffic hours (e.
6480: 67 2e 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69 g. during the ni
6490: 67 68 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65 ght), and <b>Cre
64a0: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e ateRouting()</b>
64b0: 20 63 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c could be useful
64c0: 6c 79 20 63 61 6c 6c 65 64 20 62 79 20 65 6e 61 ly called by ena
64d0: 62 6c 69 6e 67 20 74 68 65 20 3c 62 3e 6f 76 65 bling the <b>ove
64e0: 72 77 72 69 74 65 3c 2f 62 3e 20 6f 70 74 69 6f rwrite</b> optio
64f0: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e n.</li>..<li><b>
6500: 6d 65 64 69 75 6d 2d 68 69 67 68 20 66 72 65 71 medium-high freq
6510: 75 65 6e 63 79 20 72 65 66 72 65 73 68 3c 2f 62 uency refresh</b
6520: 3e 3a 20 62 65 73 74 20 66 69 74 20 66 6f 72 20 >: best fit for
6530: 71 75 69 63 6b 6c 79 20 65 76 6f 6c 76 69 6e 67 quickly evolving
6540: 20 4e 65 74 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a Networks.<br>..
6550: 52 65 2d 63 72 65 61 74 69 6e 67 20 74 68 65 20 Re-creating the
6560: 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 20 6f Network Tables o
6570: 6e 63 65 20 70 65 72 20 68 6f 75 72 20 28 6f 72 nce per hour (or
6580: 20 65 76 65 6e 20 6d 6f 72 65 20 66 72 65 71 75 even more frequ
6590: 65 6e 74 6c 79 29 20 63 6f 75 6c 64 20 62 65 20 ently) could be
65a0: 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 72 65 strictly require
65b0: 64 2c 20 61 6e 64 20 66 72 65 71 75 65 6e 74 20 d, and frequent
65c0: 3c 62 3e 6f 75 74 20 6f 66 20 73 65 72 76 69 63 <b>out of servic
65d0: 65 3c 2f 62 3e 20 70 65 72 69 6f 64 73 20 77 68 e</b> periods wh
65e0: 69 6c 65 20 77 61 69 74 69 6e 67 20 66 6f 72 20 ile waiting for
65f0: 74 68 65 20 72 65 66 72 65 73 68 20 70 72 6f 63 the refresh proc
6600: 65 73 73 20 74 6f 20 63 6f 6d 70 6c 65 74 65 20 ess to complete
6610: 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 62 65 20 could easily be
6620: 75 6e 61 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 unacceptable.<br
6630: 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65 20 >..In this case
6640: 79 6f 75 20 63 6f 75 6c 64 20 75 73 65 66 75 6c you could useful
6650: 6c 79 20 61 64 6f 70 74 20 61 20 3c 62 3e 6d 75 ly adopt a <b>mu
6660: 6c 74 69 2d 74 68 72 65 61 64 65 64 20 73 74 72 lti-threaded str
6670: 61 74 65 67 79 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e ategy</b>:..<ul>
6680: 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72 65 61 64 20 ..<li><b>thread
6690: 23 31 3c 2f 62 3e 20 28 3c 69 3e 74 68 65 20 72 #1</b> (<i>the r
66a0: 65 61 64 65 72 3c 2f 69 3e 29 3a 20 74 68 69 73 eader</i>): this
66b0: 20 66 69 72 73 74 20 74 68 72 65 61 64 20 69 73 first thread is
66c0: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 65 72 intended to ser
66d0: 76 69 63 65 20 61 6e 79 20 69 6e 63 6f 6d 69 6e vice any incomin
66e0: 67 20 52 6f 75 74 69 6e 67 20 72 65 71 75 65 73 g Routing reques
66f0: 74 2e 20 49 74 20 77 69 6c 6c 20 62 65 20 61 6c t. It will be al
6700: 77 61 79 73 20 61 63 74 69 76 65 2c 20 61 6e 64 ways active, and
6710: 20 77 69 6c 6c 20 74 61 72 67 65 74 20 61 20 77 will target a w
6720: 65 6c 6c 20 6b 6e 6f 77 6e 20 56 69 72 74 75 61 ell known Virtua
6730: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 28 lRouting Table (
6740: 65 2e 67 2e 20 3c 62 3e 6d 79 5f 72 6f 75 74 69 e.g. <b>my_routi
6750: 6e 67 3c 2f 62 3e 20 62 61 73 65 64 20 6f 6e 20 ng</b> based on
6760: 3c 62 3e 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 <b>my_routing_da
6770: 74 61 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c ta</b>).</li>..<
6780: 6c 69 3e 3c 62 3e 74 68 72 65 61 64 20 23 32 3c li><b>thread #2<
6790: 2f 62 3e 20 28 3c 69 3e 74 68 65 20 77 72 69 74 /b> (<i>the writ
67a0: 65 72 3c 2f 69 3e 29 3a 20 74 68 69 73 20 73 65 er</i>): this se
67b0: 63 6f 6e 64 20 74 68 72 65 61 64 20 69 73 20 6a cond thread is j
67c0: 75 73 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 ust intended to
67d0: 72 65 2d 63 72 65 61 74 65 20 62 6f 74 68 20 4e re-create both N
67e0: 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 20 61 74 etwork Tables at
67f0: 20 70 72 65 64 65 66 69 6e 65 64 20 69 6e 74 65 predefined inte
6800: 72 76 61 6c 73 2c 20 61 6e 64 20 69 74 20 77 69 rvals, and it wi
6810: 6c 6c 20 73 6c 65 65 70 20 62 65 74 77 65 65 6e ll sleep between
6820: 20 61 6e 20 69 6e 74 65 72 76 61 6c 20 61 6e 64 an interval and
6830: 20 74 68 65 20 6f 74 68 65 72 2e 3c 62 72 3e 0d the other.<br>.
6840: 0a 57 68 65 6e 20 74 68 69 73 20 74 68 72 65 61 .When this threa
6850: 64 20 61 77 61 6b 65 6e 73 20 77 69 6c 6c 20 72 d awakens will r
6860: 65 2d 63 72 65 61 74 65 20 62 6f 74 68 20 4e 65 e-create both Ne
6870: 74 77 6f 72 6b 20 54 61 62 6c 65 73 20 62 79 20 twork Tables by
6880: 75 73 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 using different
6890: 6e 61 6d 65 73 2c 20 61 6e 64 20 77 69 6c 6c 20 names, and will
68a0: 6f 76 65 72 77 72 69 74 65 20 74 68 65 20 73 74 overwrite the st
68b0: 61 6e 64 61 72 64 20 6f 6e 65 73 20 6a 75 73 74 andard ones just
68c0: 20 61 74 20 74 68 65 20 76 65 72 79 20 65 6e 64 at the very end
68d0: 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 of the process
68e0: 28 61 63 74 69 76 61 74 69 6e 67 20 61 20 73 65 (activating a se
68f0: 6d 61 70 68 6f 72 65 20 64 75 72 69 6e 67 20 74 maphore during t
6900: 68 69 73 20 73 68 6f 72 74 2d 74 69 6d 65 64 20 his short-timed
6910: 6c 61 73 74 20 73 74 65 70 20 69 73 20 68 69 67 last step is hig
6920: 68 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 29 hly recommended)
6930: 2e 3c 62 72 3e 0d 0a 53 6f 6d 65 74 68 69 6e 67 .<br>..Something
6940: 20 6c 69 6b 65 20 74 68 69 73 20 70 73 65 75 64 like this pseud
6950: 6f 2d 63 6f 64 65 20 65 78 65 6d 70 6c 69 66 69 o-code exemplifi
6960: 65 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d es:..<verbatim>.
6970: 0a 53 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f .SELECT CreateRo
6980: 75 74 69 6e 67 28 27 6e 65 77 5f 6d 79 5f 72 6f uting('new_my_ro
6990: 75 74 69 6e 67 5f 64 61 74 61 27 2c 20 27 6e 65 uting_data', 'ne
69a0: 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 27 2c 20 2e w_my_routing', .
69b0: 2e 2e 29 3b 0d 0a 0d 0a 2d 2d 3e 20 73 74 61 72 ..);....--> star
69c0: 74 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 t the semaphore
69d0: 73 6f 20 74 6f 20 6c 6f 63 6b 20 74 68 65 20 6f so to lock the o
69e0: 74 68 65 72 20 74 68 72 65 61 64 0d 0a 0d 0a 42 ther thread....B
69f0: 45 47 49 4e 3b 0d 0a 44 52 4f 50 20 54 41 42 4c EGIN;..DROP TABL
6a00: 45 20 6d 79 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 E my_routing;..D
6a10: 52 4f 50 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75 ROP TABLE my_rou
6a20: 74 69 6e 67 5f 64 61 74 61 3b 0d 0a 53 45 4c 45 ting_data;..SELE
6a30: 43 54 20 43 6c 6f 6e 65 54 61 62 6c 65 28 27 4d CT CloneTable('M
6a40: 41 49 4e 27 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f AIN', 'new_my_ro
6a50: 75 74 69 6e 67 5f 64 61 74 61 27 2c 20 27 6d 79 uting_data', 'my
6a60: 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c 20 _routing_data',
6a70: 30 29 3b 0d 0a 43 52 45 41 54 45 20 56 49 52 54 0);..CREATE VIRT
6a80: 55 41 4c 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75 UAL TABLE my_rou
6a90: 74 69 6e 67 20 55 53 49 4e 47 20 56 69 72 74 75 ting USING Virtu
6aa0: 61 6c 52 6f 75 74 69 6e 67 28 27 6d 79 5f 72 6f alRouting('my_ro
6ab0: 75 74 69 6e 67 5f 64 61 74 61 27 29 3b 0d 0a 44 uting_data');..D
6ac0: 52 4f 50 20 54 41 42 4c 45 20 6e 65 77 5f 6d 79 ROP TABLE new_my
6ad0: 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 _routing;..DROP
6ae0: 54 41 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 TABLE new_my_rou
6af0: 74 69 6e 67 5f 64 61 74 61 3b 0d 0a 43 4f 4d 4d ting_data;..COMM
6b00: 49 54 3b 0d 0a 0d 0a 2d 2d 3e 20 72 65 6d 6f 76 IT;....--> remov
6b10: 65 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 0d e the semaphore.
6b20: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 .</verbatim>..<u
6b30: 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 73 74 72 69 63 >Note</u>: stric
6b40: 74 6c 79 20 72 65 73 70 65 63 74 69 6e 67 20 74 tly respecting t
6b50: 68 65 20 61 62 6f 76 65 20 73 65 71 75 65 6e 63 he above sequenc
6b60: 65 20 6f 66 20 53 51 4c 20 6f 70 65 72 61 74 69 e of SQL operati
6b70: 6f 6e 73 20 69 73 20 61 62 73 6f 6c 75 74 65 6c ons is absolutel
6b80: 79 20 72 65 71 75 69 72 65 64 2e 3c 2f 6c 69 3e y required.</li>
6b90: 20 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c ..</ul></li>..<
6ba0: 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e /ol>..</td></tr>
6bb0: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e ..</table>..<br>
6bc0: 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 ..<table bgcolor
6bd0: 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73 ="#ffb060" cells
6be0: 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c pacing="10" cell
6bf0: 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e padding="6"><tr>
6c00: 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e <td>..<h3>Warnin
6c10: 67 3a 20 68 6f 77 20 74 6f 20 63 6f 72 72 65 63 g: how to correc
6c20: 74 6c 79 20 64 72 6f 70 20 4e 65 74 77 6f 72 6b tly drop Network
6c30: 20 54 61 62 6c 65 73 3c 2f 68 33 3e 0d 0a 57 68 Tables</h3>..Wh
6c40: 65 6e 20 64 72 6f 70 70 69 6e 67 20 61 20 56 69 en dropping a Vi
6c50: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 rtualRouting Tab
6c60: 6c 65 20 61 6e 64 20 69 74 73 20 63 6f 6d 70 61 le and its compa
6c70: 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61 nion Binary Data
6c80: 20 54 61 62 6c 65 20 66 6f 6c 6c 6f 77 69 6e 67 Table following
6c90: 20 74 68 65 20 63 6f 72 72 65 63 74 20 73 65 71 the correct seq
6ca0: 75 65 6e 63 65 20 6f 66 20 53 51 4c 20 63 6f 6d uence of SQL com
6cb0: 6d 61 6e 64 73 20 69 73 20 70 61 72 61 6d 6f 75 mands is paramou
6cc0: 6e 74 2e 3c 62 72 3e 0d 0a 46 61 69 6c 69 6e 67 nt.<br>..Failing
6cd0: 20 74 6f 20 73 74 72 69 63 74 6c 79 20 72 65 73 to strictly res
6ce0: 70 65 63 74 20 74 68 65 20 65 78 70 65 63 74 65 pect the expecte
6cf0: 64 20 73 65 71 75 65 6e 63 65 20 77 69 6c 6c 20 d sequence will
6d00: 73 75 72 65 6c 79 20 63 61 75 73 65 20 79 6f 75 surely cause you
6d10: 20 73 65 76 65 72 61 6c 20 74 72 6f 75 62 6c 65 several trouble
6d20: 73 20 61 6e 64 20 73 65 76 65 72 65 20 68 65 61 s and severe hea
6d30: 64 61 63 68 65 73 2c 20 61 6e 64 20 77 69 6c 6c daches, and will
6d40: 20 70 6f 73 73 69 62 6c 79 20 6c 65 61 64 20 74 possibly lead t
6d50: 6f 20 61 6e 20 69 72 72 65 6d 65 64 69 61 62 6c o an irremediabl
6d60: 79 20 63 6f 72 72 75 70 74 65 64 20 64 61 74 61 y corrupted data
6d70: 62 61 73 65 2e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 base...<ol>..<li
6d80: 3e 79 6f 75 20 61 72 65 20 61 6c 77 61 79 73 20 >you are always
6d90: 65 78 70 65 63 74 65 64 20 74 6f 20 44 52 4f 50 expected to DROP
6da0: 20 66 69 72 73 74 20 74 68 65 20 56 69 72 74 75 first the Virtu
6db0: 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 2e alRouting Table.
6dc0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 63 </li>..<li>you c
6dd0: 61 6e 20 73 61 66 65 6c 79 20 44 52 4f 50 20 74 an safely DROP t
6de0: 68 65 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e he companion Bin
6df0: 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 20 6f ary Data Table o
6e00: 6e 6c 79 20 6f 6e 63 65 20 69 74 27 73 20 6e 6f nly once it's no
6e10: 20 6c 6f 6e 67 65 72 20 72 65 66 65 72 65 6e 63 longer referenc
6e20: 65 64 20 62 79 20 74 68 65 20 56 69 72 74 75 61 ed by the Virtua
6e30: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 2e 3c lRouting Table.<
6e40: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 62 79 20 66 6f 6c /li>..<li>by fol
6e50: 6c 6f 77 69 6e 67 20 74 68 65 20 72 65 76 65 72 lowing the rever
6e60: 73 65 20 73 65 71 75 65 6e 63 65 20 79 6f 75 27 se sequence you'
6e70: 6c 6c 20 64 69 72 65 63 74 6c 79 20 63 72 65 61 ll directly crea
6e80: 74 65 20 61 6e 20 3c 62 3e 6f 72 70 68 61 6e 3c te an <b>orphan<
6e90: 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 /b> VirtualRouti
6ea0: 6e 67 20 54 61 62 6c 65 20 74 68 61 74 20 63 61 ng Table that ca
6eb0: 6e 6e 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 nnot be accessed
6ec0: 20 61 6e 79 20 6c 6f 6e 67 65 72 2c 20 61 6e 64 any longer, and
6ed0: 20 74 68 61 74 20 77 69 6c 6c 20 63 6f 6e 73 65 that will conse
6ee0: 71 75 65 6e 74 6c 79 20 72 65 66 75 73 65 20 74 quently refuse t
6ef0: 6f 20 62 65 20 64 72 6f 70 70 65 64 2e 3c 62 72 o be dropped.<br
6f00: 3e 0d 0a 42 65 20 77 61 72 6e 65 64 20 21 21 3c >..Be warned !!<
6f10: 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 /li>..</ol>..</t
6f20: 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 d></tr>..</table
6f30: 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 >..<br><br>..<hr
6f40: 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 ><br>..<h1><a na
6f50: 6d 65 3d 22 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d me="from_to">4 -
6f60: 20 53 6f 6c 76 69 6e 67 20 63 6c 61 73 73 69 63 Solving classic
6f70: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 Shortest Path p
6f80: 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e roblems</a></h1>
6f90: 0d 0a 54 68 65 20 6d 6f 73 74 20 63 6c 61 73 73 ..The most class
6fa0: 69 63 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 ic Shortest Path
6fb0: 20 70 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 problem require
6fc0: 73 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 s to identify th
6fd0: 65 20 6f 70 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 e optimal connec
6fe0: 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 61 6e 20 tion between an
6ff0: 3c 62 3e 4f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f <b>Origin Node</
7000: 62 3e 20 61 6e 64 20 61 20 3c 62 3e 44 65 73 74 b> and a <b>Dest
7010: 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e ination Node</b>
7020: 2e 3c 62 72 3e 0d 0a 57 65 20 63 61 6e 20 65 61 .<br>..We can ea
7030: 73 69 6c 79 20 74 72 61 6e 73 6c 61 74 65 20 73 sily translate s
7040: 75 63 68 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e uch a problem in
7050: 74 6f 20 61 20 73 69 6d 70 6c 65 20 53 51 4c 20 to a simple SQL
7060: 71 75 65 72 79 20 74 61 72 67 65 74 69 6e 67 20 query targeting
7070: 73 6f 6d 65 20 56 69 72 74 75 61 6c 52 6f 75 74 some VirtualRout
7080: 69 6e 67 20 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 ing Table...<ver
7090: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a batim>..SELECT *
70a0: 20 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a ..FROM byfoot..
70b0: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d WHERE NodeFrom =
70c0: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 178731 AND Node
70d0: 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f To = 183286;..</
70e0: 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c verbatim>..<tabl
70f0: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 e border="1" bgc
7100: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 olor="#ffffcf" c
7110: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 ellspacing="4" c
7120: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d ellpadding="6">.
7130: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 .<tr><th bgcolor
7140: 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 ="#d0d0a0">Algor
7150: 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 ithm</th><th bgc
7160: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 olor="#d0d0a0">R
7170: 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 equest</th><th b
7180: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
7190: 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 >Options</th><th
71a0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
71b0: 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 0">Delimiter</th
71c0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
71d0: 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 0d0a0">RouteId</
71e0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
71f0: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f #d0d0a0">RouteRo
7200: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f w</th><th bgcolo
7210: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 r="#d0d0a0">Role
7220: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
7230: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 ="#d0d0a0">LinkR
7240: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 owid</th><th bgc
7250: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
7260: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 odeFrom</th><th
7270: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
7280: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 ">NodeTo</th><th
7290: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
72a0: 30 22 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 0">PointFrom</th
72b0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
72c0: 30 64 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 0d0a0">PointTo</
72d0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
72e0: 23 64 30 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e #d0d0a0">Toleran
72f0: 63 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ce</th><th bgcol
7300: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 or="#d0d0a0">Cos
7310: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
7320: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d r="#d0d0a0">Geom
7330: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 etry</th><th bgc
7340: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
7350: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c ame</th></tr>..<
7360: 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 tr>..<td>Dijkstr
7370: 61 3c 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 a</td><td>Shorte
7380: 73 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e st Path</td><td>
7390: 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 Full</td><td>, &
73a0: 23 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d #91;dec=44, hex=
73b0: 32 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 2c]</td><td
73c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
73d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
73e0: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e ight">0</td><td>
73f0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 Route</td><td>NU
7400: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
7410: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
7420: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
7430: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 ight">183286</td
7440: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7450: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
7460: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
7470: 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 n="right">300.91
7480: 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 2208</td><td>BLO
7490: 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 B sz=272 GEOMETR
74a0: 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f Y</td><td>NULL</
74b0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
74c0: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c ..<td>NULL</td><
74d0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
74e0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
74f0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
7500: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
7510: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
7520: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
7530: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7540: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e ght">224014</td>
7550: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
7560: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
7570: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
7580: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 82885</td><td>NU
7590: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c LL</td><td>NULL<
75a0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
75b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
75c0: 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 t">94.812424</td
75d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
75e0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 d>VIA PIETRO ARE
75f0: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TINO</td>..</tr>
7600: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c ..<tr>..<td>NULL
7610: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
7620: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
7630: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 td>NULL</td><td
7640: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c align="right">0<
7650: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
7660: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e ight">2</td><td>
7670: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
7680: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 gn="right">22444
7690: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
76a0: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f "right">182885</
76b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
76c0: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e ght">178880</td>
76d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
76e0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
76f0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
7700: 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 ="right">69.7277
7710: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 26</td><td>NULL<
7720: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
7730: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
7740: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e tr>..<tr>..<td>N
7750: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
7760: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
7770: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
7780: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
7790: 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e >0</td><td align
77a0: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
77b0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
77c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
77d0: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4414</td><td ali
77e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
77f0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
7800: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
7810: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
7820: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
7830: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
7840: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e ign="right">136.
7850: 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 372057</td><td>N
7860: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
7870: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e MARGARITONE</td>
7880: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 ..</tr>..</table
7890: 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 >..<br>..Let's q
78a0: 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 uickly examine t
78b0: 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 he resultset ret
78c0: 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f urned by the abo
78d0: 76 65 20 52 6f 75 74 69 6e 67 20 71 75 65 72 79 ve Routing query
78e0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 :..<ul>..<li>the
78f0: 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 <b>first row</b
7900: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 > (<i>aka</i> he
7910: 61 64 65 72 20 72 6f 77 29 20 68 61 73 20 61 20 ader row) has a
7920: 73 70 65 63 69 61 6c 20 69 6e 74 65 72 70 72 65 special interpre
7930: 74 61 74 69 6f 6e 2c 20 61 6e 64 20 69 73 20 69 tation, and is i
7940: 6e 74 65 6e 64 65 64 20 74 6f 20 73 75 6d 6d 61 ntended to summa
7950: 72 69 7a 65 20 74 68 65 20 74 72 61 76 65 6c 20 rize the travel
7960: 73 6f 6c 75 74 69 6f 6e 20 61 73 20 61 20 77 68 solution as a wh
7970: 6f 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 ole.</li>..<li>a
7980: 6c 6c 20 74 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 ll the <b>follow
7990: 69 6e 67 20 72 6f 77 73 3c 2f 62 3e 20 72 65 70 ing rows</b> rep
79a0: 72 65 73 65 6e 74 20 61 20 73 69 6e 67 6c 65 20 resent a single
79b0: 4c 69 6e 6b 20 72 65 71 75 69 72 65 64 20 74 6f Link required to
79c0: 20 62 75 69 6c 64 20 74 68 65 20 73 6f 6c 75 74 build the solut
79d0: 69 6f 6e 20 28 6f 70 74 69 6d 61 20 70 61 74 68 ion (optima path
79e0: 29 3b 20 4c 69 6e 6b 73 20 61 72 65 20 6f 72 64 ); Links are ord
79f0: 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 ered accordingly
7a00: 20 74 6f 20 74 68 65 20 74 72 61 76 65 6c 20 64 to the travel d
7a10: 69 72 65 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 irection connect
7a20: 69 6e 67 20 74 68 65 20 4f 72 69 67 69 6e 20 61 ing the Origin a
7a30: 6e 64 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 nd the Destinati
7a40: 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f on.</li>..<li>co
7a50: 6c 75 6d 6e 73 20 3c 62 3e 41 6c 67 6f 72 69 74 lumns <b>Algorit
7a60: 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 hm</b>, <b>Reque
7a70: 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f st</b>, <b>Optio
7a80: 6e 73 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d ns</b>, <b>Delim
7a90: 69 74 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 iter</b>, <b>Poi
7aa0: 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 ntFrom</b>, <b>P
7ab0: 6f 69 6e 74 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 ointTo</b>, <b>T
7ac0: 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 olerance</b> and
7ad0: 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e <b>Geometry</b>
7ae0: 20 61 72 65 20 61 6c 77 61 79 73 20 73 65 74 20 are always set
7af0: 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 65 to <b>NULL</b> e
7b00: 78 63 65 70 74 20 74 68 61 74 20 69 6e 20 74 68 xcept that in th
7b10: 65 20 66 69 72 73 74 20 72 6f 77 20 6f 66 20 74 e first row of t
7b20: 68 65 20 72 65 73 75 6c 74 73 65 74 3a 0d 0a 3c he resultset:..<
7b30: 75 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 ul>..<li>column
7b40: 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e <b>Algorithm</b>
7b50: 20 61 63 63 6f 75 6e 74 73 20 66 6f 72 20 74 68 accounts for th
7b60: 65 20 52 6f 75 74 69 6e 67 20 41 6c 67 6f 72 69 e Routing Algori
7b70: 74 68 6d 20 75 73 65 64 20 62 79 20 74 68 65 20 thm used by the
7b80: 63 75 72 72 65 6e 74 20 71 75 65 72 79 20 28 3c current query (<
7b90: 69 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 69 3e i>Dijkstra's</i>
7ba0: 20 6f 72 20 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c or <i>A*</i>).<
7bb0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e /li>..<li>column
7bc0: 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 <b>Request</b>
7bd0: 73 70 65 63 69 66 69 65 73 20 74 68 65 20 65 78 specifies the ex
7be0: 61 63 74 20 6e 61 74 75 72 65 20 6f 66 20 74 68 act nature of th
7bf0: 65 20 63 75 72 72 65 6e 74 20 71 75 65 72 79 20 e current query
7c00: 28 69 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 (in this specifi
7c10: 63 20 63 61 73 65 20 3c 69 3e 53 68 6f 72 74 65 c case <i>Shorte
7c20: 73 74 20 50 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c st Path</i>).</l
7c30: 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 67 i>..<li>we'll ig
7c40: 6e 6f 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f 6c nore for now col
7c50: 75 6d 6e 73 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c umns <b>Options<
7c60: 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65 /b>, <b>Delimite
7c70: 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 r</b>, <b>PointF
7c80: 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e rom</b>, <b>Poin
7c90: 74 54 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 tTo</b> and <b>T
7ca0: 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 olerance</b>: th
7cb0: 65 69 72 20 72 65 73 70 65 63 74 69 76 65 20 6d eir respective m
7cc0: 65 61 6e 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 eanings will be
7cd0: 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 66 6f 6c explained in fol
7ce0: 6c 6f 77 69 6e 67 20 70 61 72 61 67 72 61 70 68 lowing paragraph
7cf0: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c s.</li>..<li>col
7d00: 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c umn <b>Geometry<
7d10: 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 3c /b> contains a <
7d20: 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c 2f 62 3e b>LINESTRING</b>
7d30: 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 representation
7d40: 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 74 72 61 of the whole tra
7d50: 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 62 72 vel solution.<br
7d60: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 >..<u>Note</u>:
7d70: 6f 6e 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 on <b>Logical Ne
7d80: 74 77 6f 72 6b 73 3c 2f 62 3e 20 28 6e 6f 74 20 tworks</b> (not
7d90: 73 75 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65 supporting Geome
7da0: 74 72 69 65 73 29 20 3c 62 3e 47 65 6f 6d 65 74 tries) <b>Geomet
7db0: 72 79 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61 ry</b> will alwa
7dc0: 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 ys be <b>NULL</b
7dd0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f >.</li>..</ul></
7de0: 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 li>..<li>we'll i
7df0: 67 6e 6f 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f gnore for now co
7e00: 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 49 64 3c lumn <b>RouteId<
7e10: 2f 62 3e 3b 20 69 74 73 20 6d 65 61 6e 69 6e 67 /b>; its meaning
7e20: 20 77 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e will be explain
7e30: 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 ed in following
7e40: 70 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e paragraphs.</li>
7e50: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e ..<li>column <b>
7e60: 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 73 69 6d RouteRow</b> sim
7e70: 70 6c 79 20 69 73 20 74 68 65 20 70 72 6f 67 72 ply is the progr
7e80: 65 73 73 69 76 65 20 6e 75 6d 62 65 72 20 6f 66 essive number of
7e90: 20 74 68 65 20 72 6f 77 20 69 6e 20 74 68 65 20 the row in the
7ea0: 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 travel solution
7eb0: 28 61 6c 77 61 79 73 20 3c 62 3e 30 3c 2f 62 3e (always <b>0</b>
7ec0: 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 in the header r
7ed0: 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 ow).</li>..<li>c
7ee0: 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 6c 65 3c 2f 62 olumn <b>Role</b
7ef0: 3e 20 63 61 6e 20 62 65 20 3c 69 3e 52 6f 75 74 > can be <i>Rout
7f00: 65 3c 2f 69 3e 20 28 68 65 61 64 65 72 20 72 6f e</i> (header ro
7f10: 77 29 20 6f 72 20 3c 69 3e 4c 69 6e 6b 3c 2f 69 w) or <i>Link</i
7f20: 3e 20 28 61 6c 6c 20 66 6f 6c 6c 6f 77 69 6e 67 > (all following
7f30: 20 72 6f 77 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c rows).</li>..<l
7f40: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4c 69 6e 6b i>column <b>Link
7f50: 52 6f 77 69 64 3c 2f 62 3e 20 72 65 66 65 72 65 Rowid</b> refere
7f60: 6e 63 65 73 20 74 68 65 20 3c 62 3e 52 4f 57 49 nces the <b>ROWI
7f70: 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 D</b> of the cor
7f80: 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 responding Link
7f90: 28 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c (always set to <
7fa0: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68 b>NULL</b> in th
7fb0: 65 20 68 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f e header row).</
7fc0: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 li>..<li>column
7fd0: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 <b>NodeFrom</b>
7fe0: 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 and <b>NodeTo</b
7ff0: 3e 20 68 61 76 65 20 74 68 65 20 66 6f 6c 6c 6f > have the follo
8000: 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74 61 74 wing interpretat
8010: 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e ion:..<ul>..<li>
8020: 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f in the header ro
8030: 77 20 74 68 65 79 20 63 6f 72 72 65 73 70 6f 6e w they correspon
8040: 64 20 74 6f 20 68 65 20 3c 62 3e 4f 72 69 67 69 d to he <b>Origi
8050: 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 73 n</b> and <b>Des
8060: 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 4e 6f 64 tination</b> Nod
8070: 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e es.</li>..<li>in
8080: 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 all the followi
8090: 6e 67 20 72 6f 77 73 20 74 68 65 79 20 61 72 65 ng rows they are
80a0: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 intended to spe
80b0: 63 69 66 79 20 74 68 65 20 64 69 72 65 63 74 69 cify the directi
80c0: 6f 6e 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e on of the curren
80d0: 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f t Link.</li>..</
80e0: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f ul></li>..<li>co
80f0: 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e lumn <b>Cost</b>
8100: 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 has the followi
8110: 6e 67 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f ng interpretatio
8120: 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e n:..<ul>..<li>in
8130: 20 74 68 65 20 68 65 61 64 65 72 20 74 6f 77 20 the header tow
8140: 69 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 it corresponds t
8150: 6f 20 74 68 65 20 3c 62 3e 74 6f 74 61 6c 20 63 o the <b>total c
8160: 6f 73 74 3c 2f 62 3e 20 6f 66 20 74 68 65 20 74 ost</b> of the t
8170: 72 61 76 65 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 ravel.</li>..<li
8180: 3e 69 6e 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c >in all the foll
8190: 6f 77 69 6e 67 20 72 6f 77 73 20 69 74 20 72 65 owing rows it re
81a0: 70 72 65 73 65 6e 74 73 20 74 68 65 20 73 70 65 presents the spe
81b0: 63 69 66 69 63 20 63 6f 73 74 20 6f 66 20 74 68 cific cost of th
81c0: 65 20 63 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c e current Link.<
81d0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e /li>..</ul></li>
81e0: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e ..<li>column <b>
81f0: 4e 61 6d 65 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e Name</b> contain
8200: 73 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f s the descriptio
8210: 6e 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 n of the current
8220: 20 4c 69 6e 6b 20 28 75 73 75 61 6c 6c 79 20 61 Link (usually a
8230: 20 72 6f 61 64 20 6e 61 6d 65 29 2c 20 61 6e 64 road name), and
8240: 20 69 73 20 61 6c 77 61 79 73 20 3c 62 3e 4e 55 is always <b>NU
8250: 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68 65 20 68 65 LL</b> in the he
8260: 61 64 65 72 20 72 6f 77 2e 3c 62 72 3e 0d 0a 3c ader row.<br>..<
8270: 75 3e 4e 6f 74 65 3c 2f 75 3e 20 69 74 20 63 6f u>Note</u> it co
8280: 75 6c 64 20 62 65 20 61 6c 77 61 79 73 20 62 65 uld be always be
8290: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 <b>NULL</b> if
82a0: 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 the VirtualRouti
82b0: 6e 67 20 54 61 62 6c 65 20 64 6f 65 73 20 6e 6f ng Table does no
82c0: 74 20 73 75 70 70 6f 72 74 73 20 6e 61 6d 65 73 t supports names
82d0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c .</li>..</ul></l
82e0: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c i>..</ul>..<br><
82f0: 62 72 3e 0d 0a 54 65 73 74 69 6e 67 20 74 68 65 br>..Testing the
8300: 20 72 65 74 75 72 6e 20 63 6f 6e 6e 65 63 74 69 return connecti
8310: 6f 6e 20 6a 75 73 74 20 72 65 71 75 69 72 65 73 on just requires
8320: 20 73 77 61 70 70 69 6e 67 20 74 68 65 20 4f 72 swapping the Or
8330: 69 67 69 6e 20 61 6e 64 20 74 68 65 20 44 65 73 igin and the Des
8340: 74 69 6e 61 74 69 6f 6e 3b 20 69 6e 20 74 68 69 tination; in thi
8350: 73 20 65 78 61 6d 70 6c 65 20 79 6f 75 27 6c 6c s example you'll
8360: 20 6a 75 73 74 20 72 65 71 75 65 73 74 20 74 68 just request th
8370: 65 20 6d 65 61 6e 69 6e 67 66 75 6c 20 63 6f 6c e meaningful col
8380: 75 6d 6e 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d umns:..<verbatim
8390: 3e 0d 0a 53 45 4c 45 43 54 20 52 6f 75 74 65 52 >..SELECT RouteR
83a0: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f ow, Role, LinkRo
83b0: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e wid, NodeFrom, N
83c0: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f odeTo, Cost, Geo
83d0: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f metry, Name..FRO
83e0: 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 M byfoot..WHERE
83f0: 4e 6f 64 65 54 6f 20 3d 20 31 37 38 37 33 31 20 NodeTo = 178731
8400: 41 4e 44 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 AND NodeFrom = 1
8410: 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 83286;..</verbat
8420: 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 im>..<table bord
8430: 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 er="1" bgcolor="
8440: 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 #ffffcf" cellspa
8450: 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 cing="4" cellpad
8460: 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c ding="6">..<tr><
8470: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
8480: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 0a0">RouteRow</t
8490: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
84a0: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 d0d0a0">Role</th
84b0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
84c0: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 0d0a0">LinkRowid
84d0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
84e0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 ="#d0d0a0">NodeF
84f0: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f rom</th><th bgco
8500: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f lor="#d0d0a0">No
8510: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 deTo</th><th bgc
8520: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 olor="#d0d0a0">C
8530: 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ost</th><th bgco
8540: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 lor="#d0d0a0">Ge
8550: 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 ometry</th><th b
8560: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
8570: 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d >Name</th></tr>.
8580: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
8590: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
85a0: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 td>Route</td><td
85b0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c >NULL</td><td al
85c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 ign="right">1832
85d0: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 86</td><td align
85e0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c ="right">178731<
85f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
8600: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 ight">300.912208
8610: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a </td><td>BLOB sz
8620: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 =272 GEOMETRY</t
8630: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d d><td>NULL</td>.
8640: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
8650: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8660: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 1</td><td>Link</
8670: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8680: 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e ght">224414</td>
8690: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
86a0: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
86b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
86c0: 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 78880</td><td al
86d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e ign="right">136.
86e0: 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 372057</td><td>N
86f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
8700: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e MARGARITONE</td>
8710: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 ..</tr>..<td ali
8720: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 gn="right">2</td
8730: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
8740: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8750: 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 224446</td><td a
8760: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
8770: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 880</td><td alig
8780: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 n="right">182885
8790: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
87a0: 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 right">69.727726
87b0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
87c0: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 d><td>VIA MARGAR
87d0: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ITONE</td>..</tr
87e0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
87f0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
8800: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
8810: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8820: 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 224014</td><td a
8830: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
8840: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 885</td><td alig
8850: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
8860: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
8870: 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 right">94.812424
8880: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
8890: 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f d><td>VIA PIETRO
88a0: 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c ARETINO</td>..<
88b0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a /tr>..</table>..
88c0: 3c 62 72 3e 0d 0a 49 66 20 79 6f 75 20 72 65 6d <br>..If you rem
88d0: 65 6d 62 65 72 2c 20 74 68 65 20 3c 62 3e 62 79 ember, the <b>by
88e0: 66 6f 6f 74 3c 2f 62 3e 20 56 69 72 74 75 61 6c foot</b> Virtual
88f0: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 68 61 Routing Table ha
8900: 73 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 73 s no <b>one-ways
8910: 3c 2f 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 71 </b>, and conseq
8920: 75 65 6e 74 6c 79 20 74 68 65 20 72 65 74 75 72 uently the retur
8930: 6e 20 70 61 74 68 20 65 78 61 63 74 6c 79 20 63 n path exactly c
8940: 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 orresponds to th
8950: 65 20 66 69 72 73 74 20 6f 6e 65 2c 20 65 78 63 e first one, exc
8960: 65 70 74 20 69 6e 20 74 68 61 74 20 61 6c 6c 20 ept in that all
8970: 64 69 72 65 63 74 69 6f 6e 73 20 61 72 65 20 6e directions are n
8980: 6f 77 20 72 65 76 65 72 73 65 64 2e 0d 0a 3c 62 ow reversed...<b
8990: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f 77 20 r><br><br>..Now
89a0: 79 6f 75 27 6c 6c 20 67 6f 20 74 6f 20 74 65 73 you'll go to tes
89b0: 74 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 6e 65 t the same conne
89c0: 63 74 69 6f 6e 73 2c 20 62 75 74 20 74 68 69 73 ctions, but this
89d0: 20 74 69 6d 65 20 79 6f 75 27 6c 6c 20 74 61 72 time you'll tar
89e0: 67 65 74 20 74 68 65 20 3c 62 3e 62 79 63 61 72 get the <b>bycar
89f0: 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 </b> VirtualRout
8a00: 69 6e 67 20 54 61 62 6c 65 20 74 68 61 74 20 66 ing Table that f
8a10: 75 6c 6c 79 20 73 75 70 70 6f 72 74 73 20 3c 62 ully supports <b
8a20: 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 3a 0d 0a >one-ways</b>:..
8a30: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 <verbatim>..SELE
8a40: 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c CT RouteRow, Rol
8a50: 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f e, LinkRowid, No
8a60: 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 deFrom, NodeTo,
8a70: 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 Cost, Geometry,
8a80: 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 72 Name..FROM bycar
8a90: 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d ..WHERE NodeFrom
8aa0: 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f = 178731 AND No
8ab0: 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a deTo = 183286;..
8ac0: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 </verbatim>..<ta
8ad0: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 ble border="1" b
8ae0: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 gcolor="#ffffcf"
8af0: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 cellspacing="4"
8b00: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 cellpadding="6"
8b10: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c >..<tr><th bgcol
8b20: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 or="#d0d0a0">Rou
8b30: 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 teRow</th><th bg
8b40: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
8b50: 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 Role</th><th bgc
8b60: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c olor="#d0d0a0">L
8b70: 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 inkRowid</th><th
8b80: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
8b90: 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 0">NodeFrom</th>
8ba0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
8bb0: 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 d0a0">NodeTo</th
8bc0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
8bd0: 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 0d0a0">Cost</th>
8be0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
8bf0: 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f d0a0">Geometry</
8c00: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
8c10: 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 #d0d0a0">Name</t
8c20: 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c h></tr>..<tr>..<
8c30: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8c40: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
8c50: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
8c60: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8c70: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
8c80: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8c90: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
8ca0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 align="right">10
8cb0: 31 2e 38 31 35 35 35 32 3c 2f 74 64 3e 3c 74 64 1.815552</td><td
8cc0: 3e 42 4c 4f 42 20 73 7a 3d 32 30 33 32 20 47 45 >BLOB sz=2032 GE
8cd0: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e OMETRY</td><td>N
8ce0: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
8cf0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
8d00: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c ="right">1</td><
8d10: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
8d20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
8d30: 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4014</td><td ali
8d40: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
8d50: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
8d60: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f "right">182885</
8d70: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8d80: 67 68 74 22 3e 31 33 2e 31 32 37 38 37 34 3c 2f ght">13.127874</
8d90: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
8da0: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 <td>VIA PIETRO A
8db0: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 RETINO</td>..</t
8dc0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
8dd0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
8de0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
8df0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8e00: 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 >224446</td><td
8e10: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
8e20: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2885</td><td ali
8e30: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
8e40: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
8e50: 22 72 69 67 68 74 22 3e 39 2e 36 35 34 36 30 38 "right">9.654608
8e60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
8e70: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 d><td>VIA MARGAR
8e80: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ITONE</td>..</tr
8e90: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
8ea0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 gn="right">3</td
8eb0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
8ec0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8ed0: 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 219171</td><td a
8ee0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
8ef0: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 880</td><td alig
8f00: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 n="right">178732
8f10: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
8f20: 72 69 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c right">7.809952<
8f30: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
8f40: 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 ><td>VIA FRANCES
8f50: 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a CO CRISPI</td>..
8f60: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
8f70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 align="right">4
8f80: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
8f90: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8fa0: 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c ht">219058</td><
8fb0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8fc0: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 >178732</td><td
8fd0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
8fe0: 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8754</td><td ali
8ff0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 gn="right">12.44
9000: 35 36 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 5626</td><td>NUL
9010: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 L</td><td>VIA FR
9020: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f ANCESCO CRISPI</
9030: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
9040: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
9050: 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">5</td><td>Li
9060: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
9070: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38 38 3c ="right">225888<
9080: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9090: 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 ight">178754</td
90a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
90b0: 74 22 3e 31 38 33 34 36 31 3c 2f 74 64 3e 3c 74 t">183461</td><t
90c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
90d0: 31 2e 35 39 39 38 36 35 3c 2f 74 64 3e 3c 74 64 1.599865</td><td
90e0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
90f0: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 A FRANCESCO CRIS
9100: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a PI</td>..</tr>..
9110: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
9120: 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 "right">6</td><t
9130: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
9140: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
9150: 38 38 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 887</td><td alig
9160: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 36 31 n="right">183461
9170: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9180: 72 69 67 68 74 22 3e 31 38 32 38 30 30 3c 2f 74 right">182800</t
9190: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
91a0: 68 74 22 3e 33 2e 33 30 30 35 39 30 3c 2f 74 64 ht">3.300590</td
91b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
91c0: 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 d>VIA FRANCESCO
91d0: 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 CRISPI</td>..</t
91e0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
91f0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 ign="right">7</t
9200: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
9210: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9220: 3e 32 32 33 39 33 35 3c 2f 74 64 3e 3c 74 64 20 >223935</td><td
9230: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9240: 32 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2800</td><td ali
9250: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 37 39 gn="right">18279
9260: 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 9</td><td align=
9270: 22 72 69 67 68 74 22 3e 36 2e 36 38 38 37 38 36 "right">6.688786
9280: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
9290: 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 d><td>VIALE LUCA
92a0: 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e SIGNORELLI</td>
92b0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
92c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
92d0: 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >8</td><td>Link<
92e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
92f0: 69 67 68 74 22 3e 32 32 36 30 33 38 3c 2f 74 64 ight">226038</td
9300: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9310: 74 22 3e 31 38 32 37 39 39 3c 2f 74 64 3e 3c 74 t">182799</td><t
9320: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9330: 31 38 33 34 35 36 3c 2f 74 64 3e 3c 74 64 20 61 183456</td><td a
9340: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 32 lign="right">1.2
9350: 39 34 30 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 94017</td><td>NU
9360: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 LL</td><td>VIALE
9370: 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 LUCA SIGNORELLI
9380: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
9390: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
93a0: 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e ight">9</td><td>
93b0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
93c0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 33 gn="right">22583
93d0: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
93e0: 22 72 69 67 68 74 22 3e 31 38 33 34 35 36 3c 2f "right">183456</
93f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9400: 67 68 74 22 3e 31 38 33 34 34 34 3c 2f 74 64 3e ght">183444</td>
9410: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9420: 22 3e 32 2e 33 38 35 34 38 36 3c 2f 74 64 3e 3c ">2.385486</td><
9430: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
9440: 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f VIALE LUCA SIGNO
9450: 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RELLI</td>..</tr
9460: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
9470: 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 gn="right">10</t
9480: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
9490: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
94a0: 3e 32 32 35 38 33 31 3c 2f 74 64 3e 3c 74 64 20 >225831</td><td
94b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
94c0: 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3444</td><td ali
94d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 35 gn="right">18355
94e0: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
94f0: 22 72 69 67 68 74 22 3e 33 2e 31 36 30 36 36 32 "right">3.160662
9500: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
9510: 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 d><td>VIALE LUCA
9520: 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e SIGNORELLI</td>
9530: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
9540: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9550: 3e 31 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b >11</td><td>Link
9560: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9570: 72 69 67 68 74 22 3e 32 32 35 37 36 35 3c 2f 74 right">225765</t
9580: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9590: 68 74 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e 3c ht">183554</td><
95a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
95b0: 3e 31 38 33 39 35 34 3c 2f 74 64 3e 3c 74 64 20 >183954</td><td
95c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e align="right">7.
95d0: 34 36 39 39 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 469917</td><td>N
95e0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c ULL</td><td>VIAL
95f0: 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c E LUCA SIGNORELL
9600: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
9610: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
9620: 72 69 67 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 right">12</td><t
9630: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
9640: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
9650: 37 36 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 766</td><td alig
9660: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 35 34 n="right">183954
9670: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9680: 72 69 67 68 74 22 3e 31 38 33 39 30 35 3c 2f 74 right">183905</t
9690: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
96a0: 68 74 22 3e 33 2e 32 33 36 33 38 39 3c 2f 74 64 ht">3.236389</td
96b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
96c0: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 d>VIALE LUCA SIG
96d0: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f NORELLI</td>..</
96e0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
96f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 3c lign="right">13<
9700: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
9710: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9720: 74 22 3e 32 32 35 39 37 39 3c 2f 74 64 3e 3c 74 t">225979</td><t
9730: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9740: 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 183905</td><td a
9750: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
9760: 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 626</td><td alig
9770: 6e 3d 22 72 69 67 68 74 22 3e 31 33 2e 39 38 33 n="right">13.983
9780: 36 32 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 629</td><td>NULL
9790: 3c 2f 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 </td><td>STRADA
97a0: 53 45 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d SENZA NOME</td>.
97b0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
97c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
97d0: 31 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 14</td><td>Link<
97e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
97f0: 69 67 68 74 22 3e 32 32 34 39 30 35 3c 2f 74 64 ight">224905</td
9800: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9810: 74 22 3e 31 38 33 36 32 36 3c 2f 74 64 3e 3c 74 t">183626</td><t
9820: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9830: 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61 183128</td><td a
9840: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 2e 36 lign="right">5.6
9850: 32 37 33 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 27358</td><td>NU
9860: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 54 52 41 44 LL</td><td>STRAD
9870: 41 20 53 45 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 A SENZA NOME</td
9880: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
9890: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
98a0: 22 3e 31 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e ">15</td><td>Lin
98b0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
98c0: 22 72 69 67 68 74 22 3e 32 32 34 38 39 37 3c 2f "right">224897</
98d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
98e0: 67 68 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e ght">183128</td>
98f0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9900: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
9910: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9920: 30 2e 30 33 30 37 39 32 3c 2f 74 64 3e 3c 74 64 0.030792</td><td
9930: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
9940: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 A MARGARITONE</t
9950: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 d>..</tr>..</tab
9960: 6c 65 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d le>..<verbatim>.
9970: 0a 53 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 .SELECT RouteRow
9980: 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 , Role, LinkRowi
9990: 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 d, NodeFrom, Nod
99a0: 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 eTo, Cost, Geome
99b0: 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 try, Name..FROM
99c0: 62 79 63 61 72 0d 0a 57 48 45 52 45 20 4e 6f 64 bycar..WHERE Nod
99d0: 65 54 6f 20 3d 20 31 37 38 37 33 31 20 41 4e 44 eTo = 178731 AND
99e0: 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33 32 NodeFrom = 1832
99f0: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 86;..</verbatim>
9a00: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d ..<table border=
9a10: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 "1" bgcolor="#ff
9a20: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e ffcf" cellspacin
9a30: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e g="4" cellpaddin
9a40: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 g="6">..<tr><th
9a50: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
9a60: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c ">RouteRow</th><
9a70: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
9a80: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 0a0">Role</th><t
9a90: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
9aa0: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 a0">LinkRowid</t
9ab0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
9ac0: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d d0d0a0">NodeFrom
9ad0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
9ae0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 ="#d0d0a0">NodeT
9af0: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f o</th><th bgcolo
9b00: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 r="#d0d0a0">Cost
9b10: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
9b20: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 ="#d0d0a0">Geome
9b30: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f try</th><th bgco
9b40: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 lor="#d0d0a0">Na
9b50: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 me</th></tr>..<t
9b60: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
9b70: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e ight">0</td><td>
9b80: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 Route</td><td>NU
9b90: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
9ba0: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c ="right">183286<
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 37 38 37 33 31 3c 2f 74 64 ight">178731</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 30 33 2e 33 30 35 32 35 39 3c 2f 74 t">103.305259</t
9bf0: 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 39 34 d><td>BLOB sz=94
9c00: 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 4 GEOMETRY</td><
9c10: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f td>NULL</td>..</
9c20: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
9c30: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f lign="right">1</
9c40: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
9c50: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9c60: 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 ">224414</td><td
9c70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9c80: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83286</td><td al
9c90: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
9ca0: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
9cb0: 3d 22 72 69 67 68 74 22 3e 31 38 2e 38 38 32 32 ="right">18.8822
9cc0: 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 85</td><td>NULL<
9cd0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
9ce0: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
9cf0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
9d00: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f lign="right">2</
9d10: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
9d20: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9d30: 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 ">219171</td><td
9d40: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9d50: 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 78880</td><td al
9d60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
9d70: 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 32</td><td align
9d80: 3d 22 72 69 67 68 74 22 3e 37 2e 38 30 39 39 35 ="right">7.80995
9d90: 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 2</td><td>NULL</
9da0: 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 td><td>VIA FRANC
9db0: 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e ESCO CRISPI</td>
9dc0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
9dd0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9de0: 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >3</td><td>Link<
9df0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
9e00: 69 67 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 ight">219058</td
9e10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9e20: 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 t">178732</td><t
9e30: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9e40: 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 178754</td><td a
9e50: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 2e lign="right">12.
9e60: 34 34 35 36 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 445626</td><td>N
9e70: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
9e80: 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 FRANCESCO CRISPI
9e90: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
9ea0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 r>..<td align="r
9eb0: 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e ight">4</td><td>
9ec0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 Link</td><td ali
9ed0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 gn="right">22453
9ee0: 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 8</td><td align=
9ef0: 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f "right">178754</
9f00: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9f10: 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e ght">181972</td>
9f20: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9f30: 22 3e 37 2e 30 34 37 37 38 34 3c 2f 74 64 3e 3c ">7.047784</td><
9f40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
9f50: 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 VIA ANTONIO GUAD
9f60: 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 AGNOLI</td>..</t
9f70: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
9f80: 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 ign="right">5</t
9f90: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
9fa0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9fb0: 3e 32 32 32 35 37 35 3c 2f 74 64 3e 3c 74 64 20 >222575</td><td
9fc0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9fd0: 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1972</td><td ali
9fe0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 gn="right">18197
9ff0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
a000: 22 72 69 67 68 74 22 3e 31 2e 38 35 32 32 38 33 "right">1.852283
a010: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
a020: 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 d><td>VIA ANTONI
a030: 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 O GUADAGNOLI</td
a040: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c >..</tr>..<td al
a050: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 ign="right">6</t
a060: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
a070: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a080: 3e 32 32 34 39 36 37 3c 2f 74 64 3e 3c 74 64 20 >224967</td><td
a090: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
a0a0: 31 39 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 1971</td><td ali
a0b0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39 gn="right">18289
a0c0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
a0d0: 22 72 69 67 68 74 22 3e 31 34 2e 32 37 33 31 38 "right">14.27318
a0e0: 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 5</td><td>NULL</
a0f0: 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e td><td>VIA ANTON
a100: 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 IO GUADAGNOLI</t
a110: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
a120: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
a130: 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e t">7</td><td>Lin
a140: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
a150: 22 72 69 67 68 74 22 3e 32 32 34 31 36 38 3c 2f "right">224168</
a160: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a170: 67 68 74 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e ght">182891</td>
a180: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a190: 22 3e 31 38 33 30 35 37 3c 2f 74 64 3e 3c 74 64 ">183057</td><td
a1a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 align="right">6
a1b0: 2e 36 34 33 33 30 39 3c 2f 74 64 3e 3c 74 64 3e .643309</td><td>
a1c0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
a1d0: 20 4d 41 43 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a MACALLE'</td>..
a1e0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
a1f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 align="right">8
a200: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
a210: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a220: 68 74 22 3e 32 32 34 31 36 37 3c 2f 74 64 3e 3c ht">224167</td><
a230: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a240: 3e 31 38 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 >183057</td><td
a250: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
a260: 33 30 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3056</td><td ali
a270: 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 31 35 31 gn="right">3.151
a280: 32 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 272</td><td>NULL
a290: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 </td><td>VIA MAC
a2a0: 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ALLE'</td>..</tr
a2b0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
a2c0: 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 gn="right">9</td
a2d0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
a2e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a2f0: 32 32 34 31 37 34 3c 2f 74 64 3e 3c 74 64 20 61 224174</td><td a
a300: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
a310: 30 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 056</td><td alig
a320: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 34 31 n="right">182941
a330: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a340: 72 69 67 68 74 22 3e 37 2e 39 36 36 38 37 30 3c right">7.966870<
a350: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
a360: 3e 3c 74 64 3e 56 49 41 20 52 4f 44 49 3c 2f 74 ><td>VIA RODI</t
a370: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
a380: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
a390: 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 t">10</td><td>Li
a3a0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
a3b0: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 35 39 3c ="right">224059<
a3c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a3d0: 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 ight">182941</td
a3e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a3f0: 74 22 3e 31 38 32 30 30 31 3c 2f 74 64 3e 3c 74 t">182001</td><t
a400: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a410: 36 2e 33 39 33 37 34 37 3c 2f 74 64 3e 3c 74 64 6.393747</td><td
a420: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
a430: 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 A RODI</td>..</t
a440: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
a450: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f ign="right">11</
a460: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
a470: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a480: 22 3e 32 32 32 36 33 37 3c 2f 74 64 3e 3c 74 64 ">222637</td><td
a490: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a4a0: 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 82001</td><td al
a4b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 ign="right">1820
a4c0: 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 00</td><td align
a4d0: 3d 22 72 69 67 68 74 22 3e 32 2e 34 37 35 35 33 ="right">2.47553
a4e0: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
a4f0: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 td><td>VIA PIETR
a500: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a O ARETINO</td>..
a510: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
a520: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a530: 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 2</td><td>Link</
a540: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a550: 67 68 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e ght">222636</td>
a560: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a570: 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 ">182000</td><td
a580: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a590: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 78731</td><td al
a5a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 2e 33 ign="right">14.3
a5b0: 36 33 34 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 63408</td><td>NU
a5c0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 LL</td><td>VIA P
a5d0: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 IETRO ARETINO</t
a5e0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 d>..</tr>..</tab
a5f0: 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f le>..<br>..As yo
a600: 75 20 63 61 6e 20 65 61 73 69 6c 79 20 6e 6f 74 u can easily not
a610: 69 63 65 2c 20 74 68 65 20 6f 70 74 69 6d 61 6c ice, the optimal
a620: 20 70 61 74 68 73 20 72 65 74 75 72 6e 65 64 20 paths returned
a630: 62 79 20 74 68 65 20 3c 62 3e 62 79 63 61 72 3c by the <b>bycar<
a640: 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 /b> VirtualRouti
a650: 6e 67 20 54 61 62 6c 65 20 74 68 65 20 70 61 74 ng Table the pat
a660: 68 73 20 69 6e 20 6f 70 70 6f 73 69 74 65 20 64 hs in opposite d
a670: 69 72 65 63 74 69 6f 6e 73 20 73 74 72 6f 6e 67 irections strong
a680: 6c 79 20 64 69 66 66 65 72 20 62 65 74 77 65 65 ly differ betwee
a690: 6e 20 74 68 65 6d 2c 20 61 6e 64 20 62 6f 74 68 n them, and both
a6a0: 20 61 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 are completely
a6b0: 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 different from t
a6c0: 68 65 20 70 61 74 68 20 72 65 74 75 72 6e 65 64 he path returned
a6d0: 20 62 79 20 71 75 65 72 79 69 6e 67 20 3c 62 3e by querying <b>
a6e0: 62 79 66 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d byfoot</b>.<br>.
a6f0: 0a 41 20 71 75 69 63 6b 20 67 6c 61 6e 63 65 20 .A quick glance
a700: 61 74 20 74 68 65 20 62 65 6c 6f 77 20 6d 61 70 at the below map
a710: 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 68 65 6c will surely hel
a720: 70 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 p to understand
a730: 62 65 74 74 65 72 20 77 68 61 74 27 73 20 72 65 better what's re
a740: 61 6c 6c 79 20 68 61 70 70 65 6e 69 6e 67 2e 3c ally happening.<
a750: 62 72 3e 0d 0a 54 68 69 73 20 69 73 20 61 20 63 br>..This is a c
a760: 65 6e 74 72 61 6c 20 61 72 65 61 20 6f 66 20 74 entral area of t
a770: 68 65 20 74 6f 77 6e 20 6f 66 20 41 72 65 7a 7a he town of Arezz
a780: 6f 20 61 72 6f 75 6e 64 20 74 68 65 20 61 72 63 o around the arc
a790: 68 61 65 6f 6c 6f 67 69 63 61 6c 20 72 75 69 6e haeological ruin
a7a0: 73 20 6f 66 20 74 68 65 20 52 6f 6d 61 6e 20 41 s of the Roman A
a7b0: 6d 70 68 69 74 68 65 61 74 65 72 3b 20 63 69 72 mphitheater; cir
a7c0: 63 75 6c 61 74 69 6e 67 20 62 79 20 63 61 72 20 culating by car
a7d0: 69 73 20 64 69 73 63 6f 75 72 61 67 65 64 20 61 is discouraged a
a7e0: 6e 64 20 69 73 20 73 75 62 6a 65 63 74 20 74 6f nd is subject to
a7f0: 20 6d 61 6e 79 20 6f 6e 65 2d 77 61 79 20 72 65 many one-way re
a800: 73 74 72 69 63 74 69 6f 6e 73 2e 20 4e 6f 74 20 strictions. Not
a810: 73 75 72 70 72 69 73 69 6e 67 6c 79 2c 20 6d 6f surprisingly, mo
a820: 76 69 6e 67 20 62 79 20 66 6f 6f 74 20 69 73 20 ving by foot is
a830: 74 68 65 20 66 61 73 74 65 72 20 6f 70 74 69 6f the faster optio
a840: 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 n...<br><br>..<i
a850: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f mg src="https://
a860: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
a870: 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e gaia-sins/routin
a880: 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e 67 31 2e g-figs/routing1.
a890: 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 31 22 3e jpg" alt="fig1">
a8a0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79 65 6c 6c ..<ul>..<li>yell
a8b0: 6f 77 20 70 61 74 68 3a 20 70 65 64 65 73 74 72 ow path: pedestr
a8c0: 69 61 6e 73 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 67 ians</li>..<li>g
a8d0: 72 65 65 6e 20 70 61 74 68 3a 20 63 61 72 2c 20 reen path: car,
a8e0: 64 69 72 65 63 74 20 64 69 72 65 63 74 69 6f 6e direct direction
a8f0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 72 65 64 20 70 </li>..<li>red p
a900: 61 74 68 3a 20 63 61 72 2c 20 72 65 74 75 72 6e ath: car, return
a910: 20 64 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0d direction</li>.
a920: 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68 .</ul>..<br>..<h
a930: 72 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72 65 66 3d r><br>..<a href=
a940: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
a950: 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f a-gis.it/fossil/
a960: 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 libspatialite/wi
a970: 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f ki?name=4.3.0-do
a980: 63 22 3e 62 61 63 6b 3c 2f 61 3e 0a 5a 20 35 65 c">back</a>.Z 5e
a990: 65 61 64 65 30 63 65 64 37 62 64 61 37 63 35 35 eade0ced7bda7c55
a9a0: 36 61 63 61 62 30 36 34 62 65 65 33 65 65 0a 6acab064bee3ee.