Hex Artifact Content
Not logged in

Artifact 6c3d0b8a2f5e19f09816d62b4fb4f589f145f957:

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