Wiki page
[VirtualRouting] by
sandro
2018-04-03 16:15:15.
0000: 44 20 32 30 31 38 2d 30 34 2d 30 33 54 31 36 3a D 2018-04-03T16:
0010: 31 35 3a 31 35 2e 30 31 35 0a 4c 20 56 69 72 74 15:15.015.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 37 61 38 ualRouting.P 7a8
0030: 63 33 38 37 30 32 32 61 37 35 62 35 66 64 62 66 c387022a75b5fdbf
0040: 37 32 34 66 31 32 39 62 63 62 35 32 66 35 39 31 724f129bcb52f591
0050: 35 64 37 35 32 0a 55 20 73 61 6e 64 72 6f 0a 57 5d752.U sandro.W
0060: 20 35 31 39 35 35 0a 3c 61 20 68 72 65 66 3d 22 51955.<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 28 62 61 73 65 64 20 6f 6e 20 query (based on
3770: 74 68 65 20 3c 69 3e 72 65 64 75 63 65 64 20 66 the <i>reduced f
3780: 6f 72 6d 3c 2f 69 3e 20 6f 66 20 3c 62 3e 43 72 orm</i> of <b>Cr
3790: 65 61 74 65 52 6f 75 74 69 6e 67 3c 2f 62 3e 29 eateRouting</b>)
37a0: 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 69 6e 74 contains an int
37b0: 65 6e 64 65 64 20 65 72 72 6f 72 20 63 61 75 73 ended error caus
37c0: 69 6e 67 20 61 20 66 61 69 6c 75 72 65 20 61 6e ing a failure an
37d0: 64 20 74 68 75 73 20 72 61 69 73 69 6e 67 20 61 d thus raising a
37e0: 6e 20 65 78 63 65 70 74 69 6f 6e 2e 3c 62 72 3e n exception.<br>
37f0: 0d 0a 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 ..CreateRouting(
3800: 29 20 63 61 6e 20 66 61 69 6c 20 66 6f 72 20 6d ) can fail for m
3810: 75 6c 74 69 70 6c 65 20 72 65 61 73 6f 6e 73 2c ultiple reasons,
3820: 20 61 6e 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 and by calling
3830: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 <b>CreateRouting
3840: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3c _GetLastError()<
3850: 2f 62 3e 20 79 6f 75 20 63 61 6e 20 65 61 73 69 /b> you can easi
3860: 6c 79 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 ly identify the
3870: 65 78 61 63 74 20 72 65 61 73 6f 6e 20 77 68 79 exact reason why
3880: 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 the most recent
3890: 20 63 61 6c 6c 20 74 6f 20 43 72 65 61 74 65 52 call to CreateR
38a0: 6f 75 74 69 6e 67 28 29 20 66 61 69 6c 65 64 2e outing() failed.
38b0: 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e <br>..<verbatim>
38c0: 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 74 65 52 ..SELECT CreateR
38d0: 6f 75 74 69 6e 67 28 27 62 79 66 6f 6f 74 5f 64 outing('byfoot_d
38e0: 61 74 61 27 2c 20 27 62 79 66 6f 6f 74 27 2c 20 ata', 'byfoot',
38f0: 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e 6f 64 'roads_vw', 'nod
3900: 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f 74 e_from', 'node_t
3910: 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e 55 4c 4c o', 'geom', NULL
3920: 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20 31 2c 20 , 'toponym', 1,
3930: 31 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 1);..-----------
3940: 2d 2d 0d 0a 31 0d 0a 0d 0a 53 45 4c 45 43 54 20 --..1....SELECT
3950: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 CreateRouting_Ge
3960: 74 4c 61 73 74 45 72 72 6f 72 28 29 3b 0d 0a 2d tLastError();..-
3970: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3980: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3990: 2d 2d 2d 0d 0a 4e 55 4c 4c 0d 0a 3c 2f 76 65 72 ---..NULL..</ver
39a0: 62 61 74 69 6d 3e 0d 0a 54 68 69 73 20 73 65 63 batim>..This sec
39b0: 6f 6e 64 20 61 74 74 65 6d 70 74 20 69 73 20 66 ond attempt is f
39c0: 69 6e 61 6c 6c 79 20 73 75 63 63 65 73 73 66 75 inally successfu
39d0: 6c 2c 20 61 6e 64 20 6e 6f 77 20 43 72 65 61 74 l, and now Creat
39e0: 65 52 6f 75 74 69 6e 67 28 29 20 72 65 74 75 72 eRouting() retur
39f0: 6e 73 20 3c 62 3e 31 3c 2f 62 3e 20 28 3c 69 3e ns <b>1</b> (<i>
3a00: 61 6b 61 3c 2f 69 3e 20 3c 62 3e 54 52 55 45 3c aka</i> <b>TRUE<
3a10: 2f 62 3e 29 2c 20 61 6e 64 20 61 73 20 79 6f 75 /b>), and as you
3a20: 20 63 61 6e 20 65 61 73 69 6c 79 20 63 68 65 63 can easily chec
3a30: 6b 20 6e 6f 77 20 74 68 65 20 44 61 74 61 62 61 k now the Databa
3a40: 73 65 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 se contains two
3a50: 6e 65 77 20 54 61 62 6c 65 73 3a 20 3c 62 3e 62 new Tables: <b>b
3a60: 79 66 6f 6f 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 yfoot</b> and <b
3a70: 3e 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f 62 3e >byfoot_data</b>
3a80: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f .<br>..<u>Note</
3a90: 75 3e 3a 20 61 66 74 65 72 20 61 20 73 75 63 63 u>: after a succ
3aa0: 65 73 73 66 75 6c 20 63 61 6c 6c 20 74 6f 20 43 essful call to C
3ab0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 3c reateRouting() <
3ac0: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f b>CreateRouting_
3ad0: 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3c 2f GetLastError()</
3ae0: 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 72 b> will always r
3af0: 65 74 75 72 6e 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 eturn <b>NULL</b
3b00: 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 59 6f 75 27 >.<br><br>..You'
3b10: 76 65 20 6a 75 73 74 20 75 73 65 64 20 6f 6e 65 ve just used one
3b20: 20 6f 66 20 74 68 65 20 3c 69 3e 70 61 72 74 69 of the <i>parti
3b30: 61 6c 6c 79 20 72 65 64 75 63 65 64 20 66 6f 72 ally reduced for
3b40: 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 52 m</i> of CreateR
3b50: 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27 73 20 outing(); let's
3b60: 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65 70 74 see in more dept
3b70: 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 h all the argume
3b80: 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65 nts and their me
3b90: 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c aning:..<ol>..<l
3ba0: 69 3e 3c 69 3e 62 79 66 6f 6f 74 5f 64 61 74 61 i><i>byfoot_data
3bb0: 3c 2f 69 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f </i>: the name o
3bc0: 66 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 42 69 f the Network Bi
3bd0: 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 20 nary Data Table
3be0: 74 6f 20 62 65 20 63 72 65 61 74 65 64 2e 3c 2f to be created.</
3bf0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f li>..<li><i>byfo
3c00: 6f 74 3c 2f 69 3e 3a 20 74 68 65 20 6e 61 6d 65 ot</i>: the name
3c10: 20 6f 66 20 74 68 65 20 56 69 72 74 75 61 6c 52 of the VirtualR
3c20: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 74 6f 20 outing Table to
3c30: 62 65 20 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e be created.</li>
3c40: 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76 ..<li><i>roads_v
3c50: 77 3c 2f 69 3e 3a 20 74 68 65 20 6e 61 6d 65 20 w</i>: the name
3c60: 6f 66 20 74 68 65 20 3c 62 3e 53 70 61 74 69 61 of the <b>Spatia
3c70: 6c 20 54 61 62 6c 65 3c 2f 62 3e 20 6f 72 20 3c l Table</b> or <
3c80: 62 3e 53 70 61 74 69 61 6c 20 56 69 65 77 3c 2f b>Spatial View</
3c90: 62 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 b> representing
3ca0: 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e the underlying N
3cb0: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e etwork.<br>..<u>
3cc0: 4e 6f 74 65 3c 2f 75 3e 3a 20 69 6e 20 74 68 69 Note</u>: in thi
3cd0: 73 20 63 61 73 65 20 77 65 20 61 63 74 75 61 6c s case we actual
3ce0: 6c 79 20 75 73 65 64 20 61 20 53 70 61 74 69 61 ly used a Spatia
3cf0: 6c 20 56 69 65 77 2e 3c 2f 6c 69 3e 0d 0a 3c 6c l View.</li>..<l
3d00: 69 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f i><i>node_from</
3d10: 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 i>: name of the
3d20: 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 column (in the a
3d30: 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 bove Table or Vi
3d40: 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 ew) expected to
3d50: 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f 64 65 2d contain <b>node-
3d60: 66 72 6f 6d 3c 2f 62 3e 20 76 61 6c 75 65 73 2e from</b> values.
3d70: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f </li>..<li><i>no
3d80: 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 20 de_to</i>: name
3d90: 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 of the column (i
3da0: 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c n the above Tabl
3db0: 65 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 e or View) expec
3dc0: 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c ted to contain <
3dd0: 62 3e 6e 6f 64 65 2d 74 6f 3c 2f 62 3e 20 76 61 b>node-to</b> va
3de0: 6c 75 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e lues.</li>..<li>
3df0: 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d <i>geom</i>: nam
3e00: 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 e of the column
3e10: 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 (in the above Ta
3e20: 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78 70 ble or View) exp
3e30: 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e ected to contain
3e40: 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e 67 73 3c <b>Linestrings<
3e50: 2f 62 3e 2e 3c 62 72 3e 0d 0a 57 65 20 63 6f 75 /b>.<br>..We cou
3e60: 6c 64 20 68 61 76 65 20 6c 65 67 69 74 69 6d 61 ld have legitima
3e70: 74 65 6c 79 20 70 61 73 73 65 64 20 61 20 3c 62 tely passed a <b
3e80: 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 20 >NULL</b> value
3e90: 66 6f 72 20 74 68 69 73 20 61 72 67 75 6d 65 6e for this argumen
3ea0: 74 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 t in the case of
3eb0: 20 61 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 a <b>Logical Ne
3ec0: 74 77 6f 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d twork</b>.</li>.
3ed0: 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e .<li><i>NULL</i>
3ee0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f : name of the co
3ef0: 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f lumn (in the abo
3f00: 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 ve Table or View
3f10: 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f ) expected to co
3f20: 6e 74 61 69 6e 20 3c 62 3e 63 6f 73 74 3c 2f 62 ntain <b>cost</b
3f30: 3e 20 76 61 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 > values.<br>..I
3f40: 6e 20 74 68 69 73 20 63 61 73 65 20 77 65 20 68 n this case we h
3f50: 61 76 65 20 70 61 73 73 65 64 20 61 20 3c 62 3e ave passed a <b>
3f60: 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 2c 20 NULL</b> value,
3f70: 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 and consequently
3f80: 20 74 68 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e the <b>cost</b>
3f90: 20 6f 66 20 65 61 63 68 20 4c 69 6e 6b 20 77 69 of each Link wi
3fa0: 6c 6c 20 62 65 20 61 73 73 75 6d 65 64 20 74 6f ll be assumed to
3fb0: 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 be represented
3fc0: 62 79 20 74 68 65 20 3c 62 3e 67 65 6f 6d 65 74 by the <b>geomet
3fd0: 72 69 63 20 6c 65 6e 67 74 68 3c 2f 62 3e 20 6f ric length</b> o
3fe0: 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 f the correspond
3ff0: 69 6e 67 20 4c 69 6e 65 73 74 72 69 6e 67 2e 3c ing Linestring.<
4000: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c br>..<u>Note #1<
4010: 2f 75 3e 3a 20 69 6e 20 74 68 65 20 63 61 73 65 /u>: in the case
4020: 20 6f 66 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 of Networks bas
4030: 65 64 20 6f 6e 20 3c 62 3e 6c 6f 6e 67 69 74 75 ed on <b>longitu
4040: 64 65 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c des</b> and <b>l
4050: 61 74 69 74 75 64 65 73 3c 2f 62 3e 20 28 3c 69 atitudes</b> (<i
4060: 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 67 65 6f 67 >aka</i> <b>geog
4070: 72 61 70 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 raphic</b> Refer
4080: 65 6e 63 65 20 53 79 73 74 65 6d 73 29 20 74 68 ence Systems) th
4090: 65 20 67 65 6f 6d 65 74 72 79 20 6c 65 6e 67 74 e geometry lengt
40a0: 68 20 6f 66 20 61 6c 6c 20 4c 69 6e 65 73 74 72 h of all Linestr
40b0: 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 70 72 65 ings will be pre
40c0: 63 69 73 65 6c 79 20 3c 62 3e 6d 65 61 73 75 72 cisely <b>measur
40d0: 65 64 20 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 ed on the ellips
40e0: 6f 69 64 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 oid</b> by apply
40f0: 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63 63 ing the most acc
4100: 75 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 urate <b>geodesi
4110: 63 20 66 6f 72 6d 75 6c 61 65 3c 2f 62 3e 20 61 c formulae</b> a
4120: 6e 64 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 65 nd will be conse
4130: 71 75 65 6e 74 6c 79 20 65 78 70 72 65 73 73 65 quently expresse
4140: 64 20 69 6e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f d in <b>meters</
4150: 62 3e 2e 20 49 6e 20 61 6e 79 20 6f 74 68 65 72 b>. In any other
4160: 20 63 61 73 65 20 28 3c 62 3e 70 72 6f 6a 65 63 case (<b>projec
4170: 74 65 64 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 ted</b> Referenc
4180: 65 20 53 79 73 74 65 6d 73 29 20 6c 65 6e 67 74 e Systems) lengt
4190: 68 73 20 77 69 6c 6c 20 62 65 20 65 78 70 72 65 hs will be expre
41a0: 73 73 65 64 20 69 6e 20 74 68 65 20 3c 62 3e 6d ssed in the <b>m
41b0: 65 61 73 75 72 65 20 75 6e 69 74 3c 2f 62 3e 20 easure unit</b>
41c0: 64 65 66 69 6e 65 64 20 62 79 20 74 68 65 20 52 defined by the R
41d0: 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d 20 eference System
41e0: 28 65 2e 67 2e 20 3c 62 3e 6d 65 74 65 72 73 3c (e.g. <b>meters<
41f0: 2f 62 3e 20 66 6f 72 20 3c 62 3e 55 54 4d 3c 2f /b> for <b>UTM</
4200: 62 3e 20 70 72 6f 6a 65 63 74 69 6f 6e 73 20 61 b> projections a
4210: 6e 64 20 3c 62 3e 66 65 65 74 3c 2f 62 3e 20 66 nd <b>feet</b> f
4220: 6f 72 20 3c 62 3e 4e 41 44 2d 66 74 3c 2f 62 3e or <b>NAD-ft</b>
4230: 20 70 72 6f 6a 65 63 74 69 6f 6e 73 29 2e 3c 62 projections).<b
4240: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f r>..<u>Note #2</
4250: 75 3e 3a 20 74 68 65 20 3c 62 3e 67 65 6f 6d 2d u>: the <b>geom-
4260: 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 61 6e 64 20 3c column</b> and <
4270: 62 3e 63 6f 73 74 2d 63 6f 6c 75 6d 6e 3c 2f 62 b>cost-column</b
4280: 3e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 > arguments are
4290: 6e 65 76 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f never allowed to
42a0: 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 be <b>NULL</b>
42b0: 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 at the same time
42c0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 .</li>..<li><i>t
42d0: 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 oponym</i>: name
42e0: 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 of the column (
42f0: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 in the above Tab
4300: 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 le or View) expe
4310: 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 cted to contain
4320: 3c 62 3e 72 6f 61 64 2d 6e 61 6d 65 3c 2f 62 3e <b>road-name</b>
4330: 20 76 61 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 74 values.<br>..It
4340: 20 63 6f 75 6c 64 20 62 65 20 6c 65 67 69 74 69 could be legiti
4350: 6d 61 74 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 mately set to <b
4360: 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 61 6c 6c >NULL</b> if all
4370: 20 4c 69 6e 6b 73 20 61 72 65 20 61 6e 6f 6e 79 Links are anony
4380: 6d 6f 75 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e mous.</li>..<li>
4390: 3c 69 3e 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c <i>1</i>: a bool
43a0: 65 61 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64 65 ean flag intende
43b0: 64 20 74 6f 20 73 70 65 63 69 66 79 20 69 66 20 d to specify if
43c0: 74 68 65 20 4e 65 74 77 6f 72 6b 20 6d 75 73 74 the Network must
43d0: 20 73 75 70 70 6f 72 74 20 74 68 65 20 3c 62 3e support the <b>
43e0: 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e A* algorithm</b>
43f0: 20 6f 72 20 6e 6f 74 20 28 73 65 74 20 74 6f 20 or not (set to
4400: 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 62 79 20 64 <b>TRUE</b> by d
4410: 65 66 61 75 6c 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c efault).</li>..<
4420: 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 61 20 62 li><i>1</i>: a b
4430: 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e 74 65 oolean flag inte
4440: 6e 64 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 nded to specify
4450: 69 66 20 61 6c 6c 20 4e 65 74 77 6f 72 6b 27 73 if all Network's
4460: 20 4c 69 6e 6b 73 20 61 72 65 20 61 73 73 75 6d Links are assum
4470: 65 64 20 74 6f 20 62 65 20 3c 62 3e 62 69 64 69 ed to be <b>bidi
4480: 72 65 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 6f 72 rectional</b> or
4490: 20 6e 6f 74 20 28 61 73 73 75 6d 65 64 20 74 6f not (assumed to
44a0: 20 62 65 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 be <b>TRUE</b>
44b0: 62 79 20 64 65 66 61 75 6c 74 29 2e 3c 2f 6c 69 by default).</li
44c0: 3e 20 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 74 61 62 6c > ..</ol>..<tabl
44d0: 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 e bgcolor="#c0ff
44e0: 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d c0" cellspacing=
44f0: 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 "10" cellpadding
4500: 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c ="6"><tr><td>..<
4510: 68 33 3e 54 65 63 68 6e 69 63 61 6c 20 6e 6f 74 h3>Technical not
4520: 65 3c 2f 68 33 3e 0d 0a 54 68 65 20 69 6e 74 65 e</h3>..The inte
4530: 72 6e 61 6c 20 65 6e 63 6f 64 69 6e 67 20 61 64 rnal encoding ad
4540: 6f 70 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e opted by the <b>
4550: 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c Binary Data Tabl
4560: 65 3c 2f 62 3e 20 69 73 20 75 6e 63 68 61 6e 67 e</b> is unchang
4570: 65 64 20 61 6e 64 20 69 73 20 74 68 65 20 73 61 ed and is the sa
4580: 6d 65 20 66 6f 72 20 62 6f 74 68 20 3c 62 3e 56 me for both <b>V
4590: 69 72 74 75 61 6c 4e 65 74 77 6f 6b 3c 2f 62 3e irtualNetwok</b>
45a0: 20 61 6e 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 and <b>VirtualR
45b0: 6f 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d outing</b>.<br>.
45c0: 0a 59 6f 75 20 63 61 6e 20 73 61 66 65 6c 79 20 .You can safely
45d0: 62 61 73 65 20 61 20 3c 62 3e 56 69 72 74 75 61 base a <b>Virtua
45e0: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f lRouting Table</
45f0: 62 3e 20 6f 6e 20 61 6e 79 20 65 78 69 73 74 69 b> on any existi
4600: 6e 67 20 42 69 6e 61 72 79 20 44 61 74 61 0d 0a ng Binary Data..
4610: 54 61 62 6c 65 20 63 72 65 61 74 65 64 20 62 79 Table created by
4620: 20 74 68 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 the <b>spatiali
4630: 74 65 2d 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 43 te-network</b> C
4640: 4c 49 20 74 6f 6f 6c 2c 20 65 78 61 63 74 6c 79 LI tool, exactly
4650: 20 61 73 20 79 6f 75 20 63 61 6e 20 62 61 73 65 as you can base
4660: 20 61 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 a <b>VirtualNet
4670: 77 6f 72 6b 20 54 61 62 6c 65 3c 2f 62 3e 20 6f work Table</b> o
4680: 6e 20 61 6e 79 20 42 69 6e 61 72 79 20 44 61 74 n any Binary Dat
4690: 61 20 54 61 62 6c 65 20 63 72 65 61 74 65 64 20 a Table created
46a0: 62 79 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 by the <b>Create
46b0: 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 Routing()</b> SQ
46c0: 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 L function...<ve
46d0: 72 62 61 74 69 6d 3e 0d 0a 43 52 45 41 54 45 20 rbatim>..CREATE
46e0: 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 74 65 VIRTUAL TABLE te
46f0: 73 74 5f 6e 65 74 77 6f 72 6b 20 55 53 49 4e 47 st_network USING
4700: 20 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 28 VirtualNetwork(
4710: 27 73 6f 6d 65 5f 64 61 74 61 5f 74 61 62 6c 65 'some_data_table
4720: 27 29 3b 0d 0a 0d 0a 43 52 45 41 54 45 20 56 49 ');....CREATE VI
4730: 52 54 55 41 4c 20 54 41 42 4c 45 20 74 65 73 74 RTUAL TABLE test
4740: 5f 72 6f 75 74 69 6e 67 20 55 53 49 4e 47 20 56 _routing USING V
4750: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 28 27 73 irtualRouting('s
4760: 6f 6d 65 5f 64 61 74 61 5f 74 61 62 6c 65 27 29 ome_data_table')
4770: 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a ;..</verbatim>..
4780: 49 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 6e 75 In order to manu
4790: 61 6c 6c 79 20 63 72 65 61 74 65 20 79 6f 75 72 ally create your
47a0: 20 56 69 72 74 75 61 6c 20 54 61 62 6c 65 73 20 Virtual Tables
47b0: 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f you just have to
47c0: 20 65 78 65 63 75 74 65 20 61 6e 20 61 70 70 72 execute an appr
47d0: 6f 70 72 69 61 74 65 20 3c 62 3e 43 52 45 41 54 opriate <b>CREAT
47e0: 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 E VIRTUAL TABLE
47f0: 2e 2e 2e 20 55 53 49 4e 47 20 56 69 72 74 75 61 ... USING Virtua
4800: 6c 2e 2e 2e 20 28 2e 2e 2e 29 3c 2f 62 3e 20 73 l... (...)</b> s
4810: 74 61 74 65 6d 65 6e 74 2e 0d 0a 3c 68 34 3e 57 tatement...<h4>W
4820: 61 72 6e 69 6e 67 3c 2f 68 34 3e 0d 0a 49 6e 20 arning</h4>..In
4830: 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e 53 the case of <b>S
4840: 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b 73 3c patial Networks<
4850: 2f 62 3e 20 62 61 73 65 64 20 6f 6e 20 61 6e 79 /b> based on any
4860: 20 3c 62 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f <b>geographic</
4870: 62 3e 20 52 65 66 65 72 65 6e 63 65 20 53 79 73 b> Reference Sys
4880: 74 65 6d 20 28 75 73 69 6e 67 20 3c 62 3e 6c 6f tem (using <b>lo
4890: 6e 67 69 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64 ngitudes</b> and
48a0: 20 3c 62 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62 <b>latitudes</b
48b0: 3e 29 20 74 68 65 72 65 20 69 73 20 61 6e 20 69 >) there is an i
48c0: 6d 70 6f 72 74 61 6e 74 20 64 69 66 66 65 72 65 mportant differe
48d0: 6e 63 65 20 62 65 74 77 65 65 6e 20 42 69 6e 61 nce between Bina
48e0: 72 79 20 44 61 74 61 20 54 61 62 6c 65 73 20 63 ry Data Tables c
48f0: 72 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 reated by the <b
4900: 3e 73 70 61 74 69 61 6c 69 74 65 5f 6e 65 74 77 >spatialite_netw
4910: 6f 72 6b 3c 2f 62 3e 20 47 55 49 20 74 6f 6f 6c ork</b> GUI tool
4920: 20 61 6e 64 20 20 42 69 6e 61 72 79 20 44 61 74 and Binary Dat
4930: 61 20 54 61 62 6c 65 73 20 63 72 65 61 74 65 64 a Tables created
4940: 20 62 79 20 74 68 65 20 3c 62 3e 43 72 65 61 74 by the <b>Creat
4950: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 eRouting()</b> S
4960: 51 4c 20 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e QL function when
4970: 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 61 72 <b>costs</b> ar
4980: 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 62 61 73 e implicitly bas
4990: 65 64 20 6f 6e 20 74 68 65 20 67 65 6f 6d 65 74 ed on the geomet
49a0: 72 69 63 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 ric length of th
49b0: 65 20 4c 69 6e 6b 27 73 20 4c 69 6e 65 73 74 72 e Link's Linestr
49c0: 69 6e 67 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e ing:..<ul>..<li>
49d0: 74 68 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 the <b>spatialit
49e0: 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 43 4c e_network</b> CL
49f0: 49 20 74 6f 6f 6c 20 28 61 6e 64 20 74 68 65 20 I tool (and the
4a00: 3c 62 3e 47 55 49 20 77 69 7a 61 72 64 3c 2f 62 <b>GUI wizard</b
4a10: 3e 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 62 79 > implemented by
4a20: 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f previous versio
4a30: 6e 73 20 6f 66 20 3c 62 3e 73 70 61 74 69 61 6c ns of <b>spatial
4a40: 69 74 65 5f 67 75 69 3c 2f 62 3e 29 20 63 6f 6d ite_gui</b>) com
4a50: 70 75 74 65 20 74 68 65 20 4c 69 6e 65 73 74 72 pute the Linestr
4a60: 69 6e 67 27 73 20 6c 65 6e 67 74 68 20 61 73 20 ing's length as
4a70: 61 6e 20 3c 62 3e 61 6e 67 75 6c 61 72 20 64 69 an <b>angular di
4a80: 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78 70 72 65 stance</b> expre
4a90: 73 73 65 64 20 69 6e 20 3c 62 3e 64 65 67 72 65 ssed in <b>degre
4aa0: 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c es</b>.</li>..<l
4ab0: 69 3e 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 i>the <b>CreateR
4ac0: 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c outing()</b> SQL
4ad0: 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 75 74 function comput
4ae0: 65 73 20 74 68 65 20 4c 69 6e 65 73 74 72 69 6e es the Linestrin
4af0: 67 27 73 20 6c 65 6e 67 74 68 20 61 73 20 61 20 g's length as a
4b00: 3c 62 3e 6c 69 6e 65 61 72 20 64 69 73 74 61 6e <b>linear distan
4b10: 63 65 3c 2f 62 3e 20 65 78 70 72 65 73 73 65 64 ce</b> expressed
4b20: 20 69 6e 20 3c 62 3e 6d 65 74 72 65 73 3c 2f 62 in <b>metres</b
4b30: 3e 20 62 79 20 61 70 70 6c 79 69 6e 67 20 74 68 > by applying th
4b40: 65 20 6d 6f 73 74 20 61 63 63 75 72 61 74 65 20 e most accurate
4b50: 3c 62 3e 67 65 6f 64 65 73 69 63 20 66 6f 72 6d <b>geodesic form
4b60: 75 6c 61 65 3c 2f 62 3e 20 6f 6e 20 74 68 65 20 ulae</b> on the
4b70: 65 6c 6c 69 70 73 6f 69 64 2e 3c 2f 6c 69 3e 0d ellipsoid.</li>.
4b80: 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 .</ul>..</td></t
4b90: 72 3e 3c 2f 74 61 62 6c 65 3e 3c 62 72 3e 3c 62 r></table><br><b
4ba0: 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a r>..<verbatim>..
4bb0: 53 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 SELECT CreateRou
4bc0: 74 69 6e 67 28 27 62 79 63 61 72 5f 64 61 74 61 ting('bycar_data
4bd0: 27 2c 20 27 62 79 63 61 72 27 2c 20 27 72 6f 61 ', 'bycar', 'roa
4be0: 64 73 5f 76 77 27 2c 20 27 6e 6f 64 65 5f 66 72 ds_vw', 'node_fr
4bf0: 6f 6d 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 2c 20 om', 'node_to',
4c00: 27 67 65 6f 6d 27 2c 20 27 63 6f 73 74 27 2c 20 'geom', 'cost',
4c10: 27 74 6f 70 6f 6e 79 6d 27 2c 20 31 2c 20 31 2c 'toponym', 1, 1,
4c20: 20 27 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 27 'oneway_fromto'
4c30: 2c 20 27 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d , 'oneway_tofrom
4c40: 27 2c 20 30 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d ', 0);..--------
4c50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d ------------..1.
4c60: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 66 .</verbatim>..Af
4c70: 74 65 72 20 63 61 6c 6c 69 6e 67 20 79 65 74 20 ter calling yet
4c80: 61 6e 6f 74 68 65 72 20 74 69 6d 65 20 3c 62 3e another time <b>
4c90: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c CreateRouting()<
4ca0: 2f 62 3e 20 6e 6f 77 20 74 68 65 20 44 61 74 61 /b> now the Data
4cb0: 62 61 73 65 20 63 6f 6e 74 61 69 6e 73 20 74 77 base contains tw
4cc0: 6f 20 66 75 72 74 68 65 72 20 54 61 62 6c 65 73 o further Tables
4cd0: 3a 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 61 : <b>bycar</b> a
4ce0: 6e 64 20 3c 62 3e 62 79 63 61 72 5f 64 61 74 61 nd <b>bycar_data
4cf0: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 </b>.<br>..This
4d00: 74 69 6d 65 20 79 6f 75 27 76 65 20 75 73 65 64 time you've used
4d10: 20 74 68 65 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 the <i>complete
4d20: 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 form</i> of Cre
4d30: 61 74 65 52 6f 75 74 69 6e 67 28 29 3b 20 6c 65 ateRouting(); le
4d40: 74 27 73 20 73 65 65 20 69 6e 20 6d 6f 72 65 20 t's see in more
4d50: 64 65 70 74 68 20 61 6c 6c 20 74 68 65 20 61 72 depth all the ar
4d60: 67 75 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 guments and thei
4d70: 72 20 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e r meaning:..<ol>
4d80: 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 63 61 72 5f 64 ..<li><i>bycar_d
4d90: 61 74 61 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 ata</i>: same as
4da0: 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c above.</li>..<l
4db0: 69 3e 3c 69 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 i><i>bycar</i>:
4dc0: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f same as above.</
4dd0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 li>..<li><i>road
4de0: 73 5f 76 77 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 s_vw</i>: same a
4df0: 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c s above.</li>..<
4e00: 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c li><i>node_from<
4e10: 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f /i>: same as abo
4e20: 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 ve.</li>..<li><i
4e30: 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 >node_to</i>: sa
4e40: 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 me as above.</li
4e50: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f >..<li><i>geom</
4e60: 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 i>: same as abov
4e70: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e e.</li>..<li><i>
4e80: 63 6f 73 74 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 cost</i>: same a
4e90: 73 20 61 62 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 s above...In thi
4ea0: 73 20 63 61 73 65 20 77 65 20 68 61 76 65 20 72 s case we have r
4eb0: 65 66 65 72 65 6e 63 65 64 20 61 20 63 6f 6c 75 eferenced a colu
4ec0: 6d 6e 20 70 72 65 6c 6f 61 64 65 64 20 77 69 74 mn preloaded wit
4ed0: 68 20 76 61 6c 75 65 73 20 63 6f 72 72 65 73 70 h values corresp
4ee0: 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 3c 62 onding to the <b
4ef0: 3e 74 69 6d 65 3c 2f 62 3e 20 6d 65 61 73 75 72 >time</b> measur
4f00: 65 64 20 69 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 ed in <b>seconds
4f10: 3c 2f 62 3e 20 72 65 71 75 69 72 65 64 20 74 6f </b> required to
4f20: 20 74 72 61 76 65 72 73 65 20 65 61 63 68 20 4c traverse each L
4f30: 69 6e 6b 2e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e ink.</li> ..<li>
4f40: 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 <i>toponym</i>:
4f50: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f same as above.</
4f60: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 li>..<li><i>1</i
4f70: 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 >: same as above
4f80: 20 28 3c 69 3e 41 2a 20 65 6e 61 62 6c 65 64 3c (<i>A* enabled<
4f90: 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e /i>).</li>..<li>
4fa0: 3c 69 3e 31 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 <i>1</i>: same a
4fb0: 73 20 61 62 6f 76 65 20 28 3c 69 3e 62 69 64 69 s above (<i>bidi
4fc0: 72 65 63 74 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c rectional Links<
4fd0: 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e /i>).</li>..<li>
4fe0: 3c 69 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f <i>oneway_fromto
4ff0: 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 </i>: name of th
5000: 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 e column (in the
5010: 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 above Table or
5020: 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 View) expected t
5030: 6f 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 o contain boolea
5040: 6e 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 n flags specifyi
5050: 6e 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 ng if each Link
5060: 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 can be traversed
5070: 20 69 6e 20 74 68 65 20 3c 62 3e 66 72 6f 6d 2d in the <b>from-
5080: 74 6f 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e to</b> direction
5090: 20 6f 72 20 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c or not.</li>..<
50a0: 6c 69 3e 3c 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 li><i>oneway_tof
50b0: 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 rom</i>: name of
50c0: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 the column (in
50d0: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 the above Table
50e0: 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 or View) expecte
50f0: 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 62 6f 6f d to contain boo
5100: 6c 65 61 6e 20 66 6c 61 67 73 20 73 70 65 63 69 lean flags speci
5110: 66 79 69 6e 67 20 69 66 20 65 61 63 68 20 4c 69 fying if each Li
5120: 6e 6b 20 63 61 6e 20 62 65 20 74 72 61 76 65 72 nk can be traver
5130: 73 65 64 20 69 6e 20 74 68 65 20 3c 62 3e 74 6f sed in the <b>to
5140: 2d 66 72 6f 6d 3c 2f 62 3e 20 64 69 72 65 63 74 -from</b> direct
5150: 69 6f 6e 20 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d ion or not.<br>.
5160: 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a .<u>Note #1</u>:
5170: 20 62 6f 74 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f both <b>from-to
5180: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 </b> and <b>to-f
5190: 72 6f 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e rom</b> column n
51a0: 61 6d 65 73 20 63 61 6e 20 62 65 20 6c 65 67 69 ames can be legi
51b0: 74 69 6d 61 74 65 6c 79 20 73 65 74 20 61 73 20 timately set as
51c0: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e <b>NULL</b> if n
51d0: 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e o <b>one-way</b>
51e0: 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 61 70 restrictions ap
51f0: 70 6c 79 20 74 6f 20 74 68 65 20 63 75 72 72 65 ply to the curre
5200: 6e 74 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d nt Network.<br>.
5210: 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a .<u>Note #2</u>:
5220: 20 4e 65 74 77 6f 72 6b 73 20 6f 66 20 74 68 65 Networks of the
5230: 20 3c 62 3e 75 6e 69 64 69 72 65 63 74 69 6f 6e <b>unidirection
5240: 61 6c 3c 2f 62 3e 20 74 79 70 65 20 61 72 65 20 al</b> type are
5250: 6e 65 76 65 72 20 65 6e 61 62 6c 65 64 20 74 6f never enabled to
5260: 20 72 65 66 65 72 65 6e 63 65 20 3c 62 3e 6f 6e reference <b>on
5270: 65 2d 77 61 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e e-way</b> column
5280: 73 20 28 74 68 65 79 20 73 68 6f 75 6c 64 20 61 s (they should a
5290: 6c 77 61 79 73 20 62 65 20 73 65 74 20 74 6f 20 lways be set to
52a0: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c <b>NULL</b>).</l
52b0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e i>..<li><i>0</i>
52c0: 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 : a boolean flag
52d0: 20 69 6e 74 65 6e 64 69 6e 67 20 61 6e 20 3c 62 intending an <b
52e0: 3e 6f 76 65 72 77 72 69 74 65 20 61 75 74 68 6f >overwrite autho
52f0: 72 69 7a 61 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c rization</b>...<
5300: 75 6c 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 ul>..<li>If set
5310: 74 6f 20 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e 20 to <b>FALSE</b>
5320: 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 69 6c an exception wil
5330: 6c 20 62 65 20 72 61 69 73 65 64 20 69 66 20 74 l be raised if t
5340: 68 65 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 he <b>Binary Dat
5350: 61 20 54 61 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f a Table</b> and/
5360: 6f 72 20 74 68 65 20 3c 62 3e 56 69 72 74 75 61 or the <b>Virtua
5370: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f lRouting Table</
5380: 62 3e 20 64 6f 20 61 6c 72 65 61 64 79 20 65 78 b> do already ex
5390: 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 ist.</li>..<li>I
53a0: 66 20 73 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 f set to <b>TRUE
53b0: 3c 2f 62 3e 20 65 76 65 6e 74 75 61 6c 6c 79 20 </b> eventually
53c0: 65 78 69 73 74 69 6e 67 20 54 61 62 6c 65 73 20 existing Tables
53d0: 77 69 6c 6c 20 62 65 20 70 72 65 76 65 6e 74 69 will be preventi
53e0: 76 65 6c 79 20 64 72 6f 70 70 65 64 20 69 6d 6d vely dropped imm
53f0: 65 64 69 61 74 65 6c 79 20 62 65 66 6f 72 65 20 ediately before
5400: 73 74 61 72 74 69 6e 67 20 74 68 65 20 65 78 65 starting the exe
5410: 63 75 74 69 6f 6e 20 6f 66 20 3c 62 3e 43 72 65 cution of <b>Cre
5420: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e ateRouting()</b>
5430: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c .</li>..</ul></l
5440: 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 72 3e 0d i>..</ol>..<br>.
5450: 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d .<table bgcolor=
5460: 22 23 66 66 66 66 63 30 22 20 63 65 6c 6c 73 70 "#ffffc0" cellsp
5470: 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 acing="10" cellp
5480: 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c adding="6"><tr><
5490: 74 64 3e 0d 0a 3c 68 33 3e 48 69 67 68 6c 69 67 td>..<h3>Highlig
54a0: 68 74 3a 20 77 68 65 72 65 20 79 6f 75 20 61 72 ht: where you ar
54b0: 65 3c 2f 68 33 3e 0d 0a 59 6f 75 27 76 65 20 6a e</h3>..You've j
54c0: 75 73 74 20 63 72 65 61 74 65 64 20 74 77 6f 20 ust created two
54d0: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 VirtualRouting T
54e0: 61 62 6c 65 73 20 62 61 73 65 64 20 6f 6e 20 64 ables based on d
54f0: 69 66 66 65 72 65 6e 74 20 73 65 74 74 69 6e 67 ifferent setting
5500: 73 3b 20 62 6f 74 68 20 74 68 65 6d 20 61 72 65 s; both them are
5510: 20 70 65 72 66 65 63 74 6c 79 20 76 61 6c 69 64 perfectly valid
5520: 20 61 6e 64 20 72 65 61 73 6f 6e 61 62 6c 65 2c and reasonable,
5530: 20 62 75 74 20 74 68 65 79 20 61 72 65 20 69 6e but they are in
5540: 74 65 6e 64 65 64 20 66 6f 72 20 64 69 66 66 65 tended for diffe
5550: 72 65 6e 74 20 70 75 72 70 6f 73 65 73 3a 0d 0a rent purposes:..
5560: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 79 66 <ul>..<li><b>byf
5570: 6f 6f 74 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 oot</b> is speci
5580: 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 fically intended
5590: 20 66 6f 72 20 3c 62 3e 70 65 64 65 73 74 72 69 for <b>pedestri
55a0: 61 6e 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a ans</b>:..<ul>..
55b0: 3c 6c 69 3e 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 <li>all Links ar
55c0: 65 20 61 6c 77 61 79 73 20 61 73 73 75 6d 65 64 e always assumed
55d0: 20 74 6f 20 62 65 20 61 63 63 65 73 73 69 62 6c to be accessibl
55e0: 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64 69 72 e in <b>both dir
55f0: 65 63 74 69 6f 6e 73 3c 2f 62 3e 3b 20 74 68 65 ections</b>; the
5600: 72 65 20 61 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 re are no <b>one
5610: 2d 77 61 79 73 3c 2f 62 3e 20 61 6e 64 20 6e 6f -ways</b> and no
5620: 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 <b>forbidden</b
5630: 3e 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c > Links.</li>..<
5640: 6c 69 3e 74 68 65 20 3c 62 3e 63 6f 73 74 3c 2f li>the <b>cost</
5650: 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e 6b 20 b> of each Link
5660: 69 73 20 64 69 72 65 63 74 6c 79 20 72 65 70 72 is directly repr
5670: 65 73 65 6e 74 65 64 20 62 79 20 69 74 73 20 67 esented by its g
5680: 65 6f 6d 65 74 72 69 63 20 3c 62 3e 6c 65 6e 67 eometric <b>leng
5690: 74 68 3c 2f 62 3e 2c 20 77 68 69 63 68 20 69 73 th</b>, which is
56a0: 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 consistent with
56b0: 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f 6e 20 the assumption
56c0: 6f 66 20 61 6e 20 61 6c 6d 6f 73 74 20 63 6f 6e of an almost con
56d0: 73 74 61 6e 74 20 73 70 65 65 64 20 73 75 62 73 stant speed subs
56e0: 74 61 6e 74 69 61 6c 6c 79 20 69 6d 6d 75 6e 65 tantially immune
56f0: 20 66 72 6f 6d 20 61 64 76 65 72 73 65 20 72 6f from adverse ro
5700: 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e ad conditions an
5710: 64 20 74 72 61 66 66 69 63 20 63 6f 6e 67 65 73 d traffic conges
5720: 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c tion.</li>..</ul
5730: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 ></li>..<li><b>b
5740: 79 63 61 72 3c 2f 62 3e 20 69 73 20 73 70 65 63 ycar</b> is spec
5750: 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 ifically intende
5760: 64 20 66 6f 72 20 3c 62 3e 6d 6f 74 6f 72 20 76 d for <b>motor v
5770: 65 68 69 63 6c 65 73 3c 2f 62 3e 3a 0d 0a 3c 75 ehicles</b>:..<u
5780: 6c 3e 0d 0a 3c 6c 69 3e 6d 61 6e 79 20 4c 69 6e l>..<li>many Lin
5790: 6b 73 20 61 72 65 20 65 78 70 65 63 74 65 64 20 ks are expected
57a0: 74 6f 20 62 65 20 61 63 63 65 73 73 69 62 6c 65 to be accessible
57b0: 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64 69 72 65 in <b>both dire
57c0: 63 74 69 6f 6e 73 3c 2f 62 3e 20 62 75 74 20 6f ctions</b> but o
57d0: 74 68 65 72 73 20 63 6f 75 6c 64 20 65 61 73 69 thers could easi
57e0: 6c 79 20 62 65 20 73 75 62 6a 65 63 74 20 74 6f ly be subject to
57f0: 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 <b>one-way</b>
5800: 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 72 20 restrictions or
5810: 65 76 65 6e 20 62 65 20 63 6f 6d 70 6c 65 74 65 even be complete
5820: 6c 79 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c ly <b>forbidden<
5830: 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 /b>.</li>..<li>t
5840: 68 65 20 63 6f 73 74 20 6f 66 20 65 61 63 68 20 he cost of each
5850: 4c 69 6e 6b 20 69 73 20 65 78 70 72 65 73 73 65 Link is expresse
5860: 64 20 61 73 20 61 6e 20 65 73 74 69 6d 61 74 65 d as an estimate
5870: 64 20 3c 62 3e 74 72 61 76 65 6c 20 74 69 6d 65 d <b>travel time
5880: 3c 2f 62 3e 2c 20 62 65 63 61 75 73 65 20 74 68 </b>, because th
5890: 65 20 65 78 70 65 63 74 65 64 20 73 70 65 65 64 e expected speed
58a0: 73 20 63 61 6e 20 67 72 65 61 74 6c 79 20 76 61 s can greatly va
58b0: 72 79 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 ry accordingly t
58c0: 6f 20 73 70 65 63 69 66 69 63 20 72 6f 61 64 20 o specific road
58d0: 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 74 72 61 66 conditions, traf
58e0: 66 69 63 20 63 6f 6e 67 65 73 74 69 6f 6e 20 61 fic congestion a
58f0: 6e 64 20 6c 65 67 61 6c 20 72 65 67 75 6c 61 74 nd legal regulat
5900: 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c ions.</li>..</ul
5910: 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c ></li>..</ul>..<
5920: 62 72 3e 0d 0a 3c 75 3e 43 6f 6e 63 6c 75 73 69 br>..<u>Conclusi
5930: 6f 6e 3c 2f 75 3e 3a 20 61 20 73 69 6e 67 6c 65 on</u>: a single
5940: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 VirtualRouting
5950: 54 61 62 6c 65 20 63 61 6e 27 74 20 62 65 20 61 Table can't be a
5960: 62 6c 65 20 74 6f 20 61 64 65 71 75 61 74 65 6c ble to adequatel
5970: 79 20 73 75 70 70 6f 72 74 20 73 75 70 70 6f 72 y support suppor
5980: 74 20 74 68 65 20 73 70 65 63 69 66 69 63 20 72 t the specific r
5990: 65 71 75 69 72 65 6d 65 6e 74 73 20 61 6e 64 20 equirements and
59a0: 65 78 70 65 63 74 61 74 69 6f 6e 73 20 6f 66 20 expectations of
59b0: 64 69 66 66 65 72 65 6e 74 20 75 73 65 72 73 2e different users.
59c0: 3c 62 72 3e 0d 0a 44 65 66 69 6e 69 6e 67 20 6d <br>..Defining m
59d0: 6f 72 65 20 52 6f 75 74 69 6e 67 20 54 61 62 6c ore Routing Tabl
59e0: 65 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e es with differen
59f0: 74 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20 74 t settings for t
5a00: 68 65 20 73 61 6d 65 20 4e 65 74 77 6f 72 6b 20 he same Network
5a10: 75 73 75 61 6c 6c 79 20 69 73 20 61 20 67 6f 6f usually is a goo
5a20: 64 20 64 65 73 69 67 6e 20 63 68 6f 69 63 65 20 d design choice
5a30: 6c 65 61 64 69 6e 67 20 74 6f 20 6d 6f 72 65 20 leading to more
5a40: 72 65 61 6c 69 73 74 69 63 20 72 65 73 75 6c 74 realistic result
5a50: 73 2e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 s.<br>..</td></t
5a60: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 r>..</table>..<b
5a70: 72 3e 3c 62 72 3e 0d 0a 3c 68 33 3e 55 74 69 6c r><br>..<h3>Util
5a80: 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 ity function for
5a90: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 automatically s
5aa0: 65 74 74 69 6e 67 20 4e 6f 64 65 46 72 6f 6d 20 etting NodeFrom
5ab0: 61 6e 64 20 4e 6f 64 65 54 6f 20 49 44 73 3c 2f and NodeTo IDs</
5ac0: 68 33 3e 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 h3>..Sometimes i
5ad0: 74 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c t could eventual
5ae0: 6c 79 20 68 61 70 70 65 6e 20 74 6f 20 65 6e 63 ly happen to enc
5af0: 6f 75 6e 74 65 72 20 73 6f 6d 65 20 3c 62 3e 53 ounter some <b>S
5b00: 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f patial Network</
5b10: 62 3e 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f b> representatio
5b20: 6e 20 62 65 69 6e 67 20 66 75 6c 6c 79 20 74 6f n being fully to
5b30: 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 63 6f 6e 73 pologically cons
5b40: 69 73 74 65 6e 74 20 62 75 74 20 63 6f 6d 70 6c istent but compl
5b50: 65 74 65 6c 79 20 6c 61 63 6b 69 6e 67 20 61 6e etely lacking an
5b60: 79 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 62 6f y definition abo
5b70: 75 74 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f ut <b>NodeFrom</
5b80: 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f b> and <b>NodeTo
5b90: 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 72 73 </b> identifiers
5ba0: 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69 73 20 73 .<br>..In this s
5bb0: 70 65 63 69 66 69 63 20 63 61 73 65 20 79 6f 75 pecific case you
5bc0: 20 63 61 6e 20 73 75 63 63 65 73 73 66 75 6c 6c can successfull
5bd0: 79 20 72 65 63 6f 76 65 72 20 61 20 70 65 72 66 y recover a perf
5be0: 65 63 74 6c 79 20 76 61 6c 69 64 20 4e 65 74 77 ectly valid Netw
5bf0: 6f 72 6b 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 ork by calling t
5c00: 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 he <b>CreateRout
5c10: 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 ingNodes()</b> S
5c20: 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 QL function...<v
5c30: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 erbatim>..SELECT
5c40: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 4e 6f CreateRoutingNo
5c50: 64 65 73 28 4e 55 4c 4c 2c 20 27 74 61 62 6c 65 des(NULL, 'table
5c60: 5f 6e 61 6d 65 27 2c 20 27 67 65 6f 6d 27 2c 20 _name', 'geom',
5c70: 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 'node_from', 'no
5c80: 64 65 5f 74 6f 27 29 3b 0d 0a 5f 5f 5f 5f 5f 5f de_to');..______
5c90: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f ________________
5ca0: 5f 5f 5f 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 ___..1..</verbat
5cb0: 69 6d 3e 0d 0a 4c 65 74 27 73 20 65 78 61 6d 69 im>..Let's exami
5cc0: 6e 65 20 61 6c 6c 20 61 72 67 75 6d 65 6e 74 73 ne all arguments
5cd0: 20 61 6e 64 20 74 68 65 69 72 20 6d 65 61 6e 69 and their meani
5ce0: 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c ng:..<ol>..<li><
5cf0: 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 i>NULL</i>: name
5d00: 20 6f 66 20 74 68 65 20 3c 62 3e 41 74 74 61 63 of the <b>Attac
5d10: 68 65 64 2d 44 42 3c 2f 62 3e 20 63 6f 6e 74 61 hed-DB</b> conta
5d20: 69 6e 69 6e 67 20 74 68 65 20 53 70 61 74 69 61 ining the Spatia
5d30: 6c 20 54 61 62 6c 65 2e 3c 62 72 3e 0d 0a 49 74 l Table.<br>..It
5d40: 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 6d 61 can be legitima
5d50: 74 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e tely set to <b>N
5d60: 55 4c 4c 3c 2f 62 3e 2c 20 61 6e 64 20 69 6e 20 ULL</b>, and in
5d70: 74 68 69 73 20 63 61 73 65 20 74 68 65 20 3c 62 this case the <b
5d80: 3e 4d 41 49 4e 3c 2f 62 3e 20 44 42 20 69 73 20 >MAIN</b> DB is
5d90: 61 73 73 75 6d 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c assumed.</li>..<
5da0: 6c 69 3e 3c 69 3e 74 61 62 6c 65 5f 6e 61 6d 65 li><i>table_name
5db0: 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 </i>: name of th
5dc0: 65 20 53 70 61 74 69 61 6c 20 54 61 62 6c 65 2e e Spatial Table.
5dd0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 </li>..<li><i>ge
5de0: 6f 6d 3c 2f 6c 69 3e 3a 20 6e 61 6d 65 20 6f 66 om</li>: name of
5df0: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 28 69 6e the column ((in
5e00: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 the above Table
5e10: 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20 3c 62 3e ) containing <b>
5e20: 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 3e 2e Linestrings</b>.
5e30: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f </li>..<li><i>no
5e40: 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d de_from</i>: nam
5e50: 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 e of the column
5e60: 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 to be added to t
5e70: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 61 he above Table a
5e80: 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77 69 74 nd populated wit
5e90: 68 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 h appropriate <b
5ea0: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 49 44 >NodeFrom</b> ID
5eb0: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e s.</li>..<li><i>
5ec0: 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e 61 6d node_to</i>: nam
5ed0: 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 e of the column
5ee0: 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 to be added to t
5ef0: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 61 he above Table a
5f00: 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77 69 74 nd populated wit
5f10: 68 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 h appropriate <b
5f20: 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 49 44 73 2e >NodeTo</b> IDs.
5f30: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 <br>..<u>Note</u
5f40: 3e 3a 20 62 6f 74 68 20 3c 62 3e 4e 6f 64 65 46 >: both <b>NodeF
5f50: 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e rom</b> and <b>N
5f60: 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e odeTo</b> column
5f70: 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 s should not be
5f80: 61 6c 72 65 61 64 79 20 64 65 66 69 6e 65 64 20 already defined
5f90: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 in the above Tab
5fa0: 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d le.</li>..</ol>.
5fb0: 0a 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e .<b>CreateRoutin
5fc0: 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 77 69 6c gNodes()</b> wil
5fd0: 6c 20 72 65 74 75 72 6e 20 3c 62 3e 31 3c 2f 62 l return <b>1</b
5fe0: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 > (<i>aka</i> <b
5ff0: 3e 54 52 55 45 3c 2f 62 3e 29 20 6f 6e 20 73 75 >TRUE</b>) on su
6000: 63 63 65 73 73 3b 20 61 6e 20 65 78 63 65 70 74 ccess; an except
6010: 69 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61 69 73 ion will be rais
6020: 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 2e 3c 62 ed on failure.<b
6030: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a r>..<u>Note</u>:
6040: 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 3c 62 you can call <b
6050: 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 >CreateRouting_G
6060: 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3c 2f 62 etLastError()</b
6070: 3e 20 73 6f 20 74 6f 20 70 72 65 63 69 73 65 6c > so to precisel
6080: 79 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 63 y identify the c
6090: 61 75 73 65 20 61 63 63 6f 75 6e 74 69 6e 67 20 ause accounting
60a0: 66 6f 72 20 66 61 69 6c 75 72 65 2e 3c 62 72 3e for failure.<br>
60b0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 <br><br>..<table
60c0: 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 bgcolor="#c0ffc
60d0: 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 0" cellspacing="
60e0: 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 10" cellpadding=
60f0: 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 "6"><tr><td>..<h
6100: 33 3e 48 61 6e 64 6c 69 6e 67 20 64 79 6e 61 6d 3>Handling dynam
6110: 69 63 20 4e 65 74 77 6f 72 6b 73 3c 2f 68 33 3e ic Networks</h3>
6120: 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20 68 ..Sometimes it h
6130: 61 70 70 65 6e 73 20 74 68 61 74 20 61 20 4e 65 appens that a Ne
6140: 74 77 6f 72 6b 20 63 6f 75 6c 64 20 62 65 20 73 twork could be s
6150: 75 62 6a 65 63 74 20 74 6f 20 72 61 74 68 65 72 ubject to rather
6160: 20 66 72 65 71 75 65 6e 74 20 63 68 61 6e 67 65 frequent change
6170: 73 3a 20 73 6f 6d 65 20 6e 65 77 20 4c 69 6e 6b s: some new Link
6180: 73 20 72 65 71 75 69 72 65 20 74 6f 20 62 65 20 s require to be
6190: 61 64 64 65 64 2c 20 6f 62 73 6f 6c 65 74 65 20 added, obsolete
61a0: 4c 69 6e 6b 73 20 72 65 71 75 69 72 65 20 74 6f Links require to
61b0: 20 62 65 20 72 65 6d 6f 76 65 64 2c 20 6f 74 68 be removed, oth
61c0: 65 72 20 4c 69 6e 6b 73 20 6d 61 79 20 61 73 73 er Links may ass
61d0: 75 6d 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 ume a different
61e0: 43 6f 73 74 2c 20 6f 6e 65 2d 77 61 79 73 20 63 Cost, one-ways c
61f0: 6f 75 6c 64 20 62 65 20 72 65 76 65 72 73 65 64 ould be reversed
6200: 2c 20 74 68 65 20 64 69 73 63 69 70 6c 69 6e 65 , the discipline
6210: 20 6f 66 20 70 65 64 65 73 74 72 69 61 6e 20 61 of pedestrian a
6220: 72 65 61 73 20 63 6f 75 6c 64 20 62 65 20 6d 6f reas could be mo
6230: 64 69 66 69 65 64 20 61 6e 64 20 73 6f 20 6f 6e dified and so on
6240: 2e 3c 62 72 3e 0d 0a 41 20 56 69 72 74 75 61 6c .<br>..A Virtual
6250: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 69 73 Routing Table is
6260: 20 61 6c 77 61 79 73 20 62 61 73 65 64 20 6f 6e always based on
6270: 20 61 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e a companion Bin
6280: 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 2c 20 ary Data Table,
6290: 74 68 61 74 20 69 73 20 69 6e 74 72 69 6e 73 69 that is intrinsi
62a0: 63 61 6c 6c 79 20 3c 62 3e 73 74 61 74 69 63 3c cally <b>static<
62b0: 2f 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 /b>, and consequ
62c0: 65 6e 74 6c 79 20 79 6f 75 20 61 72 65 20 72 65 ently you are re
62d0: 71 75 69 72 65 64 20 74 6f 20 72 65 2d 63 72 65 quired to re-cre
62e0: 61 74 65 20 62 6f 74 68 20 74 68 65 6d 20 66 72 ate both them fr
62f0: 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 20 om time to time
6300: 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 75 70 70 in order to supp
6310: 6f 72 74 20 61 6c 6c 20 72 65 63 65 6e 74 20 63 ort all recent c
6320: 68 61 6e 67 65 73 20 61 66 66 65 63 74 69 6e 67 hanges affecting
6330: 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 the underlaying
6340: 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 Network.<br>..T
6350: 68 65 20 6f 70 74 69 6d 61 6c 20 66 72 65 71 75 he optimal frequ
6360: 65 6e 63 79 20 66 6f 72 20 63 79 63 6c 69 63 61 ency for cyclica
6370: 6c 6c 79 20 72 65 66 72 65 73 68 69 6e 67 20 74 lly refreshing t
6380: 68 65 20 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 he Routing Table
6390: 73 20 73 74 72 69 63 74 6c 79 20 64 65 70 65 6e s strictly depen
63a0: 64 73 20 6f 6e 20 73 70 65 63 69 66 69 63 20 72 ds on specific r
63b0: 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 62 75 74 equirements, but
63c0: 20 74 68 65 20 74 77 6f 20 6f 76 65 72 61 6c 6c the two overall
63d0: 20 61 70 70 72 6f 61 63 68 65 73 20 61 72 65 20 approaches are
63e0: 63 6f 6d 6d 6f 6e 6c 79 20 61 64 6f 70 74 65 64 commonly adopted
63f0: 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e :..<ol>..<li><b>
6400: 6c 6f 77 20 66 72 65 71 75 65 6e 63 79 20 72 65 low frequency re
6410: 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65 73 74 20 fresh</b>: best
6420: 66 69 74 20 66 6f 72 20 73 6c 6f 77 6c 79 20 65 fit for slowly e
6430: 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f 72 6b 73 volving Networks
6440: 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 .<br>..In this c
6450: 61 73 65 20 72 65 2d 63 72 65 61 74 69 6e 67 20 ase re-creating
6460: 74 68 65 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c the Network Tabl
6470: 65 73 20 6f 6e 63 65 20 61 20 6d 6f 6e 74 68 20 es once a month
6480: 2f 20 77 65 65 6b 20 2f 20 64 61 79 20 63 6f 75 / week / day cou
6490: 6c 64 20 62 65 20 72 65 61 73 6f 6e 61 62 6c 79 ld be reasonably
64a0: 20 65 6e 6f 75 67 68 2e 0d 0a 52 65 63 72 65 61 enough...Recrea
64b0: 74 69 6e 67 20 74 68 65 20 54 61 62 6c 65 73 20 ting the Tables
64c0: 66 72 6f 6d 20 73 63 72 61 74 63 68 20 75 73 75 from scratch usu
64d0: 61 6c 6c 79 20 72 65 71 75 69 72 65 73 20 73 65 ally requires se
64e0: 76 65 72 61 6c 20 73 65 63 6f 6e 64 73 20 28 6f veral seconds (o
64f0: 72 20 65 76 65 6e 20 6c 65 73 73 2c 20 64 65 70 r even less, dep
6500: 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 ending on the nu
6510: 6d 62 65 72 20 6f 66 20 4c 69 6e 6b 73 29 2e 3c mber of Links).<
6520: 62 72 3e 0d 0a 54 68 65 20 72 65 66 72 65 73 68 br>..The refresh
6530: 20 61 63 74 69 76 69 74 69 65 73 20 63 6f 75 6c activities coul
6540: 64 20 62 65 20 6f 70 70 6f 72 74 75 6e 65 6c 79 d be opportunely
6550: 20 70 6c 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 planned at low
6560: 74 72 61 66 66 69 63 20 68 6f 75 72 73 20 28 65 traffic hours (e
6570: 2e 67 2e 20 64 75 72 69 6e 67 20 74 68 65 20 6e .g. during the n
6580: 69 67 68 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 ight), and <b>Cr
6590: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 eateRouting()</b
65a0: 3e 20 63 6f 75 6c 64 20 62 65 20 75 73 65 66 75 > could be usefu
65b0: 6c 6c 79 20 63 61 6c 6c 65 64 20 62 79 20 65 6e lly called by en
65c0: 61 62 6c 69 6e 67 20 74 68 65 20 3c 62 3e 6f 76 abling the <b>ov
65d0: 65 72 77 72 69 74 65 3c 2f 62 3e 20 6f 70 74 69 erwrite</b> opti
65e0: 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 on.</li>..<li><b
65f0: 3e 6d 65 64 69 75 6d 2d 68 69 67 68 20 66 72 65 >medium-high fre
6600: 71 75 65 6e 63 79 20 72 65 66 72 65 73 68 3c 2f quency refresh</
6610: 62 3e 3a 20 62 65 73 74 20 66 69 74 20 66 6f 72 b>: best fit for
6620: 20 71 75 69 63 6b 6c 79 20 65 76 6f 6c 76 69 6e quickly evolvin
6630: 67 20 4e 65 74 77 6f 72 6b 73 2e 3c 62 72 3e 0d g Networks.<br>.
6640: 0a 52 65 2d 63 72 65 61 74 69 6e 67 20 74 68 65 .Re-creating the
6650: 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 20 Network Tables
6660: 6f 6e 63 65 20 70 65 72 20 68 6f 75 72 20 28 6f once per hour (o
6670: 72 20 65 76 65 6e 20 6d 6f 72 65 20 66 72 65 71 r even more freq
6680: 75 65 6e 74 6c 79 29 20 63 6f 75 6c 64 20 62 65 uently) could be
6690: 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 72 strictly requir
66a0: 65 64 2c 20 61 6e 64 20 66 72 65 71 75 65 6e 74 ed, and frequent
66b0: 20 3c 62 3e 6f 75 74 20 6f 66 20 73 65 72 76 69 <b>out of servi
66c0: 63 65 3c 2f 62 3e 20 70 65 72 69 6f 64 73 20 77 ce</b> periods w
66d0: 68 69 6c 65 20 77 61 69 74 69 6e 67 20 66 6f 72 hile waiting for
66e0: 20 74 68 65 20 72 65 66 72 65 73 68 20 70 72 6f the refresh pro
66f0: 63 65 73 73 20 74 6f 20 63 6f 6d 70 6c 65 74 65 cess to complete
6700: 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 62 65 could easily be
6710: 20 75 6e 61 63 63 65 70 74 61 62 6c 65 2e 3c 62 unacceptable.<b
6720: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65 r>..In this case
6730: 20 79 6f 75 20 63 6f 75 6c 64 20 75 73 65 66 75 you could usefu
6740: 6c 6c 79 20 61 64 6f 70 74 20 61 20 3c 62 3e 6d lly adopt a <b>m
6750: 75 6c 74 69 2d 74 68 72 65 61 64 65 64 20 73 74 ulti-threaded st
6760: 72 61 74 65 67 79 3c 2f 62 3e 3a 0d 0a 3c 75 6c rategy</b>:..<ul
6770: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72 65 61 64 >..<li><b>thread
6780: 20 23 31 3c 2f 62 3e 20 28 3c 69 3e 74 68 65 20 #1</b> (<i>the
6790: 72 65 61 64 65 72 3c 2f 69 3e 29 3a 20 74 68 69 reader</i>): thi
67a0: 73 20 66 69 72 73 74 20 74 68 72 65 61 64 20 69 s first thread i
67b0: 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 65 s intended to se
67c0: 72 76 69 63 65 20 61 6e 79 20 69 6e 63 6f 6d 69 rvice any incomi
67d0: 6e 67 20 52 6f 75 74 69 6e 67 20 72 65 71 75 65 ng Routing reque
67e0: 73 74 2e 20 49 74 20 77 69 6c 6c 20 62 65 20 61 st. It will be a
67f0: 6c 77 61 79 73 20 61 63 74 69 76 65 2c 20 61 6e lways active, an
6800: 64 20 77 69 6c 6c 20 74 61 72 67 65 74 20 61 20 d will target a
6810: 77 65 6c 6c 20 6b 6e 6f 77 6e 20 56 69 72 74 75 well known Virtu
6820: 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 alRouting Table
6830: 28 65 2e 67 2e 20 3c 62 3e 6d 79 5f 72 6f 75 74 (e.g. <b>my_rout
6840: 69 6e 67 3c 2f 62 3e 20 62 61 73 65 64 20 6f 6e ing</b> based on
6850: 20 3c 62 3e 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 <b>my_routing_d
6860: 61 74 61 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a ata</b>).</li>..
6870: 3c 6c 69 3e 3c 62 3e 74 68 72 65 61 64 20 23 32 <li><b>thread #2
6880: 3c 2f 62 3e 20 28 3c 69 3e 74 68 65 20 77 72 69 </b> (<i>the wri
6890: 74 65 72 3c 2f 69 3e 29 3a 20 74 68 69 73 20 73 ter</i>): this s
68a0: 65 63 6f 6e 64 20 74 68 72 65 61 64 20 69 73 20 econd thread is
68b0: 6a 75 73 74 20 69 6e 74 65 6e 64 65 64 20 74 6f just intended to
68c0: 20 72 65 2d 63 72 65 61 74 65 20 62 6f 74 68 20 re-create both
68d0: 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 20 61 Network Tables a
68e0: 74 20 70 72 65 64 65 66 69 6e 65 64 20 69 6e 74 t predefined int
68f0: 65 72 76 61 6c 73 2c 20 61 6e 64 20 69 74 20 77 ervals, and it w
6900: 69 6c 6c 20 73 6c 65 65 70 20 62 65 74 77 65 65 ill sleep betwee
6910: 6e 20 61 6e 20 69 6e 74 65 72 76 61 6c 20 61 6e n an interval an
6920: 64 20 74 68 65 20 6f 74 68 65 72 2e 3c 62 72 3e d the other.<br>
6930: 0d 0a 57 68 65 6e 20 74 68 69 73 20 74 68 72 65 ..When this thre
6940: 61 64 20 61 77 61 6b 65 6e 73 20 77 69 6c 6c 20 ad awakens will
6950: 72 65 2d 63 72 65 61 74 65 20 62 6f 74 68 20 4e re-create both N
6960: 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 20 62 79 etwork Tables by
6970: 20 75 73 69 6e 67 20 64 69 66 66 65 72 65 6e 74 using different
6980: 20 6e 61 6d 65 73 2c 20 61 6e 64 20 77 69 6c 6c names, and will
6990: 20 6f 76 65 72 77 72 69 74 65 20 74 68 65 20 73 overwrite the s
69a0: 74 61 6e 64 61 72 64 20 6f 6e 65 73 20 6a 75 73 tandard ones jus
69b0: 74 20 61 74 20 74 68 65 20 76 65 72 79 20 65 6e t at the very en
69c0: 64 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 d of the process
69d0: 20 28 61 63 74 69 76 61 74 69 6e 67 20 61 20 73 (activating a s
69e0: 65 6d 61 70 68 6f 72 65 20 64 75 72 69 6e 67 20 emaphore during
69f0: 74 68 69 73 20 73 68 6f 72 74 2d 74 69 6d 65 64 this short-timed
6a00: 20 6c 61 73 74 20 73 74 65 70 20 69 73 20 68 69 last step is hi
6a10: 67 68 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 ghly recommended
6a20: 29 2e 3c 62 72 3e 0d 0a 53 6f 6d 65 74 68 69 6e ).<br>..Somethin
6a30: 67 20 6c 69 6b 65 20 74 68 69 73 20 70 73 65 75 g like this pseu
6a40: 64 6f 2d 63 6f 64 65 20 65 78 65 6d 70 6c 69 66 do-code exemplif
6a50: 69 65 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e ies:..<verbatim>
6a60: 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 74 65 52 ..SELECT CreateR
6a70: 6f 75 74 69 6e 67 28 27 6e 65 77 5f 6d 79 5f 72 outing('new_my_r
6a80: 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c 20 27 6e outing_data', 'n
6a90: 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 27 2c 20 ew_my_routing',
6aa0: 2e 2e 2e 29 3b 0d 0a 0d 0a 2d 2d 3e 20 73 74 61 ...);....--> sta
6ab0: 72 74 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 rt the semaphore
6ac0: 20 73 6f 20 74 6f 20 6c 6f 63 6b 20 74 68 65 20 so to lock the
6ad0: 6f 74 68 65 72 20 74 68 72 65 61 64 0d 0a 0d 0a other thread....
6ae0: 42 45 47 49 4e 3b 0d 0a 44 52 4f 50 20 54 41 42 BEGIN;..DROP TAB
6af0: 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67 3b 0d 0a LE my_routing;..
6b00: 44 52 4f 50 20 54 41 42 4c 45 20 6d 79 5f 72 6f DROP TABLE my_ro
6b10: 75 74 69 6e 67 5f 64 61 74 61 3b 0d 0a 53 45 4c uting_data;..SEL
6b20: 45 43 54 20 43 6c 6f 6e 65 54 61 62 6c 65 28 27 ECT CloneTable('
6b30: 4d 41 49 4e 27 2c 20 27 6e 65 77 5f 6d 79 5f 72 MAIN', 'new_my_r
6b40: 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c 20 27 6d outing_data', 'm
6b50: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c y_routing_data',
6b60: 20 30 29 3b 0d 0a 43 52 45 41 54 45 20 56 49 52 0);..CREATE VIR
6b70: 54 55 41 4c 20 54 41 42 4c 45 20 6d 79 5f 72 6f TUAL TABLE my_ro
6b80: 75 74 69 6e 67 20 55 53 49 4e 47 20 56 69 72 74 uting USING Virt
6b90: 75 61 6c 52 6f 75 74 69 6e 67 28 27 6d 79 5f 72 ualRouting('my_r
6ba0: 6f 75 74 69 6e 67 5f 64 61 74 61 27 29 3b 0d 0a outing_data');..
6bb0: 44 52 4f 50 20 54 41 42 4c 45 20 6e 65 77 5f 6d DROP TABLE new_m
6bc0: 79 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 y_routing;..DROP
6bd0: 20 54 41 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f TABLE new_my_ro
6be0: 75 74 69 6e 67 5f 64 61 74 61 3b 0d 0a 43 4f 4d uting_data;..COM
6bf0: 4d 49 54 3b 0d 0a 0d 0a 2d 2d 3e 20 72 65 6d 6f MIT;....--> remo
6c00: 76 65 20 74 68 65 20 73 65 6d 61 70 68 6f 72 65 ve the semaphore
6c10: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c ..</verbatim>..<
6c20: 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 73 74 72 69 u>Note</u>: stri
6c30: 63 74 6c 79 20 72 65 73 70 65 63 74 69 6e 67 20 ctly respecting
6c40: 74 68 65 20 61 62 6f 76 65 20 73 65 71 75 65 6e the above sequen
6c50: 63 65 20 6f 66 20 53 51 4c 20 6f 70 65 72 61 74 ce of SQL operat
6c60: 69 6f 6e 73 20 69 73 20 61 62 73 6f 6c 75 74 65 ions is absolute
6c70: 6c 79 20 72 65 71 75 69 72 65 64 2e 3c 2f 6c 69 ly required.</li
6c80: 3e 20 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a > ..</ul></li>..
6c90: 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 </ol>..</td></tr
6ca0: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 >..</table>..<br
6cb0: 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f >..<table bgcolo
6cc0: 72 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c r="#ffb060" cell
6cd0: 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c spacing="10" cel
6ce0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 lpadding="6"><tr
6cf0: 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 ><td>..<h3>Warni
6d00: 6e 67 3a 20 68 6f 77 20 74 6f 20 63 6f 72 72 65 ng: how to corre
6d10: 63 74 6c 79 20 64 72 6f 70 20 4e 65 74 77 6f 72 ctly drop Networ
6d20: 6b 20 54 61 62 6c 65 73 3c 2f 68 33 3e 0d 0a 57 k Tables</h3>..W
6d30: 68 65 6e 20 64 72 6f 70 70 69 6e 67 20 61 20 56 hen dropping a V
6d40: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 irtualRouting Ta
6d50: 62 6c 65 20 61 6e 64 20 69 74 73 20 63 6f 6d 70 ble and its comp
6d60: 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 anion Binary Dat
6d70: 61 20 54 61 62 6c 65 20 66 6f 6c 6c 6f 77 69 6e a Table followin
6d80: 67 20 74 68 65 20 63 6f 72 72 65 63 74 20 73 65 g the correct se
6d90: 71 75 65 6e 63 65 20 6f 66 20 53 51 4c 20 63 6f quence of SQL co
6da0: 6d 6d 61 6e 64 73 20 69 73 20 70 61 72 61 6d 6f mmands is paramo
6db0: 75 6e 74 2e 3c 62 72 3e 0d 0a 46 61 69 6c 69 6e unt.<br>..Failin
6dc0: 67 20 74 6f 20 73 74 72 69 63 74 6c 79 20 72 65 g to strictly re
6dd0: 73 70 65 63 74 20 74 68 65 20 65 78 70 65 63 74 spect the expect
6de0: 65 64 20 73 65 71 75 65 6e 63 65 20 77 69 6c 6c ed sequence will
6df0: 20 73 75 72 65 6c 79 20 63 61 75 73 65 20 79 6f surely cause yo
6e00: 75 20 73 65 76 65 72 61 6c 20 74 72 6f 75 62 6c u several troubl
6e10: 65 73 20 61 6e 64 20 73 65 76 65 72 65 20 68 65 es and severe he
6e20: 61 64 61 63 68 65 73 2c 20 61 6e 64 20 77 69 6c adaches, and wil
6e30: 6c 20 70 6f 73 73 69 62 6c 79 20 6c 65 61 64 20 l possibly lead
6e40: 74 6f 20 61 6e 20 69 72 72 65 6d 65 64 69 61 62 to an irremediab
6e50: 6c 79 20 63 6f 72 72 75 70 74 65 64 20 64 61 74 ly corrupted dat
6e60: 61 62 61 73 65 2e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c abase...<ol>..<l
6e70: 69 3e 79 6f 75 20 61 72 65 20 61 6c 77 61 79 73 i>you are always
6e80: 20 65 78 70 65 63 74 65 64 20 74 6f 20 44 52 4f expected to DRO
6e90: 50 20 66 69 72 73 74 20 74 68 65 20 56 69 72 74 P first the Virt
6ea0: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 ualRouting Table
6eb0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 .</li>..<li>you
6ec0: 63 61 6e 20 73 61 66 65 6c 79 20 44 52 4f 50 20 can safely DROP
6ed0: 74 68 65 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 the companion Bi
6ee0: 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 20 nary Data Table
6ef0: 6f 6e 6c 79 20 6f 6e 63 65 20 69 74 27 73 20 6e only once it's n
6f00: 6f 20 6c 6f 6e 67 65 72 20 72 65 66 65 72 65 6e o longer referen
6f10: 63 65 64 20 62 79 20 74 68 65 20 56 69 72 74 75 ced by the Virtu
6f20: 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 2e alRouting Table.
6f30: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 62 79 20 66 6f </li>..<li>by fo
6f40: 6c 6c 6f 77 69 6e 67 20 74 68 65 20 72 65 76 65 llowing the reve
6f50: 72 73 65 20 73 65 71 75 65 6e 63 65 20 79 6f 75 rse sequence you
6f60: 27 6c 6c 20 64 69 72 65 63 74 6c 79 20 63 72 65 'll directly cre
6f70: 61 74 65 20 61 6e 20 3c 62 3e 6f 72 70 68 61 6e ate an <b>orphan
6f80: 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 </b> VirtualRout
6f90: 69 6e 67 20 54 61 62 6c 65 20 74 68 61 74 20 63 ing Table that c
6fa0: 61 6e 6e 6f 74 20 62 65 20 61 63 63 65 73 73 65 annot be accesse
6fb0: 64 20 61 6e 79 20 6c 6f 6e 67 65 72 2c 20 61 6e d any longer, an
6fc0: 64 20 74 68 61 74 20 77 69 6c 6c 20 63 6f 6e 73 d that will cons
6fd0: 65 71 75 65 6e 74 6c 79 20 72 65 66 75 73 65 20 equently refuse
6fe0: 74 6f 20 62 65 20 64 72 6f 70 70 65 64 2e 3c 62 to be dropped.<b
6ff0: 72 3e 0d 0a 42 65 20 77 61 72 6e 65 64 20 21 21 r>..Be warned !!
7000: 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f </li>..</ol>..</
7010: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c td></tr>..</tabl
7020: 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 e>..<br><br>..<h
7030: 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e r><br>..<h1><a n
7040: 61 6d 65 3d 22 66 72 6f 6d 5f 74 6f 22 3e 34 20 ame="from_to">4
7050: 2d 20 53 6f 6c 76 69 6e 67 20 63 6c 61 73 73 69 - Solving classi
7060: 63 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 c Shortest Path
7070: 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 problems</a></h1
7080: 3e 0d 0a 54 68 65 20 6d 6f 73 74 20 63 6c 61 73 >..The most clas
7090: 73 69 63 20 53 68 6f 72 74 65 73 74 20 50 61 74 sic Shortest Pat
70a0: 68 20 70 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 h problem requir
70b0: 65 73 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74 es to identify t
70c0: 68 65 20 6f 70 74 69 6d 61 6c 20 63 6f 6e 6e 65 he optimal conne
70d0: 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 61 6e ction between an
70e0: 20 3c 62 3e 4f 72 69 67 69 6e 20 4e 6f 64 65 3c <b>Origin Node<
70f0: 2f 62 3e 20 61 6e 64 20 61 20 3c 62 3e 44 65 73 /b> and a <b>Des
7100: 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 3c 2f 62 tination Node</b
7110: 3e 2e 3c 62 72 3e 0d 0a 57 65 20 63 61 6e 20 65 >.<br>..We can e
7120: 61 73 69 6c 79 20 74 72 61 6e 73 6c 61 74 65 20 asily translate
7130: 73 75 63 68 20 61 20 70 72 6f 62 6c 65 6d 20 69 such a problem i
7140: 6e 74 6f 20 61 20 73 69 6d 70 6c 65 20 53 51 4c nto a simple SQL
7150: 20 71 75 65 72 79 20 74 61 72 67 65 74 69 6e 67 query targeting
7160: 20 73 6f 6d 65 20 56 69 72 74 75 61 6c 52 6f 75 some VirtualRou
7170: 74 69 6e 67 20 54 61 62 6c 65 2e 0d 0a 3c 76 65 ting Table...<ve
7180: 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 rbatim>..SELECT
7190: 2a 20 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d * ..FROM byfoot.
71a0: 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 .WHERE NodeFrom
71b0: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 = 178731 AND Nod
71c0: 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c eTo = 183286;..<
71d0: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 /verbatim>..<tab
71e0: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 le border="1" bg
71f0: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 color="#ffffcf"
7200: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 cellspacing="4"
7210: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e cellpadding="6">
7220: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f ..<tr><th bgcolo
7230: 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f r="#d0d0a0">Algo
7240: 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 rithm</th><th bg
7250: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
7260: 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 Request</th><th
7270: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
7280: 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 ">Options</th><t
7290: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
72a0: 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 a0">Delimiter</t
72b0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
72c0: 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c d0d0a0">RouteId<
72d0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
72e0: 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 "#d0d0a0">RouteR
72f0: 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ow</th><th bgcol
7300: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c or="#d0d0a0">Rol
7310: 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f e</th><th bgcolo
7320: 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b r="#d0d0a0">Link
7330: 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 Rowid</th><th bg
7340: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
7350: 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 NodeFrom</th><th
7360: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
7370: 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 0">NodeTo</th><t
7380: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
7390: 61 30 22 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 a0">PointFrom</t
73a0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
73b0: 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c d0d0a0">PointTo<
73c0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
73d0: 22 23 64 30 64 30 61 30 22 3e 54 6f 6c 65 72 61 "#d0d0a0">Tolera
73e0: 6e 63 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f nce</th><th bgco
73f0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f lor="#d0d0a0">Co
7400: 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
7410: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f or="#d0d0a0">Geo
7420: 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 metry</th><th bg
7430: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
7440: 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a Name</th></tr>..
7450: 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 <tr>..<td>Dijkst
7460: 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 ra</td><td>Short
7470: 65 73 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 est Path</td><td
7480: 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 >Full</td><td>,
7490: 26 23 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 [dec=44, hex
74a0: 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 =2c]</td><td
74b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
74c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
74d0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
74e0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
74f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
7500: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
7510: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
7520: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 right">183286</t
7530: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
7540: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
7550: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
7560: 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 gn="right">300.9
7570: 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 12208</td><td>BL
7580: 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 OB sz=272 GEOMET
7590: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c RY</td><td>NULL<
75a0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
75b0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
75c0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
75d0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
75e0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
75f0: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c ="right">0</td><
7600: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
7610: 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >1</td><td>Link<
7620: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
7630: 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 ight">224014</td
7640: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
7650: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 t">178731</td><t
7660: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
7670: 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 182885</td><td>N
7680: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c ULL</td><td>NULL
7690: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
76a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
76b0: 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 ht">94.812424</t
76c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
76d0: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 td>VIA PIETRO AR
76e0: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ETINO</td>..</tr
76f0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
7700: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
7710: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
7720: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
7730: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 align="right">0
7740: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
7750: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 right">2</td><td
7760: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
7770: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 ign="right">2244
7780: 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 46</td><td align
7790: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c ="right">182885<
77a0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
77b0: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 ight">178880</td
77c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
77d0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e d>NULL</td><td>N
77e0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
77f0: 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 n="right">69.727
7800: 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 726</td><td>NULL
7810: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 </td><td>VIA MAR
7820: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c GARITONE</td>..<
7830: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
7840: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
7850: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
7860: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
7870: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
7880: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ">0</td><td alig
7890: 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e n="right">3</td>
78a0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
78b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
78c0: 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 24414</td><td al
78d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
78e0: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
78f0: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c ="right">183286<
7900: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
7910: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 ><td>NULL</td><t
7920: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
7930: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 lign="right">136
7940: 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e .372057</td><td>
7950: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
7960: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 MARGARITONE</td
7970: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c >..</tr>..</tabl
7980: 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 e>..<br>..Let's
7990: 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 quickly examine
79a0: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 the resultset re
79b0: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 turned by the ab
79c0: 6f 76 65 20 52 6f 75 74 69 6e 67 20 71 75 65 72 ove Routing quer
79d0: 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 y:..<ul>..<li>th
79e0: 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f e <b>first row</
79f0: 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 68 b> (<i>aka</i> h
7a00: 65 61 64 65 72 20 72 6f 77 29 20 68 61 73 20 61 eader row) has a
7a10: 20 73 70 65 63 69 61 6c 20 69 6e 74 65 72 70 72 special interpr
7a20: 65 74 61 74 69 6f 6e 2c 20 61 6e 64 20 69 73 20 etation, and is
7a30: 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 75 6d 6d intended to summ
7a40: 61 72 69 7a 65 20 74 68 65 20 74 72 61 76 65 6c arize the travel
7a50: 20 73 6f 6c 75 74 69 6f 6e 20 61 73 20 61 20 77 solution as a w
7a60: 68 6f 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e hole.</li>..<li>
7a70: 61 6c 6c 20 74 68 65 20 3c 62 3e 66 6f 6c 6c 6f all the <b>follo
7a80: 77 69 6e 67 20 72 6f 77 73 3c 2f 62 3e 20 72 65 wing rows</b> re
7a90: 70 72 65 73 65 6e 74 20 61 20 73 69 6e 67 6c 65 present a single
7aa0: 20 4c 69 6e 6b 20 72 65 71 75 69 72 65 64 20 74 Link required t
7ab0: 6f 20 62 75 69 6c 64 20 74 68 65 20 73 6f 6c 75 o build the solu
7ac0: 74 69 6f 6e 20 28 6f 70 74 69 6d 61 20 70 61 74 tion (optima pat
7ad0: 68 29 3b 20 4c 69 6e 6b 73 20 61 72 65 20 6f 72 h); Links are or
7ae0: 64 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c dered accordingl
7af0: 79 20 74 6f 20 74 68 65 20 74 72 61 76 65 6c 20 y to the travel
7b00: 64 69 72 65 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 direction connec
7b10: 74 69 6e 67 20 74 68 65 20 4f 72 69 67 69 6e 20 ting the Origin
7b20: 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e 61 74 and the Destinat
7b30: 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 ion.</li>..<li>c
7b40: 6f 6c 75 6d 6e 73 20 3c 62 3e 41 6c 67 6f 72 69 olumns <b>Algori
7b50: 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 thm</b>, <b>Requ
7b60: 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 est</b>, <b>Opti
7b70: 6f 6e 73 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 ons</b>, <b>Deli
7b80: 6d 69 74 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f miter</b>, <b>Po
7b90: 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e intFrom</b>, <b>
7ba0: 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2c 20 3c 62 3e PointTo</b>, <b>
7bb0: 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 20 61 6e Tolerance</b> an
7bc0: 64 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 d <b>Geometry</b
7bd0: 3e 20 61 72 65 20 61 6c 77 61 79 73 20 73 65 74 > are always set
7be0: 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 to <b>NULL</b>
7bf0: 65 78 63 65 70 74 20 74 68 61 74 20 69 6e 20 74 except that in t
7c00: 68 65 20 66 69 72 73 74 20 72 6f 77 20 6f 66 20 he first row of
7c10: 74 68 65 20 72 65 73 75 6c 74 73 65 74 3a 0d 0a the resultset:..
7c20: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e <ul>..<li>column
7c30: 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 <b>Algorithm</b
7c40: 3e 20 61 63 63 6f 75 6e 74 73 20 66 6f 72 20 74 > accounts for t
7c50: 68 65 20 52 6f 75 74 69 6e 67 20 41 6c 67 6f 72 he Routing Algor
7c60: 69 74 68 6d 20 75 73 65 64 20 62 79 20 74 68 65 ithm used by the
7c70: 20 63 75 72 72 65 6e 74 20 71 75 65 72 79 20 28 current query (
7c80: 3c 69 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 69 <i>Dijkstra's</i
7c90: 3e 20 6f 72 20 3c 69 3e 41 2a 3c 2f 69 3e 29 2e > or <i>A*</i>).
7ca0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d </li>..<li>colum
7cb0: 6e 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e n <b>Request</b>
7cc0: 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 65 specifies the e
7cd0: 78 61 63 74 20 6e 61 74 75 72 65 20 6f 66 20 74 xact nature of t
7ce0: 68 65 20 63 75 72 72 65 6e 74 20 71 75 65 72 79 he current query
7cf0: 20 28 69 6e 20 74 68 69 73 20 73 70 65 63 69 66 (in this specif
7d00: 69 63 20 63 61 73 65 20 3c 69 3e 53 68 6f 72 74 ic case <i>Short
7d10: 65 73 74 20 50 61 74 68 3c 2f 69 3e 29 2e 3c 2f est Path</i>).</
7d20: 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 li>..<li>we'll i
7d30: 67 6e 6f 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f gnore for now co
7d40: 6c 75 6d 6e 73 20 3c 62 3e 4f 70 74 69 6f 6e 73 lumns <b>Options
7d50: 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 </b>, <b>Delimit
7d60: 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 er</b>, <b>Point
7d70: 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 From</b>, <b>Poi
7d80: 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e ntTo</b> and <b>
7d90: 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 Tolerance</b>: t
7da0: 68 65 69 72 20 72 65 73 70 65 63 74 69 76 65 20 heir respective
7db0: 6d 65 61 6e 69 6e 67 73 20 77 69 6c 6c 20 62 65 meanings will be
7dc0: 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 66 6f explained in fo
7dd0: 6c 6c 6f 77 69 6e 67 20 70 61 72 61 67 72 61 70 llowing paragrap
7de0: 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f hs.</li>..<li>co
7df0: 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74 72 79 lumn <b>Geometry
7e00: 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 </b> contains a
7e10: 3c 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c 2f 62 <b>LINESTRING</b
7e20: 3e 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e > representation
7e30: 20 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 74 72 of the whole tr
7e40: 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 62 avel solution.<b
7e50: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a r>..<u>Note</u>:
7e60: 20 6f 6e 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e on <b>Logical N
7e70: 65 74 77 6f 72 6b 73 3c 2f 62 3e 20 28 6e 6f 74 etworks</b> (not
7e80: 20 73 75 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d supporting Geom
7e90: 65 74 72 69 65 73 29 20 3c 62 3e 47 65 6f 6d 65 etries) <b>Geome
7ea0: 74 72 79 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 try</b> will alw
7eb0: 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f ays be <b>NULL</
7ec0: 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c b>.</li>..</ul><
7ed0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 /li>..<li>we'll
7ee0: 69 67 6e 6f 72 65 20 66 6f 72 20 6e 6f 77 20 63 ignore for now c
7ef0: 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 49 64 olumn <b>RouteId
7f00: 3c 2f 62 3e 3b 20 69 74 73 20 6d 65 61 6e 69 6e </b>; its meanin
7f10: 67 20 77 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 g will be explai
7f20: 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 ned in following
7f30: 20 70 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 paragraphs.</li
7f40: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 >..<li>column <b
7f50: 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 73 69 >RouteRow</b> si
7f60: 6d 70 6c 79 20 69 73 20 74 68 65 20 70 72 6f 67 mply is the prog
7f70: 72 65 73 73 69 76 65 20 6e 75 6d 62 65 72 20 6f ressive number o
7f80: 66 20 74 68 65 20 72 6f 77 20 69 6e 20 74 68 65 f the row in the
7f90: 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e travel solution
7fa0: 20 28 61 6c 77 61 79 73 20 3c 62 3e 30 3c 2f 62 (always <b>0</b
7fb0: 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 > in the header
7fc0: 72 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e row).</li>..<li>
7fd0: 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 6c 65 3c 2f column <b>Role</
7fe0: 62 3e 20 63 61 6e 20 62 65 20 3c 69 3e 52 6f 75 b> can be <i>Rou
7ff0: 74 65 3c 2f 69 3e 20 28 68 65 61 64 65 72 20 72 te</i> (header r
8000: 6f 77 29 20 6f 72 20 3c 69 3e 4c 69 6e 6b 3c 2f ow) or <i>Link</
8010: 69 3e 20 28 61 6c 6c 20 66 6f 6c 6c 6f 77 69 6e i> (all followin
8020: 67 20 72 6f 77 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c g rows).</li>..<
8030: 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4c 69 6e li>column <b>Lin
8040: 6b 52 6f 77 69 64 3c 2f 62 3e 20 72 65 66 65 72 kRowid</b> refer
8050: 65 6e 63 65 73 20 74 68 65 20 3c 62 3e 52 4f 57 ences the <b>ROW
8060: 49 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f ID</b> of the co
8070: 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b rresponding Link
8080: 20 28 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20 (always set to
8090: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74 <b>NULL</b> in t
80a0: 68 65 20 68 65 61 64 65 72 20 72 6f 77 29 2e 3c he header row).<
80b0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e /li>..<li>column
80c0: 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e <b>NodeFrom</b>
80d0: 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f and <b>NodeTo</
80e0: 62 3e 20 68 61 76 65 20 74 68 65 20 66 6f 6c 6c b> have the foll
80f0: 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74 61 owing interpreta
8100: 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 tion:..<ul>..<li
8110: 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 >in the header r
8120: 6f 77 20 74 68 65 79 20 63 6f 72 72 65 73 70 6f ow they correspo
8130: 6e 64 20 74 6f 20 68 65 20 3c 62 3e 4f 72 69 67 nd to he <b>Orig
8140: 69 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 in</b> and <b>De
8150: 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 4e 6f stination</b> No
8160: 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 des.</li>..<li>i
8170: 6e 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 n all the follow
8180: 69 6e 67 20 72 6f 77 73 20 74 68 65 79 20 61 72 ing rows they ar
8190: 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 e intended to sp
81a0: 65 63 69 66 79 20 74 68 65 20 64 69 72 65 63 74 ecify the direct
81b0: 69 6f 6e 20 6f 66 20 74 68 65 20 63 75 72 72 65 ion of the curre
81c0: 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c nt Link.</li>..<
81d0: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 /ul></li>..<li>c
81e0: 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c 2f 62 olumn <b>Cost</b
81f0: 3e 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 > has the follow
8200: 69 6e 67 20 69 6e 74 65 72 70 72 65 74 61 74 69 ing interpretati
8210: 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 on:..<ul>..<li>i
8220: 6e 20 74 68 65 20 68 65 61 64 65 72 20 74 6f 77 n the header tow
8230: 20 69 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 it corresponds
8240: 74 6f 20 74 68 65 20 3c 62 3e 74 6f 74 61 6c 20 to the <b>total
8250: 63 6f 73 74 3c 2f 62 3e 20 6f 66 20 74 68 65 20 cost</b> of the
8260: 74 72 61 76 65 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 6c travel.</li>..<l
8270: 69 3e 69 6e 20 61 6c 6c 20 74 68 65 20 66 6f 6c i>in all the fol
8280: 6c 6f 77 69 6e 67 20 72 6f 77 73 20 69 74 20 72 lowing rows it r
8290: 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 73 70 epresents the sp
82a0: 65 63 69 66 69 63 20 63 6f 73 74 20 6f 66 20 74 ecific cost of t
82b0: 68 65 20 63 75 72 72 65 6e 74 20 4c 69 6e 6b 2e he current Link.
82c0: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 </li>..</ul></li
82d0: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 >..<li>column <b
82e0: 3e 4e 61 6d 65 3c 2f 62 3e 20 63 6f 6e 74 61 69 >Name</b> contai
82f0: 6e 73 20 74 68 65 20 64 65 73 63 72 69 70 74 69 ns the descripti
8300: 6f 6e 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e on of the curren
8310: 74 20 4c 69 6e 6b 20 28 75 73 75 61 6c 6c 79 20 t Link (usually
8320: 61 20 72 6f 61 64 20 6e 61 6d 65 29 2c 20 61 6e a road name), an
8330: 64 20 69 73 20 61 6c 77 61 79 73 20 3c 62 3e 4e d is always <b>N
8340: 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68 65 20 68 ULL</b> in the h
8350: 65 61 64 65 72 20 72 6f 77 2e 3c 62 72 3e 0d 0a eader row.<br>..
8360: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 20 69 74 20 63 <u>Note</u> it c
8370: 6f 75 6c 64 20 62 65 20 61 6c 77 61 79 73 20 62 ould be always b
8380: 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 e <b>NULL</b> if
8390: 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 the VirtualRout
83a0: 69 6e 67 20 54 61 62 6c 65 20 64 6f 65 73 20 6e ing Table does n
83b0: 6f 74 20 73 75 70 70 6f 72 74 73 20 6e 61 6d 65 ot supports name
83c0: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f s.</li>..</ul></
83d0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e li>..</ul>..<br>
83e0: 3c 62 72 3e 0d 0a 54 65 73 74 69 6e 67 20 74 68 <br>..Testing th
83f0: 65 20 72 65 74 75 72 6e 20 63 6f 6e 6e 65 63 74 e return connect
8400: 69 6f 6e 20 6a 75 73 74 20 72 65 71 75 69 72 65 ion just require
8410: 73 20 73 77 61 70 70 69 6e 67 20 74 68 65 20 4f s swapping the O
8420: 72 69 67 69 6e 20 61 6e 64 20 74 68 65 20 44 65 rigin and the De
8430: 73 74 69 6e 61 74 69 6f 6e 3b 20 69 6e 20 74 68 stination; in th
8440: 69 73 20 65 78 61 6d 70 6c 65 20 79 6f 75 27 6c is example you'l
8450: 6c 20 6a 75 73 74 20 72 65 71 75 65 73 74 20 74 l just request t
8460: 68 65 20 6d 65 61 6e 69 6e 67 66 75 6c 20 63 6f he meaningful co
8470: 6c 75 6d 6e 73 3a 0d 0a 3c 76 65 72 62 61 74 69 lumns:..<verbati
8480: 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 6f 75 74 65 m>..SELECT Route
8490: 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 Row, Role, LinkR
84a0: 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 owid, NodeFrom,
84b0: 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 NodeTo, Cost, Ge
84c0: 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 ometry, Name..FR
84d0: 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 OM byfoot..WHERE
84e0: 20 4e 6f 64 65 54 6f 20 3d 20 31 37 38 37 33 31 NodeTo = 178731
84f0: 20 41 4e 44 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 AND NodeFrom =
8500: 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 183286;..</verba
8510: 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 tim>..<table bor
8520: 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d der="1" bgcolor=
8530: 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 "#ffffcf" cellsp
8540: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 acing="4" cellpa
8550: 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e dding="6">..<tr>
8560: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
8570: 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f d0a0">RouteRow</
8580: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
8590: 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 #d0d0a0">Role</t
85a0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
85b0: 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 d0d0a0">LinkRowi
85c0: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f d</th><th bgcolo
85d0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
85e0: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 From</th><th bgc
85f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
8600: 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 odeTo</th><th bg
8610: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
8620: 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 Cost</th><th bgc
8630: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 olor="#d0d0a0">G
8640: 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 eometry</th><th
8650: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
8660: 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e ">Name</th></tr>
8670: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 ..<tr>..<td alig
8680: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e n="right">0</td>
8690: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 <td>Route</td><t
86a0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 d>NULL</td><td a
86b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 lign="right">183
86c0: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 286</td><td alig
86d0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
86e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
86f0: 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 right">300.91220
8700: 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 8</td><td>BLOB s
8710: 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f z=272 GEOMETRY</
8720: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
8730: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
8740: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8750: 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c >1</td><td>Link<
8760: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
8770: 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 ight">224414</td
8780: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
8790: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 t">183286</td><t
87a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
87b0: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 178880</td><td a
87c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 lign="right">136
87d0: 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e .372057</td><td>
87e0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
87f0: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 MARGARITONE</td
8800: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c >..</tr>..<td al
8810: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 ign="right">2</t
8820: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
8830: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8840: 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 >224446</td><td
8850: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
8860: 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8880</td><td ali
8870: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 gn="right">18288
8880: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 5</td><td align=
8890: 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 "right">69.72772
88a0: 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 6</td><td>NULL</
88b0: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 td><td>VIA MARGA
88c0: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 RITONE</td>..</t
88d0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
88e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 ign="right">3</t
88f0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
8900: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8910: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 >224014</td><td
8920: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
8930: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 2885</td><td ali
8940: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
8950: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
8960: 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 "right">94.81242
8970: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 4</td><td>NULL</
8980: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 td><td>VIA PIETR
8990: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a O ARETINO</td>..
89a0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
89b0: 0a 3c 62 72 3e 0d 0a 49 66 20 79 6f 75 20 72 65 .<br>..If you re
89c0: 6d 65 6d 62 65 72 2c 20 74 68 65 20 3c 62 3e 62 member, the <b>b
89d0: 79 66 6f 6f 74 3c 2f 62 3e 20 56 69 72 74 75 61 yfoot</b> Virtua
89e0: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 68 lRouting Table h
89f0: 61 73 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 as no <b>one-way
8a00: 73 3c 2f 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 s</b>, and conse
8a10: 71 75 65 6e 74 6c 79 20 74 68 65 20 72 65 74 75 quently the retu
8a20: 72 6e 20 70 61 74 68 20 65 78 61 63 74 6c 79 20 rn path exactly
8a30: 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 corresponds to t
8a40: 68 65 20 66 69 72 73 74 20 6f 6e 65 2c 20 65 78 he first one, ex
8a50: 63 65 70 74 20 69 6e 20 74 68 61 74 20 61 6c 6c cept in that all
8a60: 20 64 69 72 65 63 74 69 6f 6e 73 20 61 72 65 20 directions are
8a70: 6e 6f 77 20 72 65 76 65 72 73 65 64 2e 0d 0a 3c now reversed...<
8a80: 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f 77 br><br><br>..Now
8a90: 20 79 6f 75 27 6c 6c 20 67 6f 20 74 6f 20 74 65 you'll go to te
8aa0: 73 74 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 6e st the same conn
8ab0: 65 63 74 69 6f 6e 73 2c 20 62 75 74 20 74 68 69 ections, but thi
8ac0: 73 20 74 69 6d 65 20 79 6f 75 27 6c 6c 20 74 61 s time you'll ta
8ad0: 72 67 65 74 20 74 68 65 20 3c 62 3e 62 79 63 61 rget the <b>byca
8ae0: 72 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 r</b> VirtualRou
8af0: 74 69 6e 67 20 54 61 62 6c 65 20 74 68 61 74 20 ting Table that
8b00: 66 75 6c 6c 79 20 73 75 70 70 6f 72 74 73 20 3c fully supports <
8b10: 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 3a 0d b>one-ways</b>:.
8b20: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
8b30: 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f ECT RouteRow, Ro
8b40: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e le, LinkRowid, N
8b50: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c odeFrom, NodeTo,
8b60: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c Cost, Geometry,
8b70: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 Name..FROM byca
8b80: 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f r..WHERE NodeFro
8b90: 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e m = 178731 AND N
8ba0: 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d odeTo = 183286;.
8bb0: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 .</verbatim>..<t
8bc0: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 able border="1"
8bd0: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 bgcolor="#ffffcf
8be0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 " cellspacing="4
8bf0: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 " cellpadding="6
8c00: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f ">..<tr><th bgco
8c10: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f lor="#d0d0a0">Ro
8c20: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 uteRow</th><th b
8c30: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
8c40: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 >Role</th><th bg
8c50: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
8c60: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 LinkRowid</th><t
8c70: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
8c80: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 a0">NodeFrom</th
8c90: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
8ca0: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 0d0a0">NodeTo</t
8cb0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
8cc0: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 d0d0a0">Cost</th
8cd0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
8ce0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 0d0a0">Geometry<
8cf0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
8d00: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f "#d0d0a0">Name</
8d10: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a th></tr>..<tr>..
8d20: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8d30: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 ">0</td><td>Rout
8d40: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f e</td><td>NULL</
8d50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
8d60: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e ght">178731</td>
8d70: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8d80: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 ">183286</td><td
8d90: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
8da0: 30 31 2e 38 31 35 35 35 32 3c 2f 74 64 3e 3c 74 01.815552</td><t
8db0: 64 3e 42 4c 4f 42 20 73 7a 3d 32 30 33 32 20 47 d>BLOB sz=2032 G
8dc0: 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e EOMETRY</td><td>
8dd0: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e NULL</td>..</tr>
8de0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 ..<tr>..<td alig
8df0: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e n="right">1</td>
8e00: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 <td>Link</td><td
8e10: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
8e20: 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 24014</td><td al
8e30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 ign="right">1787
8e40: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 31</td><td align
8e50: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c ="right">182885<
8e60: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
8e70: 69 67 68 74 22 3e 31 33 2e 31 32 37 38 37 34 3c ight">13.127874<
8e80: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
8e90: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 ><td>VIA PIETRO
8ea0: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f ARETINO</td>..</
8eb0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
8ec0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f lign="right">2</
8ed0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
8ee0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
8ef0: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 ">224446</td><td
8f00: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
8f10: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 82885</td><td al
8f20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 ign="right">1788
8f30: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 80</td><td align
8f40: 3d 22 72 69 67 68 74 22 3e 39 2e 36 35 34 36 30 ="right">9.65460
8f50: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 8</td><td>NULL</
8f60: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 td><td>VIA MARGA
8f70: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 RITONE</td>..</t
8f80: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
8f90: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 ign="right">3</t
8fa0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
8fb0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
8fc0: 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 >219171</td><td
8fd0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
8fe0: 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8880</td><td ali
8ff0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
9000: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 2</td><td align=
9010: 22 72 69 67 68 74 22 3e 37 2e 38 30 39 39 35 32 "right">7.809952
9020: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
9030: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 d><td>VIA FRANCE
9040: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d SCO CRISPI</td>.
9050: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
9060: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9070: 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 4</td><td>Link</
9080: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9090: 67 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e ght">219058</td>
90a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
90b0: 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 ">178732</td><td
90c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
90d0: 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 78754</td><td al
90e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 ign="right">12.4
90f0: 34 35 36 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 45626</td><td>NU
9100: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 LL</td><td>VIA F
9110: 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c RANCESCO CRISPI<
9120: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
9130: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 >..<td align="ri
9140: 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c ght">5</td><td>L
9150: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
9160: 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38 38 n="right">225888
9170: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9180: 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 right">178754</t
9190: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
91a0: 68 74 22 3e 31 38 33 34 36 31 3c 2f 74 64 3e 3c ht">183461</td><
91b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
91c0: 3e 31 2e 35 39 39 38 36 35 3c 2f 74 64 3e 3c 74 >1.599865</td><t
91d0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
91e0: 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 IA FRANCESCO CRI
91f0: 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d SPI</td>..</tr>.
9200: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e .<tr>..<td align
9210: 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c ="right">6</td><
9220: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
9230: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
9240: 35 38 38 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 5887</td><td ali
9250: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 36 gn="right">18346
9260: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
9270: 22 72 69 67 68 74 22 3e 31 38 32 38 30 30 3c 2f "right">182800</
9280: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9290: 67 68 74 22 3e 33 2e 33 30 30 35 39 30 3c 2f 74 ght">3.300590</t
92a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
92b0: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f td>VIA FRANCESCO
92c0: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f CRISPI</td>..</
92d0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
92e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f lign="right">7</
92f0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
9300: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9310: 22 3e 32 32 33 39 33 35 3c 2f 74 64 3e 3c 74 64 ">223935</td><td
9320: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
9330: 38 32 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 82800</td><td al
9340: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 37 ign="right">1827
9350: 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 99</td><td align
9360: 3d 22 72 69 67 68 74 22 3e 36 2e 36 38 38 37 38 ="right">6.68878
9370: 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 6</td><td>NULL</
9380: 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 td><td>VIALE LUC
9390: 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 A SIGNORELLI</td
93a0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
93b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
93c0: 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">8</td><td>Link
93d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
93e0: 72 69 67 68 74 22 3e 32 32 36 30 33 38 3c 2f 74 right">226038</t
93f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9400: 68 74 22 3e 31 38 32 37 39 39 3c 2f 74 64 3e 3c ht">182799</td><
9410: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9420: 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c 74 64 20 >183456</td><td
9430: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e align="right">1.
9440: 32 39 34 30 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 294017</td><td>N
9450: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c ULL</td><td>VIAL
9460: 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c E LUCA SIGNORELL
9470: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
9480: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
9490: 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 right">9</td><td
94a0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
94b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 ign="right">2258
94c0: 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 32</td><td align
94d0: 3d 22 72 69 67 68 74 22 3e 31 38 33 34 35 36 3c ="right">183456<
94e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
94f0: 69 67 68 74 22 3e 31 38 33 34 34 34 3c 2f 74 64 ight">183444</td
9500: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9510: 74 22 3e 32 2e 33 38 35 34 38 36 3c 2f 74 64 3e t">2.385486</td>
9520: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
9530: 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e >VIALE LUCA SIGN
9540: 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 ORELLI</td>..</t
9550: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
9560: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f ign="right">10</
9570: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
9580: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9590: 22 3e 32 32 35 38 33 31 3c 2f 74 64 3e 3c 74 64 ">225831</td><td
95a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
95b0: 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 83444</td><td al
95c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 ign="right">1835
95d0: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 54</td><td align
95e0: 3d 22 72 69 67 68 74 22 3e 33 2e 31 36 30 36 36 ="right">3.16066
95f0: 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 2</td><td>NULL</
9600: 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 td><td>VIALE LUC
9610: 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 A SIGNORELLI</td
9620: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
9630: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9640: 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e ">11</td><td>Lin
9650: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d k</td><td align=
9660: 22 72 69 67 68 74 22 3e 32 32 35 37 36 35 3c 2f "right">225765</
9670: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9680: 67 68 74 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e ght">183554</td>
9690: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
96a0: 22 3e 31 38 33 39 35 34 3c 2f 74 64 3e 3c 74 64 ">183954</td><td
96b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 align="right">7
96c0: 2e 34 36 39 39 31 37 3c 2f 74 64 3e 3c 74 64 3e .469917</td><td>
96d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
96e0: 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c LE LUCA SIGNOREL
96f0: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LI</td>..</tr>..
9700: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d <tr>..<td align=
9710: 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 64 3e 3c "right">12</td><
9720: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
9730: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
9740: 35 37 36 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 5766</td><td ali
9750: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 35 gn="right">18395
9760: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 4</td><td align=
9770: 22 72 69 67 68 74 22 3e 31 38 33 39 30 35 3c 2f "right">183905</
9780: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
9790: 67 68 74 22 3e 33 2e 32 33 36 33 38 39 3c 2f 74 ght">3.236389</t
97a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
97b0: 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 td>VIALE LUCA SI
97c0: 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c GNORELLI</td>..<
97d0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
97e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 align="right">13
97f0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
9800: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9810: 68 74 22 3e 32 32 35 39 37 39 3c 2f 74 64 3e 3c ht">225979</td><
9820: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9830: 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74 64 20 >183905</td><td
9840: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
9850: 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3626</td><td ali
9860: 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 2e 39 38 gn="right">13.98
9870: 33 36 32 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 3629</td><td>NUL
9880: 4c 3c 2f 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 L</td><td>STRADA
9890: 20 53 45 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e SENZA NOME</td>
98a0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
98b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
98c0: 3e 31 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b >14</td><td>Link
98d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
98e0: 72 69 67 68 74 22 3e 32 32 34 39 30 35 3c 2f 74 right">224905</t
98f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9900: 68 74 22 3e 31 38 33 36 32 36 3c 2f 74 64 3e 3c ht">183626</td><
9910: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9920: 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 >183128</td><td
9930: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 2e align="right">5.
9940: 36 32 37 33 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e 627358</td><td>N
9950: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 54 52 41 ULL</td><td>STRA
9960: 44 41 20 53 45 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 DA SENZA NOME</t
9970: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
9980: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 .<td align="righ
9990: 74 22 3e 31 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 t">15</td><td>Li
99a0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
99b0: 3d 22 72 69 67 68 74 22 3e 32 32 34 38 39 37 3c ="right">224897<
99c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
99d0: 69 67 68 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 ight">183128</td
99e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
99f0: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 t">183286</td><t
9a00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9a10: 31 30 2e 30 33 30 37 39 32 3c 2f 74 64 3e 3c 74 10.030792</td><t
9a20: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
9a30: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f IA MARGARITONE</
9a40: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 td>..</tr>..</ta
9a50: 62 6c 65 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e ble>..<verbatim>
9a60: 0d 0a 53 45 4c 45 43 54 20 52 6f 75 74 65 52 6f ..SELECT RouteRo
9a70: 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 w, Role, LinkRow
9a80: 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f id, NodeFrom, No
9a90: 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d deTo, Cost, Geom
9aa0: 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d etry, Name..FROM
9ab0: 20 62 79 63 61 72 0d 0a 57 48 45 52 45 20 4e 6f bycar..WHERE No
9ac0: 64 65 54 6f 20 3d 20 31 37 38 37 33 31 20 41 4e deTo = 178731 AN
9ad0: 44 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33 D NodeFrom = 183
9ae0: 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 286;..</verbatim
9af0: 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 >..<table border
9b00: 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 ="1" bgcolor="#f
9b10: 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 fffcf" cellspaci
9b20: 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 ng="4" cellpaddi
9b30: 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 ng="6">..<tr><th
9b40: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
9b50: 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 0">RouteRow</th>
9b60: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
9b70: 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c d0a0">Role</th><
9b80: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
9b90: 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 0a0">LinkRowid</
9ba0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
9bb0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f #d0d0a0">NodeFro
9bc0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f m</th><th bgcolo
9bd0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 r="#d0d0a0">Node
9be0: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c To</th><th bgcol
9bf0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 or="#d0d0a0">Cos
9c00: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f t</th><th bgcolo
9c10: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d r="#d0d0a0">Geom
9c20: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 etry</th><th bgc
9c30: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e olor="#d0d0a0">N
9c40: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c ame</th></tr>..<
9c50: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
9c60: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
9c70: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
9c80: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
9c90: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 n="right">183286
9ca0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9cb0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 right">178731</t
9cc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9cd0: 68 74 22 3e 31 30 33 2e 33 30 35 32 35 39 3c 2f ht">103.305259</
9ce0: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 39 td><td>BLOB sz=9
9cf0: 34 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 44 GEOMETRY</td>
9d00: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
9d10: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
9d20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c align="right">1<
9d30: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
9d40: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9d50: 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 t">224414</td><t
9d60: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9d70: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 183286</td><td a
9d80: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
9d90: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 880</td><td alig
9da0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 2e 38 38 32 n="right">18.882
9db0: 32 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 285</td><td>NULL
9dc0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 </td><td>VIA MAR
9dd0: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c GARITONE</td>..<
9de0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 /tr>..<tr>..<td
9df0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c align="right">2<
9e00: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
9e10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
9e20: 74 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 t">219171</td><t
9e30: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
9e40: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 178880</td><td a
9e50: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 lign="right">178
9e60: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 732</td><td alig
9e70: 6e 3d 22 72 69 67 68 74 22 3e 37 2e 38 30 39 39 n="right">7.8099
9e80: 35 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 52</td><td>NULL<
9e90: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e /td><td>VIA FRAN
9ea0: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 CESCO CRISPI</td
9eb0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
9ec0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
9ed0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">3</td><td>Link
9ee0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
9ef0: 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 right">219058</t
9f00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
9f10: 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c ht">178732</td><
9f20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
9f30: 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 >178754</td><td
9f40: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 align="right">12
9f50: 2e 34 34 35 36 32 36 3c 2f 74 64 3e 3c 74 64 3e .445626</td><td>
9f60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
9f70: 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 FRANCESCO CRISP
9f80: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c I</td>..</tr>..<
9f90: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 tr>..<td align="
9fa0: 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 right">4</td><td
9fb0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c >Link</td><td al
9fc0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 35 ign="right">2245
9fd0: 33 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 38</td><td align
9fe0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c ="right">178754<
9ff0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a000: 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 ight">181972</td
a010: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a020: 74 22 3e 37 2e 30 34 37 37 38 34 3c 2f 74 64 3e t">7.047784</td>
a030: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
a040: 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 >VIA ANTONIO GUA
a050: 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f DAGNOLI</td>..</
a060: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
a070: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f lign="right">5</
a080: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
a090: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a0a0: 22 3e 32 32 32 35 37 35 3c 2f 74 64 3e 3c 74 64 ">222575</td><td
a0b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a0c0: 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 81972</td><td al
a0d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 ign="right">1819
a0e0: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 71</td><td align
a0f0: 3d 22 72 69 67 68 74 22 3e 31 2e 38 35 32 32 38 ="right">1.85228
a100: 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 3</td><td>NULL</
a110: 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e td><td>VIA ANTON
a120: 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 IO GUADAGNOLI</t
a130: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 d>..</tr>..<td a
a140: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f lign="right">6</
a150: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e td><td>Link</td>
a160: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a170: 22 3e 32 32 34 39 36 37 3c 2f 74 64 3e 3c 74 64 ">224967</td><td
a180: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a190: 38 31 39 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 81971</td><td al
a1a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 ign="right">1828
a1b0: 39 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 91</td><td align
a1c0: 3d 22 72 69 67 68 74 22 3e 31 34 2e 32 37 33 31 ="right">14.2731
a1d0: 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 85</td><td>NULL<
a1e0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f /td><td>VIA ANTO
a1f0: 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f NIO GUADAGNOLI</
a200: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
a210: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
a220: 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 ht">7</td><td>Li
a230: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e nk</td><td align
a240: 3d 22 72 69 67 68 74 22 3e 32 32 34 31 36 38 3c ="right">224168<
a250: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a260: 69 67 68 74 22 3e 31 38 32 38 39 31 3c 2f 74 64 ight">182891</td
a270: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a280: 74 22 3e 31 38 33 30 35 37 3c 2f 74 64 3e 3c 74 t">183057</td><t
a290: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a2a0: 36 2e 36 34 33 33 30 39 3c 2f 74 64 3e 3c 74 64 6.643309</td><td
a2b0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 >NULL</td><td>VI
a2c0: 41 20 4d 41 43 41 4c 4c 45 27 3c 2f 74 64 3e 0d A MACALLE'</td>.
a2d0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
a2e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a2f0: 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 8</td><td>Link</
a300: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
a310: 67 68 74 22 3e 32 32 34 31 36 37 3c 2f 74 64 3e ght">224167</td>
a320: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
a330: 22 3e 31 38 33 30 35 37 3c 2f 74 64 3e 3c 74 64 ">183057</td><td
a340: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 align="right">1
a350: 38 33 30 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 83056</td><td al
a360: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 31 35 ign="right">3.15
a370: 31 32 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 1272</td><td>NUL
a380: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 L</td><td>VIA MA
a390: 43 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 CALLE'</td>..</t
a3a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c r>..<tr>..<td al
a3b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 ign="right">9</t
a3c0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c d><td>Link</td><
a3d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a3e0: 3e 32 32 34 31 37 34 3c 2f 74 64 3e 3c 74 64 20 >224174</td><td
a3f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
a400: 33 30 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3056</td><td ali
a410: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 34 gn="right">18294
a420: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
a430: 22 72 69 67 68 74 22 3e 37 2e 39 36 36 38 37 30 "right">7.966870
a440: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
a450: 64 3e 3c 74 64 3e 56 49 41 20 52 4f 44 49 3c 2f d><td>VIA RODI</
a460: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
a470: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 ..<td align="rig
a480: 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c ht">10</td><td>L
a490: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
a4a0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 35 39 n="right">224059
a4b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
a4c0: 72 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 right">182941</t
a4d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
a4e0: 68 74 22 3e 31 38 32 30 30 31 3c 2f 74 64 3e 3c ht">182001</td><
a4f0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
a500: 3e 36 2e 33 39 33 37 34 37 3c 2f 74 64 3e 3c 74 >6.393747</td><t
a510: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 d>NULL</td><td>V
a520: 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f IA RODI</td>..</
a530: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 tr>..<tr>..<td a
a540: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c lign="right">11<
a550: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 /td><td>Link</td
a560: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a570: 74 22 3e 32 32 32 36 33 37 3c 2f 74 64 3e 3c 74 t">222637</td><t
a580: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a590: 31 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 182001</td><td a
a5a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 lign="right">182
a5b0: 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 000</td><td alig
a5c0: 6e 3d 22 72 69 67 68 74 22 3e 32 2e 34 37 35 35 n="right">2.4755
a5d0: 33 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 38</td><td>NULL<
a5e0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 /td><td>VIA PIET
a5f0: 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d RO ARETINO</td>.
a600: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
a610: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a620: 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 12</td><td>Link<
a630: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 /td><td align="r
a640: 69 67 68 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 ight">222636</td
a650: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 ><td align="righ
a660: 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 t">182000</td><t
a670: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e d align="right">
a680: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 178731</td><td a
a690: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 2e lign="right">14.
a6a0: 33 36 33 34 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 363408</td><td>N
a6b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 ULL</td><td>VIA
a6c0: 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f PIETRO ARETINO</
a6d0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 td>..</tr>..</ta
a6e0: 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20 79 ble>..<br>..As y
a6f0: 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 6e 6f ou can easily no
a700: 74 69 63 65 2c 20 74 68 65 20 6f 70 74 69 6d 61 tice, the optima
a710: 6c 20 70 61 74 68 73 20 72 65 74 75 72 6e 65 64 l paths returned
a720: 20 62 79 20 74 68 65 20 3c 62 3e 62 79 63 61 72 by the <b>bycar
a730: 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 </b> VirtualRout
a740: 69 6e 67 20 54 61 62 6c 65 20 74 68 65 20 70 61 ing Table the pa
a750: 74 68 73 20 69 6e 20 6f 70 70 6f 73 69 74 65 20 ths in opposite
a760: 64 69 72 65 63 74 69 6f 6e 73 20 73 74 72 6f 6e directions stron
a770: 67 6c 79 20 64 69 66 66 65 72 20 62 65 74 77 65 gly differ betwe
a780: 65 6e 20 74 68 65 6d 2c 20 61 6e 64 20 62 6f 74 en them, and bot
a790: 68 20 61 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 h are completely
a7a0: 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 different from
a7b0: 74 68 65 20 70 61 74 68 20 72 65 74 75 72 6e 65 the path returne
a7c0: 64 20 62 79 20 71 75 65 72 79 69 6e 67 20 3c 62 d by querying <b
a7d0: 3e 62 79 66 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e >byfoot</b>.<br>
a7e0: 0d 0a 41 20 71 75 69 63 6b 20 67 6c 61 6e 63 65 ..A quick glance
a7f0: 20 61 74 20 74 68 65 20 62 65 6c 6f 77 20 6d 61 at the below ma
a800: 70 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 68 65 p will surely he
a810: 6c 70 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 lp to understand
a820: 20 62 65 74 74 65 72 20 77 68 61 74 27 73 20 72 better what's r
a830: 65 61 6c 6c 79 20 68 61 70 70 65 6e 69 6e 67 2e eally happening.
a840: 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 20 61 20 <br>..This is a
a850: 63 65 6e 74 72 61 6c 20 61 72 65 61 20 6f 66 20 central area of
a860: 74 68 65 20 74 6f 77 6e 20 6f 66 20 41 72 65 7a the town of Arez
a870: 7a 6f 20 61 72 6f 75 6e 64 20 74 68 65 20 61 72 zo around the ar
a880: 63 68 61 65 6f 6c 6f 67 69 63 61 6c 20 72 75 69 chaeological rui
a890: 6e 73 20 6f 66 20 74 68 65 20 52 6f 6d 61 6e 20 ns of the Roman
a8a0: 41 6d 70 68 69 74 68 65 61 74 65 72 3b 20 63 69 Amphitheater; ci
a8b0: 72 63 75 6c 61 74 69 6e 67 20 62 79 20 63 61 72 rculating by car
a8c0: 20 69 73 20 64 69 73 63 6f 75 72 61 67 65 64 20 is discouraged
a8d0: 61 6e 64 20 69 73 20 73 75 62 6a 65 63 74 20 74 and is subject t
a8e0: 6f 20 6d 61 6e 79 20 6f 6e 65 2d 77 61 79 20 72 o many one-way r
a8f0: 65 73 74 72 69 63 74 69 6f 6e 73 2e 20 4e 6f 74 estrictions. Not
a900: 20 73 75 72 70 72 69 73 69 6e 67 6c 79 2c 20 6d surprisingly, m
a910: 6f 76 69 6e 67 20 62 79 20 66 6f 6f 74 20 69 73 oving by foot is
a920: 20 74 68 65 20 66 61 73 74 65 72 20 6f 70 74 69 the faster opti
a930: 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c on...<br><br>..<
a940: 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f img src="https:/
a950: 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 /www.gaia-gis.it
a960: 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 /gaia-sins/routi
a970: 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e 67 31 ng-figs/routing1
a980: 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 31 22 .jpg" alt="fig1"
a990: 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79 65 6c >..<ul>..<li>yel
a9a0: 6c 6f 77 20 70 61 74 68 3a 20 70 65 64 65 73 74 low path: pedest
a9b0: 72 69 61 6e 73 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e rians</li>..<li>
a9c0: 67 72 65 65 6e 20 70 61 74 68 3a 20 63 61 72 2c green path: car,
a9d0: 20 64 69 72 65 63 74 20 64 69 72 65 63 74 69 6f direct directio
a9e0: 6e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 72 65 64 20 n</li>..<li>red
a9f0: 70 61 74 68 3a 20 63 61 72 2c 20 72 65 74 75 72 path: car, retur
aa00: 6e 20 64 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e n direction</li>
aa10: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c ..</ul>..<br>..<
aa20: 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 table bgcolor="#
aa30: 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 c0ffc0" cellspac
aa40: 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 ing="10" cellpad
aa50: 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 ding="6"><tr><td
aa60: 3e 0d 0a 3c 68 33 3e 4c 69 6e 65 73 74 72 69 6e >..<h3>Linestrin
aa70: 67 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 56 gs returned by V
aa80: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 68 irtualRouting</h
aa90: 33 3e 0d 0a 41 6c 6c 20 4c 49 4e 45 53 54 52 49 3>..All LINESTRI
aaa0: 4e 47 20 47 65 6f 6d 65 74 72 69 65 73 20 63 72 NG Geometries cr
aab0: 65 61 74 65 64 20 62 79 20 61 6e 79 20 56 69 72 eated by any Vir
aac0: 74 75 61 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c tualRouting will
aad0: 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 20 always contain
aae0: 3c 62 3e 4d 20 76 61 6c 75 65 73 3c 2f 62 3e 3a <b>M values</b>:
aaf0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20 74 ..<ul>..<li>if t
ab00: 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e he underlaying N
ab10: 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 etwork's Geometr
ab20: 69 65 73 20 61 72 65 20 3c 62 3e 58 59 3c 2f 62 ies are <b>XY</b
ab30: 3e 20 74 68 65 6e 20 3c 62 3e 58 59 4d 3c 2f 62 > then <b>XYM</b
ab40: 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 77 69 > Linestrings wi
ab50: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c ll be returned.<
ab60: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 /li>..<li>if the
ab70: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 underlaying Net
ab80: 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 work's Geometrie
ab90: 73 20 61 72 65 20 3c 62 3e 58 59 5a 3c 2f 62 3e s are <b>XYZ</b>
aba0: 20 74 68 65 6e 20 3c 62 3e 58 59 5a 4d 3c 2f 62 then <b>XYZM</b
abb0: 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 77 69 > Linestrings wi
abc0: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c ll be returned.<
abd0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 /li>..<li>if the
abe0: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 underlaying Net
abf0: 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 work's Geometrie
ac00: 73 20 61 72 65 20 3c 62 3e 58 59 4d 3c 2f 62 3e s are <b>XYM</b>
ac10: 20 6f 72 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20 or <b>XYZM</b>
ac20: 74 68 65 6e 20 20 4c 69 6e 65 73 74 72 69 6e 67 then Linestring
ac30: 73 20 72 65 74 75 72 6e 65 64 20 69 6e 74 6f 20 s returned into
ac40: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 the resultset wi
ac50: 6c 6c 20 6d 61 69 6e 74 61 69 6e 20 74 68 65 20 ll maintain the
ac60: 73 61 6d 65 20 64 69 6d 65 6e 73 69 6f 6e 73 20 same dimensions
ac70: 61 73 20 69 6e 20 74 68 65 20 75 6e 64 65 72 6c as in the underl
ac80: 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f aying Network.</
ac90: 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 79 20 li>..<li>in any
aca0: 63 61 73 65 20 74 68 65 20 3c 62 3e 4d 3c 2f 62 case the <b>M</b
acb0: 3e 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 62 65 > values will be
acc0: 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 73 appropriately s
acd0: 65 74 20 73 6f 20 74 6f 20 72 65 70 72 65 73 65 et so to represe
ace0: 6e 74 20 74 68 65 20 3c 75 3e 70 61 72 74 69 61 nt the <u>partia
acf0: 6c 20 63 6f 73 74 3c 2f 75 3e 20 63 6f 72 72 65 l cost</u> corre
ad00: 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65 61 63 68 sponding to each
ad10: 20 76 65 72 74 65 78 2e 0d 0a 28 69 66 20 74 68 vertex...(if th
ad20: 65 20 69 6e 70 75 74 20 4c 69 6e 65 73 74 72 69 e input Linestri
ad30: 6e 67 73 20 61 6c 72 65 61 64 79 20 63 6f 6e 74 ngs already cont
ad40: 61 69 6e 73 20 4d 2d 76 61 6c 75 65 73 20 74 68 ains M-values th
ad50: 65 79 27 6c 6c 20 62 65 20 6f 76 65 72 77 72 69 ey'll be overwri
ad60: 74 74 65 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 tten).</li>..</u
ad70: 6c 3e 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 l>..<br>..In oth
ad80: 65 72 20 77 6f 72 64 73 2c 20 61 6c 6c 20 4c 69 er words, all Li
ad90: 6e 65 73 74 72 69 6e 67 73 20 72 65 74 75 72 6e nestrings return
ada0: 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75 ed by VirtualRou
adb0: 74 69 6e 67 20 63 61 6e 20 65 66 66 65 63 74 69 ting can effecti
adc0: 76 65 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e vely support <b>
add0: 4c 52 3c 2f 62 3e 20 28 3c 69 3e 4c 69 6e 65 61 LR</b> (<i>Linea
ade0: 72 20 52 65 66 65 72 65 6e 63 69 6e 67 3c 2f 69 r Referencing</i
adf0: 3e 29 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73 >) SQL functions
ae00: 2c 20 61 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c , as in the foll
ae10: 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 73 3a 0d owing examples:.
ae20: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c .<verbatim>..SEL
ae30: 45 43 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42 65 ECT ST_Locate_Be
ae40: 74 77 65 65 6e 5f 4d 65 61 73 75 72 65 73 28 3c tween_Measures(<
ae50: 67 65 6f 6d 65 74 72 79 3e 2c 20 33 30 2e 30 2c geometry>, 30.0,
ae60: 20 34 35 2e 30 29 3b 0d 0a 0d 0a 53 45 4c 45 43 45.0);....SELEC
ae70: 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77 T ST_Locate_Betw
ae80: 65 65 6e 5f 4d 65 61 73 75 72 65 73 28 3c 67 65 een_Measures(<ge
ae90: 6f 6d 65 74 72 79 3e 2c 20 38 30 2e 30 2c 20 39 ometry>, 80.0, 9
aea0: 35 2e 30 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 5.0);..</verbati
aeb0: 6d 3e 0d 0a 54 68 65 20 73 69 64 65 20 6d 61 70 m>..The side map
aec0: 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f graphically sho
aed0: 77 73 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 ws the estimated
aee0: 20 70 6f 73 69 74 69 6f 6e 73 20 72 65 73 70 65 positions respe
aef0: 63 74 69 76 65 6c 79 20 3c 62 3e 33 30 3c 2f 62 ctively <b>30</b
af00: 3e 2d 3c 62 3e 34 35 3c 2f 62 3e 20 73 65 63 6f >-<b>45</b> seco
af10: 6e 64 73 20 61 66 74 65 72 20 73 74 61 72 74 69 nds after starti
af20: 6e 67 20 28 79 65 6c 6c 6f 77 20 64 6f 74 74 65 ng (yellow dotte
af30: 64 20 6c 69 6e 65 29 20 61 6e 64 20 3c 62 3e 38 d line) and <b>8
af40: 30 3c 2f 62 3e 2d 3c 62 3e 39 35 3c 2f 62 3e 20 0</b>-<b>95</b>
af50: 73 65 63 6f 6e 64 73 20 61 66 74 65 72 20 73 74 seconds after st
af60: 61 72 74 69 6e 67 20 28 67 72 65 65 6e 20 64 6f arting (green do
af70: 74 74 65 64 20 6c 69 6e 65 29 2e 3c 62 72 3e 0d tted line).<br>.
af80: 0a 28 61 73 73 75 6d 69 6e 67 20 74 68 65 20 73 .(assuming the s
af90: 61 6d 65 20 70 61 74 68 20 72 65 74 75 72 6e 65 ame path returne
afa0: 64 20 62 79 20 74 68 65 20 6c 61 74 65 73 74 20 d by the latest
afb0: 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 71 75 65 <b>bycar</b> que
afc0: 72 79 29 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 ry)...</td>..<td
afd0: 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 ><img src="https
afe0: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
aff0: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 it/gaia-sins/rou
b000: 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e ting-figs/routin
b010: 67 32 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 g2.jpg" alt="fig
b020: 32 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 2"></td>..</tr>.
b030: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d .</table>..<br>.
b040: 0a 3c 68 32 3e 50 6c 61 79 69 6e 67 20 77 69 74 .<h2>Playing wit
b050: 68 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 h VirtualRouting
b060: 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 20 6f 70 configurable op
b070: 74 69 6f 6e 73 3c 2f 68 32 3e 0d 0a 53 65 76 65 tions</h2>..Seve
b080: 72 61 6c 20 61 73 70 65 63 74 73 20 6f 66 20 56 ral aspects of V
b090: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 61 irtualRouting ca
b0a0: 6e 20 62 65 20 66 72 65 65 6c 79 20 63 75 73 74 n be freely cust
b0b0: 6f 6d 69 7a 65 64 2e 0d 0a 3c 76 65 72 62 61 74 omized...<verbat
b0c0: 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f im>..UPDATE byfo
b0d0: 6f 74 20 53 45 54 20 41 6c 67 6f 72 69 74 68 6d ot SET Algorithm
b0e0: 20 3d 20 27 41 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 = 'A*';....SELE
b0f0: 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 CT Algorithm, Op
b100: 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c tions, RouteRow,
b110: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 Role, LinkRowid
b120: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 , NodeFrom, Node
b130: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 To, Cost, Geomet
b140: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 ry, Name..FROM b
b150: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 yfoot..WHERE Nod
b160: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 eFrom = 178731 A
b170: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 ND NodeTo = 1832
b180: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 86;..</verbatim>
b190: 0d 0a 49 66 20 79 6f 75 20 72 65 6d 65 6d 62 65 ..If you remembe
b1a0: 72 20 69 6e 20 61 6c 6c 20 74 68 65 20 70 72 65 r in all the pre
b1b0: 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 73 20 74 vious examples t
b1c0: 68 65 20 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 he <b>Dijkstra's
b1d0: 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d 20 77 </b> algorithm w
b1e0: 61 73 20 75 73 65 64 3b 20 6e 6f 77 20 28 61 66 as used; now (af
b1f0: 74 65 72 20 65 78 65 63 75 74 69 6e 67 20 74 68 ter executing th
b200: 65 20 61 62 6f 76 65 20 3c 62 3e 55 50 44 41 54 e above <b>UPDAT
b210: 45 3c 2f 62 3e 29 20 61 6c 6c 20 53 68 6f 72 74 E</b>) all Short
b220: 65 73 74 20 50 61 74 68 20 71 75 65 72 69 65 73 est Path queries
b230: 20 77 69 6c 6c 20 62 65 20 62 61 73 65 64 20 6f will be based o
b240: 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76 n the alternativ
b250: 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f e <b>A*</b> algo
b260: 72 69 74 68 6d 2e 3c 62 72 3e 0d 0a 49 66 20 79 rithm.<br>..If y
b270: 6f 75 20 77 69 73 68 20 74 6f 20 73 65 6c 65 63 ou wish to selec
b280: 74 20 61 67 61 69 6e 20 74 68 65 20 44 69 6a 6b t again the Dijk
b290: 73 74 61 27 73 20 61 6c 67 6f 72 69 74 68 6d 20 sta's algorithm
b2a0: 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f you just have to
b2b0: 20 65 78 65 63 75 74 65 3c 62 72 3e 20 3c 62 3e execute<br> <b>
b2c0: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 UPDATE byfoot SE
b2d0: 54 20 41 6c 67 6f 72 69 74 68 6d 20 3d 20 27 44 T Algorithm = 'D
b2e0: 49 4a 4b 53 54 52 41 27 3b 3c 2f 62 3e 2e 3c 62 IJKSTRA';</b>.<b
b2f0: 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c r><br>..The foll
b300: 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 owing table show
b310: 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 s the resultset
b320: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 returned by the
b330: 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74 65 73 previous Shortes
b340: 74 20 50 61 74 68 20 71 75 65 72 79 3b 20 70 6c t Path query; pl
b350: 65 61 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 ease notice the
b360: 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 3e value in the <b>
b370: 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 63 6f Algorithm</b> co
b380: 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d lumn...<br><br>.
b390: 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 .<table border="
b3a0: 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 1" bgcolor="#fff
b3b0: 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 fcf" cellspacing
b3c0: 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 ="4" cellpadding
b3d0: 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 ="6">..<tr><th b
b3e0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
b3f0: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c >Algorithm</th><
b400: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
b410: 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 0a0">Options</th
b420: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
b430: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 0d0a0">RouteRow<
b440: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
b450: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f "#d0d0a0">Role</
b460: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 th><th bgcolor="
b470: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 #d0d0a0">LinkRow
b480: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c id</th><th bgcol
b490: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
b4a0: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 eFrom</th><th bg
b4b0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
b4c0: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 NodeTo</th><th b
b4d0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
b4e0: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 >Cost</th><th bg
b4f0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
b500: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 Geometry</th><th
b510: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
b520: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 0">Name</th></tr
b530: 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 41 2a 3c 2f 74 >..<tr><td>A*</t
b540: 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c d><td>Full</td><
b550: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
b560: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 >0</td><td>Route
b570: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 </td><td>NULL</t
b580: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
b590: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
b5a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
b5b0: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 >183286</td><td
b5c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 align="right">30
b5d0: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 0.912208</td><td
b5e0: 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f >BLOB sz=272 GEO
b5f0: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 METRY</td><td>NU
b600: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a LL</td>..</tr>..
b610: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f <tr>..<td>NULL</
b620: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
b630: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
b640: 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b ">1</td><td>Link
b650: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
b660: 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 right">224014</t
b670: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
b680: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c ht">178731</td><
b690: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
b6a0: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 >182885</td><td
b6b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 align="right">94
b6c0: 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e .812424</td><td>
b6d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 NULL</td><td>VIA
b6e0: 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c PIETRO ARETINO<
b6f0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
b700: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
b710: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
b720: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 align="right">2
b730: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
b740: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
b750: 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c ht">224446</td><
b760: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
b770: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 >182885</td><td
b780: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 align="right">17
b790: 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 8880</td><td ali
b7a0: 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 gn="right">69.72
b7b0: 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 7726</td><td>NUL
b7c0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 L</td><td>VIA MA
b7d0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a RGARITONE</td>..
b7e0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
b7f0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 >NULL</td><td>NU
b800: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e LL</td><td align
b810: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c ="right">3</td><
b820: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 td>Link</td><td
b830: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 align="right">22
b840: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 4414</td><td ali
b850: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 gn="right">17888
b860: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 0</td><td align=
b870: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
b880: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
b890: 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c ght">136.372057<
b8a0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
b8b0: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 ><td>VIA MARGARI
b8c0: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e TONE</td>..</tr>
b8d0: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e ..</table>..<br>
b8e0: 3c 62 72 3e 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 <br><br>..You ca
b8f0: 6e 20 65 76 65 6e 74 75 61 6c 6c 79 20 63 6f 6e n eventually con
b900: 66 69 67 75 72 65 20 74 68 65 20 72 65 73 75 6c figure the resul
b910: 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 74 68 tset returned th
b920: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 e VirtualRouting
b930: 20 71 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 62 queries...<verb
b940: 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 atim>..UPDATE by
b950: 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 foot SET Options
b960: 20 3d 20 27 4e 4f 20 4c 49 4e 4b 53 27 3b 0d 0a = 'NO LINKS';..
b970: 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 ..SELECT Algorit
b980: 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 hm, Options, Rou
b990: 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e teRow, Role, Lin
b9a0: 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d kRowid, NodeFrom
b9b0: 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 , NodeTo, Cost,
b9c0: 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a Geometry, Name..
b9d0: 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 FROM byfoot..WHE
b9e0: 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 RE NodeFrom = 17
b9f0: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 8731 AND NodeTo
ba00: 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 = 183286;..</ver
ba10: 62 61 74 69 6d 3e 0d 0a 41 66 74 65 72 20 73 65 batim>..After se
ba20: 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 tting <b>Options
ba30: 3d 27 4e 4f 20 4c 49 4e 4b 53 27 3c 2f 62 3e 20 ='NO LINKS'</b>
ba40: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 the resultset wi
ba50: 6c 6c 20 73 69 6d 70 6c 79 20 63 6f 6e 74 61 69 ll simply contai
ba60: 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 n the header row
ba70: 2c 20 61 6e 64 20 61 6c 6c 20 74 68 65 20 66 6f , and all the fo
ba80: 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20 77 69 6c llowing rows wil
ba90: 6c 20 62 65 20 73 75 70 70 72 65 73 73 65 64 2e l be suppressed.
baa0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 <br>..<u>Note</u
bab0: 3e 3a 20 70 72 6f 64 75 63 69 6e 67 20 61 20 72 >: producing a r
bac0: 65 64 75 63 65 64 20 72 65 73 75 6c 74 73 65 74 educed resultset
bad0: 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 is expected to
bae0: 62 65 20 73 6f 6d 65 77 61 79 20 66 61 73 74 65 be someway faste
baf0: 72 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c r.<br>..The foll
bb00: 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 owing table show
bb10: 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 s the resultset
bb20: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 returned by the
bb30: 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74 65 73 previous Shortes
bb40: 74 20 50 61 74 68 20 71 75 65 72 79 3b 20 70 6c t Path query; pl
bb50: 65 61 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 ease notice the
bb60: 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 3e value in the <b>
bb70: 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 Options</b> colu
bb80: 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c mn...<br><br>..<
bb90: 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 table border="1"
bba0: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 bgcolor="#ffffc
bbb0: 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 f" cellspacing="
bbc0: 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 4" cellpadding="
bbd0: 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6">..<tr><th bgc
bbe0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 olor="#d0d0a0">A
bbf0: 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 lgorithm</th><th
bc00: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
bc10: 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 0">Options</th><
bc20: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 th bgcolor="#d0d
bc30: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 0a0">RouteRow</t
bc40: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
bc50: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 d0d0a0">Role</th
bc60: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
bc70: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 0d0a0">LinkRowid
bc80: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 </th><th bgcolor
bc90: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 ="#d0d0a0">NodeF
bca0: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f rom</th><th bgco
bcb0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f lor="#d0d0a0">No
bcc0: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 deTo</th><th bgc
bcd0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 olor="#d0d0a0">C
bce0: 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f ost</th><th bgco
bcf0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 lor="#d0d0a0">Ge
bd00: 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 ometry</th><th b
bd10: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 gcolor="#d0d0a0"
bd20: 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d >Name</th></tr>.
bd30: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 .<tr>..<td>A*</t
bd40: 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f d><td>No Links</
bd50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
bd60: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 ght">0</td><td>R
bd70: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c oute</td><td>NUL
bd80: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
bd90: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f "right">178731</
bda0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
bdb0: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e ght">183286</td>
bdc0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 <td align="right
bdd0: 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 ">300.912208</td
bde0: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 ><td>BLOB sz=272
bdf0: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 GEOMETRY</td><t
be00: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 d>NULL</td>..</t
be10: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 r>..</table>..<b
be20: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 r><br><br>..<ver
be30: 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 batim>..UPDATE b
be40: 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e yfoot SET Option
be50: 73 20 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 s = 'NO GEOMETRI
be60: 45 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 ES';....SELECT A
be70: 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e lgorithm, Option
be80: 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c s, RouteRow, Rol
be90: 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f e, LinkRowid, No
bea0: 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 deFrom, NodeTo,
beb0: 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 Cost, Geometry,
bec0: 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f Name..FROM byfoo
bed0: 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f t..WHERE NodeFro
bee0: 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e m = 178731 AND N
bef0: 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d odeTo = 183286;.
bf00: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 41 66 74 65 .</verbatim>Afte
bf10: 72 20 73 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 r setting <b>Opt
bf20: 69 6f 6e 73 3d 27 4e 4f 20 47 45 4f 4d 45 54 52 ions='NO GEOMETR
bf30: 49 45 53 27 3c 2f 62 3e 20 74 68 65 20 72 65 73 IES'</b> the res
bf40: 75 6c 74 73 65 74 20 77 69 6c 6c 20 63 6f 6e 74 ultset will cont
bf50: 61 69 6e 20 61 6c 6c 20 72 6f 77 73 2c 20 62 75 ain all rows, bu
bf60: 74 20 61 6c 6c 20 47 65 6f 6d 65 74 72 69 65 73 t all Geometries
bf70: 20 77 69 6c 6c 20 62 65 20 73 75 70 70 72 65 73 will be suppres
bf80: 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 sed.<br>..<u>Not
bf90: 65 3c 2f 75 3e 3a 20 74 68 69 73 20 74 6f 6f 20 e</u>: this too
bfa0: 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 is expected to b
bfb0: 65 20 73 6f 6d 65 77 61 79 20 66 61 73 74 65 72 e someway faster
bfc0: 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f .<br>..The follo
bfd0: 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 wing table shows
bfe0: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 the resultset r
bff0: 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 eturned by the p
c000: 72 65 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 revious Shortest
c010: 20 50 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 Path query; ple
c020: 61 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 ase notice the v
c030: 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f alue in the <b>O
c040: 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d ptions</b> colum
c050: 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 n...<br><br>..<t
c060: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 able border="1"
c070: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 bgcolor="#ffffcf
c080: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 " cellspacing="4
c090: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 " cellpadding="6
c0a0: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f ">..<tr><th bgco
c0b0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c lor="#d0d0a0">Al
c0c0: 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 gorithm</th><th
c0d0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 bgcolor="#d0d0a0
c0e0: 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 ">Options</th><t
c0f0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
c100: 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 a0">RouteRow</th
c110: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 ><th bgcolor="#d
c120: 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 0d0a0">Role</th>
c130: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
c140: 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c d0a0">LinkRowid<
c150: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
c160: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 "#d0d0a0">NodeFr
c170: 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c om</th><th bgcol
c180: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 or="#d0d0a0">Nod
c190: 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f eTo</th><th bgco
c1a0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f lor="#d0d0a0">Co
c1b0: 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c st</th><th bgcol
c1c0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f or="#d0d0a0">Geo
c1d0: 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 metry</th><th bg
c1e0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
c1f0: 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a Name</th></tr>..
c200: 3c 74 72 3e 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c <tr><td>A*</td><
c210: 74 64 3e 4e 6f 20 47 65 6f 6d 65 74 72 69 65 73 td>No Geometries
c220: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c230: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 right">0</td><td
c240: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e >Route</td><td>N
c250: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ULL</td><td alig
c260: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
c270: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c280: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 right">183286</t
c290: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
c2a0: 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f ht">300.912208</
c2b0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e td><td>NULL</td>
c2c0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c <td>NULL</td>..<
c2d0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
c2e0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c NULL</td><td>NUL
c2f0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d L</td><td align=
c300: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 "right">1</td><t
c310: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 d>Link</td><td a
c320: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 lign="right">224
c330: 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 014</td><td alig
c340: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 n="right">178731
c350: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c360: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 right">182885</t
c370: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
c380: 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 ht">94.812424</t
c390: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c d><td>NULL</td><
c3a0: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 td>VIA PIETRO AR
c3b0: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ETINO</td>..</tr
c3c0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c >..<tr>..<td>NUL
c3d0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f L</td><td>NULL</
c3e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
c3f0: 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c ght">2</td><td>L
c400: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 ink</td><td alig
c410: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 n="right">224446
c420: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 </td><td align="
c430: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 right">182885</t
c440: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
c450: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c ht">178880</td><
c460: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
c470: 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c >69.727726</td><
c480: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e td>NULL</td><td>
c490: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c VIA MARGARITONE<
c4a0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
c4b0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e >..<td>NULL</td>
c4c0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 <td>NULL</td><td
c4d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 align="right">3
c4e0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 </td><td>Link</t
c4f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 d><td align="rig
c500: 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c ht">224414</td><
c510: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 td align="right"
c520: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 >178880</td><td
c530: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 align="right">18
c540: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 3286</td><td ali
c550: 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 gn="right">136.3
c560: 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 72057</td><td>NU
c570: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d LL</td><td>VIA M
c580: 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d ARGARITONE</td>.
c590: 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e .</tr>..</table>
c5a0: 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a ..<br><br><br>..
c5b0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 <verbatim>..UPDA
c5c0: 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 TE byfoot SET Op
c5d0: 74 69 6f 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27 tions = 'SIMPLE'
c5e0: 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f ;....SELECT Algo
c5f0: 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 rithm, Options,
c600: 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 RouteRow, Role,
c610: 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 LinkRowid, NodeF
c620: 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 rom, NodeTo, Cos
c630: 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d t, Geometry, Nam
c640: 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a e..FROM byfoot..
c650: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d WHERE NodeFrom =
c660: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 178731 AND Node
c670: 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f To = 183286;..</
c680: 76 65 72 62 61 74 69 6d 3e 53 65 74 74 69 6e 67 verbatim>Setting
c690: 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 53 49 4d <b>Options='SIM
c6a0: 50 4c 45 27 3c 2f 62 3e 20 68 61 73 20 74 68 65 PLE'</b> has the
c6b0: 20 73 61 6d 65 20 65 66 66 65 63 74 20 74 68 61 same effect tha
c6c0: 6e 20 73 65 74 74 69 6e 67 20 62 6f 74 68 20 3c n setting both <
c6d0: 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 b>NO LINKS</b> a
c6e0: 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 nd <b>NO GEOMETR
c6f0: 49 45 53 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 IES</b> at the s
c700: 61 6d 65 20 74 69 6d 65 2e 3c 62 72 3e 0d 0a 3c ame time.<br>..<
c710: 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 u>Note</u>: this
c720: 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 is expected to
c730: 62 65 20 74 68 65 20 66 61 73 74 65 73 74 20 73 be the fastest s
c740: 65 74 74 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 65 etting.<br>..The
c750: 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 following table
c760: 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c shows the resul
c770: 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 tset returned by
c780: 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 53 68 the previous Sh
c790: 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 ortest Path quer
c7a0: 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69 63 65 y; please notice
c7b0: 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 74 68 the value in th
c7c0: 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e e <b>Options</b>
c7d0: 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 column...<br><b
c7e0: 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 r>..<table borde
c7f0: 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 r="1" bgcolor="#
c800: 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 ffffcf" cellspac
c810: 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 ing="4" cellpadd
c820: 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 ing="6">..<tr><t
c830: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
c840: 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 a0">Algorithm</t
c850: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 h><th bgcolor="#
c860: 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c d0d0a0">Options<
c870: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d /th><th bgcolor=
c880: 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 "#d0d0a0">RouteR
c890: 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c ow</th><th bgcol
c8a0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c or="#d0d0a0">Rol
c8b0: 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f e</th><th bgcolo
c8c0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b r="#d0d0a0">Link
c8d0: 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 Rowid</th><th bg
c8e0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e color="#d0d0a0">
c8f0: 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 NodeFrom</th><th
c900: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
c910: 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 0">NodeTo</th><t
c920: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 h bgcolor="#d0d0
c930: 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 a0">Cost</th><th
c940: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 bgcolor="#d0d0a
c950: 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 0">Geometry</th>
c960: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 <th bgcolor="#d0
c970: 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c d0a0">Name</th><
c980: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
c990: 41 2a 3c 2f 74 64 3e 3c 74 64 3e 53 69 6d 70 6c A*</td><td>Simpl
c9a0: 65 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d e</td><td align=
c9b0: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 "right">0</td><t
c9c0: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e d>Route</td><td>
c9d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 NULL</td><td ali
c9e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 gn="right">17873
c9f0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 1</td><td align=
ca00: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f "right">183286</
ca10: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 td><td align="ri
ca20: 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c ght">300.912208<
ca30: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 /td><td>NULL</td
ca40: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a ><td>NULL</td>..
ca50: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
ca60: 0a 3c 62 72 3e 0d 0a 46 69 6e 61 6c 6c 79 2c 20 .<br>..Finally,
ca70: 69 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 73 if you wish to s
ca80: 65 6c 65 63 74 20 61 67 61 69 6e 20 74 68 65 20 elect again the
ca90: 69 6e 69 74 69 61 6c 20 73 74 61 6e 64 61 72 64 initial standard
caa0: 20 73 65 74 74 69 6e 67 20 79 6f 75 20 6a 75 73 setting you jus
cab0: 74 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 t have to execut
cac0: 65 3c 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 e<br> <b>UPDATE
cad0: 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f byfoot SET Optio
cae0: 6e 73 20 3d 20 27 46 55 4c 4c 27 3b 3c 2f 62 3e ns = 'FULL';</b>
caf0: 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 0d 0a 3c 68 72 .<br><br>....<hr
cb00: 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 ><br>..<a href="
cb10: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
cb20: 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c -gis.it/fossil/l
cb30: 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 6b ibspatialite/wik
cb40: 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 i?name=4.3.0-doc
cb50: 22 3e 62 61 63 6b 3c 2f 61 3e 0a 5a 20 64 35 36 ">back</a>.Z d56
cb60: 62 39 35 36 37 37 32 64 33 61 66 66 65 38 37 31 b956772d3affe871
cb70: 34 32 32 66 34 33 39 36 64 37 64 31 38 0a 422f4396d7d18.