Hex Artifact Content
Not logged in

Artifact dd6bf340f43353db01762994ceee9822dca1e0a3:

Wiki page [VirtualRouting] by sandro 2018-04-04 11:49:39.
0000: 44 20 32 30 31 38 2d 30 34 2d 30 34 54 31 31 3a  D 2018-04-04T11:
0010: 34 39 3a 33 39 2e 33 36 33 0a 4c 20 56 69 72 74  49:39.363.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 35 36 30  ualRouting.P 560
0030: 62 35 36 36 66 66 38 65 63 32 64 66 37 63 37 66  b566ff8ec2df7c7f
0040: 65 65 38 30 31 66 30 32 32 38 32 39 66 37 30 31  ee801f022829f701
0050: 63 62 30 37 39 0a 55 20 73 61 6e 64 72 6f 0a 57  cb079.U sandro.W
0060: 20 36 35 32 30 35 0a 3c 61 20 68 72 65 66 3d 22   65205.<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 0d 0a 3c  /li>..</ul>....<
fec0: 68 72 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72 65 66  hr><br>..<a href
fed0: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61  ="https://www.ga
fee0: 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c  ia-gis.it/fossil
fef0: 2f 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77  /libspatialite/w
ff00: 69 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64  iki?name=4.3.0-d
ff10: 6f 63 22 3e 62 61 63 6b 3c 2f 61 3e 0a 5a 20 64  oc">back</a>.Z d
ff20: 61 35 31 65 36 31 39 62 34 31 62 63 61 34 31 63  a51e619b41bca41c
ff30: 31 66 37 30 33 35 37 32 37 65 32 36 31 39 35 0a  1f7035727e26195.