Hex Artifact Content
Not logged in

Artifact 49de9a510c9200f130f294494a508987eeadfa0c:

Wiki page [VirtualRouting] by sandro 2018-04-05 08:01:52.
0000: 44 20 32 30 31 38 2d 30 34 2d 30 35 54 30 38 3a  D 2018-04-05T08:
0010: 30 31 3a 35 32 2e 34 39 33 0a 4c 20 56 69 72 74  01:52.493.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 64 64 36  ualRouting.P dd6
0030: 62 66 33 34 30 66 34 33 33 35 33 64 62 30 31 37  bf340f43353db017
0040: 36 32 39 39 34 63 65 65 65 39 38 32 32 64 63 61  62994ceee9822dca
0050: 31 65 30 61 33 0a 55 20 73 61 6e 64 72 6f 0a 57  1e0a3.U sandro.W
0060: 20 36 38 31 30 34 0a 3c 61 20 68 72 65 66 3d 22   68104.<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 35 20 2d 20 3c 61 20 68 72 65 66 3d 22 23  ..5 - <a href="#
01d0: 6d 75 6c 74 69 22 3e 53 6f 6c 76 69 6e 67 20 6d  multi">Solving m
01e0: 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ulti-destination
01f0: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 70   Shortest Path p
0200: 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e 0d  roblems</a><br>.
0210: 0a 3c 62 72 3e 3c 68 72 3e 0d 0a 3c 68 31 3e 3c  .<br><hr>..<h1><
0220: 61 20 6e 61 6d 65 3d 22 69 6e 74 72 6f 22 3e 31  a name="intro">1
0230: 20 2d 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c   - Introduction<
0240: 2f 61 3e 3c 2f 68 31 3e 0d 0a 50 72 65 76 69 6f  /a></h1>..Previo
0250: 75 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 53  us versions of S
0260: 70 61 74 69 61 4c 69 74 65 20 74 72 61 64 69 74  patiaLite tradit
0270: 69 6f 6e 61 6c 6c 79 20 73 75 70 70 6f 72 74 65  ionally supporte
0280: 64 20 61 20 3c 62 3e 70 75 72 65 20 53 51 4c 20  d a <b>pure SQL 
0290: 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65 3c 2f  routing module</
02a0: 62 3e 20 74 68 61 74 20 77 61 73 20 6e 61 6d 65  b> that was name
02b0: 64 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73  d <a href="https
02c0: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
02d0: 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61  it/fossil/libspa
02e0: 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d  tialite/wiki?nam
02f0: 65 3d 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b  e=VirtualNetwork
0300: 2b 72 65 6c 6f 61 64 65 64 22 3e 56 69 72 74 75  +reloaded">Virtu
0310: 61 6c 4e 65 74 77 6f 72 6b 3c 2f 61 3e 2e 3c 62  alNetwork</a>.<b
0320: 72 3e 3c 62 72 3e 0d 0a 53 69 6e 63 65 20 76 65  r><br>..Since ve
0330: 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f  rsion <b>5.0.0</
0340: 62 3e 20 61 20 62 72 61 6e 64 20 6e 65 77 20 3c  b> a brand new <
0350: 62 3e 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65  b>routing module
0360: 3c 2f 62 3e 20 28 6d 6f 72 65 20 61 64 76 61 6e  </b> (more advan
0370: 63 65 64 20 61 6e 64 20 73 6f 70 68 69 73 74 69  ced and sophisti
0380: 63 61 74 65 64 29 20 69 73 20 61 76 61 69 6c 61  cated) is availa
0390: 62 6c 65 2c 20 74 68 61 74 20 69 73 20 63 61 6c  ble, that is cal
03a0: 6c 65 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f  led <b>VirtualRo
03b0: 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  uting</b>.<br>..
03c0: 54 68 65 20 6e 6f 77 20 6f 62 73 6f 6c 65 74 65  The now obsolete
03d0: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f   <b>VirtualNetwo
03e0: 72 6b 3c 2f 62 3e 20 69 73 20 73 74 69 6c 6c 20  rk</b> is still 
03f0: 73 75 70 70 6f 72 74 65 64 20 62 79 20 76 65 72  supported by ver
0400: 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f 62  sion <b>5.0.0</b
0410: 3e 20 73 6f 20 61 73 20 74 6f 20 6e 6f 74 20 63  > so as to not c
0420: 61 75 73 65 20 61 6e 20 61 62 72 75 70 74 20 62  ause an abrupt b
0430: 72 65 61 6b 20 74 6f 20 61 6c 72 65 61 64 79 20  reak to already 
0440: 65 78 69 73 74 69 6e 67 20 61 70 70 6c 69 63 61  existing applica
0450: 74 69 6f 6e 73 2c 20 62 75 74 20 77 69 6c 6c 20  tions, but will 
0460: 70 72 65 73 75 6d 61 62 6c 79 20 62 65 20 64 69  presumably be di
0470: 73 63 6f 6e 74 69 6e 75 65 64 20 69 6e 20 66 75  scontinued in fu
0480: 74 75 72 65 20 76 65 72 73 69 6f 6e 73 2e 3c 62  ture versions.<b
0490: 72 3e 0d 0a 55 73 69 6e 67 20 3c 62 3e 56 69 72  r>..Using <b>Vir
04a0: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20  tualRouting</b> 
04b0: 69 6e 73 74 65 61 64 20 6f 66 20 3c 62 3e 56 69  instead of <b>Vi
04c0: 72 74 75 61 6c 4e 65 74 77 69 72 6b 3c 2f 62 3e  rtualNetwirk</b>
04d0: 20 69 73 20 77 61 72 6d 6c 79 20 72 65 63 6f 6d   is warmly recom
04e0: 6d 65 6e 64 65 64 20 66 6f 72 20 61 6e 79 20 6e  mended for any n
04f0: 65 77 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 20  ew development. 
0500: 0d 0a 3c 68 32 3e 54 68 65 6f 72 65 74 69 63 61  ..<h2>Theoretica
0510: 6c 20 66 6f 75 6e 64 61 74 69 6f 6e 73 20 2d 20  l foundations - 
0520: 61 6e 20 75 6c 74 72 61 2d 71 75 69 63 6b 20 72  an ultra-quick r
0530: 65 63 61 6c 6c 3c 2f 68 32 3e 0d 0a 41 6c 6c 20  ecall</h2>..All 
0540: 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72  <b>Routing algor
0550: 69 74 68 6d 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b  ithms</b> (<i>ak
0560: 61 3c 2f 69 3e 20 3c 62 3e 53 68 6f 72 74 65 73  a</i> <b>Shortes
0570: 74 20 50 61 74 68 3c 2f 62 3e 20 61 6c 67 6f 72  t Path</b> algor
0580: 69 74 68 6d 73 29 20 61 72 65 20 62 61 73 65 64  ithms) are based
0590: 20 6f 6e 20 74 68 65 20 6d 61 74 68 65 6d 61 74   on the mathemat
05a0: 69 63 73 20 6f 66 20 74 68 65 20 3c 61 20 68 72  ics of the <a hr
05b0: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77  ef="https://en.w
05c0: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b  ikipedia.org/wik
05d0: 69 2f 47 72 61 70 68 5f 74 68 65 6f 72 79 22 3e  i/Graph_theory">
05e0: 47 72 61 70 68 20 74 68 65 6f 72 79 3c 2f 61 3e  Graph theory</a>
05f0: 20 6f 72 20 74 6f 20 62 65 20 6d 6f 72 65 20 70   or to be more p
0600: 72 65 63 69 73 65 3a 20 6f 6e 20 3c 62 3e 57 65  recise: on <b>We
0610: 69 67 68 74 65 64 20 47 72 61 70 68 73 3c 2f 62  ighted Graphs</b
0620: 3e 2e 0d 0a 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73  >...<br>..<img s
0630: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
0640: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
0650: 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69  -sins/routing-fi
0660: 67 73 2f 6e 65 74 77 6f 72 6b 2e 70 6e 67 22 20  gs/network.png" 
0670: 61 6c 74 3d 22 6e 65 74 77 6f 72 6b 22 3e 0d 0a  alt="network">..
0680: 3c 62 72 3e 0d 0a 41 20 74 6f 70 6f 6c 6f 67 69  <br>..A topologi
0690: 63 61 6c 6c 79 20 76 61 6c 69 64 20 3c 62 3e 4e  cally valid <b>N
06a0: 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73 20 61 20  etwork</b> is a 
06b0: 64 61 74 61 73 65 74 20 74 68 61 74 20 66 75 6c  dataset that ful
06c0: 66 69 6c 6c 73 20 74 68 65 20 66 6f 6c 6c 6f 77  fills the follow
06d0: 69 6e 67 20 72 65 71 75 69 72 65 6d 65 6e 74 73  ing requirements
06e0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 6c 6c  :..<ul>..<li>All
06f0: 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 64 61   items in the da
0700: 74 61 73 65 74 20 61 72 65 20 63 61 6c 6c 65 64  taset are called
0710: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 28 3c   <b>Links</b> (<
0720: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 41 72 63  i>aka</i> <b>Arc
0730: 73 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 72 65 20  s</b>), and are 
0740: 65 78 70 65 63 74 65 64 20 74 6f 20 72 65 70 72  expected to repr
0750: 65 73 65 6e 74 20 73 6f 6d 65 20 6f 72 69 65 6e  esent some orien
0760: 74 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a  ted connection j
0770: 6f 69 6e 69 6e 67 20 74 77 6f 20 3c 62 3e 4e 6f  oining two <b>No
0780: 64 65 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75  des</b>.<br>..<u
0790: 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 69 6e  >Example</u>: in
07a0: 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 75 72   the above figur
07b0: 65 20 4c 69 6e 6b 20 3c 62 3e 4c 33 3c 2f 62 3e  e Link <b>L3</b>
07c0: 20 63 6f 6e 6e 65 63 74 73 20 4e 6f 64 65 73 20   connects Nodes 
07d0: 3c 62 3e 4e 32 3c 2f 62 3e 20 61 6e 64 20 3c 62  <b>N2</b> and <b
07e0: 3e 4e 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  >N5</b>.</li>..<
07f0: 6c 69 3e 53 6f 20 61 6c 6c 20 3c 62 3e 4c 69 6e  li>So all <b>Lin
0800: 6b 73 3c 2f 62 3e 20 61 72 65 20 61 6c 77 61 79  ks</b> are alway
0810: 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 65 78  s expected to ex
0820: 70 6c 69 63 69 74 6c 79 20 72 65 66 65 72 65 6e  plicitly referen
0830: 63 65 20 61 20 3c 62 3e 53 74 61 72 74 2d 4e 6f  ce a <b>Start-No
0840: 64 65 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f  de</b> (<i>aka</
0850: 69 3e 20 3c 62 3e 4e 6f 64 65 2d 46 72 6f 6d 3c  i> <b>Node-From<
0860: 2f 62 3e 29 20 61 6e 64 20 61 6e 20 3c 62 3e 45  /b>) and an <b>E
0870: 6e 64 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c 69 3e  nd-Node</b> (<i>
0880: 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64 65 2d  aka</i> <b>Node-
0890: 54 6f 3c 2f 62 3e 29 2e 0d 0a 3c 75 6c 3e 0d 0a  To</b>)...<ul>..
08a0: 3c 6c 69 3e 4c 69 6e 6b 73 20 61 72 65 20 61 6c  <li>Links are al
08b0: 77 61 79 73 20 3c 62 3e 6f 72 69 65 6e 74 65 64  ways <b>oriented
08c0: 3c 2f 62 3e 2c 20 61 6e 64 20 74 68 65 69 72 20  </b>, and their 
08d0: 6e 61 74 75 72 61 6c 20 64 69 72 65 63 74 69 6f  natural directio
08e0: 6e 20 69 73 20 3c 62 3e 46 72 6f 6d 2d 54 6f 3c  n is <b>From-To<
08f0: 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  /b>:..<ul>..<li>
0900: 69 6e 20 61 6e 20 3c 62 3e 75 6e 69 64 69 72 65  in an <b>unidire
0910: 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 4e 65 74 77  ctional</b> Netw
0920: 6f 72 6b 20 65 61 63 68 20 4c 69 6e 6b 20 69 73  ork each Link is
0930: 20 61 6e 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f   an <b>one-way</
0940: 62 3e 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 3c 62  b> connection.<b
0950: 72 3e 0d 0a 49 66 20 74 68 65 20 63 6f 6e 6e 65  r>..If the conne
0960: 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62  ction is availab
0970: 6c 65 20 69 6e 20 74 68 65 20 6f 70 70 6f 73 69  le in the opposi
0980: 74 65 20 64 69 72 65 63 74 69 6f 6e 20 61 20 73  te direction a s
0990: 65 63 6f 6e 64 20 4c 69 6e 6b 20 6d 75 73 74 20  econd Link must 
09a0: 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65  be explicitly de
09b0: 63 6c 61 72 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e  clared.<br>..<u>
09c0: 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 4c 69 6e  Example</u>: Lin
09d0: 6b 20 3c 62 3e 58 31 3c 2f 62 3e 20 67 6f 65 73  k <b>X1</b> goes
09e0: 20 66 72 6f 6d 20 4e 6f 64 65 20 3c 62 3e 41 3c   from Node <b>A<
09f0: 2f 62 3e 20 74 6f 20 4e 6f 64 65 20 3c 62 3e 42  /b> to Node <b>B
0a00: 3c 2f 62 3e 2c 20 61 6e 64 20 4c 69 6e 6b 20 3c  </b>, and Link <
0a10: 62 3e 58 32 3c 2f 62 3e 20 67 6f 65 73 20 66 72  b>X2</b> goes fr
0a20: 6f 6d 20 4e 6f 64 65 20 3c 62 3e 42 3c 2f 62 3e  om Node <b>B</b>
0a30: 20 74 6f 20 4e 6f 64 65 20 3c 62 3e 41 3c 2f 62   to Node <b>A</b
0a40: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20  >.</li>..<li>in 
0a50: 61 20 3c 62 3e 62 69 64 69 72 65 63 74 69 6f 6e  a <b>bidirection
0a60: 61 6c 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 20 61  al</b> Network a
0a70: 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20 61 73 73  ll Links are ass
0a80: 75 6d 65 64 20 74 6f 20 65 73 74 61 62 6c 69 73  umed to establis
0a90: 68 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69  h a connection i
0aa0: 6e 20 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e  n both direction
0ab0: 73 2e 3c 62 72 3e 0d 0a 44 65 66 69 6e 69 74 69  s.<br>..Definiti
0ac0: 6e 67 20 61 6e 20 3c 62 3e 6f 6e 65 2d 77 61 79  ng an <b>one-way
0ad0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 3c 2f 62 3e 20   connection</b> 
0ae0: 72 65 71 75 69 72 65 73 20 61 6e 20 61 70 70 72  requires an appr
0af0: 6f 70 72 69 61 74 65 20 61 74 74 72 69 62 75 74  opriate attribut
0b00: 65 20 74 6f 20 62 65 20 73 65 74 20 28 73 65 65  e to be set (see
0b10: 20 62 65 6c 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c   below).</li>..<
0b20: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54  /ul></li>..<li>T
0b30: 68 65 20 3c 62 3e 53 74 61 72 74 2d 3c 2f 62 3e  he <b>Start-</b>
0b40: 20 61 6e 64 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65   and <b>End-Node
0b50: 3c 2f 62 3e 20 63 6f 75 6c 64 20 65 76 65 6e 74  </b> could event
0b60: 75 61 6c 6c 79 20 62 65 20 74 68 65 20 73 61 6d  ually be the sam
0b70: 65 2c 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63  e, and in this c
0b80: 61 73 65 20 77 65 27 6c 6c 20 68 61 76 65 20 61  ase we'll have a
0b90: 20 3c 62 3e 73 65 6c 66 2d 63 6c 6f 73 65 64 3c   <b>self-closed<
0ba0: 2f 62 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a  /b> Link.</li>..
0bb0: 3c 6c 69 3e 4e 65 74 77 6f 72 6b 27 73 20 4c 69  <li>Network's Li
0bc0: 6e 6b 73 20 3c 62 3e 63 61 6e 3c 2f 62 3e 20 65  nks <b>can</b> e
0bd0: 76 65 6e 74 75 61 6c 6c 79 20 64 65 66 69 6e 65  ventually define
0be0: 20 61 20 6c 69 6e 65 61 72 20 47 65 6f 6d 65 74   a linear Geomet
0bf0: 72 79 20 28 3c 62 3e 4c 49 4e 45 53 54 52 49 4e  ry (<b>LINESTRIN
0c00: 47 3c 2f 62 3e 29 20 67 6f 69 6e 67 20 66 72 6f  G</b>) going fro
0c10: 6d 20 74 68 65 20 3c 62 3e 53 74 61 72 74 2d 4e  m the <b>Start-N
0c20: 6f 64 65 3c 2f 62 3e 20 74 6f 20 74 68 65 20 3c  ode</b> to the <
0c30: 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f 62 3e 2c 20  b>End-Node</b>, 
0c40: 62 75 74 20 74 68 69 73 20 69 73 20 61 6e 20 6f  but this is an o
0c50: 70 74 69 6f 6e 61 6c 20 66 65 61 74 75 72 65 2c  ptional feature,
0c60: 20 6e 6f 74 20 61 20 6d 61 6e 64 61 74 6f 72 79   not a mandatory
0c70: 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 3c 2f 6c   requirement.</l
0c80: 69 3e 0d 0a 3c 6c 69 3e 57 68 61 74 20 69 73 20  i>..<li>What is 
0c90: 61 62 73 6f 6c 75 74 65 6c 79 20 6d 61 6e 64 61  absolutely manda
0ca0: 74 6f 72 79 20 69 73 20 74 68 61 74 20 65 61 63  tory is that eac
0cb0: 68 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 6d 75  h <b>Link</b> mu
0cc0: 73 74 20 65 78 70 6c 69 63 69 74 6c 79 20 72 65  st explicitly re
0cd0: 66 65 72 65 6e 63 65 20 69 74 73 20 3c 62 3e 4e  ference its <b>N
0ce0: 6f 64 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  odes</b>.</li>..
0cf0: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </ul></li>..<li>
0d00: 41 20 4e 65 74 77 6f 72 6b 20 73 75 70 70 6f 72  A Network suppor
0d10: 74 69 6e 67 20 47 65 6f 6d 65 74 72 69 65 73 20  ting Geometries 
0d20: 69 73 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20  is a <b>Spatial 
0d30: 4e 65 74 77 6f 72 6b 3c 2f 62 3e 3b 20 6f 74 68  Network</b>; oth
0d40: 65 72 77 69 73 65 20 61 20 4e 65 74 77 6f 72 6b  erwise a Network
0d50: 20 6c 61 63 6b 69 6e 67 20 61 6e 79 20 47 65 6f   lacking any Geo
0d60: 6d 65 74 72 79 20 69 73 20 61 20 3c 62 3e 4c 6f  metry is a <b>Lo
0d70: 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62  gical Network</b
0d80: 3e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 49 6e  >...<ul>..<li>In
0d90: 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65   a <b>Spatial Ne
0da0: 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20 4c 69  twork</b> all Li
0db0: 6e 6b 73 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20  nks <b>must</b> 
0dc0: 68 61 76 65 20 61 20 63 6f 72 72 65 73 70 6f 6e  have a correspon
0dd0: 64 69 6e 67 20 47 65 6f 6d 65 74 72 79 2e 3c 2f  ding Geometry.</
0de0: 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62  li>..<li>In a <b
0df0: 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b  >Logical Network
0e00: 3c 2f 62 3e 20 61 6c 6c 20 4c 69 6e 6b 73 20 3c  </b> all Links <
0e10: 62 3e 61 72 65 20 73 74 72 69 63 74 6c 79 20 66  b>are strictly f
0e20: 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 74 6f 20  orbidden</b> to 
0e30: 68 61 76 65 20 61 6e 79 20 47 65 6f 6d 65 74 72  have any Geometr
0e40: 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20  y.</li>..<li>In 
0e50: 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74  a <b>Spatial Net
0e60: 77 6f 72 6b 3c 2f 62 3e 20 62 6f 74 68 20 74 68  work</b> both th
0e70: 65 20 3c 62 3e 53 74 61 72 74 50 6f 69 6e 74 3c  e <b>StartPoint<
0e80: 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 6e 64 50 6f  /b> and <b>EndPo
0e90: 69 6e 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20  int</b> of each 
0ea0: 4c 69 6e 6b 27 73 20 3c 62 3e 4c 49 4e 45 53 54  Link's <b>LINEST
0eb0: 52 49 4e 47 3c 2f 62 3e 20 61 72 65 20 61 6c 77  RING</b> are alw
0ec0: 61 79 73 20 65 78 70 65 63 74 65 64 20 74 6f 20  ays expected to 
0ed0: 65 78 61 63 74 6c 79 20 63 6f 69 6e 63 69 64 65  exactly coincide
0ee0: 20 77 69 74 68 20 74 68 65 20 63 6f 72 72 65 73   with the corres
0ef0: 70 6f 6e 64 69 6e 67 20 3c 62 3e 4e 6f 64 65 73  ponding <b>Nodes
0f00: 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  </b>.</li>..</ul
0f10: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61  ></li>..<li>In a
0f20: 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77   <b>Spatial Netw
0f30: 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20 72 65 66 65  ork</b> all refe
0f40: 72 65 6e 63 65 73 20 74 6f 20 74 68 65 20 73 61  rences to the sa
0f50: 6d 65 20 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 20 62  me <b>Node</b> b
0f60: 79 20 64 69 66 66 65 72 65 6e 74 20 4c 69 6e 6b  y different Link
0f70: 73 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20 62 65  s <b>must</b> be
0f80: 20 61 6e 20 65 78 61 63 74 20 6d 61 74 63 68 2e   an exact match.
0f90: 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65  <br>..<u>Example
0fa0: 3c 2f 75 3e 3a 20 4e 6f 64 65 20 3c 62 3e 4e 35  </u>: Node <b>N5
0fb0: 3c 2f 62 3e 20 69 73 20 73 68 61 72 65 64 20 62  </b> is shared b
0fc0: 79 20 4c 69 6e 6b 73 20 3c 62 3e 4c 33 3c 2f 62  y Links <b>L3</b
0fd0: 3e 2c 20 3c 62 3e 4c 36 3c 2f 62 3e 2c 20 3c 62  >, <b>L6</b>, <b
0fe0: 3e 4c 37 3c 2f 62 3e 2c 20 3c 62 3e 4c 39 3c 2f  >L7</b>, <b>L9</
0ff0: 62 3e 20 61 6e 64 20 3c 62 3e 4c 31 30 3c 2f 62  b> and <b>L10</b
1000: 3e 2c 20 73 6f 20 61 6c 6c 20 74 68 65 69 72 20  >, so all their 
1010: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 49  corresponding LI
1020: 4e 45 53 54 52 49 4e 47 53 20 61 72 65 20 65 78  NESTRINGS are ex
1030: 70 65 63 74 65 64 20 74 6f 20 68 61 76 65 20 74  pected to have t
1040: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
1050: 20 65 78 74 72 65 6d 69 74 79 20 28 3c 62 3e 53   extremity (<b>S
1060: 74 61 72 74 2d 3c 2f 62 3e 20 6f 72 20 3c 62 3e  tart-</b> or <b>
1070: 45 6e 64 2d 3c 2f 62 3e 2c 20 64 65 70 65 6e 64  End-</b>, depend
1080: 69 6e 67 20 6f 6e 20 74 68 65 20 6f 72 69 65 6e  ing on the orien
1090: 74 61 74 69 6f 6e 29 20 70 6f 69 6e 74 73 20 74  tation) points t
10a0: 68 61 74 20 6d 75 73 74 20 65 78 61 63 74 6c 79  hat must exactly
10b0: 20 6d 61 74 63 68 20 74 68 65 20 6f 74 68 65 72   match the other
10c0: 2e 3c 62 72 3e 0d 0a 41 20 3c 62 3e 74 6f 70 6f  .<br>..A <b>topo
10d0: 6c 6f 67 69 63 61 6c 20 69 6e 63 6f 6e 73 69 73  logical inconsis
10e0: 74 65 6e 63 79 3c 2f 62 3e 20 65 78 69 73 74 73  tency</b> exists
10f0: 20 69 66 20 61 6e 79 20 6f 66 20 74 68 65 73 65   if any of these
1100: 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20   conditions are 
1110: 6e 6f 74 20 73 61 74 69 73 66 69 65 64 2c 20 77  not satisfied, w
1120: 68 69 63 68 20 6c 65 61 64 73 20 74 6f 20 61 6e  hich leads to an
1130: 20 3c 62 3e 69 6e 76 61 6c 69 64 3c 2f 62 3e 20   <b>invalid</b> 
1140: 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c  Network.</li>..<
1150: 6c 69 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74 69  li>In a <b>Spati
1160: 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 74  al Network</b> t
1170: 77 6f 0d 0a 3c 6c 69 3e 41 63 63 6f 72 64 69 6e  wo..<li>Accordin
1180: 67 6c 79 20 74 6f 20 74 68 65 20 61 62 6f 76 65  gly to the above
1190: 20 70 72 65 6d 69 73 65 73 2c 20 3c 62 3e 4e 6f   premises, <b>No
11a0: 64 65 73 3c 2f 62 3e 20 61 72 65 20 6e 65 76 65  des</b> are neve
11b0: 72 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65  r expected to be
11c0: 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 63 6c   explicitly decl
11d0: 61 72 65 64 20 69 6e 20 61 20 73 65 70 61 72 61  ared in a separa
11e0: 74 65 20 54 61 62 6c 65 2e 3c 62 72 3e 0d 0a 4a  te Table.<br>..J
11f0: 75 73 74 20 61 20 73 69 6e 67 6c 65 20 54 61 62  ust a single Tab
1200: 6c 65 20 64 65 63 6c 61 72 69 6e 67 20 61 6c 6c  le declaring all
1210: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 69 73   <b>Links</b> is
1220: 20 72 65 71 75 69 72 65 64 20 69 6e 20 6f 72 64   required in ord
1230: 65 72 20 74 6f 20 66 75 6c 6c 79 20 64 65 66 69  er to fully defi
1240: 6e 65 20 61 20 74 6f 70 6f 6c 6f 67 69 63 61 6c  ne a topological
1250: 6c 79 20 76 61 6c 69 64 20 4e 65 74 77 6f 72 6b  ly valid Network
1260: 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 20 4e  .<br>..All the N
1270: 6f 64 65 73 20 63 61 6e 20 74 68 65 6e 20 62 65  odes can then be
1280: 20 65 61 73 69 6c 79 20 65 78 74 72 61 63 74 65   easily extracte
1290: 64 20 66 72 6f 6d 20 74 68 65 20 4c 69 6e 6b 73  d from the Links
12a0: 27 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 6e  ' definitions an
12b0: 64 20 74 68 65 20 63 6f 6f 72 64 69 6e 61 74 65  d the coordinate
12c0: 73 20 66 6f 72 20 65 61 63 68 20 4e 6f 64 65 20  s for each Node 
12d0: 63 61 6e 20 62 65 20 64 69 72 65 63 74 6c 79 20  can be directly 
12e0: 73 65 74 20 62 79 20 65 78 74 72 61 63 74 69 6e  set by extractin
12f0: 67 20 74 68 65 20 65 78 74 72 65 6d 65 20 50 6f  g the extreme Po
1300: 69 6e 74 20 6f 66 20 74 68 65 20 63 6f 72 72 65  int of the corre
1310: 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 65 73 74 72  sponding Linestr
1320: 69 6e 67 73 2e 3c 62 72 3e 0d 0a 49 66 20 61 6e  ings.<br>..If an
1330: 79 20 6d 69 73 6d 61 74 63 68 20 69 73 20 64 65  y mismatch is de
1340: 74 65 63 74 65 64 20 74 68 69 73 20 73 75 72 65  tected this sure
1350: 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68  ly means that th
1360: 65 20 4e 65 74 77 6f 72 6b 20 69 73 20 69 6e 76  e Network is inv
1370: 61 6c 69 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  alid.</li>..<li>
1380: 41 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 6d 61  A <b>Link</b> ma
1390: 79 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 73  y legitimately s
13a0: 65 6c 66 2d 69 6e 74 65 72 73 65 63 74 20 69 74  elf-intersect it
13b0: 73 65 6c 66 20 28 65 2e 67 2e 20 66 6f 72 6d 69  self (e.g. formi
13c0: 6e 67 20 61 20 6c 6f 6f 70 29 2c 20 61 73 20 73  ng a loop), as s
13d0: 68 6f 77 6e 20 69 6e 20 74 68 65 20 61 62 6f 76  hown in the abov
13e0: 65 20 66 69 67 75 72 65 20 62 79 20 4c 69 6e 6b  e figure by Link
13f0: 20 3c 62 3e 4c 31 35 3c 2f 62 3e 20 28 6f 72 61   <b>L15</b> (ora
1400: 6e 67 65 20 73 70 6f 74 29 2e 3c 2f 6c 69 3e 0d  nge spot).</li>.
1410: 0a 3c 6c 69 3e 54 77 6f 20 3c 62 3e 4c 69 6e 6b  .<li>Two <b>Link
1420: 73 3c 2f 62 3e 20 6d 61 79 20 6c 65 67 69 74 69  s</b> may legiti
1430: 6d 61 74 65 6c 79 20 69 6e 74 65 72 73 65 63 74  mately intersect
1440: 20 77 68 65 72 65 20 6e 6f 20 4e 6f 64 65 20 65   where no Node e
1450: 78 69 73 74 73 2c 20 61 73 20 65 78 65 6d 70 6c  xists, as exempl
1460: 69 66 69 65 64 20 6f 6e 20 74 68 65 20 61 62 6f  ified on the abo
1470: 76 65 20 66 69 67 75 72 65 20 62 79 20 4c 69 6e  ve figure by Lin
1480: 6b 73 20 3c 62 3e 4c 34 3c 2f 62 3e 20 61 6e 64  ks <b>L4</b> and
1490: 20 3c 62 3e 4c 37 3c 2f 62 3e 20 28 67 72 65 65   <b>L7</b> (gree
14a0: 6e 20 73 70 6f 74 29 2e 3c 62 72 3e 0d 0a 54 68  n spot).<br>..Th
14b0: 69 73 20 75 73 75 61 6c 6c 79 20 68 61 70 70 65  is usually happe
14c0: 6e 73 20 77 68 65 6e 20 6f 6e 65 20 6f 66 20 74  ns when one of t
14d0: 68 65 20 74 77 6f 20 4c 69 6e 6b 73 20 6f 76 65  he two Links ove
14e0: 72 70 61 73 73 65 73 20 74 68 65 20 6f 74 68 65  rpasses the othe
14f0: 72 2c 20 6f 72 20 77 68 65 72 65 20 73 6f 6d 65  r, or where some
1500: 20 74 65 63 68 6e 69 63 61 6c 20 72 65 73 74 72   technical restr
1510: 69 63 74 69 6f 6e 20 65 78 69 73 74 73 20 28 65  iction exists (e
1520: 2e 67 2e 20 74 77 6f 20 69 6e 73 75 6c 61 74 65  .g. two insulate
1530: 64 20 77 69 72 65 73 20 69 6e 20 61 6e 20 45 6c  d wires in an El
1540: 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f 72 6b  ectrical Network
1550: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  ).</li>..<li><b>
1560: 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72 65 6e 27 74  Links</b> aren't
1570: 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 72   strictly requir
1580: 65 64 20 74 6f 20 62 65 20 61 73 73 6f 63 69 61  ed to be associa
1590: 74 65 64 20 77 69 74 68 20 61 6e 79 20 73 70 65  ted with any spe
15a0: 63 69 66 69 63 20 61 74 74 72 69 62 75 74 65 2c  cific attribute,
15b0: 20 62 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69   but the followi
15c0: 6e 67 20 61 74 74 72 69 62 75 74 65 73 20 61 72  ng attributes ar
15d0: 65 20 61 6c 6d 6f 73 74 20 75 6e 69 76 65 72 73  e almost univers
15e0: 61 6c 6c 79 20 73 75 70 70 6f 72 74 65 64 3a 0d  ally supported:.
15f0: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 20 3c 62 3e  .<ul>..<li>a <b>
1600: 6e 61 6d 65 3c 2f 62 3e 20 69 64 65 6e 74 69 66  name</b> identif
1610: 79 69 6e 67 20 74 68 65 20 4c 69 6e 6b 2e 3c 62  ying the Link.<b
1620: 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 73 3c  r>..<u>Examples<
1630: 2f 75 3e 3a 20 74 68 65 20 3c 69 3e 72 6f 61 64  /u>: the <i>road
1640: 20 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 20 69 6e 20   toponym</i> in 
1650: 61 20 3c 62 3e 72 6f 61 64 20 6e 65 74 77 6f 72  a <b>road networ
1660: 6b 3c 2f 62 3e 2c 20 6f 72 20 74 68 65 20 3c 69  k</b>, or the <i
1670: 3e 72 69 76 65 72 20 6e 61 6d 65 3c 2f 69 3e 20  >river name</i> 
1680: 69 6e 20 61 6e 20 3c 62 3e 68 79 64 72 6f 67 72  in an <b>hydrogr
1690: 61 70 68 69 63 20 6e 65 74 77 6f 72 6b 3c 2f 62  aphic network</b
16a0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 6e 65  >.</li>..<li>one
16b0: 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65 29 20   (or even more) 
16c0: 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 63  appropriate <b>c
16d0: 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e 28 73 29  ost value</b>(s)
16e0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c  .<br>..<u>Exampl
16f0: 65 3c 2f 75 3e 3a 20 74 68 65 20 3c 69 3e 74 69  e</u>: the <i>ti
1700: 6d 65 3c 2f 69 3e 20 72 65 71 75 69 72 65 64 20  me</i> required 
1710: 74 6f 20 74 72 61 76 65 72 73 65 20 74 68 65 20  to traverse the 
1720: 4c 69 6e 6b 20 28 6d 61 79 20 62 65 20 64 69 73  Link (may be dis
1730: 74 69 6e 67 75 69 73 68 65 64 20 62 65 74 77 65  tinguished betwe
1740: 65 6e 20 70 65 64 65 73 74 72 69 61 6e 73 2c 20  en pedestrians, 
1750: 62 69 63 79 63 6c 65 73 2c 20 63 61 72 73 2c 20  bicycles, cars, 
1760: 6c 6f 72 72 69 65 73 20 61 6e 64 20 73 6f 20 6f  lorries and so o
1770: 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20  n).</li>..<li>a 
1780: 70 61 69 72 20 6f 66 20 3c 62 3e 62 6f 6f 6c 65  pair of <b>boole
1790: 61 6e 20 66 6c 61 67 73 3c 2f 62 3e 20 28 3c 62  an flags</b> (<b
17a0: 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e 20 61 6e 64  >from-to</b> and
17b0: 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c 2f 62 3e 29   <b>to-from</b>)
17c0: 20 61 72 65 20 69 6e 74 65 6e 64 65 6e 64 20 74   are intendend t
17d0: 6f 20 73 70 65 63 69 66 79 20 69 66 20 74 68 65  o specify if the
17e0: 20 4c 69 6e 6b 20 63 61 6e 20 62 65 20 74 72 61   Link can be tra
17f0: 76 65 72 73 65 64 20 6f 6e 20 62 6f 74 68 20 64  versed on both d
1800: 69 72 65 63 74 69 6f 6e 73 20 6f 72 20 6a 75 73  irections or jus
1810: 74 20 69 6e 20 6f 6e 65 20 28 3c 62 3e 6f 6e 65  t in one (<b>one
1820: 2d 77 61 79 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d  -way</b>).</li>.
1830: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  .</ul></li>..</u
1840: 6c 3e 0d 0a 3c 68 34 3e 4c 6f 67 69 63 61 6c 20  l>..<h4>Logical 
1850: 63 6f 6e 63 6c 75 73 69 6f 6e 73 3c 2f 68 34 3e  conclusions</h4>
1860: 0d 0a 41 6e 79 20 74 6f 70 6f 6c 6f 67 69 63 61  ..Any topologica
1870: 6c 6c 79 20 76 61 6c 69 64 20 3c 62 3e 4e 65 74  lly valid <b>Net
1880: 77 6f 72 6b 3c 2f 62 3e 20 28 69 72 72 65 73 70  work</b> (irresp
1890: 65 63 74 69 76 65 20 6f 66 20 77 68 65 74 68 65  ective of whethe
18a0: 72 20 69 74 20 69 73 20 61 20 3c 62 3e 53 70 61  r it is a <b>Spa
18b0: 74 69 61 6c 3c 2f 62 3e 20 6f 72 20 3c 62 3e 4c  tial</b> or <b>L
18c0: 6f 67 69 63 61 6c 3c 2f 62 3e 20 74 79 70 65 29  ogical</b> type)
18d0: 20 69 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 47   is a valid <b>G
18e0: 72 61 70 68 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41  raph</b>.<br>..A
18f0: 20 4e 65 74 77 6f 72 6b 20 61 6c 6c 6f 77 69 6e   Network allowin
1900: 67 20 74 68 65 20 73 75 70 70 6f 72 74 20 28 64  g the support (d
1910: 69 72 65 63 74 20 6f 72 20 69 6e 64 69 72 65 63  irect or indirec
1920: 74 29 20 6f 66 20 73 6f 6d 65 20 61 70 70 72 6f  t) of some appro
1930: 70 72 69 61 74 65 20 3c 62 3e 63 6f 73 74 20 76  priate <b>cost v
1940: 61 6c 75 65 3c 2f 62 3e 20 69 73 20 61 20 76 61  alue</b> is a va
1950: 6c 69 64 20 3c 62 3e 57 65 69 67 68 74 65 64 20  lid <b>Weighted 
1960: 47 72 61 70 68 3c 2f 62 3e 2c 20 61 6e 64 20 63  Graph</b>, and c
1970: 61 6e 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20  an consequently 
1980: 73 75 70 70 6f 72 74 20 3c 62 3e 52 6f 75 74 69  support <b>Routi
1990: 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 62  ng algorithms</b
19a0: 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 52 6f 75 74  >.<br>..All Rout
19b0: 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 61  ing algorithms a
19c0: 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 69  re intended to i
19d0: 64 65 6e 74 69 66 79 20 74 68 65 20 3c 62 3e 53  dentify the <b>S
19e0: 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 62 3e  hortest Path</b>
19f0: 20 73 6f 6c 75 74 69 6f 6e 20 63 6f 6e 6e 65 63   solution connec
1a00: 74 69 6e 67 20 74 77 6f 20 3c 62 3e 4e 6f 64 65  ting two <b>Node
1a10: 73 3c 2f 62 3e 20 69 6e 20 61 20 3c 62 3e 77 65  s</b> in a <b>we
1a20: 69 67 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e  ighted graph</b>
1a30: 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e   (<i>aka</i> <b>
1a40: 4e 65 74 77 6f 72 6b 3c 2f 62 3e 29 2e 3c 62 72  Network</b>).<br
1a50: 3e 3c 62 72 3e 0d 0a 3c 62 3e 3c 75 3e 4e 6f 74  ><br>..<b><u>Not
1a60: 65 3c 2f 75 3e 3c 2f 62 3e 3a 20 74 68 65 20 74  e</u></b>: the t
1a70: 65 72 6d 20 3c 62 3e 3c 69 3e 53 68 6f 72 74 65  erm <b><i>Shorte
1a80: 73 74 20 50 61 74 68 3c 2f 69 3e 3c 2f 62 3e 20  st Path</i></b> 
1a90: 63 61 6e 20 62 65 20 65 61 73 69 6c 79 20 6d 69  can be easily mi
1aa0: 73 75 6e 64 65 72 73 74 6f 6f 64 2e 3c 62 72 3e  sunderstood.<br>
1ab0: 0d 0a 44 75 65 20 74 6f 20 68 69 73 74 6f 72 69  ..Due to histori
1ac0: 63 61 6c 20 72 65 61 73 6f 6e 73 20 74 68 65 20  cal reasons the 
1ad0: 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 61 70 70 6c  most common appl
1ae0: 69 63 61 74 69 6f 6e 20 66 69 65 6c 64 20 66 6f  ication field fo
1af0: 72 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69  r Routing algori
1b00: 74 68 6d 73 20 69 73 20 72 65 6c 61 74 65 64 20  thms is related 
1b10: 74 6f 20 3c 62 3e 52 6f 61 64 20 4e 65 74 77 6f  to <b>Road Netwo
1b20: 72 6b 73 3c 2f 62 3e 2c 20 62 75 74 20 61 6c 73  rks</b>, but als
1b30: 6f 20 6d 61 6e 79 20 6f 74 68 65 72 20 6b 69 6e  o many other kin
1b40: 64 73 20 6f 66 20 4e 65 74 77 6f 72 6b 73 20 65  ds of Networks e
1b50: 78 69 73 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  xist:..<ul>..<li
1b60: 3e 48 79 64 72 6f 67 72 61 70 68 69 63 20 4e 65  >Hydrographic Ne
1b70: 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  tworks.</li>..<l
1b80: 69 3e 47 61 73 20 2f 20 57 61 74 65 72 20 2f 20  i>Gas / Water / 
1b90: 4f 69 6c 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c  Oil Networks.</l
1ba0: 69 3e 0d 0a 3c 6c 69 3e 45 6c 65 63 74 72 69 63  i>..<li>Electric
1bb0: 61 6c 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69  al Networks.</li
1bc0: 3e 0d 0a 3c 6c 69 3e 54 65 6c 65 63 6f 6d 75 6e  >..<li>Telecomun
1bd0: 69 63 61 74 69 6f 6e 20 4e 65 74 77 6f 72 6b 73  ication Networks
1be0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 53 6f 63 69  .</li>..<li>Soci
1bf0: 61 6c 20 6f 72 20 45 63 6f 6e 6f 6d 69 63 61 6c  al or Economical
1c00: 20 4e 65 74 77 6f 72 6b 73 20 72 65 70 72 65 73   Networks repres
1c10: 65 6e 74 69 6e 67 20 72 65 6c 61 74 69 6f 6e 73  enting relations
1c20: 68 69 70 73 20 62 65 74 77 65 65 6e 20 69 6e 64  hips between ind
1c30: 69 76 69 64 75 61 6c 73 20 6f 72 20 63 6f 6d 70  ividuals or comp
1c40: 61 6e 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  anies.</li>..<li
1c50: 3e 45 70 69 64 65 6d 69 6f 6c 6f 67 69 63 61 6c  >Epidemiological
1c60: 20 4e 65 74 77 6f 72 6b 73 20 72 65 70 72 65 73   Networks repres
1c70: 65 6e 74 69 6e 67 20 74 68 65 20 70 72 6f 70 61  enting the propa
1c80: 67 61 74 69 6f 6e 20 6f 66 20 69 6e 66 65 63 74  gation of infect
1c90: 69 76 65 20 64 69 73 65 61 73 65 73 20 62 65 74  ive diseases bet
1ca0: 77 65 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73  ween individuals
1cb0: 20 6f 72 20 67 72 6f 75 70 73 2e 3c 2f 6c 69 3e   or groups.</li>
1cc0: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c  ..</ul></li> ..<
1cd0: 62 72 3e 0d 0a 49 6e 20 61 6c 6c 20 74 68 65 20  br>..In all the 
1ce0: 61 62 6f 76 65 20 63 61 73 65 73 20 77 65 20 63  above cases we c
1cf0: 65 72 74 61 69 6e 6c 79 20 68 61 76 65 20 76 61  ertainly have va
1d00: 6c 69 64 20 4e 65 74 77 6f 72 6b 73 20 73 75 70  lid Networks sup
1d10: 70 6f 72 74 69 6e 67 20 52 6f 75 74 69 6e 67 20  porting Routing 
1d20: 61 6c 67 6f 72 69 74 68 6e 73 2c 20 62 75 74 20  algorithns, but 
1d30: 6e 6f 74 20 61 6c 6c 20 6f 66 20 74 68 65 6d 20  not all of them 
1d40: 63 61 6e 20 69 6d 70 6c 79 20 73 6f 6d 65 74 68  can imply someth
1d50: 69 6e 67 20 6c 69 6b 65 20 61 20 3c 69 3e 73 70  ing like a <i>sp
1d60: 61 74 69 61 6c 20 64 69 73 74 61 6e 63 65 3c 2f  atial distance</
1d70: 69 3e 20 28 3c 69 3e 67 65 6f 6d 65 74 72 69 63  i> (<i>geometric
1d80: 20 6c 65 6e 67 74 68 3c 2f 69 3e 29 20 6f 72 20   length</i>) or 
1d90: 61 20 3c 69 3e 74 72 61 76 65 6c 20 74 69 6d 65  a <i>travel time
1da0: 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68  </i>.<br>..In th
1db0: 65 20 6d 6f 73 74 20 67 65 6e 65 72 61 6c 20 61  e most general a
1dc0: 63 63 65 70 74 69 6f 6e 20 3c 62 3e 63 6f 73 74  cception <b>cost
1dd0: 73 3c 2f 62 3e 20 63 61 6e 20 62 65 20 72 65 70  s</b> can be rep
1de0: 72 65 73 65 6e 74 65 64 20 62 79 20 61 6e 79 20  resented by any 
1df0: 72 65 61 73 6f 6e 61 62 6c 65 20 70 68 79 73 69  reasonable physi
1e00: 63 61 6c 20 71 75 61 6e 74 69 74 79 2e 3c 62 72  cal quantity.<br
1e10: 3e 0d 0a 53 6f 20 61 20 6d 6f 72 65 20 67 65 6e  >..So a more gen
1e20: 65 72 61 6c 69 7a 65 64 20 64 65 66 69 6e 69 74  eralized definit
1e30: 69 6f 6e 20 69 73 20 61 73 73 75 6d 69 6e 67 20  ion is assuming 
1e40: 74 68 61 74 20 52 6f 75 74 69 6e 67 20 61 6c 67  that Routing alg
1e50: 6f 72 69 74 68 6d 73 20 61 72 65 20 69 6e 74 65  orithms are inte
1e60: 6e 64 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79  nded to identify
1e70: 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f 73 74 3c   <b>lesser cost<
1e80: 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 73 20 6f 6e  /b> solutions on
1e90: 20 61 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67   a <b>weighted g
1ea0: 72 61 70 68 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54  raph</b>.<br>..T
1eb0: 68 65 20 65 78 61 63 74 20 69 6e 74 65 72 70 72  he exact interpr
1ec0: 65 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 69  etation of the i
1ed0: 6e 76 6f 6c 76 65 64 20 3c 62 3e 63 6f 73 74 73  nvolved <b>costs
1ee0: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  </b> (<i>aka</i>
1ef0: 20 3c 62 3e 77 65 69 67 68 74 73 3c 2f 62 3e 29   <b>weights</b>)
1f00: 20 73 74 72 69 63 74 6c 79 20 64 65 70 65 6e 64   strictly depend
1f10: 73 20 6f 6e 20 74 68 65 20 76 65 72 79 20 73 70  s on the very sp
1f20: 65 63 69 66 69 63 20 6e 61 74 75 72 65 20 6f 66  ecific nature of
1f30: 20 65 61 63 68 20 4e 65 74 77 6f 72 6b 2e 0d 0a   each Network...
1f40: 3c 68 33 3e 54 68 65 20 44 69 6a 6b 73 74 72 61  <h3>The Dijkstra
1f50: 27 73 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 68 33  's algorithm</h3
1f60: 3e 0d 0a 54 68 69 73 20 77 65 6c 6c 20 6b 6e 6f  >..This well kno
1f70: 77 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  wn <a href="http
1f80: 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61  s://en.wikipedia
1f90: 2e 6f 72 67 2f 77 69 6b 69 2f 44 69 6a 6b 73 74  .org/wiki/Dijkst
1fa0: 72 61 25 32 37 73 5f 61 6c 67 6f 72 69 74 68 6d  ra%27s_algorithm
1fb0: 22 3e 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20  ">algorithm</a> 
1fc0: 69 73 6e 27 74 20 6e 65 63 65 73 73 61 72 69 6c  isn't necessaril
1fd0: 79 20 74 68 65 20 66 61 73 74 65 73 74 20 6f 6e  y the fastest on
1fe0: 65 2c 20 62 75 74 20 69 74 20 61 6c 77 61 79 73  e, but it always
1ff0: 20 65 6e 73 75 72 65 73 20 3c 62 3e 66 75 6c 6c   ensures <b>full
2000: 20 63 6f 72 72 65 63 74 6e 65 73 73 3c 2f 62 3e   correctness</b>
2010: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 6e 79  :..<ul>..<li>Any
2020: 20 4e 6f 64 65 2d 74 6f 2d 4e 6f 64 65 20 63 6f   Node-to-Node co
2030: 6e 6e 65 63 74 69 6f 6e 20 69 64 65 6e 74 69 66  nnection identif
2040: 69 65 64 20 62 79 20 44 69 6a 6b 73 74 72 61 27  ied by Dijkstra'
2050: 73 20 69 73 20 63 65 72 74 61 69 6e 6c 79 20 65  s is certainly e
2060: 6e 73 75 72 65 64 20 74 6f 20 62 65 20 3c 62 3e  nsured to be <b>
2070: 6f 70 74 69 6d 61 6c 3c 2f 62 3e 2e 3c 62 72 3e  optimal</b>.<br>
2080: 0d 0a 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73  ..In other words
2090: 2c 20 6e 6f 20 63 6f 6e 6e 65 74 63 74 69 6f 6e  , no connetction
20a0: 20 70 72 65 73 65 6e 74 69 6e 67 20 61 20 6c 6f   presenting a lo
20b0: 77 65 72 20 63 6f 73 74 20 63 61 6e 20 63 6f 6e  wer cost can con
20c0: 63 65 70 74 75 61 6c 6c 79 20 65 78 69 73 74 2e  ceptually exist.
20d0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68 65 6e 20  </li>..<li>When 
20e0: 44 69 6a 73 6a 74 72 61 27 73 20 66 61 69 6c 73  Dijsjtra's fails
20f0: 20 74 6f 20 69 64 65 6e 74 69 66 79 20 61 20 73   to identify a s
2100: 6f 6c 75 74 69 6f 6e 20 74 68 69 73 20 73 75 72  olution this sur
2110: 65 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20 6e  ely means that n
2120: 6f 20 73 6f 6c 75 74 69 6f 6e 20 69 73 20 70 6f  o solution is po
2130: 73 73 69 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  ssible.</li>..</
2140: 75 6c 3e 0d 0a 3c 68 33 3e 54 68 65 20 41 2a 20  ul>..<h3>The A* 
2150: 61 6c 67 6f 72 69 74 68 6d 3c 2f 68 33 3e 0d 0a  algorithm</h3>..
2160: 4d 61 6e 79 20 61 6c 74 65 72 6e 61 74 69 76 65  Many alternative
2170: 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74   Routing algorit
2180: 68 6d 73 20 68 61 76 65 20 62 65 65 6e 20 69 6e  hms have been in
2190: 76 65 6e 74 65 64 20 64 75 72 69 6e 67 20 74 68  vented during th
21a0: 65 20 79 65 61 72 73 2e 3c 62 72 3e 0d 0a 41 6c  e years.<br>..Al
21b0: 6c 20 74 68 65 6d 20 61 72 65 20 62 61 73 65 64  l them are based
21c0: 20 6f 6e 20 68 65 75 72 69 73 74 69 63 20 61 73   on heuristic as
21d0: 73 75 6d 70 74 69 6f 6e 73 20 61 6e 64 20 61 72  sumptions and ar
21e0: 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65  e intended to be
21f0: 20 66 61 73 74 65 72 20 74 68 61 6e 20 44 69 6a   faster than Dij
2200: 6b 73 74 72 61 27 73 2c 20 62 75 74 20 6e 6f 6e  kstra's, but non
2210: 65 20 6f 66 20 74 68 65 6d 20 63 61 6e 20 65 6e  e of them can en
2220: 73 75 72 65 20 3c 62 3e 66 75 6c 6c 20 63 6f 72  sure <b>full cor
2230: 72 65 63 74 6e 65 73 73 3c 2f 62 3e 20 61 73 20  rectness</b> as 
2240: 44 69 6a 6b 73 74 72 61 27 73 20 64 6f 65 73 2e  Dijkstra's does.
2250: 3c 62 72 3e 0d 0a 54 68 65 20 3c 61 20 68 72 65  <br>..The <a hre
2260: 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69  f="https://en.wi
2270: 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69  kipedia.org/wiki
2280: 2f 41 2a 5f 73 65 61 72 63 68 5f 61 6c 67 6f 72  /A*_search_algor
2290: 69 74 68 6d 22 3e 41 2a 20 61 6c 67 6f 72 69 74  ithm">A* algorit
22a0: 68 6d 3c 2f 61 3e 20 61 70 70 6c 69 65 73 20 61  hm</a> applies a
22b0: 20 6d 69 6c 64 20 68 65 75 72 69 73 74 69 63 20   mild heuristic 
22c0: 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2c 20 61 6e  optimization, an
22d0: 64 20 63 61 6e 20 62 65 20 61 20 72 65 61 6c 69  d can be a reali
22e0: 73 74 69 63 20 61 6c 74 65 72 6e 61 74 69 76 65  stic alternative
22f0: 20 74 6f 20 44 69 6a 6b 73 74 72 61 27 73 20 69   to Dijkstra's i
2300: 6e 20 6d 61 6e 79 20 63 61 73 65 73 2e 3c 62 72  n many cases.<br
2310: 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 68 31  ><br>..<hr>..<h1
2320: 3e 32 20 2d 20 54 68 65 20 73 61 6d 70 6c 65 2f  >2 - The sample/
2330: 74 65 73 74 20 44 42 3c 2f 68 31 3e 0d 0a 59 6f  test DB</h1>..Yo
2340: 75 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74  u are expected t
2350: 6f 20 66 6f 6c 6c 6f 77 20 74 68 65 20 63 75 72  o follow the cur
2360: 72 65 6e 74 20 74 75 74 6f 72 69 61 6c 20 61 62  rent tutorial ab
2370: 6f 75 74 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f  out <b>VirtualRo
2380: 75 74 69 6e 67 3c 2f 62 3e 20 62 79 20 64 69 72  uting</b> by dir
2390: 65 63 74 6c 79 20 74 65 73 74 69 6e 67 20 61 6c  ectly testing al
23a0: 6c 20 53 51 4c 20 71 75 65 72 69 65 73 20 64 69  l SQL queries di
23b0: 73 63 75 73 73 65 64 20 62 65 6c 6f 77 20 6f 6e  scussed below on
23c0: 20 62 65 68 61 6c 66 20 6f 66 20 74 68 65 20 3c   behalf of the <
23d0: 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
23e0: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
23f0: 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e  gaia-sins/routin
2400: 67 2d 73 61 6d 70 6c 65 2d 35 2e 30 2e 30 2e 37  g-sample-5.0.0.7
2410: 7a 22 3e 73 61 6d 70 6c 65 2f 74 65 73 74 20 44  z">sample/test D
2420: 42 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 64  B that you can d
2430: 6f 77 6e 6c 6f 61 64 20 66 72 6f 6d 20 68 65 72  ownload from her
2440: 65 3c 2f 61 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54  e</a><br><br>..T
2450: 68 65 20 73 61 6d 70 6c 65 20 44 42 20 63 6f 6e  he sample DB con
2460: 74 61 69 6e 73 20 74 68 65 20 66 75 6c 6c 20 3c  tains the full <
2470: 62 3e 72 6f 61 64 20 6e 65 74 77 6f 72 6b 3c 2f  b>road network</
2480: 62 3e 20 6f 66 20 3c 62 3e 54 75 73 63 61 6e 79  b> of <b>Tuscany
2490: 20 52 65 67 69 6f 6e 20 28 49 74 61 6c 79 29 3c   Region (Italy)<
24a0: 2f 62 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74  /b> (<a href="ht
24b0: 74 70 3a 2f 2f 77 77 77 35 30 32 2e 72 65 67 69  tp://www502.regi
24c0: 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e 69 74 2f 67  one.toscana.it/g
24d0: 65 6f 73 63 6f 70 69 6f 2f 64 6f 77 6e 6c 6f 61  eoscopio/downloa
24e0: 64 2f 67 72 61 66 6f 5f 73 74 72 61 64 61 6c 65  d/grafo_stradale
24f0: 2f 69 74 65 72 6e 65 74 2e 7a 69 70 22 3e 49 74  /iternet.zip">It
2500: 65 72 2e 4e 65 74 20 64 61 74 61 73 65 74 3c 2f  er.Net dataset</
2510: 61 3e 29 20 6b 69 6e 64 6c 79 20 72 65 6c 65 61  a>) kindly relea
2520: 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 3c 62  sed under the <b
2530: 3e 43 43 2d 42 59 2d 53 41 20 34 2e 30 3c 2f 62  >CC-BY-SA 4.0</b
2540: 3e 20 6c 69 63 65 6e 63 65 20 74 65 72 6d 73 2e  > licence terms.
2550: 3c 62 72 3e 0d 0a 54 68 65 20 63 6f 6e 74 65 6e  <br>..The conten
2560: 74 73 20 73 74 6f 72 65 64 20 69 6e 74 6f 20 74  ts stored into t
2570: 68 65 20 73 61 6d 70 6c 65 20 64 61 74 61 62 61  he sample databa
2580: 73 65 20 77 65 72 65 20 6f 70 70 6f 72 74 75 6e  se were opportun
2590: 65 6c 79 20 72 65 61 72 72 61 6e 67 65 64 2c 20  ely rearranged, 
25a0: 61 6e 64 20 61 72 65 20 73 74 69 6c 6c 20 73 75  and are still su
25b0: 62 6a 65 63 74 20 74 6f 20 74 68 65 20 69 6e 69  bject to the ini
25c0: 74 69 61 6c 20 3c 62 3e 43 43 2d 42 59 2d 53 41  tial <b>CC-BY-SA
25d0: 20 34 2e 30 3c 2f 62 3e 20 63 6c 61 75 73 65 73   4.0</b> clauses
25e0: 20 28 3c 69 3e 64 65 72 69 76 65 64 20 77 6f 72   (<i>derived wor
25f0: 6b 3c 2f 69 3e 29 2e 0d 0a 3c 62 72 3e 3c 62 72  k</i>)...<br><br
2600: 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c  >..<ul>..<li>all
2610: 20 72 6f 61 64 20 6e 61 6d 65 73 20 61 72 65 20   road names are 
2620: 73 74 6f 72 65 64 20 77 69 74 68 69 6e 20 74 68  stored within th
2630: 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62  e <b>toponyms</b
2640: 3e 20 54 61 62 6c 65 2e 3c 62 72 3e 0d 0a 74 68  > Table.<br>..th
2650: 65 20 73 61 6d 65 20 72 6f 61 64 20 6e 61 6d 65  e same road name
2660: 20 63 6f 75 6c 64 20 62 65 20 75 73 65 64 20 69   could be used i
2670: 6e 20 64 69 66 66 65 72 65 6e 74 20 4d 75 6e 69  n different Muni
2680: 63 69 70 61 6c 69 74 69 65 73 2c 20 73 6f 20 74  cipalities, so t
2690: 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f  he <b>toponyms</
26a0: 62 3e 20 54 61 62 6c 65 20 72 65 6c 61 74 69 6f  b> Table relatio
26b0: 6e 61 6c 6c 79 20 72 65 66 65 72 65 6e 63 65 73  nally references
26c0: 20 74 68 65 20 3c 62 3e 6d 75 6e 69 63 69 70 61   the <b>municipa
26d0: 6c 69 74 69 65 73 3c 2f 62 3e 20 54 61 62 6c 65  lities</b> Table
26e0: 20 28 76 69 61 20 3c 62 3e 50 52 49 4d 41 52 59   (via <b>PRIMARY
26f0: 3c 2f 62 3e 20 2f 20 3c 62 3e 46 4f 52 45 49 47  </b> / <b>FOREIG
2700: 4e 20 4b 45 59 3c 2f 62 3e 20 72 65 6c 61 74 69  N KEY</b> relati
2710: 6f 6e 73 68 69 70 73 29 2e 3c 2f 6c 69 3e 0d 0a  onships).</li>..
2720: 3c 6c 69 3e 74 68 65 20 3c 62 3e 72 6f 61 64 73  <li>the <b>roads
2730: 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62  </b> Spatial Tab
2740: 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75  le contains abou
2750: 74 20 3c 62 3e 33 38 30 2c 30 30 30 3c 2f 62 3e  t <b>380,000</b>
2760: 20 4c 69 6e 6b 73 2c 20 61 6e 64 20 68 61 73 20   Links, and has 
2770: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f  the following co
2780: 6c 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  lumns:..<ul>..<l
2790: 69 3e 3c 62 3e 69 64 3c 2f 62 3e 3a 20 75 6e 69  i><b>id</b>: uni
27a0: 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 6f  que identifier o
27b0: 66 20 65 61 63 68 20 4c 69 6e 6b 20 28 3c 62 3e  f each Link (<b>
27c0: 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62 3e 29  PRIMARY KEY</b>)
27d0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6e  .</li>..<li><b>n
27e0: 6f 64 65 5f 66 72 6f 6d 3c 2f 62 3e 20 61 6e 64  ode_from</b> and
27f0: 20 3c 62 3e 6e 6f 64 65 5f 74 6f 3c 2f 62 3e 3a   <b>node_to</b>:
2800: 20 4e 6f 64 65 20 69 64 65 6e 74 69 66 69 65 72   Node identifier
2810: 73 2e 0d 0a 54 68 65 20 6f 72 69 67 69 6e 61 6c  s...The original
2820: 20 49 74 65 72 2e 4e 65 74 20 64 61 74 61 73 65   Iter.Net datase
2830: 74 20 61 64 6f 70 74 73 20 76 65 72 79 20 6c 6f  t adopts very lo
2840: 6e 67 20 61 6e 20 63 6f 6d 70 6c 65 78 20 61 6c  ng an complex al
2850: 70 68 61 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20  phanumeric Node 
2860: 63 6f 64 65 73 3b 20 74 68 65 20 69 6e 74 65 67  codes; the integ
2870: 65 72 20 4e 6f 64 65 20 49 44 73 20 77 65 72 65  er Node IDs were
2880: 20 6f 62 74 61 69 6e 65 64 20 62 79 20 63 61 6c   obtained by cal
2890: 6c 69 6e 67 20 74 68 65 20 3c 62 3e 43 72 65 61  ling the <b>Crea
28a0: 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29  teRoutingNodes()
28b0: 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f  </b> SQL functio
28c0: 6e 20 64 69 73 63 75 73 73 65 64 20 69 6e 20 61  n discussed in a
28d0: 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 63 74 69   following secti
28e0: 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  on.</li>..<li><b
28f0: 3e 69 64 5f 74 6f 70 6f 6e 79 6d 3c 2f 62 3e 3a  >id_toponym</b>:
2900: 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65   relational refe
2910: 72 65 6e 63 65 20 74 6f 20 74 68 65 20 63 6f 72  rence to the cor
2920: 72 65 73 70 6f 6e 64 69 6e 67 20 72 6f 61 64 20  responding road 
2930: 6e 61 6d 65 20 63 6f 6e 74 61 69 6e 65 64 20 69  name contained i
2940: 6e 74 6f 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e  nto the <b>topon
2950: 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 20 28 3c  yms</b> Table (<
2960: 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f 62  b>FOREIGN KEY</b
2970: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  >).</li>..<li><b
2980: 3e 73 70 65 65 64 5f 6b 6d 68 3c 2f 62 3e 3a 20  >speed_kmh</b>: 
2990: 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 61 76  the estimated av
29a0: 65 72 61 67 65 20 73 70 65 65 64 20 73 75 70 70  erage speed supp
29b0: 6f 72 74 65 64 20 62 79 20 74 68 65 20 4c 69 6e  orted by the Lin
29c0: 6b 2c 20 65 78 70 72 65 73 73 65 64 20 69 6e 20  k, expressed in 
29d0: 3c 62 3e 6b 6d 2f 68 3c 2f 62 3e 2e 3c 62 72 3e  <b>km/h</b>.<br>
29e0: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 3c  ..<u>Note</u>: <
29f0: 62 3e 6e 65 67 61 74 69 76 65 3c 2f 62 3e 20 73  b>negative</b> s
2a00: 70 65 65 64 73 20 69 6e 74 65 6e 64 20 61 20 66  peeds intend a f
2a10: 6f 72 62 69 64 64 65 6e 20 4c 69 6e 6b 2e 3c 2f  orbidden Link.</
2a20: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6f 6e 65 77  li>..<li><b>onew
2a30: 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 3e 20 61 6e  ay_fromto</b> an
2a40: 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72  d <b>oneway_tofr
2a50: 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c 65 61 6e 20  om</b>: boolean 
2a60: 66 6c 61 67 73 20 69 6e 74 65 6e 64 65 64 20 74  flags intended t
2a70: 6f 20 73 74 61 74 65 20 69 66 20 61 20 4c 69 6e  o state if a Lin
2a80: 6b 20 63 61 6e 20 62 65 20 74 72 61 76 65 72 73  k can be travers
2a90: 65 64 20 69 6e 20 62 6f 74 68 20 64 69 72 65 63  ed in both direc
2aa0: 74 69 6f 6e 73 20 6f 72 20 6a 75 73 74 20 69 6e  tions or just in
2ab0: 20 61 20 73 69 6e 67 6c 65 20 64 69 72 65 63 74   a single direct
2ac0: 69 6f 6e 20 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c  ion (<b>one-way<
2ad0: 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  /b>).<br>..<u>No
2ae0: 74 65 3c 2f 75 3e 3a 20 61 6c 6c 20 4c 69 6e 6b  te</u>: all Link
2af0: 73 20 64 65 63 6c 61 72 69 6e 67 20 3c 62 3e 6f  s declaring <b>o
2b00: 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3d 30 3c 2f  neway_fromto=0</
2b10: 62 3e 20 61 6e 64 20 3c 62 3e 6f 6e 65 77 61 79  b> and <b>oneway
2b20: 5f 74 6f 66 72 6f 6d 3d 30 3c 2f 62 3e 20 61 72  _tofrom=0</b> ar
2b30: 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65  e intended to be
2b40: 20 61 6c 77 61 79 73 20 66 6f 72 62 69 64 64 65   always forbidde
2b50: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  n.</li>..<li><b>
2b60: 63 6f 73 74 3c 2f 62 3e 3a 20 74 68 65 20 3c 62  cost</b>: the <b
2b70: 3e 74 69 6d 65 3c 2f 62 3e 20 65 78 70 72 65 73  >time</b> expres
2b80: 73 65 64 20 69 6e 20 3c 62 3e 73 65 63 6f 6e 64  sed in <b>second
2b90: 73 3c 2f 62 3e 20 72 65 71 75 69 72 65 64 20 74  s</b> required t
2ba0: 6f 20 74 72 61 76 65 72 73 65 20 65 61 63 68 20  o traverse each 
2bb0: 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  Link.<br>..<u>No
2bc0: 74 65 20 23 31 3c 2f 75 3e 20 61 6c 6c 20 63 6f  te #1</u> all co
2bd0: 73 74 73 20 77 65 72 65 20 63 61 6c 63 75 6c 61  sts were calcula
2be0: 74 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20  ted accordingly 
2bf0: 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  to the following
2c00: 20 66 6f 72 6d 75 6c 61 3a 20 3c 62 3e 63 6f 73   formula: <b>cos
2c10: 74 20 3d 20 28 28 53 54 5f 4c 65 6e 67 74 68 28  t = ((ST_Length(
2c20: 67 65 6f 6d 29 20 2f 20 31 30 30 30 2e 30 29 20  geom) / 1000.0) 
2c30: 2f 20 73 70 65 65 64 5f 6b 6d 68 29 20 2a 20 33  / speed_kmh) * 3
2c40: 36 30 30 2e 30 3c 2f 62 3e 3c 62 72 3e 0d 0a 3c  600.0</b><br>..<
2c50: 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 20 61 6c  u>Note #2</u> al
2c60: 6c 20 3c 62 3e 38 36 2c 34 30 30 2e 30 3c 2f 62  l <b>86,400.0</b
2c70: 3e 20 63 6f 73 74 20 76 61 6c 75 65 73 20 28 65  > cost values (e
2c80: 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 31 20 64  quivalent to 1 d
2c90: 61 79 29 20 61 70 70 72 6f 78 69 6d 61 74 65 20  ay) approximate 
2ca0: 61 6e 20 3c 62 3e 69 6e 66 69 6e 69 74 69 76 65  an <b>infinitive
2cb0: 20 63 6f 73 74 3c 2f 62 3e 20 74 68 75 73 20 69   cost</b> thus i
2cc0: 6e 74 65 6e 64 69 6e 67 20 61 20 3c 62 3e 66 6f  ntending a <b>fo
2cd0: 72 62 69 64 64 65 6e 3c 2f 62 3e 20 4c 69 6e 6b  rbidden</b> Link
2ce0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 67  .</li>..<li><b>g
2cf0: 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62 3e 33 44  eom</b>: a <b>3D
2d00: 20 4c 69 6e 65 73 74 72 69 6e 67 3c 2f 62 3e 20   Linestring</b> 
2d10: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65  representing the
2d20: 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63   Geometry of eac
2d30: 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e  h Link.<br>..<u>
2d40: 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 65 20 6f 72  Note</u>: the or
2d50: 69 67 69 6e 61 6c 20 3c 62 3e 49 74 65 72 2e 4e  iginal <b>Iter.N
2d60: 65 74 3c 2f 62 3e 20 64 61 74 61 73 65 74 20 69  et</b> dataset i
2d70: 73 20 6a 75 73 74 20 3c 62 3e 32 44 3c 2f 62 3e  s just <b>2D</b>
2d80: 3b 20 65 6c 65 76 61 74 69 6f 6e 73 20 28 3c 62  ; elevations (<b
2d90: 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64 69 6e 61 74  >Z</b> coordinat
2da0: 65 73 29 20 77 65 72 65 20 69 6e 74 65 72 70 6f  es) were interpo
2db0: 6c 61 74 65 64 20 62 79 20 64 72 61 70 69 6e 67  lated by draping
2dc0: 20 74 68 65 20 64 61 74 61 73 65 74 20 6f 76 65   the dataset ove
2dd0: 72 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 68 74  r an <a href="ht
2de0: 74 70 3a 2f 2f 77 77 77 35 30 32 2e 72 65 67 69  tp://www502.regi
2df0: 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e 69 74 2f 67  one.toscana.it/g
2e00: 65 6f 73 63 6f 70 69 6f 2f 64 6f 77 6e 6c 6f 61  eoscopio/downloa
2e10: 64 2f 61 6c 74 69 6d 65 74 72 69 61 2f 64 61 5f  d/altimetria/da_
2e20: 63 74 72 31 30 6b 2f 67 62 2f 44 54 4d 5f 4f 72  ctr10k/gb/DTM_Or
2e30: 6f 67 72 61 66 69 63 6f 2e 37 7a 22 3e 6f 72 6f  ografico.7z">oro
2e40: 67 72 61 70 68 69 63 20 44 45 4d 20 28 31 30 6d  graphic DEM (10m
2e50: 20 58 20 31 30 6d 20 63 65 6c 6c 73 29 3c 2f 61   X 10m cells)</a
2e60: 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  ></li>..</ul></l
2e70: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 72  i>..<li>the <b>r
2e80: 6f 61 64 73 5f 76 77 3c 2f 62 3e 20 53 70 61 74  oads_vw</b> Spat
2e90: 69 61 6c 20 56 69 65 77 20 69 73 20 6a 75 73 74  ial View is just
2ea0: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 66 75 6c   intended to ful
2eb0: 6c 79 20 72 65 73 6f 6c 76 65 20 61 6c 6c 20 72  ly resolve all r
2ec0: 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 65  elational refere
2ed0: 6e 63 65 73 20 62 65 74 77 65 65 6e 20 3c 62 3e  nces between <b>
2ee0: 72 6f 61 64 73 3c 2f 62 3e 2c 20 3c 62 3e 74 6f  roads</b>, <b>to
2ef0: 70 6f 6e 79 6d 73 3c 2f 62 3e 20 61 6e 64 20 3c  ponyms</b> and <
2f00: 62 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 73  b>municipalities
2f10: 3c 2f 62 3e 2c 20 74 68 75 73 20 61 6c 6c 6f 77  </b>, thus allow
2f20: 69 6e 67 20 66 6f 72 20 65 61 73 69 65 72 20 53  ing for easier S
2f30: 51 4c 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e  QL queries.</li>
2f40: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75  ..<li>the <b>hou
2f50: 73 65 5f 6e 72 3c 2f 62 3e 20 53 70 61 74 69 61  se_nr</b> Spatia
2f60: 6c 20 54 61 62 6c 65 20 63 6f 6e 74 61 69 6e 73  l Table contains
2f70: 20 61 62 6f 75 74 20 3c 62 3e 31 2c 34 38 30 2c   about <b>1,480,
2f80: 30 30 30 3c 2f 62 3e 20 48 6f 75 73 65 20 4e 75  000</b> House Nu
2f90: 6d 62 65 72 73 2c 20 61 6e 64 20 68 61 73 20 74  mbers, and has t
2fa0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6c  he following col
2fb0: 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  umns:..<ul>..<li
2fc0: 3e 3c 62 3e 69 64 3c 2f 62 3e 3a 20 75 6e 69 71  ><b>id</b>: uniq
2fd0: 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66  ue identifier of
2fe0: 20 65 61 63 68 20 48 6f 75 73 65 20 4e 75 6d 62   each House Numb
2ff0: 65 72 20 28 3c 62 3e 50 52 49 4d 41 52 59 20 4b  er (<b>PRIMARY K
3000: 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  EY</b>).</li>..<
3010: 6c 69 3e 3c 62 3e 69 64 5f 72 6f 61 64 3c 2f 62  li><b>id_road</b
3020: 3e 3a 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65  >: relational re
3030: 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 63  ference to the c
3040: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e  orresponding Lin
3050: 6b 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 74 6f  k contained into
3060: 20 74 68 65 20 3c 62 3e 72 6f 61 64 73 3c 2f 62   the <b>roads</b
3070: 3e 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45  > Table (<b>FORE
3080: 49 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c  IGN KEY</b>).</l
3090: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6c 61 62 65 6c  i>..<li><b>label
30a0: 3c 2f 62 3e 3a 20 74 68 65 20 74 65 78 74 75 61  </b>: the textua
30b0: 6c 20 6c 61 62 65 6c 20 66 75 6c 6c 79 20 71 75  l label fully qu
30c0: 61 6c 69 66 79 69 6e 67 20 65 61 63 68 20 48 6f  alifying each Ho
30d0: 75 73 65 20 4e 75 6d 62 65 72 2e 3c 2f 6c 69 3e  use Number.</li>
30e0: 0d 0a 3c 6c 69 3e 3c 62 3e 67 65 6f 6d 3c 2f 62  ..<li><b>geom</b
30f0: 3e 3a 20 61 20 3c 62 3e 33 44 20 50 6f 69 6e 74  >: a <b>3D Point
3100: 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69 6e  </b> representin
3110: 67 20 74 68 65 20 47 65 6f 6d 65 74 72 79 20 6f  g the Geometry o
3120: 66 20 65 61 63 68 20 48 6f 75 73 65 20 4e 75 6d  f each House Num
3130: 62 65 72 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ber.<br>..<u>Not
3140: 65 20 23 31 3c 2f 75 3e 3a 20 61 6c 73 6f 20 69  e #1</u>: also i
3150: 6e 20 74 68 69 73 20 63 61 73 65 20 61 6c 6c 20  n this case all 
3160: 65 6c 65 76 61 74 69 6f 6e 73 20 28 3c 62 3e 5a  elevations (<b>Z
3170: 3c 2f 62 3e 20 63 6f 6f 72 64 69 6e 61 74 65 73  </b> coordinates
3180: 29 20 77 65 72 65 20 69 6e 74 65 72 70 6f 6c 61  ) were interpola
3190: 74 65 64 20 62 79 20 64 72 61 70 69 6e 67 20 74  ted by draping t
31a0: 68 65 20 64 61 74 61 73 65 74 20 6f 76 65 72 20  he dataset over 
31b0: 74 68 65 20 73 61 6d 65 20 44 45 4d 20 61 73 20  the same DEM as 
31c0: 61 62 6f 76 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  above.<br>..<u>N
31d0: 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 73 74 72 69  ote #2</u>: stri
31e0: 63 74 6c 79 20 73 70 65 63 6b 69 6e 67 20 74 68  ctly specking th
31f0: 65 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 20  e House Numbers 
3200: 61 72 65 20 6e 6f 74 20 70 61 72 74 20 6f 66 20  are not part of 
3210: 74 68 65 20 52 6f 61 64 20 4e 65 74 77 6f 72 6b  the Road Network
3220: 3b 20 74 68 65 79 20 61 72 65 20 69 6e 63 6c 75  ; they are inclu
3230: 64 65 20 69 6e 74 6f 20 74 68 65 20 73 61 6d 70  de into the samp
3240: 6c 65 2f 74 65 73 74 20 64 61 74 61 62 61 73 65  le/test database
3250: 20 6a 75 73 74 20 62 65 63 61 75 73 65 20 74 68   just because th
3260: 65 79 27 6c 6c 20 62 65 20 75 73 65 66 75 6c 20  ey'll be useful 
3270: 69 6e 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 65  in some of the e
3280: 78 61 6d 70 6c 65 73 20 65 78 70 6c 61 69 6e 65  xamples explaine
3290: 64 20 69 6e 20 62 65 6c 6f 77 20 70 61 72 61 67  d in below parag
32a0: 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  raphs.</li>..</u
32b0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  l></li>..<li>the
32c0: 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 5f 76 77 3c   <b>house_nr_vw<
32d0: 2f 62 3e 20 53 70 61 74 69 61 6c 20 56 69 65 77  /b> Spatial View
32e0: 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e 64 65   is just intende
32f0: 64 20 74 6f 20 66 75 6c 6c 79 20 72 65 73 6f 6c  d to fully resol
3300: 76 65 20 61 6c 6c 20 72 65 6c 61 74 69 6f 6e 61  ve all relationa
3310: 6c 20 72 65 66 65 72 65 6e 63 65 73 20 62 65 74  l references bet
3320: 77 65 65 6e 20 3c 62 3e 68 6f 75 73 65 5f 6e 72  ween <b>house_nr
3330: 3c 2f 62 3e 2c 20 3c 62 3e 72 6f 61 64 73 3c 2f  </b>, <b>roads</
3340: 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c  b>, <b>toponyms<
3350: 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63  /b> and <b>munic
3360: 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74  ipalities</b>, t
3370: 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72  hus allowing for
3380: 20 65 61 73 69 65 72 20 53 51 4c 20 71 75 65 72   easier SQL quer
3390: 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ies.</li>..</ul>
33a0: 0d 0a 3c 62 72 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c  ..<br>.. <hr>..<
33b0: 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 63 72 65 61  h1><a name="crea
33c0: 74 65 22 3e 33 20 2d 20 43 72 65 61 74 69 6e 67  te">3 - Creating
33d0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
33e0: 54 61 62 6c 65 73 3c 2f 61 3e 3c 2f 68 31 3e 0d  Tables</a></h1>.
33f0: 0a 41 6c 6c 20 56 69 72 74 75 61 6c 52 6f 75 74  .All VirtualRout
3400: 69 6e 67 20 71 75 65 72 69 65 73 20 61 72 65 20  ing queries are 
3410: 62 61 73 65 64 20 6f 6e 20 73 6f 6d 65 20 3c 62  based on some <b
3420: 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20  >VirtualRouting 
3430: 54 61 62 6c 65 3c 2f 62 3e 2c 20 61 6e 64 20 69  Table</b>, and i
3440: 6e 20 74 75 72 6e 20 61 6e 79 20 56 69 72 74 75  n turn any Virtu
3450: 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20  alRouting Table 
3460: 69 73 20 62 61 73 65 64 20 6f 6e 20 73 6f 6d 65  is based on some
3470: 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e   appropriate <b>
3480: 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c  Binary Data Tabl
3490: 65 3c 2f 62 3e 20 73 75 70 70 6f 72 74 69 6e 67  e</b> supporting
34a0: 20 61 6e 20 65 66 66 69 63 69 65 6e 74 20 72 65   an efficient re
34b0: 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20  presentation of 
34c0: 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e  the underlying N
34d0: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 53 6f 20  etwork.<br>..So 
34e0: 77 65 27 6c 6c 20 73 74 61 72 74 20 66 69 72 73  we'll start firs
34f0: 74 20 62 79 20 63 72 65 61 74 69 6e 67 20 73 75  t by creating su
3500: 63 68 20 74 61 62 6c 65 73 2e 3c 62 72 3e 3c 62  ch tables.<br><b
3510: 72 3e 0d 0a 54 68 65 20 6f 6c 64 20 61 6e 64 20  r>..The old and 
3520: 6e 6f 77 20 73 75 70 65 72 73 65 64 65 64 20 3c  now superseded <
3530: 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b  b>VirtualNetwork
3540: 3c 2f 62 3e 20 72 65 71 75 69 72 65 64 20 75 73  </b> required us
3550: 69 6e 67 20 61 20 73 65 70 61 72 61 74 65 20 43  ing a separate C
3560: 4c 49 20 74 6f 6f 6c 20 28 3c 62 3e 73 70 61 74  LI tool (<b>spat
3570: 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f  ialite_network</
3580: 62 3e 29 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  b>) in order to 
3590: 70 72 6f 70 65 72 6c 79 20 69 6e 69 74 69 61 6c  properly initial
35a0: 69 7a 65 20 61 20 56 69 72 74 75 61 6c 4e 65 74  ize a VirtualNet
35b0: 77 6f 72 6b 20 54 61 62 6c 65 20 61 6e 64 20 69  work Table and i
35c0: 74 73 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e  ts companion Bin
35d0: 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 3b 0d  ary Data Table;.
35e0: 0a 61 6c 74 65 72 6e 61 74 69 76 65 6c 79 20 3c  .alternatively <
35f0: 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69  b>spatialite_gui
3600: 3c 2f 62 3e 20 73 75 70 70 6f 72 74 65 64 20 61  </b> supported a
3610: 20 3c 62 3e 47 55 49 20 77 69 7a 61 72 64 3c 2f   <b>GUI wizard</
3620: 62 3e 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20  b> for the same 
3630: 74 61 73 6b 2e 20 53 69 6e 63 65 20 76 65 72 73  task. Since vers
3640: 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f 62 3e  ion <b>5.0.0</b>
3650: 20 6e 6f 77 20 53 70 61 74 69 61 4c 69 74 65 20   now SpatiaLite 
3660: 64 69 72 65 63 74 6c 79 20 73 75 70 70 6f 72 74  directly support
3670: 73 20 61 20 73 70 65 63 69 66 69 63 20 3c 62 3e  s a specific <b>
3680: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c  CreateRouting()<
3690: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  /b> SQL function
36a0: 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  ...<verbatim>..S
36b0: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74  ELECT CreateRout
36c0: 69 6e 67 28 27 62 79 66 6f 6f 74 5f 64 61 74 61  ing('byfoot_data
36d0: 27 2c 20 27 62 79 66 6f 6f 74 27 2c 20 27 72 6f  ', 'byfoot', 'ro
36e0: 61 64 73 5f 76 77 27 2c 20 27 6e 6f 64 65 5f 66  ads_vw', 'node_f
36f0: 72 6f 6d 27 2c 20 27 6e 6f 64 65 74 6f 27 2c 20  rom', 'nodeto', 
3700: 27 67 65 6f 6d 27 2c 20 4e 55 4c 4c 29 3b 0d 0a  'geom', NULL);..
3710: 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 74 65 52  ..SELECT CreateR
3720: 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72  outing_GetLastEr
3730: 72 6f 72 28 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d  ror();..--------
3740: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3750: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 54 6f  ------------..To
3760: 4e 6f 64 65 20 43 6f 6c 75 6d 6e 20 22 6e 6f 64  Node Column "nod
3770: 65 74 6f 22 20 69 73 20 6e 6f 74 20 64 65 66 69  eto" is not defi
3780: 6e 65 64 20 69 6e 20 74 68 65 20 49 6e 70 75 74  ned in the Input
3790: 20 54 61 62 6c 65 0d 0a 3c 2f 76 65 72 62 61 74   Table..</verbat
37a0: 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  im>..<u>Note</u>
37b0: 3a 20 74 68 69 73 20 66 69 72 73 74 20 71 75 65  : this first que
37c0: 72 79 20 28 62 61 73 65 64 20 6f 6e 20 74 68 65  ry (based on the
37d0: 20 3c 69 3e 72 65 64 75 63 65 64 20 66 6f 72 6d   <i>reduced form
37e0: 3c 2f 69 3e 20 6f 66 20 3c 62 3e 43 72 65 61 74  </i> of <b>Creat
37f0: 65 52 6f 75 74 69 6e 67 3c 2f 62 3e 29 20 63 6f  eRouting</b>) co
3800: 6e 74 61 69 6e 73 20 61 6e 20 69 6e 74 65 6e 64  ntains an intend
3810: 65 64 20 65 72 72 6f 72 20 63 61 75 73 69 6e 67  ed error causing
3820: 20 61 20 66 61 69 6c 75 72 65 20 61 6e 64 20 74   a failure and t
3830: 68 75 73 20 72 61 69 73 69 6e 67 20 61 6e 20 65  hus raising an e
3840: 78 63 65 70 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 43  xception.<br>..C
3850: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 63  reateRouting() c
3860: 61 6e 20 66 61 69 6c 20 66 6f 72 20 6d 75 6c 74  an fail for mult
3870: 69 70 6c 65 20 72 65 61 73 6f 6e 73 2c 20 61 6e  iple reasons, an
3880: 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 62 3e  d by calling <b>
3890: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65  CreateRouting_Ge
38a0: 74 4c 61 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e  tLastError()</b>
38b0: 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20   you can easily 
38c0: 69 64 65 6e 74 69 66 79 20 74 68 65 20 65 78 61  identify the exa
38d0: 63 74 20 72 65 61 73 6f 6e 20 77 68 79 20 74 68  ct reason why th
38e0: 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 63 61  e most recent ca
38f0: 6c 6c 20 74 6f 20 43 72 65 61 74 65 52 6f 75 74  ll to CreateRout
3900: 69 6e 67 28 29 20 66 61 69 6c 65 64 2e 3c 62 72  ing() failed.<br
3910: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  >..<verbatim>..S
3920: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74  ELECT CreateRout
3930: 69 6e 67 28 27 62 79 66 6f 6f 74 5f 64 61 74 61  ing('byfoot_data
3940: 27 2c 20 27 62 79 66 6f 6f 74 27 2c 20 27 72 6f  ', 'byfoot', 'ro
3950: 61 64 73 5f 76 77 27 2c 20 27 6e 6f 64 65 5f 66  ads_vw', 'node_f
3960: 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 2c  rom', 'node_to',
3970: 20 27 67 65 6f 6d 27 2c 20 4e 55 4c 4c 2c 20 27   'geom', NULL, '
3980: 74 6f 70 6f 6e 79 6d 27 2c 20 31 2c 20 31 29 3b  toponym', 1, 1);
3990: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d  ..-------------.
39a0: 0a 31 0d 0a 0d 0a 53 45 4c 45 43 54 20 43 72 65  .1....SELECT Cre
39b0: 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61  ateRouting_GetLa
39c0: 73 74 45 72 72 6f 72 28 29 3b 0d 0a 2d 2d 2d 2d  stError();..----
39d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
39e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
39f0: 0d 0a 4e 55 4c 4c 0d 0a 3c 2f 76 65 72 62 61 74  ..NULL..</verbat
3a00: 69 6d 3e 0d 0a 54 68 69 73 20 73 65 63 6f 6e 64  im>..This second
3a10: 20 61 74 74 65 6d 70 74 20 69 73 20 66 69 6e 61   attempt is fina
3a20: 6c 6c 79 20 73 75 63 63 65 73 73 66 75 6c 2c 20  lly successful, 
3a30: 61 6e 64 20 6e 6f 77 20 43 72 65 61 74 65 52 6f  and now CreateRo
3a40: 75 74 69 6e 67 28 29 20 72 65 74 75 72 6e 73 20  uting() returns 
3a50: 3c 62 3e 31 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61  <b>1</b> (<i>aka
3a60: 3c 2f 69 3e 20 3c 62 3e 54 52 55 45 3c 2f 62 3e  </i> <b>TRUE</b>
3a70: 29 2c 20 61 6e 64 20 61 73 20 79 6f 75 20 63 61  ), and as you ca
3a80: 6e 20 65 61 73 69 6c 79 20 63 68 65 63 6b 20 6e  n easily check n
3a90: 6f 77 20 74 68 65 20 44 61 74 61 62 61 73 65 20  ow the Database 
3aa0: 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 6e 65 77  contains two new
3ab0: 20 54 61 62 6c 65 73 3a 20 3c 62 3e 62 79 66 6f   Tables: <b>byfo
3ac0: 6f 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 62 79  ot</b> and <b>by
3ad0: 66 6f 6f 74 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62  foot_data</b>.<b
3ae0: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a  r>..<u>Note</u>:
3af0: 20 61 66 74 65 72 20 61 20 73 75 63 63 65 73 73   after a success
3b00: 66 75 6c 20 63 61 6c 6c 20 74 6f 20 43 72 65 61  ful call to Crea
3b10: 74 65 52 6f 75 74 69 6e 67 28 29 20 3c 62 3e 43  teRouting() <b>C
3b20: 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74  reateRouting_Get
3b30: 4c 61 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e 20  LastError()</b> 
3b40: 77 69 6c 6c 20 61 6c 77 61 79 73 20 72 65 74 75  will always retu
3b50: 72 6e 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c  rn <b>NULL</b>.<
3b60: 62 72 3e 3c 62 72 3e 0d 0a 59 6f 75 27 76 65 20  br><br>..You've 
3b70: 6a 75 73 74 20 75 73 65 64 20 6f 6e 65 20 6f 66  just used one of
3b80: 20 74 68 65 20 3c 69 3e 70 61 72 74 69 61 6c 6c   the <i>partiall
3b90: 79 20 72 65 64 75 63 65 64 20 66 6f 72 6d 3c 2f  y reduced form</
3ba0: 69 3e 20 6f 66 20 43 72 65 61 74 65 52 6f 75 74  i> of CreateRout
3bb0: 69 6e 67 28 29 3b 20 6c 65 74 27 73 20 73 65 65  ing(); let's see
3bc0: 20 69 6e 20 6d 6f 72 65 20 64 65 70 74 68 20 61   in more depth a
3bd0: 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73  ll the arguments
3be0: 20 61 6e 64 20 74 68 65 69 72 20 6d 65 61 6e 69   and their meani
3bf0: 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c  ng:..<ol>..<li><
3c00: 69 3e 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f 69  i>byfoot_data</i
3c10: 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  >: the name of t
3c20: 68 65 20 4e 65 74 77 6f 72 6b 20 42 69 6e 61 72  he Network Binar
3c30: 79 20 44 61 74 61 20 54 61 62 6c 65 20 74 6f 20  y Data Table to 
3c40: 62 65 20 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e  be created.</li>
3c50: 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 3c  ..<li><i>byfoot<
3c60: 2f 69 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66  /i>: the name of
3c70: 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74   the VirtualRout
3c80: 69 6e 67 20 54 61 62 6c 65 20 74 6f 20 62 65 20  ing Table to be 
3c90: 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c  created.</li>..<
3ca0: 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 3c 2f  li><i>roads_vw</
3cb0: 69 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20  i>: the name of 
3cc0: 74 68 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 54  the <b>Spatial T
3cd0: 61 62 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 53  able</b> or <b>S
3ce0: 70 61 74 69 61 6c 20 56 69 65 77 3c 2f 62 3e 20  patial View</b> 
3cf0: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65  representing the
3d00: 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74 77   underlying Netw
3d10: 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ork.<br>..<u>Not
3d20: 65 3c 2f 75 3e 3a 20 69 6e 20 74 68 69 73 20 63  e</u>: in this c
3d30: 61 73 65 20 77 65 20 61 63 74 75 61 6c 6c 79 20  ase we actually 
3d40: 75 73 65 64 20 61 20 53 70 61 74 69 61 6c 20 56  used a Spatial V
3d50: 69 65 77 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  iew.</li>..<li><
3d60: 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a  i>node_from</i>:
3d70: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c   name of the col
3d80: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76  umn (in the abov
3d90: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29  e Table or View)
3da0: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e   expected to con
3db0: 74 61 69 6e 20 3c 62 3e 6e 6f 64 65 2d 66 72 6f  tain <b>node-fro
3dc0: 6d 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c  m</b> values.</l
3dd0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f  i>..<li><i>node_
3de0: 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20  to</i>: name of 
3df0: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74  the column (in t
3e00: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f  he above Table o
3e10: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64  r View) expected
3e20: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e   to contain <b>n
3e30: 6f 64 65 2d 74 6f 3c 2f 62 3e 20 76 61 6c 75 65  ode-to</b> value
3e40: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  s.</li>..<li><i>
3e50: 67 65 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f  geom</i>: name o
3e60: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e  f the column (in
3e70: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65   the above Table
3e80: 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74   or View) expect
3e90: 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62  ed to contain <b
3ea0: 3e 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 3e  >Linestrings</b>
3eb0: 2e 3c 62 72 3e 0d 0a 57 65 20 63 6f 75 6c 64 20  .<br>..We could 
3ec0: 68 61 76 65 20 6c 65 67 69 74 69 6d 61 74 65 6c  have legitimatel
3ed0: 79 20 70 61 73 73 65 64 20 61 20 3c 62 3e 4e 55  y passed a <b>NU
3ee0: 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 20 66 6f 72  LL</b> value for
3ef0: 20 74 68 69 73 20 61 72 67 75 6d 65 6e 74 20 69   this argument i
3f00: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 61 20  n the case of a 
3f10: 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f  <b>Logical Netwo
3f20: 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  rk</b>.</li>..<l
3f30: 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e  i><i>NULL</i>: n
3f40: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
3f50: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
3f60: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65  Table or View) e
3f70: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61  xpected to conta
3f80: 69 6e 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 76  in <b>cost</b> v
3f90: 61 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74  alues.<br>..In t
3fa0: 68 69 73 20 63 61 73 65 20 77 65 20 68 61 76 65  his case we have
3fb0: 20 70 61 73 73 65 64 20 61 20 3c 62 3e 4e 55 4c   passed a <b>NUL
3fc0: 4c 3c 2f 62 3e 20 76 61 6c 75 65 2c 20 61 6e 64  L</b> value, and
3fd0: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68   consequently th
3fe0: 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 6f 66  e <b>cost</b> of
3ff0: 20 65 61 63 68 20 4c 69 6e 6b 20 77 69 6c 6c 20   each Link will 
4000: 62 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65  be assumed to be
4010: 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20   represented by 
4020: 74 68 65 20 3c 62 3e 67 65 6f 6d 65 74 72 69 63  the <b>geometric
4030: 20 6c 65 6e 67 74 68 3c 2f 62 3e 20 6f 66 20 74   length</b> of t
4040: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
4050: 20 4c 69 6e 65 73 74 72 69 6e 67 2e 3c 62 72 3e   Linestring.<br>
4060: 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e  ..<u>Note #1</u>
4070: 3a 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66  : in the case of
4080: 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 65 64 20   Networks based 
4090: 6f 6e 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73  on <b>longitudes
40a0: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69  </b> and <b>lati
40b0: 74 75 64 65 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b  tudes</b> (<i>ak
40c0: 61 3c 2f 69 3e 20 3c 62 3e 67 65 6f 67 72 61 70  a</i> <b>geograp
40d0: 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63  hic</b> Referenc
40e0: 65 20 53 79 73 74 65 6d 73 29 20 74 68 65 20 67  e Systems) the g
40f0: 65 6f 6d 65 74 72 79 20 6c 65 6e 67 74 68 20 6f  eometry length o
4100: 66 20 61 6c 6c 20 4c 69 6e 65 73 74 72 69 6e 67  f all Linestring
4110: 73 20 77 69 6c 6c 20 62 65 20 70 72 65 63 69 73  s will be precis
4120: 65 6c 79 20 3c 62 3e 6d 65 61 73 75 72 65 64 20  ely <b>measured 
4130: 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64  on the ellipsoid
4140: 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 6e 67  </b> by applying
4150: 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 72 61   the most accura
4160: 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 20 66  te <b>geodesic f
4170: 6f 72 6d 75 6c 61 65 3c 2f 62 3e 20 61 6e 64 20  ormulae</b> and 
4180: 77 69 6c 6c 20 62 65 20 63 6f 6e 73 65 71 75 65  will be conseque
4190: 6e 74 6c 79 20 65 78 70 72 65 73 73 65 64 20 69  ntly expressed i
41a0: 6e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e 2e  n <b>meters</b>.
41b0: 20 49 6e 20 61 6e 79 20 6f 74 68 65 72 20 63 61   In any other ca
41c0: 73 65 20 28 3c 62 3e 70 72 6f 6a 65 63 74 65 64  se (<b>projected
41d0: 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 65 20 53  </b> Reference S
41e0: 79 73 74 65 6d 73 29 20 6c 65 6e 67 74 68 73 20  ystems) lengths 
41f0: 77 69 6c 6c 20 62 65 20 65 78 70 72 65 73 73 65  will be expresse
4200: 64 20 69 6e 20 74 68 65 20 3c 62 3e 6d 65 61 73  d in the <b>meas
4210: 75 72 65 20 75 6e 69 74 3c 2f 62 3e 20 64 65 66  ure unit</b> def
4220: 69 6e 65 64 20 62 79 20 74 68 65 20 52 65 66 65  ined by the Refe
4230: 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 65 2e  rence System (e.
4240: 67 2e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e  g. <b>meters</b>
4250: 20 66 6f 72 20 3c 62 3e 55 54 4d 3c 2f 62 3e 20   for <b>UTM</b> 
4260: 70 72 6f 6a 65 63 74 69 6f 6e 73 20 61 6e 64 20  projections and 
4270: 3c 62 3e 66 65 65 74 3c 2f 62 3e 20 66 6f 72 20  <b>feet</b> for 
4280: 3c 62 3e 4e 41 44 2d 66 74 3c 2f 62 3e 20 70 72  <b>NAD-ft</b> pr
4290: 6f 6a 65 63 74 69 6f 6e 73 29 2e 3c 62 72 3e 0d  ojections).<br>.
42a0: 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a  .<u>Note #2</u>:
42b0: 20 74 68 65 20 3c 62 3e 67 65 6f 6d 2d 63 6f 6c   the <b>geom-col
42c0: 75 6d 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 63  umn</b> and <b>c
42d0: 6f 73 74 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 61  ost-column</b> a
42e0: 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6e 65 76  rguments are nev
42f0: 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65  er allowed to be
4300: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 61 74 20   <b>NULL</b> at 
4310: 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 2f  the same time.</
4320: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 6f 70 6f  li>..<li><i>topo
4330: 6e 79 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66  nym</i>: name of
4340: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20   the column (in 
4350: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20  the above Table 
4360: 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65  or View) expecte
4370: 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e  d to contain <b>
4380: 72 6f 61 64 2d 6e 61 6d 65 3c 2f 62 3e 20 76 61  road-name</b> va
4390: 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 74 20 63 6f  lues.<br>..It co
43a0: 75 6c 64 20 62 65 20 6c 65 67 69 74 69 6d 61 74  uld be legitimat
43b0: 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55  ely set to <b>NU
43c0: 4c 4c 3c 2f 62 3e 20 69 66 20 61 6c 6c 20 4c 69  LL</b> if all Li
43d0: 6e 6b 73 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75  nks are anonymou
43e0: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  s.</li>..<li><i>
43f0: 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e  1</i>: a boolean
4400: 20 66 6c 61 67 20 69 6e 74 65 6e 64 65 64 20 74   flag intended t
4410: 6f 20 73 70 65 63 69 66 79 20 69 66 20 74 68 65  o specify if the
4420: 20 4e 65 74 77 6f 72 6b 20 6d 75 73 74 20 73 75   Network must su
4430: 70 70 6f 72 74 20 74 68 65 20 3c 62 3e 41 2a 20  pport the <b>A* 
4440: 61 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 6f 72  algorithm</b> or
4450: 20 6e 6f 74 20 28 73 65 74 20 74 6f 20 3c 62 3e   not (set to <b>
4460: 54 52 55 45 3c 2f 62 3e 20 62 79 20 64 65 66 61  TRUE</b> by defa
4470: 75 6c 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ult).</li>..<li>
4480: 3c 69 3e 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c  <i>1</i>: a bool
4490: 65 61 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64 65  ean flag intende
44a0: 64 20 74 6f 20 73 70 65 63 69 66 79 20 69 66 20  d to specify if 
44b0: 61 6c 6c 20 4e 65 74 77 6f 72 6b 27 73 20 4c 69  all Network's Li
44c0: 6e 6b 73 20 61 72 65 20 61 73 73 75 6d 65 64 20  nks are assumed 
44d0: 74 6f 20 62 65 20 3c 62 3e 62 69 64 69 72 65 63  to be <b>bidirec
44e0: 74 69 6f 6e 61 6c 3c 2f 62 3e 20 6f 72 20 6e 6f  tional</b> or no
44f0: 74 20 28 61 73 73 75 6d 65 64 20 74 6f 20 62 65  t (assumed to be
4500: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 62 79 20   <b>TRUE</b> by 
4510: 64 65 66 61 75 6c 74 29 2e 3c 2f 6c 69 3e 20 0d  default).</li> .
4520: 0a 3c 2f 6f 6c 3e 0d 0a 3c 74 61 62 6c 65 20 62  .</ol>..<table b
4530: 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22  gcolor="#c0ffc0"
4540: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30   cellspacing="10
4550: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
4560: 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e  "><tr><td>..<h3>
4570: 54 65 63 68 6e 69 63 61 6c 20 6e 6f 74 65 3c 2f  Technical note</
4580: 68 33 3e 0d 0a 54 68 65 20 69 6e 74 65 72 6e 61  h3>..The interna
4590: 6c 20 65 6e 63 6f 64 69 6e 67 20 61 64 6f 70 74  l encoding adopt
45a0: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 42 69 6e  ed by the <b>Bin
45b0: 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 3c 2f  ary Data Table</
45c0: 62 3e 20 69 73 20 75 6e 63 68 61 6e 67 65 64 20  b> is unchanged 
45d0: 61 6e 64 20 69 73 20 74 68 65 20 73 61 6d 65 20  and is the same 
45e0: 66 6f 72 20 62 6f 74 68 20 3c 62 3e 56 69 72 74  for both <b>Virt
45f0: 75 61 6c 4e 65 74 77 6f 6b 3c 2f 62 3e 20 61 6e  ualNetwok</b> an
4600: 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74  d <b>VirtualRout
4610: 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 59 6f  ing</b>.<br>..Yo
4620: 75 20 63 61 6e 20 73 61 66 65 6c 79 20 62 61 73  u can safely bas
4630: 65 20 61 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f  e a <b>VirtualRo
4640: 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 20  uting Table</b> 
4650: 6f 6e 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20  on any existing 
4660: 42 69 6e 61 72 79 20 44 61 74 61 0d 0a 54 61 62  Binary Data..Tab
4670: 6c 65 20 63 72 65 61 74 65 64 20 62 79 20 74 68  le created by th
4680: 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 2d  e <b>spatialite-
4690: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 43 4c 49 20  network</b> CLI 
46a0: 74 6f 6f 6c 2c 20 65 78 61 63 74 6c 79 20 61 73  tool, exactly as
46b0: 20 79 6f 75 20 63 61 6e 20 62 61 73 65 20 61 20   you can base a 
46c0: 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f 72  <b>VirtualNetwor
46d0: 6b 20 54 61 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61  k Table</b> on a
46e0: 6e 79 20 42 69 6e 61 72 79 20 44 61 74 61 20 54  ny Binary Data T
46f0: 61 62 6c 65 20 63 72 65 61 74 65 64 20 62 79 20  able created by 
4700: 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75  the <b>CreateRou
4710: 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66  ting()</b> SQL f
4720: 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61  unction...<verba
4730: 74 69 6d 3e 0d 0a 43 52 45 41 54 45 20 56 49 52  tim>..CREATE VIR
4740: 54 55 41 4c 20 54 41 42 4c 45 20 74 65 73 74 5f  TUAL TABLE test_
4750: 6e 65 74 77 6f 72 6b 20 55 53 49 4e 47 20 56 69  network USING Vi
4760: 72 74 75 61 6c 4e 65 74 77 6f 72 6b 28 27 73 6f  rtualNetwork('so
4770: 6d 65 5f 64 61 74 61 5f 74 61 62 6c 65 27 29 3b  me_data_table');
4780: 0d 0a 0d 0a 43 52 45 41 54 45 20 56 49 52 54 55  ....CREATE VIRTU
4790: 41 4c 20 54 41 42 4c 45 20 74 65 73 74 5f 72 6f  AL TABLE test_ro
47a0: 75 74 69 6e 67 20 55 53 49 4e 47 20 56 69 72 74  uting USING Virt
47b0: 75 61 6c 52 6f 75 74 69 6e 67 28 27 73 6f 6d 65  ualRouting('some
47c0: 5f 64 61 74 61 5f 74 61 62 6c 65 27 29 3b 0d 0a  _data_table');..
47d0: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 49 6e 20  </verbatim>..In 
47e0: 6f 72 64 65 72 20 74 6f 20 6d 61 6e 75 61 6c 6c  order to manuall
47f0: 79 20 63 72 65 61 74 65 20 79 6f 75 72 20 56 69  y create your Vi
4800: 72 74 75 61 6c 20 54 61 62 6c 65 73 20 79 6f 75  rtual Tables you
4810: 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 65 78   just have to ex
4820: 65 63 75 74 65 20 61 6e 20 61 70 70 72 6f 70 72  ecute an appropr
4830: 69 61 74 65 20 3c 62 3e 43 52 45 41 54 45 20 56  iate <b>CREATE V
4840: 49 52 54 55 41 4c 20 54 41 42 4c 45 20 2e 2e 2e  IRTUAL TABLE ...
4850: 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 2e 2e   USING Virtual..
4860: 2e 20 28 2e 2e 2e 29 3c 2f 62 3e 20 73 74 61 74  . (...)</b> stat
4870: 65 6d 65 6e 74 2e 0d 0a 3c 68 34 3e 57 61 72 6e  ement...<h4>Warn
4880: 69 6e 67 3c 2f 68 34 3e 0d 0a 49 6e 20 74 68 65  ing</h4>..In the
4890: 20 63 61 73 65 20 6f 66 20 3c 62 3e 53 70 61 74   case of <b>Spat
48a0: 69 61 6c 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e  ial Networks</b>
48b0: 20 62 61 73 65 64 20 6f 6e 20 61 6e 79 20 3c 62   based on any <b
48c0: 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e 20  >geographic</b> 
48d0: 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d  Reference System
48e0: 20 28 75 73 69 6e 67 20 3c 62 3e 6c 6f 6e 67 69   (using <b>longi
48f0: 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64 20 3c 62  tudes</b> and <b
4900: 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62 3e 29 20  >latitudes</b>) 
4910: 74 68 65 72 65 20 69 73 20 61 6e 20 69 6d 70 6f  there is an impo
4920: 72 74 61 6e 74 20 64 69 66 66 65 72 65 6e 63 65  rtant difference
4930: 20 62 65 74 77 65 65 6e 20 42 69 6e 61 72 79 20   between Binary 
4940: 44 61 74 61 20 54 61 62 6c 65 73 20 63 72 65 61  Data Tables crea
4950: 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 73 70  ted by the <b>sp
4960: 61 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b  atialite_network
4970: 3c 2f 62 3e 20 47 55 49 20 74 6f 6f 6c 20 61 6e  </b> GUI tool an
4980: 64 20 20 42 69 6e 61 72 79 20 44 61 74 61 20 54  d  Binary Data T
4990: 61 62 6c 65 73 20 63 72 65 61 74 65 64 20 62 79  ables created by
49a0: 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f   the <b>CreateRo
49b0: 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20  uting()</b> SQL 
49c0: 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20 3c 62  function when <b
49d0: 3e 63 6f 73 74 73 3c 2f 62 3e 20 61 72 65 20 69  >costs</b> are i
49e0: 6d 70 6c 69 63 69 74 6c 79 20 62 61 73 65 64 20  mplicitly based 
49f0: 6f 6e 20 74 68 65 20 67 65 6f 6d 65 74 72 69 63  on the geometric
4a00: 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 4c   length of the L
4a10: 69 6e 6b 27 73 20 4c 69 6e 65 73 74 72 69 6e 67  ink's Linestring
4a20: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65  :..<ul>..<li>the
4a30: 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 6e   <b>spatialite_n
4a40: 65 74 77 6f 72 6b 3c 2f 62 3e 20 43 4c 49 20 74  etwork</b> CLI t
4a50: 6f 6f 6c 20 28 61 6e 64 20 74 68 65 20 3c 62 3e  ool (and the <b>
4a60: 47 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20 69  GUI wizard</b> i
4a70: 6d 70 6c 65 6d 65 6e 74 65 64 20 62 79 20 70 72  mplemented by pr
4a80: 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 20  evious versions 
4a90: 6f 66 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65  of <b>spatialite
4aa0: 5f 67 75 69 3c 2f 62 3e 29 20 63 6f 6d 70 75 74  _gui</b>) comput
4ab0: 65 20 74 68 65 20 4c 69 6e 65 73 74 72 69 6e 67  e the Linestring
4ac0: 27 73 20 6c 65 6e 67 74 68 20 61 73 20 61 6e 20  's length as an 
4ad0: 3c 62 3e 61 6e 67 75 6c 61 72 20 64 69 73 74 61  <b>angular dista
4ae0: 6e 63 65 3c 2f 62 3e 20 65 78 70 72 65 73 73 65  nce</b> expresse
4af0: 64 20 69 6e 20 3c 62 3e 64 65 67 72 65 65 73 3c  d in <b>degrees<
4b00: 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  /b>.</li>..<li>t
4b10: 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  he <b>CreateRout
4b20: 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75  ing()</b> SQL fu
4b30: 6e 63 74 69 6f 6e 20 63 6f 6d 70 75 74 65 73 20  nction computes 
4b40: 74 68 65 20 4c 69 6e 65 73 74 72 69 6e 67 27 73  the Linestring's
4b50: 20 6c 65 6e 67 74 68 20 61 73 20 61 20 3c 62 3e   length as a <b>
4b60: 6c 69 6e 65 61 72 20 64 69 73 74 61 6e 63 65 3c  linear distance<
4b70: 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e  /b> expressed in
4b80: 20 3c 62 3e 6d 65 74 72 65 73 3c 2f 62 3e 20 62   <b>metres</b> b
4b90: 79 20 61 70 70 6c 79 69 6e 67 20 74 68 65 20 6d  y applying the m
4ba0: 6f 73 74 20 61 63 63 75 72 61 74 65 20 3c 62 3e  ost accurate <b>
4bb0: 67 65 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c 61  geodesic formula
4bc0: 65 3c 2f 62 3e 20 6f 6e 20 74 68 65 20 65 6c 6c  e</b> on the ell
4bd0: 69 70 73 6f 69 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  ipsoid.</li>..</
4be0: 75 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c  ul>..</td></tr><
4bf0: 2f 74 61 62 6c 65 3e 3c 62 72 3e 3c 62 72 3e 0d  /table><br><br>.
4c00: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
4c10: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e  ECT CreateRoutin
4c20: 67 28 27 62 79 63 61 72 5f 64 61 74 61 27 2c 20  g('bycar_data', 
4c30: 27 62 79 63 61 72 27 2c 20 27 72 6f 61 64 73 5f  'bycar', 'roads_
4c40: 76 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27  vw', 'node_from'
4c50: 2c 20 27 6e 6f 64 65 5f 74 6f 27 2c 20 27 67 65  , 'node_to', 'ge
4c60: 6f 6d 27 2c 20 27 63 6f 73 74 27 2c 20 27 74 6f  om', 'cost', 'to
4c70: 70 6f 6e 79 6d 27 2c 20 31 2c 20 31 2c 20 27 6f  ponym', 1, 1, 'o
4c80: 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 27 2c 20 27  neway_fromto', '
4c90: 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 27 2c 20  oneway_tofrom', 
4ca0: 30 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  0);..-----------
4cb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f  ---------..1..</
4cc0: 76 65 72 62 61 74 69 6d 3e 0d 0a 41 66 74 65 72  verbatim>..After
4cd0: 20 63 61 6c 6c 69 6e 67 20 79 65 74 20 61 6e 6f   calling yet ano
4ce0: 74 68 65 72 20 74 69 6d 65 20 3c 62 3e 43 72 65  ther time <b>Cre
4cf0: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e  ateRouting()</b>
4d00: 20 6e 6f 77 20 74 68 65 20 44 61 74 61 62 61 73   now the Databas
4d10: 65 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 66  e contains two f
4d20: 75 72 74 68 65 72 20 54 61 62 6c 65 73 3a 20 3c  urther Tables: <
4d30: 62 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e 64 20  b>bycar</b> and 
4d40: 3c 62 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f 62  <b>bycar_data</b
4d50: 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69 6d  >.<br>..This tim
4d60: 65 20 79 6f 75 27 76 65 20 75 73 65 64 20 74 68  e you've used th
4d70: 65 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20 66 6f  e <i>complete fo
4d80: 72 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65  rm</i> of Create
4d90: 52 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27 73  Routing(); let's
4da0: 20 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65 70   see in more dep
4db0: 74 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d  th all the argum
4dc0: 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d  ents and their m
4dd0: 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c  eaning:..<ol>..<
4de0: 6c 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61 74 61  li><i>bycar_data
4df0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
4e00: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ove.</li>..<li><
4e10: 69 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73 61 6d  i>bycar</i>: sam
4e20: 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e  e as above.</li>
4e30: 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76  ..<li><i>roads_v
4e40: 77 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61  w</i>: same as a
4e50: 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  bove.</li>..<li>
4e60: 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e  <i>node_from</i>
4e70: 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e  : same as above.
4e80: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f  </li>..<li><i>no
4e90: 64 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d 65 20  de_to</i>: same 
4ea0: 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a  as above.</li>..
4eb0: 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a  <li><i>geom</i>:
4ec0: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c   same as above.<
4ed0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63 6f 73  /li>..<li><i>cos
4ee0: 74 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61  t</i>: same as a
4ef0: 62 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73 20 63  bove...In this c
4f00: 61 73 65 20 77 65 20 68 61 76 65 20 72 65 66 65  ase we have refe
4f10: 72 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d 6e 20  renced a column 
4f20: 70 72 65 6c 6f 61 64 65 64 20 77 69 74 68 20 76  preloaded with v
4f30: 61 6c 75 65 73 20 63 6f 72 72 65 73 70 6f 6e 64  alues correspond
4f40: 69 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e 74 69  ing to the <b>ti
4f50: 6d 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65 64 20  me</b> measured 
4f60: 69 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62  in <b>seconds</b
4f70: 3e 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72  > required to tr
4f80: 61 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b  averse each Link
4f90: 2e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 69 3e  .</li> ..<li><i>
4fa0: 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73 61 6d  toponym</i>: sam
4fb0: 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e  e as above.</li>
4fc0: 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20  ..<li><i>1</i>: 
4fd0: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 3c  same as above (<
4fe0: 69 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f 69 3e  i>A* enabled</i>
4ff0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  ).</li>..<li><i>
5000: 31 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61  1</i>: same as a
5010: 62 6f 76 65 20 28 3c 69 3e 62 69 64 69 72 65 63  bove (<i>bidirec
5020: 74 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f 69 3e  tional Links</i>
5030: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  ).</li>..<li><i>
5040: 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 69  oneway_fromto</i
5050: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63  >: name of the c
5060: 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62  olumn (in the ab
5070: 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65  ove Table or Vie
5080: 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63  w) expected to c
5090: 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20 66  ontain boolean f
50a0: 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e 67 20  lags specifying 
50b0: 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 61 6e  if each Link can
50c0: 20 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e   be traversed in
50d0: 20 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c   the <b>from-to<
50e0: 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f 72  /b> direction or
50f0: 20 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e   not.</li>..<li>
5100: 3c 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d  <i>oneway_tofrom
5110: 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68  </i>: name of th
5120: 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65  e column (in the
5130: 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20   above Table or 
5140: 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74  View) expected t
5150: 6f 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61  o contain boolea
5160: 6e 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 69  n flags specifyi
5170: 6e 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20  ng if each Link 
5180: 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64  can be traversed
5190: 20 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d 66 72   in the <b>to-fr
51a0: 6f 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e  om</b> direction
51b0: 20 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a 3c 75   or not.<br>..<u
51c0: 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 62 6f  >Note #1</u>: bo
51d0: 74 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62  th <b>from-to</b
51e0: 3e 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d  > and <b>to-from
51f0: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65  </b> column name
5200: 73 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 6d  s can be legitim
5210: 61 74 65 6c 79 20 73 65 74 20 61 73 20 3c 62 3e  ately set as <b>
5220: 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f 20 3c  NULL</b> if no <
5230: 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65  b>one-way</b> re
5240: 73 74 72 69 63 74 69 6f 6e 73 20 61 70 70 6c 79  strictions apply
5250: 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20   to the current 
5260: 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75  Network.<br>..<u
5270: 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 4e 65  >Note #2</u>: Ne
5280: 74 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 3c 62  tworks of the <b
5290: 3e 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c  >unidirectional<
52a0: 2f 62 3e 20 74 79 70 65 20 61 72 65 20 6e 65 76  /b> type are nev
52b0: 65 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 72 65  er enabled to re
52c0: 66 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 2d 77  ference <b>one-w
52d0: 61 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 28  ay</b> columns (
52e0: 74 68 65 79 20 73 68 6f 75 6c 64 20 61 6c 77 61  they should alwa
52f0: 79 73 20 62 65 20 73 65 74 20 74 6f 20 3c 62 3e  ys be set to <b>
5300: 4e 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d  NULL</b>).</li>.
5310: 0a 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a 20 61  .<li><i>0</i>: a
5320: 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e   boolean flag in
5330: 74 65 6e 64 69 6e 67 20 61 6e 20 3c 62 3e 6f 76  tending an <b>ov
5340: 65 72 77 72 69 74 65 20 61 75 74 68 6f 72 69 7a  erwrite authoriz
5350: 61 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e  ation</b>...<ul>
5360: 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 6f 20  ..<li>If set to 
5370: 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e 20 61 6e 20  <b>FALSE</b> an 
5380: 65 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62  exception will b
5390: 65 20 72 61 69 73 65 64 20 69 66 20 74 68 65 20  e raised if the 
53a0: 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54  <b>Binary Data T
53b0: 61 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20  able</b> and/or 
53c0: 74 68 65 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f  the <b>VirtualRo
53d0: 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 20  uting Table</b> 
53e0: 64 6f 20 61 6c 72 65 61 64 79 20 65 78 69 73 74  do already exist
53f0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73  .</li>..<li>If s
5400: 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62  et to <b>TRUE</b
5410: 3e 20 65 76 65 6e 74 75 61 6c 6c 79 20 65 78 69  > eventually exi
5420: 73 74 69 6e 67 20 54 61 62 6c 65 73 20 77 69 6c  sting Tables wil
5430: 6c 20 62 65 20 70 72 65 76 65 6e 74 69 76 65 6c  l be preventivel
5440: 79 20 64 72 6f 70 70 65 64 20 69 6d 6d 65 64 69  y dropped immedi
5450: 61 74 65 6c 79 20 62 65 66 6f 72 65 20 73 74 61  ately before sta
5460: 72 74 69 6e 67 20 74 68 65 20 65 78 65 63 75 74  rting the execut
5470: 69 6f 6e 20 6f 66 20 3c 62 3e 43 72 65 61 74 65  ion of <b>Create
5480: 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 2e 3c 2f  Routing()</b>.</
5490: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
54a0: 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74  .</ol>..<br>..<t
54b0: 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66  able bgcolor="#f
54c0: 66 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69  fffc0" cellspaci
54d0: 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
54e0: 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
54f0: 0d 0a 3c 68 33 3e 48 69 67 68 6c 69 67 68 74 3a  ..<h3>Highlight:
5500: 20 77 68 65 72 65 20 79 6f 75 20 61 72 65 3c 2f   where you are</
5510: 68 33 3e 0d 0a 59 6f 75 27 76 65 20 6a 75 73 74  h3>..You've just
5520: 20 63 72 65 61 74 65 64 20 74 77 6f 20 56 69 72   created two Vir
5530: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
5540: 65 73 20 62 61 73 65 64 20 6f 6e 20 64 69 66 66  es based on diff
5550: 65 72 65 6e 74 20 73 65 74 74 69 6e 67 73 3b 20  erent settings; 
5560: 62 6f 74 68 20 74 68 65 6d 20 61 72 65 20 70 65  both them are pe
5570: 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 61 6e  rfectly valid an
5580: 64 20 72 65 61 73 6f 6e 61 62 6c 65 2c 20 62 75  d reasonable, bu
5590: 74 20 74 68 65 79 20 61 72 65 20 69 6e 74 65 6e  t they are inten
55a0: 64 65 64 20 66 6f 72 20 64 69 66 66 65 72 65 6e  ded for differen
55b0: 74 20 70 75 72 70 6f 73 65 73 3a 0d 0a 3c 75 6c  t purposes:..<ul
55c0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 79 66 6f 6f 74  >..<li><b>byfoot
55d0: 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 66 69 63  </b> is specific
55e0: 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 66 6f  ally intended fo
55f0: 72 20 3c 62 3e 70 65 64 65 73 74 72 69 61 6e 73  r <b>pedestrians
5600: 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  </b>:..<ul>..<li
5610: 3e 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20 61  >all Links are a
5620: 6c 77 61 79 73 20 61 73 73 75 6d 65 64 20 74 6f  lways assumed to
5630: 20 62 65 20 61 63 63 65 73 73 69 62 6c 65 20 69   be accessible i
5640: 6e 20 3c 62 3e 62 6f 74 68 20 64 69 72 65 63 74  n <b>both direct
5650: 69 6f 6e 73 3c 2f 62 3e 3b 20 74 68 65 72 65 20  ions</b>; there 
5660: 61 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61  are no <b>one-wa
5670: 79 73 3c 2f 62 3e 20 61 6e 64 20 6e 6f 20 3c 62  ys</b> and no <b
5680: 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 4c  >forbidden</b> L
5690: 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  inks.</li>..<li>
56a0: 74 68 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20  the <b>cost</b> 
56b0: 6f 66 20 65 61 63 68 20 4c 69 6e 6b 20 69 73 20  of each Link is 
56c0: 64 69 72 65 63 74 6c 79 20 72 65 70 72 65 73 65  directly represe
56d0: 6e 74 65 64 20 62 79 20 69 74 73 20 67 65 6f 6d  nted by its geom
56e0: 65 74 72 69 63 20 3c 62 3e 6c 65 6e 67 74 68 3c  etric <b>length<
56f0: 2f 62 3e 2c 20 77 68 69 63 68 20 69 73 20 63 6f  /b>, which is co
5700: 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68  nsistent with th
5710: 65 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 20  e assumption of 
5720: 61 6e 20 61 6c 6d 6f 73 74 20 63 6f 6e 73 74 61  an almost consta
5730: 6e 74 20 73 70 65 65 64 20 73 75 62 73 74 61 6e  nt speed substan
5740: 74 69 61 6c 6c 79 20 69 6d 6d 75 6e 65 20 66 72  tially immune fr
5750: 6f 6d 20 61 64 76 65 72 73 65 20 72 6f 61 64 20  om adverse road 
5760: 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 20 74  conditions and t
5770: 72 61 66 66 69 63 20 63 6f 6e 67 65 73 74 69 6f  raffic congestio
5780: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  n.</li>..</ul></
5790: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62 79 63 61  li>..<li><b>byca
57a0: 72 3c 2f 62 3e 20 69 73 20 73 70 65 63 69 66 69  r</b> is specifi
57b0: 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 66  cally intended f
57c0: 6f 72 20 3c 62 3e 6d 6f 74 6f 72 20 76 65 68 69  or <b>motor vehi
57d0: 63 6c 65 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d  cles</b>:..<ul>.
57e0: 0a 3c 6c 69 3e 6d 61 6e 79 20 4c 69 6e 6b 73 20  .<li>many Links 
57f0: 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20  are expected to 
5800: 62 65 20 61 63 63 65 73 73 69 62 6c 65 20 69 6e  be accessible in
5810: 20 3c 62 3e 62 6f 74 68 20 64 69 72 65 63 74 69   <b>both directi
5820: 6f 6e 73 3c 2f 62 3e 20 62 75 74 20 6f 74 68 65  ons</b> but othe
5830: 72 73 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20  rs could easily 
5840: 62 65 20 73 75 62 6a 65 63 74 20 74 6f 20 3c 62  be subject to <b
5850: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65 73  >one-way</b> res
5860: 74 72 69 63 74 69 6f 6e 73 20 6f 72 20 65 76 65  trictions or eve
5870: 6e 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20  n be completely 
5880: 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e  <b>forbidden</b>
5890: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  .</li>..<li>the 
58a0: 63 6f 73 74 20 6f 66 20 65 61 63 68 20 4c 69 6e  cost of each Lin
58b0: 6b 20 69 73 20 65 78 70 72 65 73 73 65 64 20 61  k is expressed a
58c0: 73 20 61 6e 20 65 73 74 69 6d 61 74 65 64 20 3c  s an estimated <
58d0: 62 3e 74 72 61 76 65 6c 20 74 69 6d 65 3c 2f 62  b>travel time</b
58e0: 3e 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 65  >, because the e
58f0: 78 70 65 63 74 65 64 20 73 70 65 65 64 73 20 63  xpected speeds c
5900: 61 6e 20 67 72 65 61 74 6c 79 20 76 61 72 79 20  an greatly vary 
5910: 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 73  accordingly to s
5920: 70 65 63 69 66 69 63 20 72 6f 61 64 20 63 6f 6e  pecific road con
5930: 64 69 74 69 6f 6e 73 2c 20 74 72 61 66 66 69 63  ditions, traffic
5940: 20 63 6f 6e 67 65 73 74 69 6f 6e 20 61 6e 64 20   congestion and 
5950: 6c 65 67 61 6c 20 72 65 67 75 6c 61 74 69 6f 6e  legal regulation
5960: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  s.</li>..</ul></
5970: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e  li>..</ul>..<br>
5980: 0d 0a 3c 75 3e 43 6f 6e 63 6c 75 73 69 6f 6e 3c  ..<u>Conclusion<
5990: 2f 75 3e 3a 20 61 20 73 69 6e 67 6c 65 20 56 69  /u>: a single Vi
59a0: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62  rtualRouting Tab
59b0: 6c 65 20 63 61 6e 27 74 20 62 65 20 61 62 6c 65  le can't be able
59c0: 20 74 6f 20 61 64 65 71 75 61 74 65 6c 79 20 73   to adequately s
59d0: 75 70 70 6f 72 74 20 73 75 70 70 6f 72 74 20 74  upport support t
59e0: 68 65 20 73 70 65 63 69 66 69 63 20 72 65 71 75  he specific requ
59f0: 69 72 65 6d 65 6e 74 73 20 61 6e 64 20 65 78 70  irements and exp
5a00: 65 63 74 61 74 69 6f 6e 73 20 6f 66 20 64 69 66  ectations of dif
5a10: 66 65 72 65 6e 74 20 75 73 65 72 73 2e 3c 62 72  ferent users.<br
5a20: 3e 0d 0a 44 65 66 69 6e 69 6e 67 20 6d 6f 72 65  >..Defining more
5a30: 20 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20   Routing Tables 
5a40: 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 73  with different s
5a50: 65 74 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20  ettings for the 
5a60: 73 61 6d 65 20 4e 65 74 77 6f 72 6b 20 75 73 75  same Network usu
5a70: 61 6c 6c 79 20 69 73 20 61 20 67 6f 6f 64 20 64  ally is a good d
5a80: 65 73 69 67 6e 20 63 68 6f 69 63 65 20 6c 65 61  esign choice lea
5a90: 64 69 6e 67 20 74 6f 20 6d 6f 72 65 20 72 65 61  ding to more rea
5aa0: 6c 69 73 74 69 63 20 72 65 73 75 6c 74 73 2e 3c  listic results.<
5ab0: 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d  br>..</td></tr>.
5ac0: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c  .</table>..<br><
5ad0: 62 72 3e 0d 0a 3c 68 33 3e 55 74 69 6c 69 74 79  br>..<h3>Utility
5ae0: 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 61 75   function for au
5af0: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 74  tomatically sett
5b00: 69 6e 67 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64  ing NodeFrom and
5b10: 20 4e 6f 64 65 54 6f 20 49 44 73 3c 2f 68 33 3e   NodeTo IDs</h3>
5b20: 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20 63  ..Sometimes it c
5b30: 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79 20  ould eventually 
5b40: 68 61 70 70 65 6e 20 74 6f 20 65 6e 63 6f 75 6e  happen to encoun
5b50: 74 65 72 20 73 6f 6d 65 20 3c 62 3e 53 70 61 74  ter some <b>Spat
5b60: 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20  ial Network</b> 
5b70: 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 62  representation b
5b80: 65 69 6e 67 20 66 75 6c 6c 79 20 74 6f 70 6f 6c  eing fully topol
5b90: 6f 67 69 63 61 6c 6c 79 20 63 6f 6e 73 69 73 74  ogically consist
5ba0: 65 6e 74 20 62 75 74 20 63 6f 6d 70 6c 65 74 65  ent but complete
5bb0: 6c 79 20 6c 61 63 6b 69 6e 67 20 61 6e 79 20 64  ly lacking any d
5bc0: 65 66 69 6e 69 74 69 6f 6e 20 61 62 6f 75 74 20  efinition about 
5bd0: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
5be0: 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  and <b>NodeTo</b
5bf0: 3e 20 69 64 65 6e 74 69 66 69 65 72 73 2e 3c 62  > identifiers.<b
5c00: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 73 70 65 63  r>..In this spec
5c10: 69 66 69 63 20 63 61 73 65 20 79 6f 75 20 63 61  ific case you ca
5c20: 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72  n successfully r
5c30: 65 63 6f 76 65 72 20 61 20 70 65 72 66 65 63 74  ecover a perfect
5c40: 6c 79 20 76 61 6c 69 64 20 4e 65 74 77 6f 72 6b  ly valid Network
5c50: 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20   by calling the 
5c60: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
5c70: 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 4c 20  Nodes()</b> SQL 
5c80: 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62  function...<verb
5c90: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72  atim>..SELECT Cr
5ca0: 65 61 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73  eateRoutingNodes
5cb0: 28 4e 55 4c 4c 2c 20 27 74 61 62 6c 65 5f 6e 61  (NULL, 'table_na
5cc0: 6d 65 27 2c 20 27 67 65 6f 6d 27 2c 20 27 6e 6f  me', 'geom', 'no
5cd0: 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f  de_from', 'node_
5ce0: 74 6f 27 29 3b 0d 0a 5f 5f 5f 5f 5f 5f 5f 5f 5f  to');.._________
5cf0: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
5d00: 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  ..1..</verbatim>
5d10: 0d 0a 4c 65 74 27 73 20 65 78 61 6d 69 6e 65 20  ..Let's examine 
5d20: 61 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 61 6e  all arguments an
5d30: 64 20 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 3a  d their meaning:
5d40: 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e  ..<ol>..<li><i>N
5d50: 55 4c 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66  ULL</i>: name of
5d60: 20 74 68 65 20 3c 62 3e 41 74 74 61 63 68 65 64   the <b>Attached
5d70: 2d 44 42 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 69  -DB</b> containi
5d80: 6e 67 20 74 68 65 20 53 70 61 74 69 61 6c 20 54  ng the Spatial T
5d90: 61 62 6c 65 2e 3c 62 72 3e 0d 0a 49 74 20 63 61  able.<br>..It ca
5da0: 6e 20 62 65 20 6c 65 67 69 74 69 6d 61 74 65 6c  n be legitimatel
5db0: 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c  y set to <b>NULL
5dc0: 3c 2f 62 3e 2c 20 61 6e 64 20 69 6e 20 74 68 69  </b>, and in thi
5dd0: 73 20 63 61 73 65 20 74 68 65 20 3c 62 3e 4d 41  s case the <b>MA
5de0: 49 4e 3c 2f 62 3e 20 44 42 20 69 73 20 61 73 73  IN</b> DB is ass
5df0: 75 6d 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  umed.</li>..<li>
5e00: 3c 69 3e 74 61 62 6c 65 5f 6e 61 6d 65 3c 2f 69  <i>table_name</i
5e10: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 53  >: name of the S
5e20: 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c 2f 6c  patial Table.</l
5e30: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c  i>..<li><i>geom<
5e40: 2f 6c 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68  /li>: name of th
5e50: 65 20 63 6f 6c 75 6d 6e 20 28 28 69 6e 20 74 68  e column ((in th
5e60: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 29 20 63  e above Table) c
5e70: 6f 6e 74 61 69 6e 69 6e 67 20 3c 62 3e 4c 69 6e  ontaining <b>Lin
5e80: 65 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c 2f 6c  estrings</b>.</l
5e90: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f  i>..<li><i>node_
5ea0: 66 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f  from</i>: name o
5eb0: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 74 6f 20  f the column to 
5ec0: 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20  be added to the 
5ed0: 61 62 6f 76 65 20 54 61 62 6c 65 20 61 6e 64 20  above Table and 
5ee0: 70 6f 70 75 6c 61 74 65 64 20 77 69 74 68 20 61  populated with a
5ef0: 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 4e 6f  ppropriate <b>No
5f00: 64 65 46 72 6f 6d 3c 2f 62 3e 20 49 44 73 2e 3c  deFrom</b> IDs.<
5f10: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64  /li>..<li><i>nod
5f20: 65 5f 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f  e_to</i>: name o
5f30: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 74 6f 20  f the column to 
5f40: 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20  be added to the 
5f50: 61 62 6f 76 65 20 54 61 62 6c 65 20 61 6e 64 20  above Table and 
5f60: 70 6f 70 75 6c 61 74 65 64 20 77 69 74 68 20 61  populated with a
5f70: 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 4e 6f  ppropriate <b>No
5f80: 64 65 54 6f 3c 2f 62 3e 20 49 44 73 2e 3c 62 72  deTo</b> IDs.<br
5f90: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
5fa0: 62 6f 74 68 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d  both <b>NodeFrom
5fb0: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65  </b> and <b>Node
5fc0: 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 73  To</b> columns s
5fd0: 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 6c 72  hould not be alr
5fe0: 65 61 64 79 20 64 65 66 69 6e 65 64 20 69 6e 20  eady defined in 
5ff0: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 2e  the above Table.
6000: 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62  </li>..</ol>..<b
6010: 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 4e 6f  >CreateRoutingNo
6020: 64 65 73 28 29 3c 2f 62 3e 20 77 69 6c 6c 20 72  des()</b> will r
6030: 65 74 75 72 6e 20 3c 62 3e 31 3c 2f 62 3e 20 28  eturn <b>1</b> (
6040: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 54 52  <i>aka</i> <b>TR
6050: 55 45 3c 2f 62 3e 29 20 6f 6e 20 73 75 63 63 65  UE</b>) on succe
6060: 73 73 3b 20 61 6e 20 65 78 63 65 70 74 69 6f 6e  ss; an exception
6070: 20 77 69 6c 6c 20 62 65 20 72 61 69 73 65 64 20   will be raised 
6080: 6f 6e 20 66 61 69 6c 75 72 65 2e 3c 62 72 3e 0d  on failure.<br>.
6090: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 79 6f  .<u>Note</u>: yo
60a0: 75 20 63 61 6e 20 63 61 6c 6c 20 3c 62 3e 43 72  u can call <b>Cr
60b0: 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c  eateRouting_GetL
60c0: 61 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e 20 73  astError()</b> s
60d0: 6f 20 74 6f 20 70 72 65 63 69 73 65 6c 79 20 69  o to precisely i
60e0: 64 65 6e 74 69 66 79 20 74 68 65 20 63 61 75 73  dentify the caus
60f0: 65 20 61 63 63 6f 75 6e 74 69 6e 67 20 66 6f 72  e accounting for
6100: 20 66 61 69 6c 75 72 65 2e 3c 62 72 3e 3c 62 72   failure.<br><br
6110: 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  ><br>..<table bg
6120: 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20  color="#c0ffc0" 
6130: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
6140: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
6150: 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48  ><tr><td>..<h3>H
6160: 61 6e 64 6c 69 6e 67 20 64 79 6e 61 6d 69 63 20  andling dynamic 
6170: 4e 65 74 77 6f 72 6b 73 3c 2f 68 33 3e 0d 0a 53  Networks</h3>..S
6180: 6f 6d 65 74 69 6d 65 73 20 69 74 20 68 61 70 70  ometimes it happ
6190: 65 6e 73 20 74 68 61 74 20 61 20 4e 65 74 77 6f  ens that a Netwo
61a0: 72 6b 20 63 6f 75 6c 64 20 62 65 20 73 75 62 6a  rk could be subj
61b0: 65 63 74 20 74 6f 20 72 61 74 68 65 72 20 66 72  ect to rather fr
61c0: 65 71 75 65 6e 74 20 63 68 61 6e 67 65 73 3a 20  equent changes: 
61d0: 73 6f 6d 65 20 6e 65 77 20 4c 69 6e 6b 73 20 72  some new Links r
61e0: 65 71 75 69 72 65 20 74 6f 20 62 65 20 61 64 64  equire to be add
61f0: 65 64 2c 20 6f 62 73 6f 6c 65 74 65 20 4c 69 6e  ed, obsolete Lin
6200: 6b 73 20 72 65 71 75 69 72 65 20 74 6f 20 62 65  ks require to be
6210: 20 72 65 6d 6f 76 65 64 2c 20 6f 74 68 65 72 20   removed, other 
6220: 4c 69 6e 6b 73 20 6d 61 79 20 61 73 73 75 6d 65  Links may assume
6230: 20 61 20 64 69 66 66 65 72 65 6e 74 20 43 6f 73   a different Cos
6240: 74 2c 20 6f 6e 65 2d 77 61 79 73 20 63 6f 75 6c  t, one-ways coul
6250: 64 20 62 65 20 72 65 76 65 72 73 65 64 2c 20 74  d be reversed, t
6260: 68 65 20 64 69 73 63 69 70 6c 69 6e 65 20 6f 66  he discipline of
6270: 20 70 65 64 65 73 74 72 69 61 6e 20 61 72 65 61   pedestrian area
6280: 73 20 63 6f 75 6c 64 20 62 65 20 6d 6f 64 69 66  s could be modif
6290: 69 65 64 20 61 6e 64 20 73 6f 20 6f 6e 2e 3c 62  ied and so on.<b
62a0: 72 3e 0d 0a 41 20 56 69 72 74 75 61 6c 52 6f 75  r>..A VirtualRou
62b0: 74 69 6e 67 20 54 61 62 6c 65 20 69 73 20 61 6c  ting Table is al
62c0: 77 61 79 73 20 62 61 73 65 64 20 6f 6e 20 61 20  ways based on a 
62d0: 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79  companion Binary
62e0: 20 44 61 74 61 20 54 61 62 6c 65 2c 20 74 68 61   Data Table, tha
62f0: 74 20 69 73 20 69 6e 74 72 69 6e 73 69 63 61 6c  t is intrinsical
6300: 6c 79 20 3c 62 3e 73 74 61 74 69 63 3c 2f 62 3e  ly <b>static</b>
6310: 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74  , and consequent
6320: 6c 79 20 79 6f 75 20 61 72 65 20 72 65 71 75 69  ly you are requi
6330: 72 65 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65  red to re-create
6340: 20 62 6f 74 68 20 74 68 65 6d 20 66 72 6f 6d 20   both them from 
6350: 74 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 6e 20  time to time in 
6360: 6f 72 64 65 72 20 74 6f 20 73 75 70 70 6f 72 74  order to support
6370: 20 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 61 6e   all recent chan
6380: 67 65 73 20 61 66 66 65 63 74 69 6e 67 20 74 68  ges affecting th
6390: 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65  e underlaying Ne
63a0: 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20  twork.<br>..The 
63b0: 6f 70 74 69 6d 61 6c 20 66 72 65 71 75 65 6e 63  optimal frequenc
63c0: 79 20 66 6f 72 20 63 79 63 6c 69 63 61 6c 6c 79  y for cyclically
63d0: 20 72 65 66 72 65 73 68 69 6e 67 20 74 68 65 20   refreshing the 
63e0: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 73  Routing Tables s
63f0: 74 72 69 63 74 6c 79 20 64 65 70 65 6e 64 73 20  trictly depends 
6400: 6f 6e 20 73 70 65 63 69 66 69 63 20 72 65 71 75  on specific requ
6410: 69 72 65 6d 65 6e 74 73 2c 20 62 75 74 20 74 68  irements, but th
6420: 65 20 74 77 6f 20 6f 76 65 72 61 6c 6c 20 61 70  e two overall ap
6430: 70 72 6f 61 63 68 65 73 20 61 72 65 20 63 6f 6d  proaches are com
6440: 6d 6f 6e 6c 79 20 61 64 6f 70 74 65 64 3a 0d 0a  monly adopted:..
6450: 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6c 6f 77  <ol>..<li><b>low
6460: 20 66 72 65 71 75 65 6e 63 79 20 72 65 66 72 65   frequency refre
6470: 73 68 3c 2f 62 3e 3a 20 62 65 73 74 20 66 69 74  sh</b>: best fit
6480: 20 66 6f 72 20 73 6c 6f 77 6c 79 20 65 76 6f 6c   for slowly evol
6490: 76 69 6e 67 20 4e 65 74 77 6f 72 6b 73 2e 3c 62  ving Networks.<b
64a0: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65  r>..In this case
64b0: 20 72 65 2d 63 72 65 61 74 69 6e 67 20 74 68 65   re-creating the
64c0: 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 20   Network Tables 
64d0: 6f 6e 63 65 20 61 20 6d 6f 6e 74 68 20 2f 20 77  once a month / w
64e0: 65 65 6b 20 2f 20 64 61 79 20 63 6f 75 6c 64 20  eek / day could 
64f0: 62 65 20 72 65 61 73 6f 6e 61 62 6c 79 20 65 6e  be reasonably en
6500: 6f 75 67 68 2e 0d 0a 52 65 63 72 65 61 74 69 6e  ough...Recreatin
6510: 67 20 74 68 65 20 54 61 62 6c 65 73 20 66 72 6f  g the Tables fro
6520: 6d 20 73 63 72 61 74 63 68 20 75 73 75 61 6c 6c  m scratch usuall
6530: 79 20 72 65 71 75 69 72 65 73 20 73 65 76 65 72  y requires sever
6540: 61 6c 20 73 65 63 6f 6e 64 73 20 28 6f 72 20 65  al seconds (or e
6550: 76 65 6e 20 6c 65 73 73 2c 20 64 65 70 65 6e 64  ven less, depend
6560: 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 6d 62 65  ing on the numbe
6570: 72 20 6f 66 20 4c 69 6e 6b 73 29 2e 3c 62 72 3e  r of Links).<br>
6580: 0d 0a 54 68 65 20 72 65 66 72 65 73 68 20 61 63  ..The refresh ac
6590: 74 69 76 69 74 69 65 73 20 63 6f 75 6c 64 20 62  tivities could b
65a0: 65 20 6f 70 70 6f 72 74 75 6e 65 6c 79 20 70 6c  e opportunely pl
65b0: 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74 72 61  anned at low tra
65c0: 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e 67 2e  ffic hours (e.g.
65d0: 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69 67 68   during the nigh
65e0: 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65 61 74  t), and <b>Creat
65f0: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 63  eRouting()</b> c
6600: 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c 6c 79  ould be usefully
6610: 20 63 61 6c 6c 65 64 20 62 79 20 65 6e 61 62 6c   called by enabl
6620: 69 6e 67 20 74 68 65 20 3c 62 3e 6f 76 65 72 77  ing the <b>overw
6630: 72 69 74 65 3c 2f 62 3e 20 6f 70 74 69 6f 6e 2e  rite</b> option.
6640: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65  </li>..<li><b>me
6650: 64 69 75 6d 2d 68 69 67 68 20 66 72 65 71 75 65  dium-high freque
6660: 6e 63 79 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a  ncy refresh</b>:
6670: 20 62 65 73 74 20 66 69 74 20 66 6f 72 20 71 75   best fit for qu
6680: 69 63 6b 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e  ickly evolving N
6690: 65 74 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 52 65  etworks.<br>..Re
66a0: 2d 63 72 65 61 74 69 6e 67 20 74 68 65 20 4e 65  -creating the Ne
66b0: 74 77 6f 72 6b 20 54 61 62 6c 65 73 20 6f 6e 63  twork Tables onc
66c0: 65 20 70 65 72 20 68 6f 75 72 20 28 6f 72 20 65  e per hour (or e
66d0: 76 65 6e 20 6d 6f 72 65 20 66 72 65 71 75 65 6e  ven more frequen
66e0: 74 6c 79 29 20 63 6f 75 6c 64 20 62 65 20 73 74  tly) could be st
66f0: 72 69 63 74 6c 79 20 72 65 71 75 69 72 65 64 2c  rictly required,
6700: 20 61 6e 64 20 66 72 65 71 75 65 6e 74 20 3c 62   and frequent <b
6710: 3e 6f 75 74 20 6f 66 20 73 65 72 76 69 63 65 3c  >out of service<
6720: 2f 62 3e 20 70 65 72 69 6f 64 73 20 77 68 69 6c  /b> periods whil
6730: 65 20 77 61 69 74 69 6e 67 20 66 6f 72 20 74 68  e waiting for th
6740: 65 20 72 65 66 72 65 73 68 20 70 72 6f 63 65 73  e refresh proces
6750: 73 20 74 6f 20 63 6f 6d 70 6c 65 74 65 20 63 6f  s to complete co
6760: 75 6c 64 20 65 61 73 69 6c 79 20 62 65 20 75 6e  uld easily be un
6770: 61 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 3e 0d  acceptable.<br>.
6780: 0a 49 6e 20 74 68 69 73 20 63 61 73 65 20 79 6f  .In this case yo
6790: 75 20 63 6f 75 6c 64 20 75 73 65 66 75 6c 6c 79  u could usefully
67a0: 20 61 64 6f 70 74 20 61 20 3c 62 3e 6d 75 6c 74   adopt a <b>mult
67b0: 69 2d 74 68 72 65 61 64 65 64 20 73 74 72 61 74  i-threaded strat
67c0: 65 67 79 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a  egy</b>:..<ul>..
67d0: 3c 6c 69 3e 3c 62 3e 74 68 72 65 61 64 20 23 31  <li><b>thread #1
67e0: 3c 2f 62 3e 20 28 3c 69 3e 74 68 65 20 72 65 61  </b> (<i>the rea
67f0: 64 65 72 3c 2f 69 3e 29 3a 20 74 68 69 73 20 66  der</i>): this f
6800: 69 72 73 74 20 74 68 72 65 61 64 20 69 73 20 69  irst thread is i
6810: 6e 74 65 6e 64 65 64 20 74 6f 20 73 65 72 76 69  ntended to servi
6820: 63 65 20 61 6e 79 20 69 6e 63 6f 6d 69 6e 67 20  ce any incoming 
6830: 52 6f 75 74 69 6e 67 20 72 65 71 75 65 73 74 2e  Routing request.
6840: 20 49 74 20 77 69 6c 6c 20 62 65 20 61 6c 77 61   It will be alwa
6850: 79 73 20 61 63 74 69 76 65 2c 20 61 6e 64 20 77  ys active, and w
6860: 69 6c 6c 20 74 61 72 67 65 74 20 61 20 77 65 6c  ill target a wel
6870: 6c 20 6b 6e 6f 77 6e 20 56 69 72 74 75 61 6c 52  l known VirtualR
6880: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 28 65 2e  outing Table (e.
6890: 67 2e 20 3c 62 3e 6d 79 5f 72 6f 75 74 69 6e 67  g. <b>my_routing
68a0: 3c 2f 62 3e 20 62 61 73 65 64 20 6f 6e 20 3c 62  </b> based on <b
68b0: 3e 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61  >my_routing_data
68c0: 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  </b>).</li>..<li
68d0: 3e 3c 62 3e 74 68 72 65 61 64 20 23 32 3c 2f 62  ><b>thread #2</b
68e0: 3e 20 28 3c 69 3e 74 68 65 20 77 72 69 74 65 72  > (<i>the writer
68f0: 3c 2f 69 3e 29 3a 20 74 68 69 73 20 73 65 63 6f  </i>): this seco
6900: 6e 64 20 74 68 72 65 61 64 20 69 73 20 6a 75 73  nd thread is jus
6910: 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 72 65  t intended to re
6920: 2d 63 72 65 61 74 65 20 62 6f 74 68 20 4e 65 74  -create both Net
6930: 77 6f 72 6b 20 54 61 62 6c 65 73 20 61 74 20 70  work Tables at p
6940: 72 65 64 65 66 69 6e 65 64 20 69 6e 74 65 72 76  redefined interv
6950: 61 6c 73 2c 20 61 6e 64 20 69 74 20 77 69 6c 6c  als, and it will
6960: 20 73 6c 65 65 70 20 62 65 74 77 65 65 6e 20 61   sleep between a
6970: 6e 20 69 6e 74 65 72 76 61 6c 20 61 6e 64 20 74  n interval and t
6980: 68 65 20 6f 74 68 65 72 2e 3c 62 72 3e 0d 0a 57  he other.<br>..W
6990: 68 65 6e 20 74 68 69 73 20 74 68 72 65 61 64 20  hen this thread 
69a0: 61 77 61 6b 65 6e 73 20 77 69 6c 6c 20 72 65 2d  awakens will re-
69b0: 63 72 65 61 74 65 20 62 6f 74 68 20 4e 65 74 77  create both Netw
69c0: 6f 72 6b 20 54 61 62 6c 65 73 20 62 79 20 75 73  ork Tables by us
69d0: 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 6e 61  ing different na
69e0: 6d 65 73 2c 20 61 6e 64 20 77 69 6c 6c 20 6f 76  mes, and will ov
69f0: 65 72 77 72 69 74 65 20 74 68 65 20 73 74 61 6e  erwrite the stan
6a00: 64 61 72 64 20 6f 6e 65 73 20 6a 75 73 74 20 61  dard ones just a
6a10: 74 20 74 68 65 20 76 65 72 79 20 65 6e 64 20 6f  t the very end o
6a20: 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 28 61  f the process (a
6a30: 63 74 69 76 61 74 69 6e 67 20 61 20 73 65 6d 61  ctivating a sema
6a40: 70 68 6f 72 65 20 64 75 72 69 6e 67 20 74 68 69  phore during thi
6a50: 73 20 73 68 6f 72 74 2d 74 69 6d 65 64 20 6c 61  s short-timed la
6a60: 73 74 20 73 74 65 70 20 69 73 20 68 69 67 68 6c  st step is highl
6a70: 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 29 2e 3c  y recommended).<
6a80: 62 72 3e 0d 0a 53 6f 6d 65 74 68 69 6e 67 20 6c  br>..Something l
6a90: 69 6b 65 20 74 68 69 73 20 70 73 65 75 64 6f 2d  ike this pseudo-
6aa0: 63 6f 64 65 20 65 78 65 6d 70 6c 69 66 69 65 73  code exemplifies
6ab0: 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  :..<verbatim>..S
6ac0: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74  ELECT CreateRout
6ad0: 69 6e 67 28 27 6e 65 77 5f 6d 79 5f 72 6f 75 74  ing('new_my_rout
6ae0: 69 6e 67 5f 64 61 74 61 27 2c 20 27 6e 65 77 5f  ing_data', 'new_
6af0: 6d 79 5f 72 6f 75 74 69 6e 67 27 2c 20 2e 2e 2e  my_routing', ...
6b00: 29 3b 0d 0a 0d 0a 2d 2d 3e 20 73 74 61 72 74 20  );....--> start 
6b10: 74 68 65 20 73 65 6d 61 70 68 6f 72 65 20 73 6f  the semaphore so
6b20: 20 74 6f 20 6c 6f 63 6b 20 74 68 65 20 6f 74 68   to lock the oth
6b30: 65 72 20 74 68 72 65 61 64 0d 0a 0d 0a 42 45 47  er thread....BEG
6b40: 49 4e 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20  IN;..DROP TABLE 
6b50: 6d 79 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f  my_routing;..DRO
6b60: 50 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69  P TABLE my_routi
6b70: 6e 67 5f 64 61 74 61 3b 0d 0a 53 45 4c 45 43 54  ng_data;..SELECT
6b80: 20 43 6c 6f 6e 65 54 61 62 6c 65 28 27 4d 41 49   CloneTable('MAI
6b90: 4e 27 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74  N', 'new_my_rout
6ba0: 69 6e 67 5f 64 61 74 61 27 2c 20 27 6d 79 5f 72  ing_data', 'my_r
6bb0: 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c 20 30 29  outing_data', 0)
6bc0: 3b 0d 0a 43 52 45 41 54 45 20 56 49 52 54 55 41  ;..CREATE VIRTUA
6bd0: 4c 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69  L TABLE my_routi
6be0: 6e 67 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c  ng USING Virtual
6bf0: 52 6f 75 74 69 6e 67 28 27 6d 79 5f 72 6f 75 74  Routing('my_rout
6c00: 69 6e 67 5f 64 61 74 61 27 29 3b 0d 0a 44 52 4f  ing_data');..DRO
6c10: 50 20 54 41 42 4c 45 20 6e 65 77 5f 6d 79 5f 72  P TABLE new_my_r
6c20: 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41  outing;..DROP TA
6c30: 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69  BLE new_my_routi
6c40: 6e 67 5f 64 61 74 61 3b 0d 0a 43 4f 4d 4d 49 54  ng_data;..COMMIT
6c50: 3b 0d 0a 0d 0a 2d 2d 3e 20 72 65 6d 6f 76 65 20  ;....--> remove 
6c60: 74 68 65 20 73 65 6d 61 70 68 6f 72 65 0d 0a 3c  the semaphore..<
6c70: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e  /verbatim>..<u>N
6c80: 6f 74 65 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c  ote</u>: strictl
6c90: 79 20 72 65 73 70 65 63 74 69 6e 67 20 74 68 65  y respecting the
6ca0: 20 61 62 6f 76 65 20 73 65 71 75 65 6e 63 65 20   above sequence 
6cb0: 6f 66 20 53 51 4c 20 6f 70 65 72 61 74 69 6f 6e  of SQL operation
6cc0: 73 20 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20  s is absolutely 
6cd0: 72 65 71 75 69 72 65 64 2e 3c 2f 6c 69 3e 20 0d  required.</li> .
6ce0: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f  .</ul></li>..</o
6cf0: 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  l>..</td></tr>..
6d00: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a  </table>..<br>..
6d10: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
6d20: 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61  #ffb060" cellspa
6d30: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
6d40: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
6d50: 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a  d>..<h3>Warning:
6d60: 20 68 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c   how to correctl
6d70: 79 20 64 72 6f 70 20 4e 65 74 77 6f 72 6b 20 54  y drop Network T
6d80: 61 62 6c 65 73 3c 2f 68 33 3e 0d 0a 57 68 65 6e  ables</h3>..When
6d90: 20 64 72 6f 70 70 69 6e 67 20 61 20 56 69 72 74   dropping a Virt
6da0: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
6db0: 20 61 6e 64 20 69 74 73 20 63 6f 6d 70 61 6e 69   and its compani
6dc0: 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54  on Binary Data T
6dd0: 61 62 6c 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  able following t
6de0: 68 65 20 63 6f 72 72 65 63 74 20 73 65 71 75 65  he correct seque
6df0: 6e 63 65 20 6f 66 20 53 51 4c 20 63 6f 6d 6d 61  nce of SQL comma
6e00: 6e 64 73 20 69 73 20 70 61 72 61 6d 6f 75 6e 74  nds is paramount
6e10: 2e 3c 62 72 3e 0d 0a 46 61 69 6c 69 6e 67 20 74  .<br>..Failing t
6e20: 6f 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 65  o strictly respe
6e30: 63 74 20 74 68 65 20 65 78 70 65 63 74 65 64 20  ct the expected 
6e40: 73 65 71 75 65 6e 63 65 20 77 69 6c 6c 20 73 75  sequence will su
6e50: 72 65 6c 79 20 63 61 75 73 65 20 79 6f 75 20 73  rely cause you s
6e60: 65 76 65 72 61 6c 20 74 72 6f 75 62 6c 65 73 20  everal troubles 
6e70: 61 6e 64 20 73 65 76 65 72 65 20 68 65 61 64 61  and severe heada
6e80: 63 68 65 73 2c 20 61 6e 64 20 77 69 6c 6c 20 70  ches, and will p
6e90: 6f 73 73 69 62 6c 79 20 6c 65 61 64 20 74 6f 20  ossibly lead to 
6ea0: 61 6e 20 69 72 72 65 6d 65 64 69 61 62 6c 79 20  an irremediably 
6eb0: 63 6f 72 72 75 70 74 65 64 20 64 61 74 61 62 61  corrupted databa
6ec0: 73 65 2e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 79  se...<ol>..<li>y
6ed0: 6f 75 20 61 72 65 20 61 6c 77 61 79 73 20 65 78  ou are always ex
6ee0: 70 65 63 74 65 64 20 74 6f 20 44 52 4f 50 20 66  pected to DROP f
6ef0: 69 72 73 74 20 74 68 65 20 56 69 72 74 75 61 6c  irst the Virtual
6f00: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 2e 3c 2f  Routing Table.</
6f10: 6c 69 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 63 61 6e  li>..<li>you can
6f20: 20 73 61 66 65 6c 79 20 44 52 4f 50 20 74 68 65   safely DROP the
6f30: 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72   companion Binar
6f40: 79 20 44 61 74 61 20 54 61 62 6c 65 20 6f 6e 6c  y Data Table onl
6f50: 79 20 6f 6e 63 65 20 69 74 27 73 20 6e 6f 20 6c  y once it's no l
6f60: 6f 6e 67 65 72 20 72 65 66 65 72 65 6e 63 65 64  onger referenced
6f70: 20 62 79 20 74 68 65 20 56 69 72 74 75 61 6c 52   by the VirtualR
6f80: 6f 75 74 69 6e 67 20 54 61 62 6c 65 2e 3c 2f 6c  outing Table.</l
6f90: 69 3e 0d 0a 3c 6c 69 3e 62 79 20 66 6f 6c 6c 6f  i>..<li>by follo
6fa0: 77 69 6e 67 20 74 68 65 20 72 65 76 65 72 73 65  wing the reverse
6fb0: 20 73 65 71 75 65 6e 63 65 20 79 6f 75 27 6c 6c   sequence you'll
6fc0: 20 64 69 72 65 63 74 6c 79 20 63 72 65 61 74 65   directly create
6fd0: 20 61 6e 20 3c 62 3e 6f 72 70 68 61 6e 3c 2f 62   an <b>orphan</b
6fe0: 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  > VirtualRouting
6ff0: 20 54 61 62 6c 65 20 74 68 61 74 20 63 61 6e 6e   Table that cann
7000: 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 20 61  ot be accessed a
7010: 6e 79 20 6c 6f 6e 67 65 72 2c 20 61 6e 64 20 74  ny longer, and t
7020: 68 61 74 20 77 69 6c 6c 20 63 6f 6e 73 65 71 75  hat will consequ
7030: 65 6e 74 6c 79 20 72 65 66 75 73 65 20 74 6f 20  ently refuse to 
7040: 62 65 20 64 72 6f 70 70 65 64 2e 3c 62 72 3e 0d  be dropped.<br>.
7050: 0a 42 65 20 77 61 72 6e 65 64 20 21 21 3c 2f 6c  .Be warned !!</l
7060: 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e  i>..</ol>..</td>
7070: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
7080: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c  .<br><br>..<hr><
7090: 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65  br>..<h1><a name
70a0: 3d 22 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53  ="from_to">4 - S
70b0: 6f 6c 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53  olving classic S
70c0: 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f  hortest Path pro
70d0: 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a  blems</a></h1>..
70e0: 54 68 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63  The most classic
70f0: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 70   Shortest Path p
7100: 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20  roblem requires 
7110: 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20  to identify the 
7120: 6f 70 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69  optimal connecti
7130: 6f 6e 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62  on between an <b
7140: 3e 4f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e  >Origin Node</b>
7150: 20 61 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e   and a <b>Destin
7160: 61 74 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c  ation Node</b>.<
7170: 62 72 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69  br>..We can easi
7180: 6c 79 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63  ly translate suc
7190: 68 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f  h a problem into
71a0: 20 61 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75   a simple SQL qu
71b0: 65 72 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f  ery targeting so
71c0: 6d 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  me VirtualRoutin
71d0: 67 20 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61  g Table...<verba
71e0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d  tim>..SELECT * .
71f0: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
7200: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
7210: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
7220: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
7230: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20  rbatim>..<table 
7240: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
7250: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
7260: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
7270: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
7280: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
7290: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
72a0: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
72b0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
72c0: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
72d0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
72e0: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
72f0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
7300: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c  >Delimiter</th><
7310: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
7320: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68  0a0">RouteId</th
7330: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
7340: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
7350: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7360: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
7370: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7380: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
7390: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
73a0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
73b0: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
73c0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
73d0: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
73e0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
73f0: 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c  >PointFrom</th><
7400: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
7410: 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68  0a0">PointTo</th
7420: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
7430: 30 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65  0d0a0">Tolerance
7440: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
7450: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
7460: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7470: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
7480: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
7490: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
74a0: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
74b0: 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c  >..<td>Dijkstra<
74c0: 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74  /td><td>Shortest
74d0: 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75   Path</td><td>Fu
74e0: 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39  ll</td><td>, &#9
74f0: 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63  1;dec=44, hex=2c
7500: 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c  &#93;</td><td al
7510: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
7520: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7530: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
7540: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
7550: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7560: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
7570: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7580: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
7590: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
75a0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
75b0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
75c0: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32  "right">300.9122
75d0: 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  08</td><td>BLOB 
75e0: 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c  sz=272 GEOMETRY<
75f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7600: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
7610: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7620: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
7630: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
7640: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7650: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
7660: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
7670: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
7680: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7690: 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74  t">224014</td><t
76a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
76b0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
76c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
76d0: 38 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  885</td><td>NULL
76e0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
76f0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
7700: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
7710: 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c  >94.812424</td><
7720: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7730: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
7740: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
7750: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
7760: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7770: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7780: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
7790: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
77a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
77b0: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
77c0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
77d0: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c  ="right">224446<
77e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
77f0: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
7800: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7810: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
7820: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7830: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
7840: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7850: 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36  right">69.727726
7860: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7870: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52  d><td>VIA MARGAR
7880: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ITONE</td>..</tr
7890: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
78a0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
78b0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
78c0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
78d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
78e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
78f0: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
7900: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
7910: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
7920: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
7930: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
7940: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7950: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
7960: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7970: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7980: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
7990: 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37  n="right">136.37
79a0: 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2057</td><td>NUL
79b0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
79c0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
79d0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
79e0: 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69  .<br>..Let's qui
79f0: 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65  ckly examine the
7a00: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
7a10: 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65  ned by the above
7a20: 20 52 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d   Routing query:.
7a30: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  .<ul>..<li>the <
7a40: 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20  b>first row</b> 
7a50: 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64  (<i>aka</i> head
7a60: 65 72 20 72 6f 77 29 20 68 61 73 20 61 20 73 70  er row) has a sp
7a70: 65 63 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61  ecial interpreta
7a80: 74 69 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74  tion, and is int
7a90: 65 6e 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69  ended to summari
7aa0: 7a 65 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f  ze the travel so
7ab0: 6c 75 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c  lution as a whol
7ac0: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c  e.</li>..<li>all
7ad0: 20 74 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e   the <b>followin
7ae0: 67 20 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65  g rows</b> repre
7af0: 73 65 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69  sent a single Li
7b00: 6e 6b 20 72 65 71 75 69 72 65 64 20 74 6f 20 62  nk required to b
7b10: 75 69 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f  uild the solutio
7b20: 6e 20 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b  n (optima path);
7b30: 20 4c 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72   Links are order
7b40: 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74  ed accordingly t
7b50: 6f 20 74 68 65 20 74 72 61 76 65 6c 20 64 69 72  o the travel dir
7b60: 65 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e  ection connectin
7b70: 67 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64  g the Origin and
7b80: 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e   the Destination
7b90: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75  .</li>..<li>colu
7ba0: 6d 6e 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d  mns <b>Algorithm
7bb0: 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74  </b>, <b>Request
7bc0: 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73  </b>, <b>Options
7bd0: 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74  </b>, <b>Delimit
7be0: 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74  er</b>, <b>Point
7bf0: 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69  From</b>, <b>Poi
7c00: 6e 74 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c  ntTo</b>, <b>Tol
7c10: 65 72 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c  erance</b> and <
7c20: 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61  b>Geometry</b> a
7c30: 72 65 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f  re always set to
7c40: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 65 78 63   <b>NULL</b> exc
7c50: 65 70 74 20 74 68 61 74 20 69 6e 20 74 68 65 20  ept that in the 
7c60: 66 69 72 73 74 20 72 6f 77 20 6f 66 20 74 68 65  first row of the
7c70: 20 72 65 73 75 6c 74 73 65 74 3a 0d 0a 3c 75 6c   resultset:..<ul
7c80: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62  >..<li>column <b
7c90: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 61  >Algorithm</b> a
7ca0: 63 63 6f 75 6e 74 73 20 66 6f 72 20 74 68 65 20  ccounts for the 
7cb0: 52 6f 75 74 69 6e 67 20 41 6c 67 6f 72 69 74 68  Routing Algorith
7cc0: 6d 20 75 73 65 64 20 62 79 20 74 68 65 20 63 75  m used by the cu
7cd0: 72 72 65 6e 74 20 71 75 65 72 79 20 28 3c 69 3e  rrent query (<i>
7ce0: 44 69 6a 6b 73 74 72 61 27 73 3c 2f 69 3e 20 6f  Dijkstra's</i> o
7cf0: 72 20 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c 2f 6c  r <i>A*</i>).</l
7d00: 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c  i>..<li>column <
7d10: 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 73 70  b>Request</b> sp
7d20: 65 63 69 66 69 65 73 20 74 68 65 20 65 78 61 63  ecifies the exac
7d30: 74 20 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20  t nature of the 
7d40: 63 75 72 72 65 6e 74 20 71 75 65 72 79 20 28 69  current query (i
7d50: 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20  n this specific 
7d60: 63 61 73 65 20 3c 69 3e 53 68 6f 72 74 65 73 74  case <i>Shortest
7d70: 20 50 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e   Path</i>).</li>
7d80: 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 67 6e 6f  ..<li>we'll igno
7d90: 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f 6c 75 6d  re for now colum
7da0: 6e 73 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62  ns <b>Options</b
7db0: 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c  >, <b>Delimiter<
7dc0: 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 72 6f  /b>, <b>PointFro
7dd0: 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54  m</b>, <b>PointT
7de0: 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c  o</b> and <b>Tol
7df0: 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 65 69  erance</b>: thei
7e00: 72 20 72 65 73 70 65 63 74 69 76 65 20 6d 65 61  r respective mea
7e10: 6e 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 65 78  nings will be ex
7e20: 70 6c 61 69 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f  plained in follo
7e30: 77 69 6e 67 20 70 61 72 61 67 72 61 70 68 73 2e  wing paragraphs.
7e40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d  </li>..<li>colum
7e50: 6e 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62  n <b>Geometry</b
7e60: 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 3c 62 3e  > contains a <b>
7e70: 4c 49 4e 45 53 54 52 49 4e 47 3c 2f 62 3e 20 72  LINESTRING</b> r
7e80: 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66  epresentation of
7e90: 20 74 68 65 20 77 68 6f 6c 65 20 74 72 61 76 65   the whole trave
7ea0: 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 62 72 3e 0d  l solution.<br>.
7eb0: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 6f 6e  .<u>Note</u>: on
7ec0: 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77   <b>Logical Netw
7ed0: 6f 72 6b 73 3c 2f 62 3e 20 28 6e 6f 74 20 73 75  orks</b> (not su
7ee0: 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65 74 72  pporting Geometr
7ef0: 69 65 73 29 20 3c 62 3e 47 65 6f 6d 65 74 72 79  ies) <b>Geometry
7f00: 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73  </b> will always
7f10: 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e   be <b>NULL</b>.
7f20: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  </li>..</ul></li
7f30: 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69 67 6e  >..<li>we'll ign
7f40: 6f 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f 6c 75  ore for now colu
7f50: 6d 6e 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62  mn <b>RouteId</b
7f60: 3e 3b 20 69 74 73 20 6d 65 61 6e 69 6e 67 20 77  >; its meaning w
7f70: 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e 65 64  ill be explained
7f80: 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61   in following pa
7f90: 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a  ragraphs.</li>..
7fa0: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f  <li>column <b>Ro
7fb0: 75 74 65 52 6f 77 3c 2f 62 3e 20 73 69 6d 70 6c  uteRow</b> simpl
7fc0: 79 20 69 73 20 74 68 65 20 70 72 6f 67 72 65 73  y is the progres
7fd0: 73 69 76 65 20 6e 75 6d 62 65 72 20 6f 66 20 74  sive number of t
7fe0: 68 65 20 72 6f 77 20 69 6e 20 74 68 65 20 74 72  he row in the tr
7ff0: 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 28 61  avel solution (a
8000: 6c 77 61 79 73 20 3c 62 3e 30 3c 2f 62 3e 20 69  lways <b>0</b> i
8010: 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77  n the header row
8020: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c  ).</li>..<li>col
8030: 75 6d 6e 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20  umn <b>Role</b> 
8040: 63 61 6e 20 62 65 20 3c 69 3e 52 6f 75 74 65 3c  can be <i>Route<
8050: 2f 69 3e 20 28 68 65 61 64 65 72 20 72 6f 77 29  /i> (header row)
8060: 20 6f 72 20 3c 69 3e 4c 69 6e 6b 3c 2f 69 3e 20   or <i>Link</i> 
8070: 28 61 6c 6c 20 66 6f 6c 6c 6f 77 69 6e 67 20 72  (all following r
8080: 6f 77 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ows).</li>..<li>
8090: 63 6f 6c 75 6d 6e 20 3c 62 3e 4c 69 6e 6b 52 6f  column <b>LinkRo
80a0: 77 69 64 3c 2f 62 3e 20 72 65 66 65 72 65 6e 63  wid</b> referenc
80b0: 65 73 20 74 68 65 20 3c 62 3e 52 4f 57 49 44 3c  es the <b>ROWID<
80c0: 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65  /b> of the corre
80d0: 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 28 61  sponding Link (a
80e0: 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c 62 3e  lways set to <b>
80f0: 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68 65 20  NULL</b> in the 
8100: 68 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f 6c 69  header row).</li
8110: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62  >..<li>column <b
8120: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e  >NodeFrom</b> an
8130: 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20  d <b>NodeTo</b> 
8140: 68 61 76 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69  have the followi
8150: 6e 67 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f  ng interpretatio
8160: 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e  n:..<ul>..<li>in
8170: 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 20   the header row 
8180: 74 68 65 79 20 63 6f 72 72 65 73 70 6f 6e 64 20  they correspond 
8190: 74 6f 20 68 65 20 3c 62 3e 4f 72 69 67 69 6e 3c  to he <b>Origin<
81a0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 73 74 69  /b> and <b>Desti
81b0: 6e 61 74 69 6f 6e 3c 2f 62 3e 20 4e 6f 64 65 73  nation</b> Nodes
81c0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61  .</li>..<li>in a
81d0: 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  ll the following
81e0: 20 72 6f 77 73 20 74 68 65 79 20 61 72 65 20 69   rows they are i
81f0: 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69  ntended to speci
8200: 66 79 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e  fy the direction
8210: 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20   of the current 
8220: 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  Link.</li>..</ul
8230: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75  ></li>..<li>colu
8240: 6d 6e 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 20 68  mn <b>Cost</b> h
8250: 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  as the following
8260: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 3a   interpretation:
8270: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 74  ..<ul>..<li>in t
8280: 68 65 20 68 65 61 64 65 72 20 74 6f 77 20 69 74  he header tow it
8290: 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20   corresponds to 
82a0: 74 68 65 20 3c 62 3e 74 6f 74 61 6c 20 63 6f 73  the <b>total cos
82b0: 74 3c 2f 62 3e 20 6f 66 20 74 68 65 20 74 72 61  t</b> of the tra
82c0: 76 65 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69  vel.</li>..<li>i
82d0: 6e 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77  n all the follow
82e0: 69 6e 67 20 72 6f 77 73 20 69 74 20 72 65 70 72  ing rows it repr
82f0: 65 73 65 6e 74 73 20 74 68 65 20 73 70 65 63 69  esents the speci
8300: 66 69 63 20 63 6f 73 74 20 6f 66 20 74 68 65 20  fic cost of the 
8310: 63 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c  current Link.</l
8320: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
8330: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4e 61  <li>column <b>Na
8340: 6d 65 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20  me</b> contains 
8350: 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20  the description 
8360: 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c  of the current L
8370: 69 6e 6b 20 28 75 73 75 61 6c 6c 79 20 61 20 72  ink (usually a r
8380: 6f 61 64 20 6e 61 6d 65 29 2c 20 61 6e 64 20 69  oad name), and i
8390: 73 20 61 6c 77 61 79 73 20 3c 62 3e 4e 55 4c 4c  s always <b>NULL
83a0: 3c 2f 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64  </b> in the head
83b0: 65 72 20 72 6f 77 2e 3c 62 72 3e 0d 0a 3c 75 3e  er row.<br>..<u>
83c0: 4e 6f 74 65 3c 2f 75 3e 20 69 74 20 63 6f 75 6c  Note</u> it coul
83d0: 64 20 62 65 20 61 6c 77 61 79 73 20 62 65 20 3c  d be always be <
83e0: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 74 68  b>NULL</b> if th
83f0: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  e VirtualRouting
8400: 20 54 61 62 6c 65 20 64 6f 65 73 20 6e 6f 74 20   Table does not 
8410: 73 75 70 70 6f 72 74 73 20 6e 61 6d 65 73 2e 3c  supports names.<
8420: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
8430: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72  ..</ul>..<br><br
8440: 3e 0d 0a 54 65 73 74 69 6e 67 20 74 68 65 20 72  >..Testing the r
8450: 65 74 75 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e  eturn connection
8460: 20 6a 75 73 74 20 72 65 71 75 69 72 65 73 20 73   just requires s
8470: 77 61 70 70 69 6e 67 20 74 68 65 20 4f 72 69 67  wapping the Orig
8480: 69 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69  in and the Desti
8490: 6e 61 74 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20  nation; in this 
84a0: 65 78 61 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a  example you'll j
84b0: 75 73 74 20 72 65 71 75 65 73 74 20 74 68 65 20  ust request the 
84c0: 6d 65 61 6e 69 6e 67 66 75 6c 20 63 6f 6c 75 6d  meaningful colum
84d0: 6e 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  ns:..<verbatim>.
84e0: 0a 53 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77  .SELECT RouteRow
84f0: 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69  , Role, LinkRowi
8500: 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64  d, NodeFrom, Nod
8510: 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65  eTo, Cost, Geome
8520: 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20  try, Name..FROM 
8530: 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f  byfoot..WHERE No
8540: 64 65 54 6f 20 3d 20 31 37 38 37 33 31 20 41 4e  deTo = 178731 AN
8550: 44 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33  D NodeFrom = 183
8560: 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  286;..</verbatim
8570: 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72  >..<table border
8580: 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66  ="1" bgcolor="#f
8590: 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69  fffcf" cellspaci
85a0: 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69  ng="4" cellpaddi
85b0: 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68  ng="6">..<tr><th
85c0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
85d0: 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e  0">RouteRow</th>
85e0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
85f0: 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c  d0a0">Role</th><
8600: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
8610: 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  0a0">LinkRowid</
8620: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
8630: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
8640: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
8650: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
8660: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
8670: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73  or="#d0d0a0">Cos
8680: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
8690: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d  r="#d0d0a0">Geom
86a0: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63  etry</th><th bgc
86b0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
86c0: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c  ame</th></tr>..<
86d0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
86e0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
86f0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
8700: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
8710: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
8720: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8730: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
8740: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8750: 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f  ht">300.912208</
8760: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32  td><td>BLOB sz=2
8770: 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  72 GEOMETRY</td>
8780: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
8790: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
87a0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
87b0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
87c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
87d0: 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74  t">224414</td><t
87e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
87f0: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
8800: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
8810: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  880</td><td alig
8820: 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37  n="right">136.37
8830: 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2057</td><td>NUL
8840: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
8850: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
8860: 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  </tr>..<td align
8870: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
8880: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
8890: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
88a0: 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4446</td><td ali
88b0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
88c0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
88d0: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f  "right">182885</
88e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
88f0: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f  ght">69.727726</
8900: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
8910: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
8920: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
8930: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
8940: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
8950: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
8960: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
8970: 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4014</td><td ali
8980: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
8990: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
89a0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
89b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
89c0: 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f  ght">94.812424</
89d0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
89e0: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41  <td>VIA PIETRO A
89f0: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  RETINO</td>..</t
8a00: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
8a10: 72 3e 0d 0a 49 66 20 79 6f 75 20 72 65 6d 65 6d  r>..If you remem
8a20: 62 65 72 2c 20 74 68 65 20 3c 62 3e 62 79 66 6f  ber, the <b>byfo
8a30: 6f 74 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f  ot</b> VirtualRo
8a40: 75 74 69 6e 67 20 54 61 62 6c 65 20 68 61 73 20  uting Table has 
8a50: 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f  no <b>one-ways</
8a60: 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65  b>, and conseque
8a70: 6e 74 6c 79 20 74 68 65 20 72 65 74 75 72 6e 20  ntly the return 
8a80: 70 61 74 68 20 65 78 61 63 74 6c 79 20 63 6f 72  path exactly cor
8a90: 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20  responds to the 
8aa0: 66 69 72 73 74 20 6f 6e 65 2c 20 65 78 63 65 70  first one, excep
8ab0: 74 20 69 6e 20 74 68 61 74 20 61 6c 6c 20 64 69  t in that all di
8ac0: 72 65 63 74 69 6f 6e 73 20 61 72 65 20 6e 6f 77  rections are now
8ad0: 20 72 65 76 65 72 73 65 64 2e 0d 0a 3c 62 72 3e   reversed...<br>
8ae0: 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f 77 20 79 6f  <br><br>..Now yo
8af0: 75 27 6c 6c 20 67 6f 20 74 6f 20 74 65 73 74 20  u'll go to test 
8b00: 74 68 65 20 73 61 6d 65 20 63 6f 6e 6e 65 63 74  the same connect
8b10: 69 6f 6e 73 2c 20 62 75 74 20 74 68 69 73 20 74  ions, but this t
8b20: 69 6d 65 20 79 6f 75 27 6c 6c 20 74 61 72 67 65  ime you'll targe
8b30: 74 20 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f  t the <b>bycar</
8b40: 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  b> VirtualRoutin
8b50: 67 20 54 61 62 6c 65 20 74 68 61 74 20 66 75 6c  g Table that ful
8b60: 6c 79 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 6f  ly supports <b>o
8b70: 6e 65 2d 77 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76  ne-ways</b>:..<v
8b80: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
8b90: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
8ba0: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
8bb0: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
8bc0: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
8bd0: 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a  me..FROM bycar..
8be0: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
8bf0: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
8c00: 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f  To = 183286;..</
8c10: 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c  verbatim>..<tabl
8c20: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63  e border="1" bgc
8c30: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63  olor="#ffffcf" c
8c40: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63  ellspacing="4" c
8c50: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d  ellpadding="6">.
8c60: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
8c70: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65  ="#d0d0a0">Route
8c80: 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  Row</th><th bgco
8c90: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
8ca0: 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  le</th><th bgcol
8cb0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e  or="#d0d0a0">Lin
8cc0: 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62  kRowid</th><th b
8cd0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
8ce0: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74  >NodeFrom</th><t
8cf0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
8d00: 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c  a0">NodeTo</th><
8d10: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
8d20: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74  0a0">Cost</th><t
8d30: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
8d40: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68  a0">Geometry</th
8d50: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
8d60: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e  0d0a0">Name</th>
8d70: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
8d80: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
8d90: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
8da0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
8db0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8dc0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
8dd0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
8de0: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
8df0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e  ign="right">101.
8e00: 38 31 35 35 35 32 3c 2f 74 64 3e 3c 74 64 3e 42  815552</td><td>B
8e10: 4c 4f 42 20 73 7a 3d 32 30 33 32 20 47 45 4f 4d  LOB sz=2032 GEOM
8e20: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
8e30: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
8e40: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
8e50: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
8e60: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
8e70: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30  ign="right">2240
8e80: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
8e90: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
8ea0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
8eb0: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
8ec0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8ed0: 74 22 3e 31 33 2e 31 32 37 38 37 34 3c 2f 74 64  t">13.127874</td
8ee0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
8ef0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45  d>VIA PIETRO ARE
8f00: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TINO</td>..</tr>
8f10: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
8f20: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
8f30: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
8f40: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
8f50: 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  24446</td><td al
8f60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
8f70: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  85</td><td align
8f80: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
8f90: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
8fa0: 69 67 68 74 22 3e 39 2e 36 35 34 36 30 38 3c 2f  ight">9.654608</
8fb0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
8fc0: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
8fd0: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
8fe0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
8ff0: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
9000: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
9010: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
9020: 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9171</td><td ali
9030: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
9040: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
9050: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f  "right">178732</
9060: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9070: 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74  ght">7.809952</t
9080: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
9090: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
90a0: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
90b0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
90c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f  lign="right">4</
90d0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
90e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
90f0: 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64  ">219058</td><td
9100: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9110: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  78732</td><td al
9120: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
9130: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
9140: 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36  ="right">12.4456
9150: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  26</td><td>NULL<
9160: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e  /td><td>VIA FRAN
9170: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64  CESCO CRISPI</td
9180: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
9190: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
91a0: 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">5</td><td>Link
91b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
91c0: 72 69 67 68 74 22 3e 32 32 35 38 38 38 3c 2f 74  right">225888</t
91d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
91e0: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
91f0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9200: 3e 31 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20  >183461</td><td 
9210: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e  align="right">1.
9220: 35 39 39 38 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e  599865</td><td>N
9230: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
9240: 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49  FRANCESCO CRISPI
9250: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9260: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
9270: 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e  ight">6</td><td>
9280: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9290: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38  gn="right">22588
92a0: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
92b0: 22 72 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f  "right">183461</
92c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
92d0: 67 68 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e  ght">182800</td>
92e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
92f0: 22 3e 33 2e 33 30 30 35 39 30 3c 2f 74 64 3e 3c  ">3.300590</td><
9300: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9310: 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52  VIA FRANCESCO CR
9320: 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ISPI</td>..</tr>
9330: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
9340: 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e  n="right">7</td>
9350: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9360: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
9370: 32 33 39 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  23935</td><td al
9380: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
9390: 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
93a0: 3d 22 72 69 67 68 74 22 3e 31 38 32 37 39 39 3c  ="right">182799<
93b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
93c0: 69 67 68 74 22 3e 36 2e 36 38 38 37 38 36 3c 2f  ight">6.688786</
93d0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
93e0: 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53  <td>VIALE LUCA S
93f0: 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a  IGNORELLI</td>..
9400: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
9410: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38   align="right">8
9420: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
9430: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9440: 68 74 22 3e 32 32 36 30 33 38 3c 2f 74 64 3e 3c  ht">226038</td><
9450: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9460: 3e 31 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20  >182799</td><td 
9470: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9480: 33 34 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3456</td><td ali
9490: 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 32 39 34  gn="right">1.294
94a0: 30 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  017</td><td>NULL
94b0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c  </td><td>VIALE L
94c0: 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f  UCA SIGNORELLI</
94d0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
94e0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
94f0: 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">9</td><td>Li
9500: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
9510: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 33 32 3c  ="right">225832<
9520: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9530: 69 67 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 64  ight">183456</td
9540: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9550: 74 22 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74  t">183444</td><t
9560: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9570: 32 2e 33 38 35 34 38 36 3c 2f 74 64 3e 3c 74 64  2.385486</td><td
9580: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9590: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45  ALE LUCA SIGNORE
95a0: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LLI</td>..</tr>.
95b0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
95c0: 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e  ="right">10</td>
95d0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
95e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
95f0: 32 35 38 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  25831</td><td al
9600: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34  ign="right">1834
9610: 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  44</td><td align
9620: 3d 22 72 69 67 68 74 22 3e 31 38 33 35 35 34 3c  ="right">183554<
9630: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9640: 69 67 68 74 22 3e 33 2e 31 36 30 36 36 32 3c 2f  ight">3.160662</
9650: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
9660: 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53  <td>VIALE LUCA S
9670: 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a  IGNORELLI</td>..
9680: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
9690: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
96a0: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
96b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
96c0: 67 68 74 22 3e 32 32 35 37 36 35 3c 2f 74 64 3e  ght">225765</td>
96d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
96e0: 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64  ">183554</td><td
96f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9700: 38 33 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  83954</td><td al
9710: 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 34 36  ign="right">7.46
9720: 39 39 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  9917</td><td>NUL
9730: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20  L</td><td>VIALE 
9740: 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c  LUCA SIGNORELLI<
9750: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9760: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
9770: 67 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e  ght">12</td><td>
9780: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9790: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36  gn="right">22576
97a0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
97b0: 22 72 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f  "right">183954</
97c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
97d0: 67 68 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e  ght">183905</td>
97e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
97f0: 22 3e 33 2e 32 33 36 33 38 39 3c 2f 74 64 3e 3c  ">3.236389</td><
9800: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9810: 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f  VIALE LUCA SIGNO
9820: 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RELLI</td>..</tr
9830: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9840: 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 3c 2f 74  gn="right">13</t
9850: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
9860: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9870: 3e 32 32 35 39 37 39 3c 2f 74 64 3e 3c 74 64 20  >225979</td><td 
9880: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9890: 33 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3905</td><td ali
98a0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32  gn="right">18362
98b0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
98c0: 22 72 69 67 68 74 22 3e 31 33 2e 39 38 33 36 32  "right">13.98362
98d0: 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
98e0: 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45  td><td>STRADA SE
98f0: 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c  NZA NOME</td>..<
9900: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
9910: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34  align="right">14
9920: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
9930: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9940: 68 74 22 3e 32 32 34 39 30 35 3c 2f 74 64 3e 3c  ht">224905</td><
9950: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9960: 3e 31 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20  >183626</td><td 
9970: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9980: 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3128</td><td ali
9990: 67 6e 3d 22 72 69 67 68 74 22 3e 35 2e 36 32 37  gn="right">5.627
99a0: 33 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  358</td><td>NULL
99b0: 3c 2f 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20  </td><td>STRADA 
99c0: 53 45 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d  SENZA NOME</td>.
99d0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
99e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
99f0: 31 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  15</td><td>Link<
9a00: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9a10: 69 67 68 74 22 3e 32 32 34 38 39 37 3c 2f 74 64  ight">224897</td
9a20: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9a30: 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74  t">183128</td><t
9a40: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9a50: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
9a60: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 2e  lign="right">10.
9a70: 30 33 30 37 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e  030792</td><td>N
9a80: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
9a90: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
9aa0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  ..</tr>..</table
9ab0: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  >..<verbatim>..S
9ac0: 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20  ELECT RouteRow, 
9ad0: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
9ae0: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
9af0: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
9b00: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
9b10: 63 61 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54  car..WHERE NodeT
9b20: 6f 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e  o = 178731 AND N
9b30: 6f 64 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 36  odeFrom = 183286
9b40: 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  ;..</verbatim>..
9b50: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
9b60: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
9b70: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
9b80: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
9b90: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
9ba0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
9bb0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
9bc0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
9bd0: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
9be0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
9bf0: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
9c00: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
9c10: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
9c20: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
9c30: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
9c40: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
9c50: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
9c60: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
9c70: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
9c80: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
9c90: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
9ca0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
9cb0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
9cc0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
9cd0: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
9ce0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9cf0: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
9d00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9d10: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
9d20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9d30: 3e 31 30 33 2e 33 30 35 32 35 39 3c 2f 74 64 3e  >103.305259</td>
9d40: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 39 34 34 20  <td>BLOB sz=944 
9d50: 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
9d60: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
9d70: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9d80: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
9d90: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9da0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9db0: 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224414</td><td a
9dc0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9dd0: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
9de0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
9df0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9e00: 72 69 67 68 74 22 3e 31 38 2e 38 38 32 32 38 35  right">18.882285
9e10: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
9e20: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52  d><td>VIA MARGAR
9e30: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ITONE</td>..</tr
9e40: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9e50: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
9e60: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9e70: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9e80: 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61  219171</td><td a
9e90: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
9ea0: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  880</td><td alig
9eb0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32  n="right">178732
9ec0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9ed0: 72 69 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c  right">7.809952<
9ee0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9ef0: 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53  ><td>VIA FRANCES
9f00: 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a  CO CRISPI</td>..
9f10: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
9f20: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
9f30: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
9f40: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9f50: 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c  ht">219058</td><
9f60: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9f70: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
9f80: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
9f90: 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
9fa0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34  gn="right">12.44
9fb0: 35 36 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5626</td><td>NUL
9fc0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
9fd0: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
9fe0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
9ff0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
a000: 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">4</td><td>Li
a010: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
a020: 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c  ="right">224538<
a030: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a040: 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64  ight">178754</td
a050: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a060: 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74  t">181972</td><t
a070: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a080: 37 2e 30 34 37 37 38 34 3c 2f 74 64 3e 3c 74 64  7.047784</td><td
a090: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
a0a0: 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47  A ANTONIO GUADAG
a0b0: 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NOLI</td>..</tr>
a0c0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
a0d0: 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e  n="right">5</td>
a0e0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
a0f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
a100: 32 32 35 37 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  22575</td><td al
a110: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
a120: 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  72</td><td align
a130: 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c  ="right">181971<
a140: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a150: 69 67 68 74 22 3e 31 2e 38 35 32 32 38 33 3c 2f  ight">1.852283</
a160: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a170: 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20  <td>VIA ANTONIO 
a180: 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d  GUADAGNOLI</td>.
a190: 0a 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  .</tr>..<td alig
a1a0: 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e  n="right">6</td>
a1b0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
a1c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
a1d0: 32 34 39 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  24967</td><td al
a1e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
a1f0: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  71</td><td align
a200: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c  ="right">182891<
a210: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a220: 69 67 68 74 22 3e 31 34 2e 32 37 33 31 38 35 3c  ight">14.273185<
a230: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a240: 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f  ><td>VIA ANTONIO
a250: 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e   GUADAGNOLI</td>
a260: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
a270: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a280: 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >7</td><td>Link<
a290: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a2a0: 69 67 68 74 22 3e 32 32 34 31 36 38 3c 2f 74 64  ight">224168</td
a2b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a2c0: 74 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74  t">182891</td><t
a2d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a2e0: 31 38 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61  183057</td><td a
a2f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36  lign="right">6.6
a300: 34 33 33 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  43309</td><td>NU
a310: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
a320: 41 43 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f  ACALLE'</td>..</
a330: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a340: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f  lign="right">8</
a350: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
a360: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a370: 22 3e 32 32 34 31 36 37 3c 2f 74 64 3e 3c 74 64  ">224167</td><td
a380: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a390: 38 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  83057</td><td al
a3a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30  ign="right">1830
a3b0: 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  56</td><td align
a3c0: 3d 22 72 69 67 68 74 22 3e 33 2e 31 35 31 32 37  ="right">3.15127
a3d0: 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  2</td><td>NULL</
a3e0: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c  td><td>VIA MACAL
a3f0: 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LE'</td>..</tr>.
a400: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a410: 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c  ="right">9</td><
a420: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a430: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a440: 34 31 37 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4174</td><td ali
a450: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35  gn="right">18305
a460: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
a470: 22 72 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f  "right">182941</
a480: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a490: 67 68 74 22 3e 37 2e 39 36 36 38 37 30 3c 2f 74  ght">7.966870</t
a4a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a4b0: 74 64 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e  td>VIA RODI</td>
a4c0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
a4d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a4e0: 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  >10</td><td>Link
a4f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a500: 72 69 67 68 74 22 3e 32 32 34 30 35 39 3c 2f 74  right">224059</t
a510: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a520: 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c  ht">182941</td><
a530: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a540: 3e 31 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20  >182001</td><td 
a550: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e  align="right">6.
a560: 33 39 33 37 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e  393747</td><td>N
a570: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
a580: 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  RODI</td>..</tr>
a590: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
a5a0: 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64  n="right">11</td
a5b0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
a5c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a5d0: 32 32 32 36 33 37 3c 2f 74 64 3e 3c 74 64 20 61  222637</td><td a
a5e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
a5f0: 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  001</td><td alig
a600: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30  n="right">182000
a610: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a620: 72 69 67 68 74 22 3e 32 2e 34 37 35 35 33 38 3c  right">2.475538<
a630: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a640: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20  ><td>VIA PIETRO 
a650: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ARETINO</td>..</
a660: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a670: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c  lign="right">12<
a680: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
a690: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a6a0: 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74  t">222636</td><t
a6b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a6c0: 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61  182000</td><td a
a6d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
a6e0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
a6f0: 6e 3d 22 72 69 67 68 74 22 3e 31 34 2e 33 36 33  n="right">14.363
a700: 34 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  408</td><td>NULL
a710: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45  </td><td>VIA PIE
a720: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e  TRO ARETINO</td>
a730: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  ..</tr>..</table
a740: 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20  >..<br>..As you 
a750: 63 61 6e 20 65 61 73 69 6c 79 20 6e 6f 74 69 63  can easily notic
a760: 65 2c 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 70  e, the optimal p
a770: 61 74 68 73 20 72 65 74 75 72 6e 65 64 20 62 79  aths returned by
a780: 20 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62   the <b>bycar</b
a790: 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  > VirtualRouting
a7a0: 20 54 61 62 6c 65 20 74 68 65 20 70 61 74 68 73   Table the paths
a7b0: 20 69 6e 20 6f 70 70 6f 73 69 74 65 20 64 69 72   in opposite dir
a7c0: 65 63 74 69 6f 6e 73 20 73 74 72 6f 6e 67 6c 79  ections strongly
a7d0: 20 64 69 66 66 65 72 20 62 65 74 77 65 65 6e 20   differ between 
a7e0: 74 68 65 6d 2c 20 61 6e 64 20 62 6f 74 68 20 61  them, and both a
a7f0: 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69  re completely di
a800: 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65  fferent from the
a810: 20 70 61 74 68 20 72 65 74 75 72 6e 65 64 20 62   path returned b
a820: 79 20 71 75 65 72 79 69 6e 67 20 3c 62 3e 62 79  y querying <b>by
a830: 66 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41  foot</b>.<br>..A
a840: 20 71 75 69 63 6b 20 67 6c 61 6e 63 65 20 61 74   quick glance at
a850: 20 74 68 65 20 62 65 6c 6f 77 20 6d 61 70 20 77   the below map w
a860: 69 6c 6c 20 73 75 72 65 6c 79 20 68 65 6c 70 20  ill surely help 
a870: 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 62 65  to understand be
a880: 74 74 65 72 20 77 68 61 74 27 73 20 72 65 61 6c  tter what's real
a890: 6c 79 20 68 61 70 70 65 6e 69 6e 67 2e 3c 62 72  ly happening.<br
a8a0: 3e 0d 0a 54 68 69 73 20 69 73 20 61 20 63 65 6e  >..This is a cen
a8b0: 74 72 61 6c 20 61 72 65 61 20 6f 66 20 74 68 65  tral area of the
a8c0: 20 74 6f 77 6e 20 6f 66 20 41 72 65 7a 7a 6f 20   town of Arezzo 
a8d0: 61 72 6f 75 6e 64 20 74 68 65 20 61 72 63 68 61  around the archa
a8e0: 65 6f 6c 6f 67 69 63 61 6c 20 72 75 69 6e 73 20  eological ruins 
a8f0: 6f 66 20 74 68 65 20 52 6f 6d 61 6e 20 41 6d 70  of the Roman Amp
a900: 68 69 74 68 65 61 74 65 72 3b 20 63 69 72 63 75  hitheater; circu
a910: 6c 61 74 69 6e 67 20 62 79 20 63 61 72 20 69 73  lating by car is
a920: 20 64 69 73 63 6f 75 72 61 67 65 64 20 61 6e 64   discouraged and
a930: 20 69 73 20 73 75 62 6a 65 63 74 20 74 6f 20 6d   is subject to m
a940: 61 6e 79 20 6f 6e 65 2d 77 61 79 20 72 65 73 74  any one-way rest
a950: 72 69 63 74 69 6f 6e 73 2e 20 4e 6f 74 20 73 75  rictions. Not su
a960: 72 70 72 69 73 69 6e 67 6c 79 2c 20 6d 6f 76 69  rprisingly, movi
a970: 6e 67 20 62 79 20 66 6f 6f 74 20 69 73 20 74 68  ng by foot is th
a980: 65 20 66 61 73 74 65 72 20 6f 70 74 69 6f 6e 2e  e faster option.
a990: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67  ..<br><br>..<img
a9a0: 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
a9b0: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
a9c0: 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
a9d0: 66 69 67 73 2f 72 6f 75 74 69 6e 67 31 2e 6a 70  figs/routing1.jp
a9e0: 67 22 20 61 6c 74 3d 22 66 69 67 31 22 3e 0d 0a  g" alt="fig1">..
a9f0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79 65 6c 6c 6f 77  <ul>..<li>yellow
aa00: 20 70 61 74 68 3a 20 70 65 64 65 73 74 72 69 61   path: pedestria
aa10: 6e 73 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 67 72 65  ns</li>..<li>gre
aa20: 65 6e 20 70 61 74 68 3a 20 63 61 72 2c 20 64 69  en path: car, di
aa30: 72 65 63 74 20 64 69 72 65 63 74 69 6f 6e 3c 2f  rect direction</
aa40: 6c 69 3e 0d 0a 3c 6c 69 3e 72 65 64 20 70 61 74  li>..<li>red pat
aa50: 68 3a 20 63 61 72 2c 20 72 65 74 75 72 6e 20 64  h: car, return d
aa60: 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c  irection</li>..<
aa70: 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62  /ul>..<br>..<tab
aa80: 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66  le bgcolor="#c0f
aa90: 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fc0" cellspacing
aaa0: 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
aab0: 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
aac0: 3c 68 33 3e 4c 69 6e 65 73 74 72 69 6e 67 73 20  <h3>Linestrings 
aad0: 72 65 74 75 72 6e 65 64 20 62 79 20 56 69 72 74  returned by Virt
aae0: 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 68 33 3e 0d  ualRouting</h3>.
aaf0: 0a 41 6c 6c 20 4c 49 4e 45 53 54 52 49 4e 47 20  .All LINESTRING 
ab00: 47 65 6f 6d 65 74 72 69 65 73 20 63 72 65 61 74  Geometries creat
ab10: 65 64 20 62 79 20 61 6e 79 20 56 69 72 74 75 61  ed by any Virtua
ab20: 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c 20 61 6c  lRouting will al
ab30: 77 61 79 73 20 63 6f 6e 74 61 69 6e 20 3c 62 3e  ways contain <b>
ab40: 4d 20 76 61 6c 75 65 73 3c 2f 62 3e 3a 0d 0a 3c  M values</b>:..<
ab50: 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20  ul>..<li>if the 
ab60: 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77  underlaying Netw
ab70: 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 73  ork's Geometries
ab80: 20 61 72 65 20 3c 62 3e 58 59 3c 2f 62 3e 20 74   are <b>XY</b> t
ab90: 68 65 6e 20 3c 62 3e 58 59 4d 3c 2f 62 3e 20 4c  hen <b>XYM</b> L
aba0: 69 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20  inestrings will 
abb0: 62 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69  be returned.</li
abc0: 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e  >..<li>if the un
abd0: 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72  derlaying Networ
abe0: 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61  k's Geometries a
abf0: 72 65 20 3c 62 3e 58 59 5a 3c 2f 62 3e 20 74 68  re <b>XYZ</b> th
ac00: 65 6e 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20 4c  en <b>XYZM</b> L
ac10: 69 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20  inestrings will 
ac20: 62 65 20 72 65 74 75 72 6e 65 64 2e 3c 2f 6c 69  be returned.</li
ac30: 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20 75 6e  >..<li>if the un
ac40: 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72  derlaying Networ
ac50: 6b 27 73 20 47 65 6f 6d 65 74 72 69 65 73 20 61  k's Geometries a
ac60: 72 65 20 3c 62 3e 58 59 4d 3c 2f 62 3e 20 6f 72  re <b>XYM</b> or
ac70: 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20 74 68 65   <b>XYZM</b> the
ac80: 6e 20 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 72  n  Linestrings r
ac90: 65 74 75 72 6e 65 64 20 69 6e 74 6f 20 74 68 65  eturned into the
aca0: 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c 20   resultset will 
acb0: 6d 61 69 6e 74 61 69 6e 20 74 68 65 20 73 61 6d  maintain the sam
acc0: 65 20 64 69 6d 65 6e 73 69 6f 6e 73 20 61 73 20  e dimensions as 
acd0: 69 6e 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69  in the underlayi
ace0: 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 3e  ng Network.</li>
acf0: 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 79 20 63 61 73  ..<li>in any cas
ad00: 65 20 74 68 65 20 3c 62 3e 4d 3c 2f 62 3e 20 76  e the <b>M</b> v
ad10: 61 6c 75 65 73 20 77 69 6c 6c 20 62 65 20 61 70  alues will be ap
ad20: 70 72 6f 70 72 69 61 74 65 6c 79 20 73 65 74 20  propriately set 
ad30: 73 6f 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20  so to represent 
ad40: 74 68 65 20 3c 75 3e 70 61 72 74 69 61 6c 20 63  the <u>partial c
ad50: 6f 73 74 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f  ost</u> correspo
ad60: 6e 64 69 6e 67 20 74 6f 20 65 61 63 68 20 76 65  nding to each ve
ad70: 72 74 65 78 2e 0d 0a 28 69 66 20 74 68 65 20 69  rtex...(if the i
ad80: 6e 70 75 74 20 4c 69 6e 65 73 74 72 69 6e 67 73  nput Linestrings
ad90: 20 61 6c 72 65 61 64 79 20 63 6f 6e 74 61 69 6e   already contain
ada0: 73 20 4d 2d 76 61 6c 75 65 73 20 74 68 65 79 27  s M-values they'
adb0: 6c 6c 20 62 65 20 6f 76 65 72 77 72 69 74 74 65  ll be overwritte
adc0: 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  n).</li>..</ul>.
add0: 0a 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 65 72 20  .<br>..In other 
ade0: 77 6f 72 64 73 2c 20 61 6c 6c 20 4c 69 6e 65 73  words, all Lines
adf0: 74 72 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20  trings returned 
ae00: 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  by VirtualRoutin
ae10: 67 20 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c  g can effectivel
ae20: 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 4c 52 3c  y support <b>LR<
ae30: 2f 62 3e 20 28 3c 69 3e 4c 69 6e 65 61 72 20 52  /b> (<i>Linear R
ae40: 65 66 65 72 65 6e 63 69 6e 67 3c 2f 69 3e 29 20  eferencing</i>) 
ae50: 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73 2c 20 61  SQL functions, a
ae60: 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69  s in the followi
ae70: 6e 67 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 76  ng examples:..<v
ae80: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
ae90: 20 53 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77 65   ST_Locate_Betwe
aea0: 65 6e 5f 4d 65 61 73 75 72 65 73 28 3c 67 65 6f  en_Measures(<geo
aeb0: 6d 65 74 72 79 3e 2c 20 33 30 2e 30 2c 20 34 35  metry>, 30.0, 45
aec0: 2e 30 29 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 53  .0);....SELECT S
aed0: 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77 65 65 6e  T_Locate_Between
aee0: 5f 4d 65 61 73 75 72 65 73 28 3c 67 65 6f 6d 65  _Measures(<geome
aef0: 74 72 79 3e 2c 20 38 30 2e 30 2c 20 39 35 2e 30  try>, 80.0, 95.0
af00: 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  );..</verbatim>.
af10: 0a 54 68 65 20 73 69 64 65 20 6d 61 70 20 67 72  .The side map gr
af20: 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20  aphically shows 
af30: 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 70 6f  the estimated po
af40: 73 69 74 69 6f 6e 73 20 72 65 73 70 65 63 74 69  sitions respecti
af50: 76 65 6c 79 20 3c 62 3e 33 30 3c 2f 62 3e 2d 3c  vely <b>30</b>-<
af60: 62 3e 34 35 3c 2f 62 3e 20 73 65 63 6f 6e 64 73  b>45</b> seconds
af70: 20 61 66 74 65 72 20 73 74 61 72 74 69 6e 67 20   after starting 
af80: 28 79 65 6c 6c 6f 77 20 64 6f 74 74 65 64 20 6c  (yellow dotted l
af90: 69 6e 65 29 20 61 6e 64 20 3c 62 3e 38 30 3c 2f  ine) and <b>80</
afa0: 62 3e 2d 3c 62 3e 39 35 3c 2f 62 3e 20 73 65 63  b>-<b>95</b> sec
afb0: 6f 6e 64 73 20 61 66 74 65 72 20 73 74 61 72 74  onds after start
afc0: 69 6e 67 20 28 67 72 65 65 6e 20 64 6f 74 74 65  ing (green dotte
afd0: 64 20 6c 69 6e 65 29 2e 3c 62 72 3e 0d 0a 28 61  d line).<br>..(a
afe0: 73 73 75 6d 69 6e 67 20 74 68 65 20 73 61 6d 65  ssuming the same
aff0: 20 70 61 74 68 20 72 65 74 75 72 6e 65 64 20 62   path returned b
b000: 79 20 74 68 65 20 6c 61 74 65 73 74 20 3c 62 3e  y the latest <b>
b010: 62 79 63 61 72 3c 2f 62 3e 20 71 75 65 72 79 29  bycar</b> query)
b020: 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69  ...</td>..<td><i
b030: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  mg src="https://
b040: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
b050: 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e  gaia-sins/routin
b060: 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e 67 32 2e  g-figs/routing2.
b070: 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 32 22 3e  jpg" alt="fig2">
b080: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f  </td>..</tr>..</
b090: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 68  table>..<br>..<h
b0a0: 32 3e 50 6c 61 79 69 6e 67 20 77 69 74 68 20 56  2>Playing with V
b0b0: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 6f  irtualRouting co
b0c0: 6e 66 69 67 75 72 61 62 6c 65 20 6f 70 74 69 6f  nfigurable optio
b0d0: 6e 73 3c 2f 68 32 3e 0d 0a 53 65 76 65 72 61 6c  ns</h2>..Several
b0e0: 20 61 73 70 65 63 74 73 20 6f 66 20 56 69 72 74   aspects of Virt
b0f0: 75 61 6c 52 6f 75 74 69 6e 67 20 63 61 6e 20 62  ualRouting can b
b100: 65 20 66 72 65 65 6c 79 20 63 75 73 74 6f 6d 69  e freely customi
b110: 7a 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  zed...<verbatim>
b120: 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20  ..UPDATE byfoot 
b130: 53 45 54 20 41 6c 67 6f 72 69 74 68 6d 20 3d 20  SET Algorithm = 
b140: 27 41 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  'A*';....SELECT 
b150: 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f  Algorithm, Optio
b160: 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  ns, RouteRow, Ro
b170: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
b180: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
b190: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
b1a0: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f   Name..FROM byfo
b1b0: 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72  ot..WHERE NodeFr
b1c0: 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20  om = 178731 AND 
b1d0: 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b  NodeTo = 183286;
b1e0: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 49  ..</verbatim>..I
b1f0: 66 20 79 6f 75 20 72 65 6d 65 6d 62 65 72 20 69  f you remember i
b200: 6e 20 61 6c 6c 20 74 68 65 20 70 72 65 76 69 6f  n all the previo
b210: 75 73 20 65 78 61 6d 70 6c 65 73 20 74 68 65 20  us examples the 
b220: 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62  <b>Dijkstra's</b
b230: 3e 20 61 6c 67 6f 72 69 74 68 6d 20 77 61 73 20  > algorithm was 
b240: 75 73 65 64 3b 20 6e 6f 77 20 28 61 66 74 65 72  used; now (after
b250: 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 61   executing the a
b260: 62 6f 76 65 20 3c 62 3e 55 50 44 41 54 45 3c 2f  bove <b>UPDATE</
b270: 62 3e 29 20 61 6c 6c 20 53 68 6f 72 74 65 73 74  b>) all Shortest
b280: 20 50 61 74 68 20 71 75 65 72 69 65 73 20 77 69   Path queries wi
b290: 6c 6c 20 62 65 20 62 61 73 65 64 20 6f 6e 20 74  ll be based on t
b2a0: 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 3c  he alternative <
b2b0: 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 74  b>A*</b> algorit
b2c0: 68 6d 2e 3c 62 72 3e 0d 0a 49 66 20 79 6f 75 20  hm.<br>..If you 
b2d0: 77 69 73 68 20 74 6f 20 73 65 6c 65 63 74 20 61  wish to select a
b2e0: 67 61 69 6e 20 74 68 65 20 44 69 6a 6b 73 74 72  gain the Dijkstr
b2f0: 61 27 73 20 61 6c 67 6f 72 69 74 68 6d 20 79 6f  a's algorithm yo
b300: 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 65  u just have to e
b310: 78 65 63 75 74 65 3c 62 72 3e 20 3c 62 3e 55 50  xecute<br> <b>UP
b320: 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20  DATE byfoot SET 
b330: 41 6c 67 6f 72 69 74 68 6d 20 3d 20 27 44 49 4a  Algorithm = 'DIJ
b340: 4b 53 54 52 41 27 3b 3c 2f 62 3e 2e 3c 62 72 3e  KSTRA';</b>.<br>
b350: 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77  <br>..The follow
b360: 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20  ing table shows 
b370: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
b380: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72  turned by the pr
b390: 65 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20  evious Shortest 
b3a0: 50 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61  Path query; plea
b3b0: 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61  se notice the va
b3c0: 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c  lue in the <b>Al
b3d0: 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 63 6f 6c 75  gorithm</b> colu
b3e0: 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  mn...<br><br>..<
b3f0: 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22  table border="1"
b400: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63   bgcolor="#ffffc
b410: 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  f" cellspacing="
b420: 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  4" cellpadding="
b430: 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63  6">..<tr><th bgc
b440: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41  olor="#d0d0a0">A
b450: 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68  lgorithm</th><th
b460: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
b470: 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c  0">Options</th><
b480: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
b490: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74  0a0">RouteRow</t
b4a0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
b4b0: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68  d0d0a0">Role</th
b4c0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
b4d0: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64  0d0a0">LinkRowid
b4e0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
b4f0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46  ="#d0d0a0">NodeF
b500: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  rom</th><th bgco
b510: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
b520: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63  deTo</th><th bgc
b530: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43  olor="#d0d0a0">C
b540: 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ost</th><th bgco
b550: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65  lor="#d0d0a0">Ge
b560: 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62  ometry</th><th b
b570: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
b580: 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d  >Name</th></tr>.
b590: 0a 3c 74 72 3e 3c 74 64 3e 41 2a 3c 2f 74 64 3e  .<tr><td>A*</td>
b5a0: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
b5b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
b5c0: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
b5d0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
b5e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b5f0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
b600: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
b610: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
b620: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e  ign="right">300.
b630: 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42  912208</td><td>B
b640: 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45  LOB sz=272 GEOME
b650: 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
b660: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
b670: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
b680: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
b690: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
b6a0: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
b6b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b6c0: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e  ght">224014</td>
b6d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b6e0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
b6f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
b700: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
b710: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38  ign="right">94.8
b720: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12424</td><td>NU
b730: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
b740: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
b750: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
b760: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
b770: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
b780: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
b790: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
b7a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b7b0: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64  ">224446</td><td
b7c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
b7d0: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
b7e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
b7f0: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
b800: 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37  ="right">69.7277
b810: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  26</td><td>NULL<
b820: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
b830: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
b840: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
b850: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
b860: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b870: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
b880: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
b890: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
b8a0: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
b8b0: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
b8c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
b8d0: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
b8e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
b8f0: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74  t">136.372057</t
b900: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
b910: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
b920: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
b930: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62  </table>..<br><b
b940: 72 3e 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20  r><br>..You can 
b950: 65 76 65 6e 74 75 61 6c 6c 79 20 63 6f 6e 66 69  eventually confi
b960: 67 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 73  gure the results
b970: 65 74 20 72 65 74 75 72 6e 65 64 20 74 68 65 20  et returned the 
b980: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 71  VirtualRouting q
b990: 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 62 61 74  ueries...<verbat
b9a0: 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f  im>..UPDATE byfo
b9b0: 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d  ot SET Options =
b9c0: 20 27 4e 4f 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a   'NO LINKS';....
b9d0: 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d  SELECT Algorithm
b9e0: 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65  , Options, Route
b9f0: 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52  Row, Role, LinkR
ba00: 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20  owid, NodeFrom, 
ba10: 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65  NodeTo, Cost, Ge
ba20: 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52  ometry, Name..FR
ba30: 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45  OM byfoot..WHERE
ba40: 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37   NodeFrom = 1787
ba50: 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20  31 AND NodeTo = 
ba60: 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61  183286;..</verba
ba70: 74 69 6d 3e 0d 0a 41 66 74 65 72 20 73 65 74 74  tim>..After sett
ba80: 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27  ing <b>Options='
ba90: 4e 4f 20 4c 49 4e 4b 53 27 3c 2f 62 3e 20 74 68  NO LINKS'</b> th
baa0: 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c  e resultset will
bab0: 20 73 69 6d 70 6c 79 20 63 6f 6e 74 61 69 6e 20   simply contain 
bac0: 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 2c 20  the header row, 
bad0: 61 6e 64 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c  and all the foll
bae0: 6f 77 69 6e 67 20 72 6f 77 73 20 77 69 6c 6c 20  owing rows will 
baf0: 62 65 20 73 75 70 70 72 65 73 73 65 64 2e 3c 62  be suppressed.<b
bb00: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a  r>..<u>Note</u>:
bb10: 20 70 72 6f 64 75 63 69 6e 67 20 61 20 72 65 64   producing a red
bb20: 75 63 65 64 20 72 65 73 75 6c 74 73 65 74 20 69  uced resultset i
bb30: 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65  s expected to be
bb40: 20 73 6f 6d 65 77 61 79 20 66 61 73 74 65 72 2e   someway faster.
bb50: 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77  <br>..The follow
bb60: 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20  ing table shows 
bb70: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
bb80: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72  turned by the pr
bb90: 65 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20  evious Shortest 
bba0: 50 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61  Path query; plea
bbb0: 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61  se notice the va
bbc0: 6c 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70  lue in the <b>Op
bbd0: 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e  tions</b> column
bbe0: 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61  ...<br><br>..<ta
bbf0: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62  ble border="1" b
bc00: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22  gcolor="#ffffcf"
bc10: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
bc20: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
bc30: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c  >..<tr><th bgcol
bc40: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67  or="#d0d0a0">Alg
bc50: 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62  orithm</th><th b
bc60: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
bc70: 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68  >Options</th><th
bc80: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
bc90: 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e  0">RouteRow</th>
bca0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
bcb0: 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c  d0a0">Role</th><
bcc0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
bcd0: 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  0a0">LinkRowid</
bce0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
bcf0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
bd00: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
bd10: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
bd20: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
bd30: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73  or="#d0d0a0">Cos
bd40: 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
bd50: 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d  r="#d0d0a0">Geom
bd60: 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63  etry</th><th bgc
bd70: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
bd80: 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c  ame</th></tr>..<
bd90: 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e  tr>..<td>A*</td>
bda0: 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64  <td>No Links</td
bdb0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
bdc0: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
bdd0: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
bde0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
bdf0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
be00: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
be10: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
be20: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
be30: 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c  300.912208</td><
be40: 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47  td>BLOB sz=272 G
be50: 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
be60: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
be70: 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
be80: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61  <br><br>..<verba
be90: 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66  tim>..UPDATE byf
bea0: 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20  oot SET Options 
beb0: 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53  = 'NO GEOMETRIES
bec0: 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67  ';....SELECT Alg
bed0: 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c  orithm, Options,
bee0: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
bef0: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
bf00: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
bf10: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
bf20: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
bf30: 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
bf40: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
bf50: 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c  eTo = 183286;..<
bf60: 2f 76 65 72 62 61 74 69 6d 3e 41 66 74 65 72 20  /verbatim>After 
bf70: 73 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f  setting <b>Optio
bf80: 6e 73 3d 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45  ns='NO GEOMETRIE
bf90: 53 27 3c 2f 62 3e 20 74 68 65 20 72 65 73 75 6c  S'</b> the resul
bfa0: 74 73 65 74 20 77 69 6c 6c 20 63 6f 6e 74 61 69  tset will contai
bfb0: 6e 20 61 6c 6c 20 72 6f 77 73 2c 20 62 75 74 20  n all rows, but 
bfc0: 61 6c 6c 20 47 65 6f 6d 65 74 72 69 65 73 20 77  all Geometries w
bfd0: 69 6c 6c 20 62 65 20 73 75 70 70 72 65 73 73 65  ill be suppresse
bfe0: 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  d.<br>..<u>Note<
bff0: 2f 75 3e 3a 20 74 68 69 73 20 74 6f 6f 20 69 73  /u>: this too is
c000: 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20   expected to be 
c010: 73 6f 6d 65 77 61 79 20 66 61 73 74 65 72 2e 3c  someway faster.<
c020: 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69  br>..The followi
c030: 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74  ng table shows t
c040: 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74  he resultset ret
c050: 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65  urned by the pre
c060: 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50  vious Shortest P
c070: 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73  ath query; pleas
c080: 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c  e notice the val
c090: 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74  ue in the <b>Opt
c0a0: 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e  ions</b> column.
c0b0: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62  ..<br><br>..<tab
c0c0: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67  le border="1" bg
c0d0: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20  color="#ffffcf" 
c0e0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20  cellspacing="4" 
c0f0: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
c100: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f  ..<tr><th bgcolo
c110: 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f  r="#d0d0a0">Algo
c120: 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  rithm</th><th bg
c130: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
c140: 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20  Options</th><th 
c150: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c160: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
c170: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
c180: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
c190: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
c1a0: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
c1b0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
c1c0: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
c1d0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
c1e0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
c1f0: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
c200: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
c210: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
c220: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
c230: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
c240: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
c250: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
c260: 72 3e 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64  r><td>A*</td><td
c270: 3e 4e 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f  >No Geometries</
c280: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c290: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
c2a0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
c2b0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
c2c0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
c2d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c2e0: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
c2f0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c300: 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64  ">300.912208</td
c310: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
c320: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
c330: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
c340: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
c350: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c360: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
c370: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
c380: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31  gn="right">22401
c390: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
c3a0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
c3b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c3c0: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
c3d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c3e0: 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e  ">94.812424</td>
c3f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
c400: 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54  >VIA PIETRO ARET
c410: 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  INO</td>..</tr>.
c420: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
c430: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
c440: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c450: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
c460: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
c470: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
c480: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c490: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
c4a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c4b0: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
c4c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
c4d0: 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64  9.727726</td><td
c4e0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
c4f0: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
c500: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
c510: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
c520: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
c530: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
c540: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
c550: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c560: 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64  ">224414</td><td
c570: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c580: 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  78880</td><td al
c590: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
c5a0: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
c5b0: 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32  ="right">136.372
c5c0: 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  057</td><td>NULL
c5d0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
c5e0: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
c5f0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
c600: 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76  <br><br><br>..<v
c610: 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45  erbatim>..UPDATE
c620: 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69   byfoot SET Opti
c630: 6f 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b 0d  ons = 'SIMPLE';.
c640: 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69  ...SELECT Algori
c650: 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f  thm, Options, Ro
c660: 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
c670: 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
c680: 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
c690: 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
c6a0: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
c6b0: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
c6c0: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
c6d0: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
c6e0: 72 62 61 74 69 6d 3e 53 65 74 74 69 6e 67 20 3c  rbatim>Setting <
c6f0: 62 3e 4f 70 74 69 6f 6e 73 3d 27 53 49 4d 50 4c  b>Options='SIMPL
c700: 45 27 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 73  E'</b> has the s
c710: 61 6d 65 20 65 66 66 65 63 74 20 74 68 61 6e 20  ame effect than 
c720: 73 65 74 74 69 6e 67 20 62 6f 74 68 20 3c 62 3e  setting both <b>
c730: 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64  NO LINKS</b> and
c740: 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45   <b>NO GEOMETRIE
c750: 53 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d  S</b> at the sam
c760: 65 20 74 69 6d 65 2e 3c 62 72 3e 0d 0a 3c 75 3e  e time.<br>..<u>
c770: 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 69  Note</u>: this i
c780: 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65  s expected to be
c790: 20 74 68 65 20 66 61 73 74 65 73 74 20 73 65 74   the fastest set
c7a0: 74 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 65 20 66  ting.<br>..The f
c7b0: 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73  ollowing table s
c7c0: 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73  hows the results
c7d0: 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74  et returned by t
c7e0: 68 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72  he previous Shor
c7f0: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 3b  test Path query;
c800: 20 70 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74   please notice t
c810: 68 65 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20  he value in the 
c820: 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63  <b>Options</b> c
c830: 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  olumn...<br><br>
c840: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
c850: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
c860: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
c870: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
c880: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
c890: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c8a0: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
c8b0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c8c0: 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
c8d0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
c8e0: 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77  d0d0a0">RouteRow
c8f0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
c900: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
c910: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
c920: 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f  "#d0d0a0">LinkRo
c930: 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  wid</th><th bgco
c940: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
c950: 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  deFrom</th><th b
c960: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
c970: 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20  >NodeTo</th><th 
c980: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c990: 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62  ">Cost</th><th b
c9a0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
c9b0: 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74  >Geometry</th><t
c9c0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
c9d0: 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74  a0">Name</th></t
c9e0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41 2a  r>..<tr>..<td>A*
c9f0: 3c 2f 74 64 3e 3c 74 64 3e 53 69 6d 70 6c 65 3c  </td><td>Simple<
ca00: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
ca10: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
ca20: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
ca30: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
ca40: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
ca50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
ca60: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
ca70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
ca80: 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74  t">300.912208</t
ca90: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
caa0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
cab0: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
cac0: 62 72 3e 0d 0a 46 69 6e 61 6c 6c 79 2c 20 69 66  br>..Finally, if
cad0: 20 79 6f 75 20 77 69 73 68 20 74 6f 20 73 65 6c   you wish to sel
cae0: 65 63 74 20 61 67 61 69 6e 20 74 68 65 20 69 6e  ect again the in
caf0: 69 74 69 61 6c 20 73 74 61 6e 64 61 72 64 20 73  itial standard s
cb00: 65 74 74 69 6e 67 20 79 6f 75 20 6a 75 73 74 20  etting you just 
cb10: 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 65 3c  have to execute<
cb20: 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 62 79  br> <b>UPDATE by
cb30: 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73  foot SET Options
cb40: 20 3d 20 27 46 55 4c 4c 27 3b 3c 2f 62 3e 2e 3c   = 'FULL';</b>.<
cb50: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72  br><br>..<hr><br
cb60: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22  >..<h1><a name="
cb70: 6d 75 6c 74 69 22 3e 35 20 2d 20 53 6f 6c 76 69  multi">5 - Solvi
cb80: 6e 67 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61  ng multi-destina
cb90: 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61  tion Shortest Pa
cba0: 74 68 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c  th problems</a><
cbb0: 2f 68 31 3e 0d 0a 41 20 76 65 72 79 20 69 6e 74  /h1>..A very int
cbc0: 65 72 65 73 74 69 6e 67 20 66 65 61 74 75 72 65  eresting feature
cbd0: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68   supported by th
cbe0: 65 20 44 69 6a 6b 73 74 72 61 27 73 20 41 6c 67  e Dijkstra's Alg
cbf0: 6f 72 69 74 68 6d 20 69 73 20 74 68 61 74 20 69  orithm is that i
cc00: 74 20 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72  t robustly ensur
cc10: 65 73 20 74 68 61 74 20 77 68 65 6e 20 61 20 64  es that when a d
cc20: 65 73 74 69 6e 61 74 69 6f 6e 20 69 73 20 72 65  estination is re
cc30: 61 63 68 65 64 20 61 6c 6c 20 74 68 65 20 64 65  ached all the de
cc40: 73 74 69 6e 61 74 69 6f 6e 73 20 70 72 65 73 65  stinations prese
cc50: 6e 74 69 6e 67 20 61 20 3c 62 3e 6c 65 73 73 65  nting a <b>lesse
cc60: 72 20 63 6f 73 74 3c 2f 62 3e 20 68 61 76 65 20  r cost</b> have 
cc70: 61 6c 72 65 61 64 79 20 62 65 65 6e 20 72 65 61  already been rea
cc80: 63 68 65 64 20 69 6e 20 73 6f 6d 65 20 70 72 65  ched in some pre
cc90: 76 69 6f 75 73 20 73 74 65 70 20 6f 66 20 74 68  vious step of th
cca0: 65 20 70 72 6f 63 65 73 73 2e 3c 62 72 3e 0d 0a  e process.<br>..
ccb0: 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 6f 20 65  This allows to e
ccc0: 66 66 69 63 69 65 6e 74 6c 79 20 73 75 70 70 6f  fficiently suppo
ccd0: 72 74 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 20 64  rt <b>multiple d
cce0: 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20  estinations</b> 
ccf0: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
cd00: 65 72 69 65 73 2e 0d 0a 59 6f 75 20 73 69 6d 70  eries...You simp
cd10: 6c 79 20 68 61 76 65 20 74 6f 20 73 70 65 63 69  ly have to speci
cd20: 66 79 20 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f  fy a <b>single o
cd30: 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61  rigin Node</b> a
cd40: 6e 64 20 61 6e 20 3c 62 3e 61 72 62 69 74 72 61  nd an <b>arbitra
cd50: 72 79 20 6c 69 73 74 20 6f 66 20 64 65 73 74 69  ry list of desti
cd60: 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 3c 2f 62 3e  nation Nodes</b>
cd70: 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 44 69 6a   in a single Dij
cd80: 6b 73 74 72 61 27 73 20 65 78 65 63 75 74 69 6f  kstra's executio
cd90: 6e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e  n.<br><br>..<u>N
cda0: 6f 74 65 3c 2f 75 3e 3a 20 65 78 65 63 75 74 69  ote</u>: executi
cdb0: 6e 67 20 61 20 6d 75 6c 74 69 2d 64 65 73 74 69  ng a multi-desti
cdc0: 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20  nation Shortest 
cdd0: 50 61 74 68 20 71 75 65 72 79 20 72 65 71 75 69  Path query requi
cde0: 72 65 73 20 61 20 3c 62 3e 70 72 6f 63 65 73 73  res a <b>process
cdf0: 69 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 74 68 61  ing time</b> tha
ce00: 74 20 69 73 6e 27 74 20 74 68 65 20 3c 75 3e 73  t isn't the <u>s
ce10: 75 6d 20 6f 66 20 61 6c 6c 20 69 6e 64 69 76 69  um of all indivi
ce20: 64 75 61 6c 20 74 69 6d 69 6e 67 73 20 66 6f 72  dual timings for
ce30: 20 65 61 63 68 20 64 65 73 74 69 6e 61 74 69 6f   each destinatio
ce40: 6e 3c 2f 75 3e 2c 20 62 75 74 20 73 69 6d 70 6c  n</u>, but simpl
ce50: 79 20 69 73 20 74 68 65 20 3c 75 3e 74 69 6d 65  y is the <u>time
ce60: 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 61   required to rea
ce70: 63 68 20 74 68 65 20 6d 6f 73 74 20 63 6f 73 74  ch the most cost
ce80: 6c 79 20 6f 66 20 61 6c 6c 20 64 65 73 74 69 6e  ly of all destin
ce90: 61 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69  ations in the li
cea0: 73 74 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 54 68 69  st</u>.<br>..Thi
ceb0: 73 20 69 73 6e 27 74 20 72 69 67 6f 72 6f 75 73  s isn't rigorous
cec0: 6c 79 20 74 72 75 65 20 69 6e 20 74 68 65 20 63  ly true in the c
ced0: 61 73 65 20 6f 66 20 74 68 65 20 56 69 72 74 75  ase of the Virtu
cee0: 61 6c 52 6f 75 74 69 6e 67 20 73 70 65 63 69 66  alRouting specif
cef0: 69 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ic implementatio
cf00: 6e 2c 20 62 65 63 61 75 73 65 20 61 72 72 61 6e  n, because arran
cf10: 67 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73  ging the results
cf20: 65 74 20 74 6f 20 62 65 20 72 65 74 75 72 6e 65  et to be returne
cf30: 64 20 61 6e 64 20 63 72 65 61 74 69 6e 67 20 61  d and creating a
cf40: 6c 6c 20 74 68 65 20 69 6e 64 69 76 69 64 75 61  ll the individua
cf50: 6c 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 66 6f  l Linestrings fo
cf60: 72 20 65 61 63 68 20 64 65 73 74 69 6e 61 74 69  r each destinati
cf70: 6f 6e 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 69  on will surely i
cf80: 6d 70 6f 73 65 20 73 6f 6d 65 20 66 75 72 74 68  mpose some furth
cf90: 65 72 20 6f 76 65 72 68 65 61 64 2c 20 62 75 74  er overhead, but
cfa0: 20 6e 6f 6e 65 74 68 65 6c 65 73 73 20 69 74 20   nonetheless it 
cfb0: 72 65 6d 61 69 6e 73 20 63 6f 6e 66 69 72 6d 65  remains confirme
cfc0: 64 20 74 68 61 74 20 65 78 65 63 75 74 69 6e 67  d that executing
cfd0: 20 61 20 73 69 6e 67 6c 65 20 6d 75 6c 74 69 2d   a single multi-
cfe0: 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72  destination quer
cff0: 79 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 62 65  y will surely be
d000: 20 20 6e 6f 74 69 63 65 61 62 6c 79 20 66 61 73    noticeably fas
d010: 74 65 72 20 74 68 65 6e 20 65 78 65 63 75 74 69  ter then executi
d020: 6e 67 20 6d 61 6e 79 20 73 70 61 72 73 65 20 73  ng many sparse s
d030: 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f  ingle-destinatio
d040: 6e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72  n queries...<ver
d050: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41  batim>..SELECT A
d060: 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73  lgorithm, Reques
d070: 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69  t, Options, Deli
d080: 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20  miter, RouteId, 
d090: 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
d0a0: 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
d0b0: 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
d0c0: 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
d0d0: 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a  e..FROM byfoot..
d0e0: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
d0f0: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
d100: 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 32 39 30  To = '183286,290
d110: 34 35 38 2c 31 38 31 39 39 39 2c 31 38 34 30 33  458,181999,18403
d120: 30 2c 31 32 34 36 32 32 2c 31 38 33 38 38 32 2c  0,124622,183882,
d130: 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62  178754';..</verb
d140: 61 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61  atim>..As you ca
d150: 6e 20 65 61 73 69 6c 79 20 6e 6f 74 69 63 65 2c  n easily notice,
d160: 20 61 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 2d 64   a <b>multiple-d
d170: 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20  estinations</b> 
d180: 71 75 65 72 79 20 68 61 73 20 74 68 65 20 73 61  query has the sa
d190: 6d 65 20 69 64 65 6e 74 69 63 61 6c 20 66 6f 72  me identical for
d1a0: 6d 20 6f 66 20 61 6e 79 20 75 73 75 61 6c 20 53  m of any usual S
d1b0: 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65  hortest Path que
d1c0: 72 79 2c 20 65 78 63 65 70 74 20 69 6e 20 74 68  ry, except in th
d1d0: 61 74 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e  at <b>NodeTo</b>
d1e0: 20 6e 6f 77 20 63 6f 72 72 65 73 70 6f 6e 64 73   now corresponds
d1f0: 20 74 6f 20 61 20 63 6f 6d 6d 61 2d 73 65 70 61   to a comma-sepa
d200: 72 61 74 65 64 20 6c 69 73 74 2e 3c 62 72 3e 0d  rated list.<br>.
d210: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  .The following t
d220: 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72  able shows the r
d230: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
d240: 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75  d by the previou
d250: 73 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74  s multi-destinat
d260: 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74  ion Shortest Pat
d270: 68 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62  h query...<br><b
d280: 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  r>..<table borde
d290: 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
d2a0: 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
d2b0: 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
d2c0: 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><t
d2d0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
d2e0: 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74  a0">Algorithm</t
d2f0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
d300: 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
d310: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d320: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
d330: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
d340: 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69  r="#d0d0a0">Deli
d350: 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67  miter</th><th bg
d360: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d370: 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20  RouteId</th><th 
d380: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d390: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
d3a0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
d3b0: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
d3c0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
d3d0: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
d3e0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
d3f0: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
d400: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
d410: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
d420: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
d430: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
d440: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
d450: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
d460: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
d470: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
d480: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
d490: 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61  r>..<td>Dijkstra
d4a0: 3c 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73  </td><td>Shortes
d4b0: 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46  t Path</td><td>F
d4c0: 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23  ull</td><td>, &#
d4d0: 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32  91;dec=44, hex=2
d4e0: 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61  c&#93;</td><td a
d4f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
d500: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d510: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
d520: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
d530: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
d540: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
d550: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d560: 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e  ght">183882</td>
d570: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d580: 22 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64  ">154.750839</td
d590: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30  ><td>BLOB sz=240
d5a0: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
d5b0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
d5c0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
d5d0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
d5e0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
d5f0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
d600: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d610: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
d620: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
d630: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
d640: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32  lign="right">222
d650: 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  636</td><td alig
d660: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
d670: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d680: 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74  right">182000</t
d690: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
d6a0: 68 74 22 3e 31 30 33 2e 37 33 35 37 32 32 3c 2f  ht">103.735722</
d6b0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
d6c0: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41  <td>VIA PIETRO A
d6d0: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  RETINO</td>..</t
d6e0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
d6f0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
d700: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
d710: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
d720: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d730: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
d740: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
d750: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
d760: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
d770: 35 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  527</td><td alig
d780: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30  n="right">182000
d790: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d7a0: 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74  right">183882</t
d7b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
d7c0: 68 74 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74  ht">51.015117</t
d7d0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
d7e0: 74 64 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e  td>VIA LICIO NEN
d7f0: 43 45 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  CETTI</td>..</tr
d800: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
d810: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
d820: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
d830: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
d840: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
d850: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d860: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
d870: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
d880: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
d890: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
d8a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d8b0: 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74  right">184030</t
d8c0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
d8d0: 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f  ht">176.364755</
d8e0: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33  td><td>BLOB sz=3
d8f0: 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  04 GEOMETRY</td>
d900: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
d910: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
d920: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
d930: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
d940: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
d950: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d960: 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">1</td><td alig
d970: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
d980: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
d990: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
d9a0: 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  24014</td><td al
d9b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
d9c0: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
d9d0: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
d9e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d9f0: 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c  ight">94.812424<
da00: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
da10: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20  ><td>VIA PIETRO 
da20: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ARETINO</td>..</
da30: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
da40: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
da50: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
da60: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
da70: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
da80: 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >1</td><td align
da90: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
daa0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
dab0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
dac0: 34 38 36 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4862</td><td ali
dad0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
dae0: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
daf0: 22 72 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f  "right">182043</
db00: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
db10: 67 68 74 22 3e 33 37 2e 30 39 35 32 38 37 3c 2f  ght">37.095287</
db20: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
db30: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
db40: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
db50: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
db60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
db70: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
db80: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
db90: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
dba0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
dbb0: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
dbc0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
dbd0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 36 30 37 30  n="right">226070
dbe0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
dbf0: 72 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74  right">182043</t
dc00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dc10: 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c  ht">184030</td><
dc20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
dc30: 3e 34 34 2e 34 35 37 30 34 34 3c 2f 74 64 3e 3c  >44.457044</td><
dc40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
dc50: 50 49 41 5a 5a 41 20 53 41 4e 54 27 41 47 4f 53  PIAZZA SANT'AGOS
dc60: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TINO</td>..</tr>
dc70: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
dc80: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
dc90: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
dca0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
dcb0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
dcc0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dcd0: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
dce0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
dcf0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
dd00: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
dd10: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dd20: 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64  ight">178754</td
dd30: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
dd40: 74 22 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f 74  t">224.677095</t
dd50: 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34  d><td>BLOB sz=24
dd60: 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  0 GEOMETRY</td><
dd70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
dd80: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
dd90: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
dda0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ddb0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c  d><td>NULL<td al
ddc0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
ddd0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dde0: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
ddf0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
de00: 3d 22 72 69 67 68 74 22 3e 32 31 39 30 34 35 3c  ="right">219045<
de10: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
de20: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
de30: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
de40: 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74  t">178732</td><t
de50: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
de60: 37 36 2e 30 32 31 30 30 37 3c 2f 74 64 3e 3c 74  76.021007</td><t
de70: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
de80: 49 41 20 41 53 53 41 42 3c 2f 74 64 3e 0d 0a 3c  IA ASSAB</td>..<
de90: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
dea0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
deb0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
dec0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ded0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
dee0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">2</td><td alig
def0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
df00: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
df10: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
df20: 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  19058</td><td al
df30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
df40: 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  32</td><td align
df50: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c  ="right">178754<
df60: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
df70: 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38 39  ight">148.656089
df80: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
df90: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45  d><td>VIA FRANCE
dfa0: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d  SCO CRISPI</td>.
dfb0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
dfc0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
dfd0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
dfe0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
dff0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e000: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">3</td><td al
e010: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
e020: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
e030: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e040: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e050: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
e060: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
e070: 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
e080: 3d 22 72 69 67 68 74 22 3e 32 36 30 2e 31 33 32  ="right">260.132
e090: 33 35 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  354</td><td>BLOB
e0a0: 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59   sz=240 GEOMETRY
e0b0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e0c0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
e0d0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
e0e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e0f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e100: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e110: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
e120: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e130: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
e140: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e150: 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c  ht">224014</td><
e160: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e170: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
e180: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
e190: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2885</td><td ali
e1a0: 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31  gn="right">94.81
e1b0: 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2424</td><td>NUL
e1c0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49  L</td><td>VIA PI
e1d0: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64  ETRO ARETINO</td
e1e0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
e1f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e200: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e210: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e220: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e230: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20  ight">3</td><td 
e240: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
e250: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
e260: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e270: 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74  t">224446</td><t
e280: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e290: 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61  182885</td><td a
e2a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
e2b0: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  880</td><td alig
e2c0: 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37  n="right">69.727
e2d0: 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  726</td><td>NULL
e2e0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
e2f0: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
e300: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
e310: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e320: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e330: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e340: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e350: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">3</td><td alig
e360: 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
e370: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
e380: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
e390: 32 35 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  25800</td><td al
e3a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
e3b0: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
e3c0: 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
e3d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e3e0: 69 67 68 74 22 3e 39 35 2e 35 39 32 32 30 34 3c  ight">95.592204<
e3f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e400: 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53  ><td>VIA FRANCES
e410: 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a  CO CRISPI</td>..
e420: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
e430: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e440: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e450: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e460: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e470: 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">4</td><td ali
e480: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
e490: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
e4a0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
e4b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
e4c0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
e4d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
e4e0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
e4f0: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32  "right">300.9122
e500: 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  08</td><td>BLOB 
e510: 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c  sz=272 GEOMETRY<
e520: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e530: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
e540: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e550: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e560: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e570: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e580: 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20  ight">4</td><td 
e590: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
e5a0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
e5b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e5c0: 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74  t">224014</td><t
e5d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e5e0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
e5f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
e600: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  885</td><td alig
e610: 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32  n="right">94.812
e620: 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  424</td><td>NULL
e630: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45  </td><td>VIA PIE
e640: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e  TRO ARETINO</td>
e650: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
e660: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e670: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e680: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e690: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e6a0: 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61  ght">4</td><td a
e6b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
e6c0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
e6d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e6e0: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64  ">224446</td><td
e6f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e700: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
e710: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
e720: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
e730: 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37  ="right">69.7277
e740: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  26</td><td>NULL<
e750: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
e760: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
e770: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
e780: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e790: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e7a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e7b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e7c0: 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >4</td><td align
e7d0: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
e7e0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
e7f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
e800: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4414</td><td ali
e810: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
e820: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
e830: 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f  "right">183286</
e840: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e850: 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c  ght">136.372057<
e860: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e870: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49  ><td>VIA MARGARI
e880: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TONE</td>..</tr>
e890: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
e8a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e8b0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e8c0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e8d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e8e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63  L</td><td>Unreac
e8f0: 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64  hable NodeTo</td
e900: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e910: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e920: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
e930: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 39 30  lign="right">290
e940: 34 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  458</td><td>NULL
e950: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e960: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
e970: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
e980: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e990: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e9a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e9b0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e9c0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e9d0: 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65  Unreachable Node
e9e0: 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  To</td><td>NULL<
e9f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
ea00: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
ea10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
ea20: 74 22 3e 31 32 34 36 32 32 3c 2f 74 64 3e 3c 74  t">124622</td><t
ea30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
ea40: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
ea50: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f  </td>..</tr>..</
ea60: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65  table>..<br>..Le
ea70: 74 27 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d  t's quickly exam
ea80: 69 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73 65  ine the resultse
ea90: 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  t returned by th
eaa0: 65 20 61 62 6f 76 65 20 3c 62 3e 6d 75 6c 74 69  e above <b>multi
eab0: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62  -destinations</b
eac0: 3e 20 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a  > query...<ul>..
ead0: 3c 6c 69 3e 74 68 65 20 6f 76 65 72 61 6c 6c 20  <li>the overall 
eae0: 6c 61 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73 74  layout is almost
eaf0: 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d   exactly the sam
eb00: 65 20 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65  e as you've alre
eb10: 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20  ady seen in the 
eb20: 63 61 73 65 20 6f 66 20 3c 62 3e 73 69 6e 67 6c  case of <b>singl
eb30: 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62  e-destination</b
eb40: 3e 20 71 75 65 72 69 65 73 2c 20 62 75 74 20 69  > queries, but i
eb50: 6e 20 74 68 69 73 20 63 61 73 65 20 6d 6f 72 65  n this case more
eb60: 20 69 6e 64 69 76 69 64 75 61 6c 20 74 72 61 76   individual trav
eb70: 65 6c 20 73 6f 6c 75 74 69 6f 6e 73 20 61 72 65  el solutions are
eb80: 20 67 72 6f 75 70 65 64 20 61 6c 74 6f 67 65 74   grouped altoget
eb90: 68 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  her.</li>..<li>t
eba0: 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c  he <b>first row<
ebb0: 2f 62 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c  /b> of the resul
ebc0: 74 73 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20  tset is someway 
ebd0: 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64  exceptional, and
ebe0: 20 69 73 20 74 68 65 20 75 6e 69 71 75 65 20 72   is the unique r
ebf0: 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74  ow of the result
ec00: 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c  set presenting <
ec10: 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76  b>NOT NULL</b> v
ec20: 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e  alues in the <b>
ec30: 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c  Algorithm</b>, <
ec40: 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c  b>Request</b>, <
ec50: 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e  b>Options</b> an
ec60: 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f  d <b>Delimiter</
ec70: 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e  b> columns.</li>
ec80: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 75  ..<li>the <b>Rou
ec90: 74 65 49 64 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20  teId</b> column 
eca0: 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 67  is intended to g
ecb0: 72 6f 75 70 20 74 6f 67 65 74 68 65 72 20 61 6c  roup together al
ecc0: 6c 20 72 6f 77 73 20 62 65 6c 6f 6e 67 69 6e 67  l rows belonging
ecd0: 20 74 6f 20 73 61 6d 65 20 74 72 61 76 65 6c 20   to same travel 
ece0: 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 61 6b 61  solution (<i>aka
ecf0: 3c 2f 69 3e 20 3c 62 3e 52 6f 75 74 65 3c 2f 62  </i> <b>Route</b
ed00: 3e 29 2e 3c 62 72 3e 0d 0a 52 6f 75 74 65 73 20  >).<br>..Routes 
ed10: 61 72 65 20 70 72 6f 67 72 65 73 73 69 76 65 6c  are progressivel
ed20: 79 20 6e 75 6d 62 65 72 65 64 20 61 6e 64 20 61  y numbered and a
ed30: 72 65 20 6f 72 64 65 72 65 64 20 61 63 63 6f 72  re ordered accor
ed40: 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 69 72 20  dingly to their 
ed50: 3c 62 3e 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 62  <b>total cost</b
ed60: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  >.</li>..<li>the
ed70: 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e   <b>RouteRow</b>
ed80: 20 63 6f 6c 75 6d 6e 20 68 61 73 20 74 68 65 20   column has the 
ed90: 73 61 6d 65 20 69 6e 74 65 72 70 72 65 74 61 74  same interpretat
eda0: 69 6f 6e 20 61 73 20 69 6e 20 73 69 6e 67 6c 65  ion as in single
edb0: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 72 65 73  -destination res
edc0: 75 6c 74 73 65 74 73 2c 20 61 6e 64 20 69 73 20  ultsets, and is 
edd0: 69 6e 74 65 6e 64 65 64 20 74 6f 20 70 72 6f 67  intended to prog
ede0: 72 65 73 73 69 76 65 6c 79 20 6f 72 64 65 72 20  ressively order 
edf0: 69 6e 20 74 68 65 20 63 6f 72 72 65 63 74 20 73  in the correct s
ee00: 65 71 75 65 6e 63 65 20 61 6c 6c 20 4c 69 6e 6b  equence all Link
ee10: 73 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65  s connecting the
ee20: 20 4f 72 69 67 69 6e 20 61 6e 64 20 74 68 65 20   Origin and the 
ee30: 44 65 73 74 69 6e 61 74 69 6f 6e 20 6f 66 20 65  Destination of e
ee40: 61 63 68 20 52 6f 75 74 65 2e 3c 62 72 3e 0d 0a  ach Route.<br>..
ee50: 3c 62 3e 52 6f 75 74 65 52 6f 77 3d 30 3c 2f 62  <b>RouteRow=0</b
ee60: 3e 20 61 6c 77 61 79 73 20 69 64 65 6e 74 69 66  > always identif
ee70: 69 65 73 20 74 68 65 20 68 65 61 64 65 72 20 72  ies the header r
ee80: 6f 77 20 6f 66 20 65 61 63 68 20 74 72 61 76 65  ow of each trave
ee90: 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e  l solution.</li>
eea0: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c  ..</ul>..<br>..<
eeb0: 75 3e 4e 6f 74 69 63 65 3c 2f 75 3e 3a 20 74 68  u>Notice</u>: th
eec0: 65 20 6c 61 73 74 20 74 77 6f 20 72 6f 77 73 20  e last two rows 
eed0: 69 6e 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  in the resultset
eee0: 20 72 65 70 6f 72 74 73 20 3c 62 3e 55 6e 72 65   reports <b>Unre
eef0: 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 09 3c  achable NodeTo.<
ef00: 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52 6f  /b> in the <b>Ro
ef10: 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2c 20 74  le</b> column, t
ef20: 68 75 73 20 69 6d 70 6c 79 69 6e 67 20 61 20 3c  hus implying a <
ef30: 62 3e 66 6f 72 62 69 64 64 65 6e 20 63 6f 6e 6e  b>forbidden conn
ef40: 65 63 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d  ection</b>.<br>.
ef50: 0a 54 68 69 73 20 77 61 73 20 70 75 72 70 6f 73  .This was purpos
ef60: 65 6c 79 20 69 6e 74 65 6e 64 65 64 3a 20 4e 6f  ely intended: No
ef70: 64 65 73 20 3c 62 3e 32 39 30 34 35 38 3c 2f 62  des <b>290458</b
ef80: 3e 20 61 6e 64 20 3c 62 3e 31 32 34 36 32 32 3c  > and <b>124622<
ef90: 2f 62 3e 20 61 72 65 20 6c 6f 63 61 74 65 64 20  /b> are located 
efa0: 6f 6e 20 45 6c 62 61 20 61 6e 64 20 47 69 67 6c  on Elba and Gigl
efb0: 69 6f 20 69 73 6c 61 6e 64 73 2e 20 54 68 65 20  io islands. The 
efc0: 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77  underlaying Netw
efd0: 6f 72 6b 20 69 73 20 62 61 73 65 64 20 6f 6e 20  ork is based on 
efe0: 3c 62 3e 49 74 65 72 2e 4e 65 74 3c 2f 62 3e 20  <b>Iter.Net</b> 
eff0: 74 68 61 74 20 64 6f 6e 27 74 20 73 75 70 70 6f  that don't suppo
f000: 72 74 73 20 66 65 72 72 79 20 63 6f 6e 6e 65 63  rts ferry connec
f010: 74 69 6f 6e 73 2c 20 73 6f 20 61 6e 79 20 74 72  tions, so any tr
f020: 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 62 65  avel solution be
f030: 74 77 65 65 6e 20 74 68 65 20 69 73 6c 61 6e 64  tween the island
f040: 73 20 61 6e 64 20 74 68 65 20 6d 61 69 6e 6c 61  s and the mainla
f050: 6e 64 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 66  nd will always f
f060: 61 69 6c 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62  ail...<br><br><b
f070: 72 3e 0d 0a 41 6c 73 6f 20 3c 62 3e 6d 75 6c 74  r>..Also <b>mult
f080: 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f  i-destinations</
f090: 62 3e 20 71 75 65 72 69 65 73 20 63 61 6e 20 62  b> queries can b
f0a0: 65 20 63 75 73 74 6f 6d 69 7a 65 64 2c 20 62 75  e customized, bu
f0b0: 74 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74  t the configurat
f0c0: 69 6f 6e 20 72 75 6c 65 73 20 73 6c 69 67 68 74  ion rules slight
f0d0: 6c 79 20 64 69 66 66 65 72 20 66 72 6f 6d 20 77  ly differ from w
f0e0: 68 61 74 20 79 6f 75 20 68 61 76 65 20 61 6c 72  hat you have alr
f0f0: 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65  eady seen in the
f100: 20 63 61 73 65 20 6f 66 20 73 69 6e 67 6c 65 2d   case of single-
f110: 64 65 73 74 69 6e 61 74 69 6f 6e 2e 0d 0a 3c 75  destination...<u
f120: 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 41 6c 67 6f 72  l>..<li><b>Algor
f130: 69 74 68 6d 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 3c  ithm</b>: only <
f140: 62 3e 44 69 6a 6b 73 74 72 61 3c 2f 62 3e 20 69  b>Dijkstra</b> i
f150: 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 6d  s supported by m
f160: 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ulti-destination
f170: 3b 20 61 6e 79 20 61 74 74 65 6d 70 74 20 74 6f  ; any attempt to
f180: 20 75 73 65 20 74 68 65 20 61 6c 74 65 72 6e 61   use the alterna
f190: 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61  tive <b>A*</b> a
f1a0: 6c 67 6f 72 69 74 68 6d 20 77 69 6c 6c 20 73 69  lgorithm will si
f1b0: 6d 70 6c 79 20 72 65 74 75 72 6e 20 61 6e 20 65  mply return an e
f1c0: 6d 70 74 79 20 72 65 73 75 6c 74 73 65 74 2e 3c  mpty resultset.<
f1d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4f 70 74  /li>..<li><b>Opt
f1e0: 69 6f 6e 73 3c 2f 62 3e 3a 20 74 68 65 20 75 73  ions</b>: the us
f1f0: 75 61 6c 20 3c 62 3e 46 55 4c 4c 3c 2f 62 3e 2c  ual <b>FULL</b>,
f200: 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e 2c 20   <b>SIMPLE</b>, 
f210: 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20  <b>NO LINKS</b> 
f220: 61 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54  and <b>NO GEOMET
f230: 52 49 45 53 3c 2f 62 3e 20 61 72 65 20 73 75 70  RIES</b> are sup
f240: 70 6f 72 74 65 64 20 61 6e 64 20 77 69 6c 6c 20  ported and will 
f250: 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 65 66  have the same ef
f260: 66 65 63 74 20 61 73 20 69 6e 20 73 69 6e 67 6c  fect as in singl
f270: 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75  e-destination qu
f280: 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  eries.</li>..</u
f290: 6c 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  l>..<verbatim>..
f2a0: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
f2b0: 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 53 49 4d  T Options = 'SIM
f2c0: 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  PLE';....SELECT 
f2d0: 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65  Algorithm, Reque
f2e0: 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c  st, Options, Del
f2f0: 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c  imiter, RouteId,
f300: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
f310: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
f320: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
f330: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
f340: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
f350: 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
f360: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
f370: 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 32 39  eTo = '183286,29
f380: 30 34 35 38 2c 31 38 31 39 39 39 2c 31 38 34 30  0458,181999,1840
f390: 33 30 2c 31 32 34 36 32 32 2c 31 38 33 38 38 32  30,124622,183882
f3a0: 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72  ,178754';..</ver
f3b0: 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c 6c  batim>..The foll
f3c0: 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77  owing table show
f3d0: 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  s the resultset 
f3e0: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
f3f0: 73 61 6d 65 20 6d 75 6c 74 69 2d 64 65 73 74 69  same multi-desti
f400: 6e 61 74 69 6f 6e 20 71 75 65 72 79 20 75 73 65  nation query use
f410: 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75  d in the previou
f420: 73 20 65 78 61 6d 70 6c 65 20 61 66 74 65 72 20  s example after 
f430: 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 3c 62 3e  enabling the <b>
f440: 53 49 4d 50 4c 45 3c 2f 62 3e 20 6f 70 74 69 6f  SIMPLE</b> optio
f450: 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74  n...<br><br>..<t
f460: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20  able border="1" 
f470: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66  bgcolor="#ffffcf
f480: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34  " cellspacing="4
f490: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
f4a0: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f  ">..<tr><th bgco
f4b0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c  lor="#d0d0a0">Al
f4c0: 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20  gorithm</th><th 
f4d0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
f4e0: 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74  ">Request</th><t
f4f0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
f500: 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e  a0">Options</th>
f510: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
f520: 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c  d0a0">Delimiter<
f530: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
f540: 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49  "#d0d0a0">RouteI
f550: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
f560: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
f570: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
f580: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
f590: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
f5a0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
f5b0: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
f5c0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
f5d0: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
f5e0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f5f0: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
f600: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
f610: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
f620: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f630: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
f640: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
f650: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
f660: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ></tr>..<tr>..<t
f670: 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c  d>Dijkstra</td><
f680: 74 64 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68  td>Shortest Path
f690: 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74  </td><td>Full</t
f6a0: 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63  d><td>, &#91;dec
f6b0: 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b  =44, hex=2c&#93;
f6c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
f6d0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
f6e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
f6f0: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
f700: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
f710: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
f720: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
f730: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
f740: 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  83882</td><td al
f750: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e  ign="right">154.
f760: 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 4e  750839</td><td>N
f770: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
f780: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
f790: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
f7a0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
f7b0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
f7c0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
f7d0: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
f7e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
f7f0: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
f800: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
f810: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
f820: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
f830: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
f840: 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64  ">184030</td><td
f850: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
f860: 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 74  76.364755</td><t
f870: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
f880: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
f890: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
f8a0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
f8b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
f8c0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
f8d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
f8e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
f8f0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
f900: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
f910: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
f920: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
f930: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
f940: 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e  ght">178754</td>
f950: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
f960: 22 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f 74 64  ">224.677095</td
f970: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
f980: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
f990: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
f9a0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
f9b0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
f9c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
f9d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
f9e0: 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
f9f0: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
fa00: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
fa10: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
fa20: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
fa30: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
fa40: 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
fa50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
fa60: 67 68 74 22 3e 32 36 30 2e 31 33 32 33 35 34 3c  ght">260.132354<
fa70: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fa80: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
fa90: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
faa0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fab0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fac0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fad0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fae0: 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">4</td><td ali
faf0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
fb00: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
fb10: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
fb20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
fb30: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
fb40: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
fb50: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
fb60: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32  "right">300.9122
fb70: 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  08</td><td>NULL<
fb80: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fb90: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
fba0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fbb0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fbc0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fbd0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fbe0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fbf0: 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f  d>Unreachable No
fc00: 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  deTo</td><td>NUL
fc10: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
fc20: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
fc30: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
fc40: 67 68 74 22 3e 32 39 30 34 35 38 3c 2f 74 64 3e  ght">290458</td>
fc50: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fc60: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fc70: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
fc80: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
fc90: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fca0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fcb0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fcc0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fcd0: 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61  /td><td>Unreacha
fce0: 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c  ble NodeTo</td><
fcf0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
fd00: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
fd10: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
fd20: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 34 36 32  gn="right">12462
fd30: 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  2</td><td>NULL</
fd40: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fd50: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
fd60: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
fd70: 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65  <br>..The map be
fd80: 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20  low graphically 
fd90: 73 68 6f 77 73 20 74 68 65 20 70 72 65 76 69 6f  shows the previo
fda0: 75 73 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74  us <b>multi-dest
fdb0: 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65  inations</b> que
fdc0: 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  ries...<br><br>.
fdd0: 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73  .<img src="https
fde0: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
fdf0: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75  it/gaia-sins/rou
fe00: 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e  ting-figs/routin
fe10: 67 33 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67  g3.jpg" alt="fig
fe20: 33 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52  3">..<ul>..<li>R
fe30: 65 64 20 73 74 61 72 3a 20 74 68 65 20 4f 72 69  ed star: the Ori
fe40: 67 69 6e 20 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a  gin Node.</li>..
fe50: 3c 6c 69 3e 47 72 65 65 6e 20 64 6f 74 73 3a 20  <li>Green dots: 
fe60: 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 20  the Destination 
fe70: 4e 6f 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  Nodes.</li>..<li
fe80: 3e 59 65 6c 6c 6f 77 20 6c 69 6e 65 73 3a 20 61  >Yellow lines: a
fe90: 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 74 72  ll individual tr
fea0: 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 73 2e 3c  avel solutions.<
feb0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  /li>..</ul>..<br
fec0: 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f  >..<table bgcolo
fed0: 72 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c  r="#ffb060" cell
fee0: 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c  spacing="10" cel
fef0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72  lpadding="6"><tr
ff00: 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 44 61 6e 67 65  ><td>..<h3>Dange
ff10: 72 6f 75 73 20 70 69 74 66 61 6c 6c 73 20 72 65  rous pitfalls re
ff20: 6c 61 74 65 64 20 74 6f 20 6d 75 6c 74 69 70 6c  lated to multipl
ff30: 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 6c 69  e destination li
ff40: 73 74 73 3c 2f 68 33 3e 0d 0a 53 51 4c 20 73 79  sts</h3>..SQL sy
ff50: 6e 74 61 78 20 64 69 72 65 63 74 6c 79 20 61 6c  ntax directly al
ff60: 6c 6f 77 73 20 74 6f 20 73 70 65 63 69 66 79 20  lows to specify 
ff70: 6c 69 73 74 73 20 6f 66 20 20 6d 75 6c 74 69 70  lists of  multip
ff80: 6c 65 20 76 61 6c 75 65 73 2c 20 73 6f 20 6d 61  le values, so ma
ff90: 79 20 62 65 20 79 6f 75 20 61 72 65 20 6e 6f 77  y be you are now
ffa0: 20 77 6f 6e 64 65 72 69 6e 67 20 61 62 6f 75 74   wondering about
ffb0: 20 77 72 69 74 69 6e 67 20 74 68 65 20 3c 62 3e   writing the <b>
ffc0: 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61  multiple destina
ffd0: 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79 20  tions</b> query 
ffe0: 74 65 73 74 65 64 20 69 6e 20 74 68 65 20 70 72  tested in the pr
fff0: 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 73 20  evious examples 
10000 74 68 69 73 20 77 61 79 3a 0d 0a 3c 76 65 72 62  this way:..<verb
10010 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c  atim>..SELECT Al
10020 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74  gorithm, Request
10030 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d  , Options, Delim
10040 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52  iter, RouteId, R
10050 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
10060 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
10070 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
10080 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
10090 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
100a0 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20  HERE NodeFrom = 
100b0 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54  178731 AND NodeT
100c0 6f 20 49 4e 20 28 31 38 33 32 38 36 2c 20 32 39  o IN (183286, 29
100d0 30 34 35 38 2c 20 31 38 31 39 39 39 2c 20 31 38  0458, 181999, 18
100e0 34 30 33 30 2c 20 31 32 34 36 32 32 2c 20 31 38  4030, 124622, 18
100f0 33 38 38 32 2c 20 31 37 38 37 35 34 29 3b 0d 0a  3882, 178754);..
10100 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65  </verbatim>..The
10110 72 65 20 69 73 20 61 20 76 65 72 79 20 67 6f 6f  re is a very goo
10120 64 20 72 65 61 73 6f 6e 20 64 69 73 63 6f 75 72  d reason discour
10130 61 67 69 6e 67 20 66 72 6f 6d 20 64 6f 69 6e 67  aging from doing
10140 20 73 75 63 68 20 61 20 74 68 69 6e 67 2c 20 6c   such a thing, l
10150 65 74 27 73 20 73 65 65 20 77 68 79 2e 3c 62 72  et's see why.<br
10160 3e 0d 0a 3c 62 3e 53 51 4c 69 74 65 3c 2f 62 3e  >..<b>SQLite</b>
10170 20 77 69 6c 6c 20 70 72 6f 63 65 73 73 20 61 20   will process a 
10180 72 65 71 75 65 73 74 20 77 72 69 74 74 65 6e 20  request written 
10190 74 68 69 73 20 77 61 79 20 62 79 20 72 65 70 65  this way by repe
101a0 61 74 65 64 6c 79 20 63 61 6c 6c 69 6e 67 20 56  atedly calling V
101b0 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 70 61  irtualRouting pa
101c0 73 73 69 6e 67 20 65 61 63 68 20 74 69 6d 65 20  ssing each time 
101d0 61 20 73 69 6e 67 6c 65 20 44 65 73 74 69 6e 61  a single Destina
101e0 74 69 6f 6e 3b 20 61 6e 64 20 63 6f 6e 73 65 71  tion; and conseq
101f0 75 65 6e 74 6c 79 20 3c 62 3e 56 69 72 74 75 61  uently <b>Virtua
10200 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 77 69 6c  lRouting</b> wil
10210 6c 20 6e 65 76 65 72 20 72 65 63 65 69 76 65 20  l never receive 
10220 74 68 65 20 63 72 69 74 69 63 61 6c 20 69 6e 66  the critical inf
10230 6f 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 61 20  ormation that a 
10240 73 69 6e 67 6c 65 20 6d 6f 6e 6f 6c 69 74 68 69  single monolithi
10250 63 20 72 65 71 75 65 73 74 20 77 61 73 20 69 6e  c request was in
10260 74 65 6e 64 65 64 20 74 6f 20 62 65 20 65 78 65  tended to be exe
10270 63 75 74 65 64 20 69 6e 20 61 20 73 69 6e 67 6c  cuted in a singl
10280 65 20 73 68 6f 74 2e 20 53 6f 20 74 68 65 20 72  e shot. So the r
10290 65 71 75 65 73 74 20 63 6f 6e 74 65 78 74 20 77  equest context w
102a0 69 6c 6c 20 62 65 20 65 61 73 69 6c 79 20 6d 69  ill be easily mi
102b0 73 69 6e 74 65 72 70 72 65 74 65 64 2c 20 61 6e  sinterpreted, an
102c0 64 20 61 6e 79 20 65 78 70 65 63 74 65 64 20 73  d any expected s
102d0 70 65 65 64 20 62 65 6e 65 66 69 74 20 77 69 6c  peed benefit wil
102e0 6c 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20  l be completely 
102f0 66 72 75 73 74 72 61 74 65 64 2e 0d 0a 3c 68 33  frustrated...<h3
10300 3e 42 65 77 61 72 65 3c 2f 68 33 3e 0d 0a 3c 62  >Beware</h3>..<b
10310 3e 4e 65 76 65 72 20 65 76 65 72 3c 2f 62 3e 20  >Never ever</b> 
10320 61 74 74 65 6d 70 74 20 74 6f 20 64 65 66 69 6e  attempt to defin
10330 65 20 61 20 6c 69 73 74 20 6f 66 20 6d 75 6c 74  e a list of mult
10340 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e  iple destination
10350 73 20 75 73 69 6e 67 20 74 68 65 20 73 74 61 6e  s using the stan
10360 64 61 72 64 20 53 51 4c 20 73 79 6e 74 61 78 20  dard SQL syntax 
10370 3c 62 3e 3c 69 3e 57 48 45 52 45 20 4e 6f 64 65  <b><i>WHERE Node
10380 54 6f 20 49 4e 20 28 2e 2e 2e 2e 2e 2e 29 3c 2f  To IN (......)</
10390 69 3e 3c 2f 62 3e 2c 20 62 65 63 61 75 73 65 20  i></b>, because 
103a0 74 68 69 73 20 77 69 6c 6c 20 63 65 72 74 61 69  this will certai
103b0 6e 6c 79 20 63 61 75 73 65 20 6d 61 6e 79 20 75  nly cause many u
103c0 6e 65 78 70 65 63 74 65 64 20 74 72 6f 75 62 6c  nexpected troubl
103d0 65 73 2e 3c 62 72 3e 0d 0a 42 61 64 6c 79 20 66  es.<br>..Badly f
103e0 6f 72 6d 61 74 74 65 64 20 72 65 73 75 6c 74 73  ormatted results
103f0 65 74 73 20 77 69 6c 6c 20 62 65 20 74 68 65 6e  ets will be then
10400 20 72 65 74 75 72 6e 65 64 2c 20 6d 61 79 20 62   returned, may b
10410 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77 72 6f  e containing wro
10420 6e 67 20 72 65 73 75 6c 74 73 2e 20 3c 62 3e 59  ng results. <b>Y
10430 6f 75 20 61 72 65 20 77 61 72 6e 65 64 3c 2f 62  ou are warned</b
10440 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64  >.<br><br>..</td
10450 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a  ></tr></table>..
10460 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
10470 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63  olor="#c0ffc0" c
10480 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
10490 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
104a0 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 6f  <tr><td>..<h3>Ho
104b0 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 66  w to correctly f
104c0 6f 72 6d 61 74 20 6d 75 6c 74 69 70 6c 65 20 64  ormat multiple d
104d0 65 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74  estinations list
104e0 73 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52  s</h3>..VirtualR
104f0 6f 75 74 69 6e 67 20 61 6c 77 61 79 73 20 65 78  outing always ex
10500 70 65 63 74 73 20 74 6f 20 72 65 63 65 69 76 65  pects to receive
10510 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74   a <b>multi-dest
10520 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 6c 69 73  inations</b> lis
10530 74 20 61 73 20 61 20 3c 62 3e 54 45 58 54 3c 2f  t as a <b>TEXT</
10540 62 3e 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69  b> string contai
10550 6e 69 6e 67 20 74 69 67 68 74 6c 79 20 70 61 63  ning tightly pac
10560 6b 65 64 20 76 61 6c 75 65 73 20 73 65 70 61 72  ked values separ
10570 61 74 65 64 20 62 79 20 61 20 63 6f 6e 76 65 6e  ated by a conven
10580 74 69 6f 6e 61 6c 20 3c 62 3e 64 65 6c 69 6d 69  tional <b>delimi
10590 74 65 72 3c 2f 62 3e 20 28 75 73 75 61 6c 6c 79  ter</b> (usually
105a0 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20   represented by 
105b0 61 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 29 2e  a <b>comma</b>).
105c0 3c 62 72 3e 0d 0a 45 78 61 6d 70 6c 65 73 20 6f  <br>..Examples o
105d0 66 20 3c 62 3e 77 65 6c 6c 20 66 6f 72 6d 61 74  f <b>well format
105e0 74 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d 64 65  ted</b> multi-de
105f0 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74 73  stinations lists
10600 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 27  :..<verbatim>..'
10610 31 2c 32 2c 33 2c 34 2c 35 2c 31 30 2c 31 30 30  1,2,3,4,5,10,100
10620 2c 31 30 30 30 2c 31 30 30 30 30 30 27 20 20 20  ,1000,100000'   
10630 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20  -- integer Node 
10640 49 44 73 0d 0a 0d 0a 27 41 31 30 30 42 2c 41 31  IDs....'A100B,A1
10650 30 30 46 2c 42 32 35 30 5a 2c 43 30 31 30 4d 2c  00F,B250Z,C010M,
10660 5a 39 39 39 41 27 20 20 2d 2d 20 61 6c 70 68 61  Z999A'  -- alpha
10670 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f 64  numeric Node Cod
10680 65 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  es..</verbatim>.
10690 0a 45 78 61 6d 70 6c 65 73 20 6f 66 20 3c 62 3e  .Examples of <b>
106a0 62 61 64 6c 79 20 66 6f 72 6d 61 74 74 65 64 3c  badly formatted<
106b0 2f 62 3e 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e  /b> multi-destin
106c0 61 74 69 6f 6e 73 20 6c 69 73 74 73 3a 0d 0a 3c  ations lists:..<
106d0 76 65 72 62 61 74 69 6d 3e 0d 0a 27 20 20 31 2c  verbatim>..'  1,
106e0 20 32 2c 20 33 2c 20 34 20 2c 20 35 20 2c 20 31   2, 3, 4 , 5 , 1
106f0 30 2c 20 31 30 30 2c 20 31 30 30 30 2c 20 31 30  0, 100, 1000, 10
10700 30 30 30 30 20 20 27 20 20 20 2d 2d 20 69 6e 74  0000  '   -- int
10710 65 67 65 72 20 4e 6f 64 65 20 49 44 73 0d 0a 0d  eger Node IDs...
10720 0a 27 20 20 41 31 30 30 42 2c 20 41 31 30 30 46  .'  A100B, A100F
10730 20 2c 20 42 32 35 30 5a 20 2c 20 43 30 31 30 4d   , B250Z , C010M
10740 2c 20 5a 39 39 39 41 20 20 27 20 20 20 20 20 20  , Z999A  '      
10750 2d 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20  -- alphanumeric 
10760 4e 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76 65  Node Codes..</ve
10770 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65  rbatim>..<u>Note
10780 3c 2f 75 3e 3a 20 61 6c 6c 20 77 68 69 74 65 73  </u>: all whites
10790 70 61 63 65 73 20 69 6d 6d 65 64 69 61 74 65 6c  paces immediatel
107a0 79 20 70 72 65 63 65 64 69 6e 67 20 6f 72 20 66  y preceding or f
107b0 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 3c 62 3e  ollowing the <b>
107c0 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 77 69  delimiter</b> wi
107d0 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64  ll be considered
107e0 20 74 6f 20 62 65 20 69 6e 74 65 67 72 61 6c 20   to be integral 
107f0 70 61 72 74 20 6f 66 20 74 68 65 20 76 61 6c 75  part of the valu
10800 65 20 69 74 73 65 6c 66 2e 3c 62 72 3e 0d 0a 54  e itself.<br>..T
10810 68 69 73 20 77 69 6c 6c 20 68 61 76 65 20 6e 6f  his will have no
10820 20 61 64 76 65 72 73 65 20 63 6f 6e 73 65 71 75   adverse consequ
10830 65 6e 63 65 73 20 69 6e 20 74 68 65 20 63 61 73  ences in the cas
10840 65 20 6f 66 20 69 6e 74 65 67 65 72 20 76 61 6c  e of integer val
10850 75 65 73 2c 20 62 75 74 20 63 61 6e 20 65 61 73  ues, but can eas
10860 69 6c 79 20 68 61 76 65 20 63 61 74 61 73 74 72  ily have catastr
10870 6f 70 68 69 63 20 65 66 66 65 63 74 73 20 6f 6e  ophic effects on
10880 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 76 61   alphanumeric va
10890 6c 75 65 73 2e 0d 0a 3c 68 33 3e 44 65 66 69 6e  lues...<h3>Defin
108a0 69 6e 67 20 61 20 63 75 73 74 6f 6d 20 64 65 6c  ing a custom del
108b0 69 6d 69 74 65 72 3c 2f 68 33 3e 0d 0a 53 6f 6d  imiter</h3>..Som
108c0 65 74 69 6d 65 73 20 69 74 20 63 6f 75 6c 64 20  etimes it could 
108d0 62 65 20 75 73 65 66 75 6c 20 73 65 74 74 69 6e  be useful settin
108e0 67 20 75 70 20 61 20 64 65 6c 69 6d 69 74 65 72  g up a delimiter
108f0 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20   different from 
10900 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 2e 0d 0a 3c  <b>comma</b>...<
10910 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
10920 45 20 62 79 66 6f 6f 74 20 53 45 54 20 44 65 6c  E byfoot SET Del
10930 69 6d 69 74 65 72 20 3d 20 27 2a 27 3b 0d 0a 0d  imiter = '*';...
10940 0a 53 45 4c 45 43 54 20 44 65 6c 69 6d 69 74 65  .SELECT Delimite
10950 72 20 46 52 4f 4d 20 62 79 66 6f 6f 74 3b 0d 0a  r FROM byfoot;..
10960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
10970 2d 2d 0d 0a 2a 20 5b 64 65 63 3d 34 32 2c 20 68  --..* [dec=42, h
10980 65 78 3d 32 61 5d 0d 0a 3c 2f 76 65 72 62 61 74  ex=2a]..</verbat
10990 69 6d 3e 20 0d 0a 59 6f 75 20 73 69 6d 70 6c 79  im> ..You simply
109a0 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 65   have to execute
109b0 20 61 6e 20 3c 62 3e 55 50 44 41 54 45 3c 2f 62   an <b>UPDATE</b
109c0 3e 20 73 74 61 74 65 6d 65 6e 74 20 62 79 20 73  > statement by s
109d0 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 6e 65  pecifying the ne
109e0 77 20 64 65 6c 69 6d 69 74 65 72 20 76 61 6c 75  w delimiter valu
109f0 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64  e.<br><br>..</td
10a00 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a  ></tr></table>..
10a10 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 61 20 68  ..<hr><br>..<a h
10a20 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77  ref="https://www
10a30 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73  .gaia-gis.it/fos
10a40 73 69 6c 2f 6c 69 62 73 70 61 74 69 61 6c 69 74  sil/libspatialit
10a50 65 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e  e/wiki?name=4.3.
10a60 30 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f 61 3e 0a  0-doc">back</a>.
10a70 5a 20 35 38 37 37 66 30 39 62 33 62 37 38 38 33  Z 5877f09b3b7883
10a80 33 63 38 63 38 37 32 33 33 35 38 39 32 62 39 34  3c8c872335892b94
10a90 30 66 0a                                         0f.