Wiki page
[VirtualRouting] by
sandro
2018-04-02 17:38:40.
0000: 44 20 32 30 31 38 2d 30 34 2d 30 32 54 31 37 3a D 2018-04-02T17:
0010: 33 38 3a 34 30 2e 34 37 39 0a 4c 20 56 69 72 74 38:40.479.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 39 37 37 ualRouting.P 977
0030: 61 65 35 37 32 64 31 30 66 62 62 31 31 37 34 33 ae572d10fbb11743
0040: 64 66 39 34 31 30 65 34 66 34 64 61 64 35 35 39 df9410e4f4dad559
0050: 39 61 65 62 36 0a 55 20 73 61 6e 64 72 6f 0a 57 9aeb6.U sandro.W
0060: 20 33 39 33 31 35 0a 3c 61 20 68 72 65 66 3d 22 39315.<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 76 65 72 62 61 74 69 6d 3e 0d 0a 53 >..<verbatim>..S
78a0: 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 ELECT RouteRow,
78b0: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c Role, LinkRowid,
78c0: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 NodeFrom, NodeT
78d0: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 o, Cost, Geometr
78e0: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 y, Name..FROM by
78f0: 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 foot..WHERE Node
7900: 54 6f 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 To = 178731 AND
7910: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 NodeFrom = 18328
7920: 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 6;..</verbatim>.
7930: 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 .<table border="
7940: 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 1" bgcolor="#fff
7950: 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 fcf" cellspacing
7960: 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 ="4" cellpadding
7970: 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 ="6">..<tr><th b
7980: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
7990: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 >RouteRow</th><t
79a0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
79b0: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 a0">Role</th><th
79c0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
79d0: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 0">LinkRowid</th
79e0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
79f0: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 0d0a0">NodeFrom<
7a00: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
7a10: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f "#d0d0a0">NodeTo
7a20: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
7a30: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c ="#d0d0a0">Cost<
7a40: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
7a50: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 "#d0d0a0">Geomet
7a60: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ry</th><th bgcol
7a70: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d or="#d0d0a0">Nam
7a80: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 e</th></tr>..<tr
7a90: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
7aa0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
7ab0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
7ac0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
7ad0: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
7ae0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
7af0: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
7b00: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
7b10: 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 ">300.912208</td
7b20: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 ><td>BLOB sz=272
7b30: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
7b40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
7b50: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
7b60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 ign="right">1</t
7b70: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
7b80: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
7b90: 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 >224414</td><td
7ba0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
7bb0: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3286</td><td ali
7bc0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
7bd0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
7be0: 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30 "right">136.3720
7bf0: 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 57</td><td>NULL<
7c00: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 /td><td>VIA MARG
7c10: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f ARITONE</td>..</
7c20: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
7c30: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
7c40: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
7c50: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
7c60: 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 46</td><td align
7c70: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
7c80: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
7c90: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 ight">182885</td
7ca0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
7cb0: 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 t">69.727726</td
7cc0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7cd0: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e d>VIA MARGARITON
7ce0: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
7cf0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
7d00: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
7d10: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
7d20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 ign="right">2240
7d30: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 14</td><td align
7d40: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c ="right">182885<
7d50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
7d60: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 ight">178731</td
7d70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
7d80: 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 t">94.812424</td
7d90: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7da0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 d>VIA PIETRO ARE
7db0: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TINO</td>..</tr>
7dc0: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 76 65 72 ..</table>..<ver
7dd0: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 batim>..SELECT R
7de0: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c outeRow, Role, L
7df0: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 inkRowid, NodeFr
7e00: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 om, NodeTo, Cost
7e10: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 , Geometry, Name
7e20: 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48 ..FROM bycar..WH
7e30: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 ERE NodeFrom = 1
7e40: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 78731 AND NodeTo
7e50: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 = 183286;..</ve
7e60: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 rbatim>..<table
7e70: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c border="1" bgcol
7e80: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c or="#ffffcf" cel
7e90: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c lspacing="4" cel
7ea0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c lpadding="6">..<
7eb0: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 tr><th bgcolor="
7ec0: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f #d0d0a0">RouteRo
7ed0: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f w</th><th bgcolo
7ee0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 r="#d0d0a0">Role
7ef0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
7f00: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 ="#d0d0a0">LinkR
7f10: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 owid</th><th bgc
7f20: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
7f30: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 odeFrom</th><th
7f40: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
7f50: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 ">NodeTo</th><th
7f60: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
7f70: 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 0">Cost</th><th
7f80: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
7f90: 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c ">Geometry</th><
7fa0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
7fb0: 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 0a0">Name</th></
7fc0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
7fd0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f lign="right">0</
7fe0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 td><td>Route</td
7ff0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
8000: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8010: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
8020: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
8030: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 286</td><td alig
8040: 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e 38 31 n="right">101.81
8050: 35 35 35 32 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 5552</td><td>BLO
8060: 42 20 73 7a 3d 32 30 33 32 20 47 45 4f 4d 45 54 B sz=2032 GEOMET
8070: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c RY</td><td>NULL<
8080: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
8090: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
80a0: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c ght">1</td><td>L
80b0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
80c0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 n="right">224014
80d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
80e0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
80f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8100: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c ht">182885</td><
8110: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8120: 3e 31 33 2e 31 32 37 38 37 34 3c 2f 74 64 3e 3c >13.127874</td><
8130: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
8140: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 VIA PIETRO ARETI
8150: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a NO</td>..</tr>..
8160: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
8170: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 "right">2</td><t
8180: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
8190: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
81a0: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 446</td><td alig
81b0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 n="right">182885
81c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
81d0: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 right">178880</t
81e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
81f0: 68 74 22 3e 39 2e 36 35 34 36 30 38 3c 2f 74 64 ht">9.654608</td
8200: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
8210: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e d>VIA MARGARITON
8220: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c E</td>..</tr>..<
8230: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
8240: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 right">3</td><td
8250: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
8260: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 ign="right">2191
8270: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 71</td><td align
8280: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c ="right">178880<
8290: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
82a0: 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 ight">178732</td
82b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
82c0: 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e t">7.809952</td>
82d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
82e0: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 >VIA FRANCESCO C
82f0: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 RISPI</td>..</tr
8300: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
8310: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 gn="right">4</td
8320: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
8330: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8340: 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 219058</td><td a
8350: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
8360: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 732</td><td alig
8370: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 n="right">178754
8380: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
8390: 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36 right">12.445626
83a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
83b0: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 d><td>VIA FRANCE
83c0: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d SCO CRISPI</td>.
83d0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
83e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
83f0: 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 5</td><td>Link</
8400: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8410: 67 68 74 22 3e 32 32 35 38 38 38 3c 2f 74 64 3e ght">225888</td>
8420: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8430: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 ">178754</td><td
8440: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
8450: 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 83461</td><td al
8460: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 35 39 ign="right">1.59
8470: 39 38 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 9865</td><td>NUL
8480: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 L</td><td>VIA FR
8490: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f ANCESCO CRISPI</
84a0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
84b0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
84c0: 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">6</td><td>Li
84d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
84e0: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38 37 3c ="right">225887<
84f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
8500: 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f 74 64 ight">183461</td
8510: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
8520: 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e 3c 74 t">182800</td><t
8530: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8540: 33 2e 33 30 30 35 39 30 3c 2f 74 64 3e 3c 74 64 3.300590</td><td
8550: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
8560: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 A FRANCESCO CRIS
8570: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a PI</td>..</tr>..
8580: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
8590: 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 "right">7</td><t
85a0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
85b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33 lign="right">223
85c0: 39 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 935</td><td alig
85d0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 30 30 n="right">182800
85e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
85f0: 72 69 67 68 74 22 3e 31 38 32 37 39 39 3c 2f 74 right">182799</t
8600: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8610: 68 74 22 3e 36 2e 36 38 38 37 38 36 3c 2f 74 64 ht">6.688786</td
8620: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
8630: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 d>VIALE LUCA SIG
8640: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f NORELLI</td>..</
8650: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
8660: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f lign="right">8</
8670: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
8680: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8690: 22 3e 32 32 36 30 33 38 3c 2f 74 64 3e 3c 74 64 ">226038</td><td
86a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
86b0: 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 82799</td><td al
86c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 ign="right">1834
86d0: 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 56</td><td align
86e0: 3d 22 72 69 67 68 74 22 3e 31 2e 32 39 34 30 31 ="right">1.29401
86f0: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 7</td><td>NULL</
8700: 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 td><td>VIALE LUC
8710: 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 A SIGNORELLI</td
8720: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
8730: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8740: 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">9</td><td>Link
8750: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
8760: 72 69 67 68 74 22 3e 32 32 35 38 33 32 3c 2f 74 right">225832</t
8770: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8780: 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c ht">183456</td><
8790: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
87a0: 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20 >183444</td><td
87b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e align="right">2.
87c0: 33 38 35 34 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 385486</td><td>N
87d0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c ULL</td><td>VIAL
87e0: 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c E LUCA SIGNORELL
87f0: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
8800: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
8810: 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 right">10</td><t
8820: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
8830: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 lign="right">225
8840: 38 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 831</td><td alig
8850: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 34 34 n="right">183444
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 31 38 33 35 35 34 3c 2f 74 right">183554</t
8880: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8890: 68 74 22 3e 33 2e 31 36 30 36 36 32 3c 2f 74 64 ht">3.160662</td
88a0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
88b0: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 d>VIALE LUCA SIG
88c0: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f NORELLI</td>..</
88d0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
88e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c lign="right">11<
88f0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
8900: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
8910: 74 22 3e 32 32 35 37 36 35 3c 2f 74 64 3e 3c 74 t">225765</td><t
8920: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8930: 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61 183554</td><td a
8940: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
8950: 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 954</td><td alig
8960: 6e 3d 22 72 69 67 68 74 22 3e 37 2e 34 36 39 39 n="right">7.4699
8970: 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 17</td><td>NULL<
8980: 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 /td><td>VIALE LU
8990: 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 CA SIGNORELLI</t
89a0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
89b0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
89c0: 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 t">12</td><td>Li
89d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
89e0: 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36 36 3c ="right">225766<
89f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
8a00: 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f 74 64 ight">183954</td
8a10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
8a20: 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74 t">183905</td><t
8a30: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
8a40: 33 2e 32 33 36 33 38 39 3c 2f 74 64 3e 3c 74 64 3.236389</td><td
8a50: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
8a60: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 ALE LUCA SIGNORE
8a70: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d LLI</td>..</tr>.
8a80: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
8a90: 3d 22 72 69 67 68 74 22 3e 31 33 3c 2f 74 64 3e ="right">13</td>
8aa0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
8ab0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
8ac0: 32 35 39 37 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 25979</td><td al
8ad0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 ign="right">1839
8ae0: 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 05</td><td align
8af0: 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32 36 3c ="right">183626<
8b00: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
8b10: 69 67 68 74 22 3e 31 33 2e 39 38 33 36 32 39 3c ight">13.983629<
8b20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
8b30: 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a ><td>STRADA SENZ
8b40: 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 A NOME</td>..</t
8b50: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
8b60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 3c 2f ign="right">14</
8b70: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
8b80: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8b90: 22 3e 32 32 34 39 30 35 3c 2f 74 64 3e 3c 74 64 ">224905</td><td
8ba0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
8bb0: 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83626</td><td al
8bc0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 ign="right">1831
8bd0: 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 28</td><td align
8be0: 3d 22 72 69 67 68 74 22 3e 35 2e 36 32 37 33 35 ="right">5.62735
8bf0: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
8c00: 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 td><td>STRADA SE
8c10: 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c NZA NOME</td>..<
8c20: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
8c30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 align="right">15
8c40: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
8c50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
8c60: 68 74 22 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c ht">224897</td><
8c70: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8c80: 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 >183128</td><td
8c90: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
8ca0: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3286</td><td ali
8cb0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 2e 30 33 gn="right">10.03
8cc0: 30 37 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 0792</td><td>NUL
8cd0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 L</td><td>VIA MA
8ce0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a RGARITONE</td>..
8cf0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
8d00: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
8d10: 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f ECT RouteRow, Ro
8d20: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e le, LinkRowid, N
8d30: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c odeFrom, NodeTo,
8d40: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c Cost, Geometry,
8d50: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 Name..FROM byca
8d60: 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 r..WHERE NodeTo
8d70: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 = 178731 AND Nod
8d80: 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d eFrom = 183286;.
8d90: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 .</verbatim>..<t
8da0: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 able border="1"
8db0: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 bgcolor="#ffffcf
8dc0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 " cellspacing="4
8dd0: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 " cellpadding="6
8de0: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f ">..<tr><th bgco
8df0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
8e00: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 uteRow</th><th b
8e10: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
8e20: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 >Role</th><th bg
8e30: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
8e40: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 LinkRowid</th><t
8e50: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
8e60: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 a0">NodeFrom</th
8e70: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
8e80: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 0d0a0">NodeTo</t
8e90: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
8ea0: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 d0d0a0">Cost</th
8eb0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
8ec0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 0d0a0">Geometry<
8ed0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
8ee0: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f "#d0d0a0">Name</
8ef0: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a th></tr>..<tr>..
8f00: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8f10: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
8f20: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
8f30: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8f40: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e ght">183286</td>
8f50: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8f60: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 ">178731</td><td
8f70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
8f80: 30 33 2e 33 30 35 32 35 39 3c 2f 74 64 3e 3c 74 03.305259</td><t
8f90: 64 3e 42 4c 4f 42 20 73 7a 3d 39 34 34 20 47 45 d>BLOB sz=944 GE
8fa0: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e OMETRY</td><td>N
8fb0: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ULL</td>..</tr>.
8fc0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
8fd0: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c ="right">1</td><
8fe0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
8ff0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
9000: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4414</td><td ali
9010: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 gn="right">18328
9020: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 6</td><td align=
9030: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f "right">178880</
9040: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9050: 67 68 74 22 3e 31 38 2e 38 38 32 32 38 35 3c 2f ght">18.882285</
9060: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
9070: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 <td>VIA MARGARIT
9080: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d ONE</td>..</tr>.
9090: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
90a0: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c ="right">2</td><
90b0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
90c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 align="right">21
90d0: 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 9171</td><td ali
90e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
90f0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
9100: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f "right">178732</
9110: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9120: 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 ght">7.809952</t
9130: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
9140: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f td>VIA FRANCESCO
9150: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f CRISPI</td>..</
9160: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
9170: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f lign="right">3</
9180: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
9190: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
91a0: 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 ">219058</td><td
91b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
91c0: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 78732</td><td al
91d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
91e0: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 54</td><td align
91f0: 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 ="right">12.4456
9200: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 26</td><td>NULL<
9210: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e /td><td>VIA FRAN
9220: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 CESCO CRISPI</td
9230: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
9240: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9250: 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">4</td><td>Link
9260: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9270: 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 right">224538</t
9280: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9290: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c ht">178754</td><
92a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
92b0: 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 >181972</td><td
92c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e align="right">7.
92d0: 30 34 37 37 38 34 3c 2f 74 64 3e 3c 74 64 3e 4e 047784</td><td>N
92e0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
92f0: 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f ANTONIO GUADAGNO
9300: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LI</td>..</tr>..
9310: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
9320: 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 "right">5</td><t
9330: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
9340: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 lign="right">222
9350: 35 37 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 575</td><td alig
9360: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 n="right">181972
9370: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9380: 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74 right">181971</t
9390: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
93a0: 68 74 22 3e 31 2e 38 35 32 32 38 33 3c 2f 74 64 ht">1.852283</td
93b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
93c0: 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 d>VIA ANTONIO GU
93d0: 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c ADAGNOLI</td>..<
93e0: 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d /tr>..<td align=
93f0: 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 "right">6</td><t
9400: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
9410: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
9420: 39 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 967</td><td alig
9430: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 31 n="right">181971
9440: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9450: 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c 2f 74 right">182891</t
9460: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9470: 68 74 22 3e 31 34 2e 32 37 33 31 38 35 3c 2f 74 ht">14.273185</t
9480: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
9490: 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 td>VIA ANTONIO G
94a0: 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a UADAGNOLI</td>..
94b0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
94c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 align="right">7
94d0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
94e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
94f0: 68 74 22 3e 32 32 34 31 36 38 3c 2f 74 64 3e 3c ht">224168</td><
9500: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9510: 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20 >182891</td><td
9520: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9530: 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3057</td><td ali
9540: 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36 34 33 gn="right">6.643
9550: 33 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 309</td><td>NULL
9560: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 </td><td>VIA MAC
9570: 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ALLE'</td>..</tr
9580: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
9590: 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 gn="right">8</td
95a0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 ><td>Link</td><t
95b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
95c0: 32 32 34 31 36 37 3c 2f 74 64 3e 3c 74 64 20 61 224167</td><td a
95d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
95e0: 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 057</td><td alig
95f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 n="right">183056
9600: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9610: 72 69 67 68 74 22 3e 33 2e 31 35 31 32 37 32 3c right">3.151272<
9620: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
9630: 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45 ><td>VIA MACALLE
9640: 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c '</td>..</tr>..<
9650: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
9660: 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 right">9</td><td
9670: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
9680: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31 ign="right">2241
9690: 37 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 74</td><td align
96a0: 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c ="right">183056<
96b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
96c0: 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 ight">182941</td
96d0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
96e0: 74 22 3e 37 2e 39 36 36 38 37 30 3c 2f 74 64 3e t">7.966870</td>
96f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
9700: 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a >VIA RODI</td>..
9710: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
9720: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9730: 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 0</td><td>Link</
9740: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9750: 67 68 74 22 3e 32 32 34 30 35 39 3c 2f 74 64 3e ght">224059</td>
9760: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9770: 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64 ">182941</td><td
9780: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9790: 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 82001</td><td al
97a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 33 39 ign="right">6.39
97b0: 33 37 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 3747</td><td>NUL
97c0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f L</td><td>VIA RO
97d0: 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a DI</td>..</tr>..
97e0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
97f0: 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c "right">11</td><
9800: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
9810: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
9820: 32 36 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2637</td><td ali
9830: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 gn="right">18200
9840: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
9850: 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f "right">182000</
9860: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9870: 67 68 74 22 3e 32 2e 34 37 35 35 33 38 3c 2f 74 ght">2.475538</t
9880: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
9890: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 td>VIA PIETRO AR
98a0: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ETINO</td>..</tr
98b0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 >..<tr>..<td ali
98c0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 gn="right">12</t
98d0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
98e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
98f0: 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 >222636</td><td
9900: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9910: 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2000</td><td ali
9920: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
9930: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
9940: 22 72 69 67 68 74 22 3e 31 34 2e 33 36 33 34 30 "right">14.36340
9950: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
9960: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 td><td>VIA PIETR
9970: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a O ARETINO</td>..
9980: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
9990: 0a 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 ...<br><br>..<hr
99a0: 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 ><br>..<a href="
99b0: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
99c0: 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c -gis.it/fossil/l
99d0: 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 6b ibspatialite/wik
99e0: 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 i?name=4.3.0-doc
99f0: 22 3e 62 61 63 6b 3c 2f 61 3e 0a 5a 20 32 31 37 ">back</a>.Z 217
9a00: 37 35 38 66 30 34 65 32 36 36 39 62 30 37 66 38 758f04e2669b07f8
9a10: 35 64 30 39 36 61 32 61 61 33 61 35 37 0a 5d096a2aa3a57.