Hex Artifact Content
Not logged in

Artifact e4ff52035a120a693d7574d657a4620dfca584c1:

Wiki page [VirtualRouting] by sandro 2018-04-07 19:45:34.
0000: 44 20 32 30 31 38 2d 30 34 2d 30 37 54 31 39 3a  D 2018-04-07T19:
0010: 34 35 3a 33 34 2e 30 31 36 0a 4c 20 56 69 72 74  45:34.016.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 39 65 61  ualRouting.P 9ea
0030: 64 64 39 64 31 32 39 64 30 36 37 66 32 64 39 39  dd9d129d067f2d99
0040: 37 61 62 65 65 34 64 61 64 33 37 63 66 38 34 63  7abee4dad37cf84c
0050: 39 38 31 30 63 0a 55 20 73 61 6e 64 72 6f 0a 57  9810c.U sandro.W
0060: 20 38 37 30 31 37 0a 3c 61 20 68 72 65 66 3d 22   87017.<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 36 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 74  .6 - <a href="#t
0220: 73 70 22 3e 53 6f 6c 76 69 6e 67 20 54 53 50 20  sp">Solving TSP 
0230: 28 74 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 73  (traveling sales
0240: 6d 61 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61  man) problems</a
0250: 3e 3c 62 72 3e 0d 0a 3c 62 72 3e 3c 68 72 3e 0d  ><br>..<br><hr>.
0260: 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 69 6e  .<h1><a name="in
0270: 74 72 6f 22 3e 31 20 2d 20 49 6e 74 72 6f 64 75  tro">1 - Introdu
0280: 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a  ction</a></h1>..
0290: 50 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e  Previous version
02a0: 73 20 6f 66 20 53 70 61 74 69 61 4c 69 74 65 20  s of SpatiaLite 
02b0: 74 72 61 64 69 74 69 6f 6e 61 6c 6c 79 20 73 75  traditionally su
02c0: 70 70 6f 72 74 65 64 20 61 20 3c 62 3e 70 75 72  pported a <b>pur
02d0: 65 20 53 51 4c 20 72 6f 75 74 69 6e 67 20 6d 6f  e SQL routing mo
02e0: 64 75 6c 65 3c 2f 62 3e 20 74 68 61 74 20 77 61  dule</b> that wa
02f0: 73 20 6e 61 6d 65 64 20 3c 61 20 68 72 65 66 3d  s named <a href=
0300: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
0310: 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f  a-gis.it/fossil/
0320: 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69  libspatialite/wi
0330: 6b 69 3f 6e 61 6d 65 3d 56 69 72 74 75 61 6c 4e  ki?name=VirtualN
0340: 65 74 77 6f 72 6b 2b 72 65 6c 6f 61 64 65 64 22  etwork+reloaded"
0350: 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 3c  >VirtualNetwork<
0360: 2f 61 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53 69  /a>.<br><br>..Si
0370: 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35  nce version <b>5
0380: 2e 30 2e 30 3c 2f 62 3e 20 61 20 62 72 61 6e 64  .0.0</b> a brand
0390: 20 6e 65 77 20 3c 62 3e 72 6f 75 74 69 6e 67 20   new <b>routing 
03a0: 6d 6f 64 75 6c 65 3c 2f 62 3e 20 28 6d 6f 72 65  module</b> (more
03b0: 20 61 64 76 61 6e 63 65 64 20 61 6e 64 20 73 6f   advanced and so
03c0: 70 68 69 73 74 69 63 61 74 65 64 29 20 69 73 20  phisticated) is 
03d0: 61 76 61 69 6c 61 62 6c 65 2c 20 74 68 61 74 20  available, that 
03e0: 69 73 20 63 61 6c 6c 65 64 20 3c 62 3e 56 69 72  is called <b>Vir
03f0: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 2e  tualRouting</b>.
0400: 3c 62 72 3e 0d 0a 54 68 65 20 6e 6f 77 20 6f 62  <br>..The now ob
0410: 73 6f 6c 65 74 65 20 3c 62 3e 56 69 72 74 75 61  solete <b>Virtua
0420: 6c 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73 20  lNetwork</b> is 
0430: 73 74 69 6c 6c 20 73 75 70 70 6f 72 74 65 64 20  still supported 
0440: 62 79 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35 2e  by version <b>5.
0450: 30 2e 30 3c 2f 62 3e 20 73 6f 20 61 73 20 74 6f  0.0</b> so as to
0460: 20 6e 6f 74 20 63 61 75 73 65 20 61 6e 20 61 62   not cause an ab
0470: 72 75 70 74 20 62 72 65 61 6b 20 74 6f 20 61 6c  rupt break to al
0480: 72 65 61 64 79 20 65 78 69 73 74 69 6e 67 20 61  ready existing a
0490: 70 70 6c 69 63 61 74 69 6f 6e 73 2c 20 62 75 74  pplications, but
04a0: 20 77 69 6c 6c 20 70 72 65 73 75 6d 61 62 6c 79   will presumably
04b0: 20 62 65 20 64 69 73 63 6f 6e 74 69 6e 75 65 64   be discontinued
04c0: 20 69 6e 20 66 75 74 75 72 65 20 76 65 72 73 69   in future versi
04d0: 6f 6e 73 2e 3c 62 72 3e 0d 0a 55 73 69 6e 67 20  ons.<br>..Using 
04e0: 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  <b>VirtualRoutin
04f0: 67 3c 2f 62 3e 20 69 6e 73 74 65 61 64 20 6f 66  g</b> instead of
0500: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 69   <b>VirtualNetwi
0510: 72 6b 3c 2f 62 3e 20 69 73 20 77 61 72 6d 6c 79  rk</b> is warmly
0520: 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 66 6f 72   recommended for
0530: 20 61 6e 79 20 6e 65 77 20 64 65 76 65 6c 6f 70   any new develop
0540: 6d 65 6e 74 2e 20 0d 0a 3c 68 32 3e 54 68 65 6f  ment. ..<h2>Theo
0550: 72 65 74 69 63 61 6c 20 66 6f 75 6e 64 61 74 69  retical foundati
0560: 6f 6e 73 20 2d 20 61 6e 20 75 6c 74 72 61 2d 71  ons - an ultra-q
0570: 75 69 63 6b 20 72 65 63 61 6c 6c 3c 2f 68 32 3e  uick recall</h2>
0580: 0d 0a 41 6c 6c 20 3c 62 3e 52 6f 75 74 69 6e 67  ..All <b>Routing
0590: 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 62 3e 20   algorithms</b> 
05a0: 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 53  (<i>aka</i> <b>S
05b0: 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 62 3e  hortest Path</b>
05c0: 20 61 6c 67 6f 72 69 74 68 6d 73 29 20 61 72 65   algorithms) are
05d0: 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6d 61   based on the ma
05e0: 74 68 65 6d 61 74 69 63 73 20 6f 66 20 74 68 65  thematics of the
05f0: 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a   <a href="https:
0600: 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f  //en.wikipedia.o
0610: 72 67 2f 77 69 6b 69 2f 47 72 61 70 68 5f 74 68  rg/wiki/Graph_th
0620: 65 6f 72 79 22 3e 47 72 61 70 68 20 74 68 65 6f  eory">Graph theo
0630: 72 79 3c 2f 61 3e 20 6f 72 20 74 6f 20 62 65 20  ry</a> or to be 
0640: 6d 6f 72 65 20 70 72 65 63 69 73 65 3a 20 6f 6e  more precise: on
0650: 20 3c 62 3e 57 65 69 67 68 74 65 64 20 47 72 61   <b>Weighted Gra
0660: 70 68 73 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 0d 0a  phs</b>...<br>..
0670: 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a  <img src="https:
0680: 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69  //www.gaia-gis.i
0690: 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74  t/gaia-sins/rout
06a0: 69 6e 67 2d 66 69 67 73 2f 6e 65 74 77 6f 72 6b  ing-figs/network
06b0: 2e 70 6e 67 22 20 61 6c 74 3d 22 6e 65 74 77 6f  .png" alt="netwo
06c0: 72 6b 22 3e 0d 0a 3c 62 72 3e 0d 0a 41 20 74 6f  rk">..<br>..A to
06d0: 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69  pologically vali
06e0: 64 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e  d <b>Network</b>
06f0: 20 69 73 20 61 20 64 61 74 61 73 65 74 20 74 68   is a dataset th
0700: 61 74 20 66 75 6c 66 69 6c 6c 73 20 74 68 65 20  at fulfills the 
0710: 66 6f 6c 6c 6f 77 69 6e 67 20 72 65 71 75 69 72  following requir
0720: 65 6d 65 6e 74 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  ements:..<ul>..<
0730: 6c 69 3e 41 6c 6c 20 69 74 65 6d 73 20 69 6e 20  li>All items in 
0740: 74 68 65 20 64 61 74 61 73 65 74 20 61 72 65 20  the dataset are 
0750: 63 61 6c 6c 65 64 20 3c 62 3e 4c 69 6e 6b 73 3c  called <b>Links<
0760: 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20  /b> (<i>aka</i> 
0770: 3c 62 3e 41 72 63 73 3c 2f 62 3e 29 2c 20 61 6e  <b>Arcs</b>), an
0780: 64 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74  d are expected t
0790: 6f 20 72 65 70 72 65 73 65 6e 74 20 73 6f 6d 65  o represent some
07a0: 20 6f 72 69 65 6e 74 65 64 20 63 6f 6e 6e 65 63   oriented connec
07b0: 74 69 6f 6e 20 6a 6f 69 6e 69 6e 67 20 74 77 6f  tion joining two
07c0: 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c 62   <b>Nodes</b>.<b
07d0: 72 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f  r>..<u>Example</
07e0: 75 3e 3a 20 69 6e 20 74 68 65 20 61 62 6f 76 65  u>: in the above
07f0: 20 66 69 67 75 72 65 20 4c 69 6e 6b 20 3c 62 3e   figure Link <b>
0800: 4c 33 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74 73 20  L3</b> connects 
0810: 4e 6f 64 65 73 20 3c 62 3e 4e 32 3c 2f 62 3e 20  Nodes <b>N2</b> 
0820: 61 6e 64 20 3c 62 3e 4e 35 3c 2f 62 3e 2e 3c 2f  and <b>N5</b>.</
0830: 6c 69 3e 0d 0a 3c 6c 69 3e 53 6f 20 61 6c 6c 20  li>..<li>So all 
0840: 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72 65  <b>Links</b> are
0850: 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65 64   always expected
0860: 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 72   to explicitly r
0870: 65 66 65 72 65 6e 63 65 20 61 20 3c 62 3e 53 74  eference a <b>St
0880: 61 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c 69  art-Node</b> (<i
0890: 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64 65  >aka</i> <b>Node
08a0: 2d 46 72 6f 6d 3c 2f 62 3e 29 20 61 6e 64 20 61  -From</b>) and a
08b0: 6e 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f 62  n <b>End-Node</b
08c0: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62  > (<i>aka</i> <b
08d0: 3e 4e 6f 64 65 2d 54 6f 3c 2f 62 3e 29 2e 0d 0a  >Node-To</b>)...
08e0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4c 69 6e 6b 73 20  <ul>..<li>Links 
08f0: 61 72 65 20 61 6c 77 61 79 73 20 3c 62 3e 6f 72  are always <b>or
0900: 69 65 6e 74 65 64 3c 2f 62 3e 2c 20 61 6e 64 20  iented</b>, and 
0910: 74 68 65 69 72 20 6e 61 74 75 72 61 6c 20 64 69  their natural di
0920: 72 65 63 74 69 6f 6e 20 69 73 20 3c 62 3e 46 72  rection is <b>Fr
0930: 6f 6d 2d 54 6f 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e  om-To</b>:..<ul>
0940: 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 20 3c 62 3e 75  ..<li>in an <b>u
0950: 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f 62  nidirectional</b
0960: 3e 20 4e 65 74 77 6f 72 6b 20 65 61 63 68 20 4c  > Network each L
0970: 69 6e 6b 20 69 73 20 61 6e 20 3c 62 3e 6f 6e 65  ink is an <b>one
0980: 2d 77 61 79 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74  -way</b> connect
0990: 69 6f 6e 2e 3c 62 72 3e 0d 0a 49 66 20 74 68 65  ion.<br>..If the
09a0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 61   connection is a
09b0: 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20  vailable in the 
09c0: 6f 70 70 6f 73 69 74 65 20 64 69 72 65 63 74 69  opposite directi
09d0: 6f 6e 20 61 20 73 65 63 6f 6e 64 20 4c 69 6e 6b  on a second Link
09e0: 20 6d 75 73 74 20 62 65 20 65 78 70 6c 69 63 69   must be explici
09f0: 74 6c 79 20 64 65 63 6c 61 72 65 64 2e 3c 62 72  tly declared.<br
0a00: 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75  >..<u>Example</u
0a10: 3e 3a 20 4c 69 6e 6b 20 3c 62 3e 58 31 3c 2f 62  >: Link <b>X1</b
0a20: 3e 20 67 6f 65 73 20 66 72 6f 6d 20 4e 6f 64 65  > goes from Node
0a30: 20 3c 62 3e 41 3c 2f 62 3e 20 74 6f 20 4e 6f 64   <b>A</b> to Nod
0a40: 65 20 3c 62 3e 42 3c 2f 62 3e 2c 20 61 6e 64 20  e <b>B</b>, and 
0a50: 4c 69 6e 6b 20 3c 62 3e 58 32 3c 2f 62 3e 20 67  Link <b>X2</b> g
0a60: 6f 65 73 20 66 72 6f 6d 20 4e 6f 64 65 20 3c 62  oes from Node <b
0a70: 3e 42 3c 2f 62 3e 20 74 6f 20 4e 6f 64 65 20 3c  >B</b> to Node <
0a80: 62 3e 41 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  b>A</b>.</li>..<
0a90: 6c 69 3e 69 6e 20 61 20 3c 62 3e 62 69 64 69 72  li>in a <b>bidir
0aa0: 65 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 4e 65 74  ectional</b> Net
0ab0: 77 6f 72 6b 20 61 6c 6c 20 4c 69 6e 6b 73 20 61  work all Links a
0ac0: 72 65 20 61 73 73 75 6d 65 64 20 74 6f 20 65 73  re assumed to es
0ad0: 74 61 62 6c 69 73 68 20 61 20 63 6f 6e 6e 65 63  tablish a connec
0ae0: 74 69 6f 6e 20 69 6e 20 62 6f 74 68 20 64 69 72  tion in both dir
0af0: 65 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 44 65  ections.<br>..De
0b00: 66 69 6e 69 74 69 6e 67 20 61 6e 20 3c 62 3e 6f  finiting an <b>o
0b10: 6e 65 2d 77 61 79 20 63 6f 6e 6e 65 63 74 69 6f  ne-way connectio
0b20: 6e 3c 2f 62 3e 20 72 65 71 75 69 72 65 73 20 61  n</b> requires a
0b30: 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 61 74  n appropriate at
0b40: 74 72 69 62 75 74 65 20 74 6f 20 62 65 20 73 65  tribute to be se
0b50: 74 20 28 73 65 65 20 62 65 6c 6f 77 29 2e 3c 2f  t (see below).</
0b60: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
0b70: 0a 3c 6c 69 3e 54 68 65 20 3c 62 3e 53 74 61 72  .<li>The <b>Star
0b80: 74 2d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 45 6e  t-</b> and <b>En
0b90: 64 2d 4e 6f 64 65 3c 2f 62 3e 20 63 6f 75 6c 64  d-Node</b> could
0ba0: 20 65 76 65 6e 74 75 61 6c 6c 79 20 62 65 20 74   eventually be t
0bb0: 68 65 20 73 61 6d 65 2c 20 61 6e 64 20 69 6e 20  he same, and in 
0bc0: 74 68 69 73 20 63 61 73 65 20 77 65 27 6c 6c 20  this case we'll 
0bd0: 68 61 76 65 20 61 20 3c 62 3e 73 65 6c 66 2d 63  have a <b>self-c
0be0: 6c 6f 73 65 64 3c 2f 62 3e 20 4c 69 6e 6b 2e 3c  losed</b> Link.<
0bf0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4e 65 74 77 6f 72  /li>..<li>Networ
0c00: 6b 27 73 20 4c 69 6e 6b 73 20 3c 62 3e 63 61 6e  k's Links <b>can
0c10: 3c 2f 62 3e 20 65 76 65 6e 74 75 61 6c 6c 79 20  </b> eventually 
0c20: 64 65 66 69 6e 65 20 61 20 6c 69 6e 65 61 72 20  define a linear 
0c30: 47 65 6f 6d 65 74 72 79 20 28 3c 62 3e 4c 49 4e  Geometry (<b>LIN
0c40: 45 53 54 52 49 4e 47 3c 2f 62 3e 29 20 67 6f 69  ESTRING</b>) goi
0c50: 6e 67 20 66 72 6f 6d 20 74 68 65 20 3c 62 3e 53  ng from the <b>S
0c60: 74 61 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 74 6f  tart-Node</b> to
0c70: 20 74 68 65 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65   the <b>End-Node
0c80: 3c 2f 62 3e 2c 20 62 75 74 20 74 68 69 73 20 69  </b>, but this i
0c90: 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 66 65  s an optional fe
0ca0: 61 74 75 72 65 2c 20 6e 6f 74 20 61 20 6d 61 6e  ature, not a man
0cb0: 64 61 74 6f 72 79 20 72 65 71 75 69 72 65 6d 65  datory requireme
0cc0: 6e 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68  nt.</li>..<li>Wh
0cd0: 61 74 20 69 73 20 61 62 73 6f 6c 75 74 65 6c 79  at is absolutely
0ce0: 20 6d 61 6e 64 61 74 6f 72 79 20 69 73 20 74 68   mandatory is th
0cf0: 61 74 20 65 61 63 68 20 3c 62 3e 4c 69 6e 6b 3c  at each <b>Link<
0d00: 2f 62 3e 20 6d 75 73 74 20 65 78 70 6c 69 63 69  /b> must explici
0d10: 74 6c 79 20 72 65 66 65 72 65 6e 63 65 20 69 74  tly reference it
0d20: 73 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c  s <b>Nodes</b>.<
0d30: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
0d40: 0d 0a 3c 6c 69 3e 41 20 4e 65 74 77 6f 72 6b 20  ..<li>A Network 
0d50: 73 75 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65  supporting Geome
0d60: 74 72 69 65 73 20 69 73 20 61 20 3c 62 3e 53 70  tries is a <b>Sp
0d70: 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62  atial Network</b
0d80: 3e 3b 20 6f 74 68 65 72 77 69 73 65 20 61 20 4e  >; otherwise a N
0d90: 65 74 77 6f 72 6b 20 6c 61 63 6b 69 6e 67 20 61  etwork lacking a
0da0: 6e 79 20 47 65 6f 6d 65 74 72 79 20 69 73 20 61  ny Geometry is a
0db0: 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77   <b>Logical Netw
0dc0: 6f 72 6b 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d 0a  ork</b>...<ul>..
0dd0: 3c 6c 69 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74  <li>In a <b>Spat
0de0: 69 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20  ial Network</b> 
0df0: 61 6c 6c 20 4c 69 6e 6b 73 20 3c 62 3e 6d 75 73  all Links <b>mus
0e00: 74 3c 2f 62 3e 20 68 61 76 65 20 61 20 63 6f 72  t</b> have a cor
0e10: 72 65 73 70 6f 6e 64 69 6e 67 20 47 65 6f 6d 65  responding Geome
0e20: 74 72 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49  try.</li>..<li>I
0e30: 6e 20 61 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e  n a <b>Logical N
0e40: 65 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c 6c 20 4c  etwork</b> all L
0e50: 69 6e 6b 73 20 3c 62 3e 61 72 65 20 73 74 72 69  inks <b>are stri
0e60: 63 74 6c 79 20 66 6f 72 62 69 64 64 65 6e 3c 2f  ctly forbidden</
0e70: 62 3e 20 74 6f 20 68 61 76 65 20 61 6e 79 20 47  b> to have any G
0e80: 65 6f 6d 65 74 72 79 2e 3c 2f 6c 69 3e 0d 0a 3c  eometry.</li>..<
0e90: 6c 69 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74 69  li>In a <b>Spati
0ea0: 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 62  al Network</b> b
0eb0: 6f 74 68 20 74 68 65 20 3c 62 3e 53 74 61 72 74  oth the <b>Start
0ec0: 50 6f 69 6e 74 3c 2f 62 3e 20 61 6e 64 20 3c 62  Point</b> and <b
0ed0: 3e 45 6e 64 50 6f 69 6e 74 3c 2f 62 3e 20 6f 66  >EndPoint</b> of
0ee0: 20 65 61 63 68 20 4c 69 6e 6b 27 73 20 3c 62 3e   each Link's <b>
0ef0: 4c 49 4e 45 53 54 52 49 4e 47 3c 2f 62 3e 20 61  LINESTRING</b> a
0f00: 72 65 20 61 6c 77 61 79 73 20 65 78 70 65 63 74  re always expect
0f10: 65 64 20 74 6f 20 65 78 61 63 74 6c 79 20 63 6f  ed to exactly co
0f20: 69 6e 63 69 64 65 20 77 69 74 68 20 74 68 65 20  incide with the 
0f30: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62  corresponding <b
0f40: 3e 4e 6f 64 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e  >Nodes</b>.</li>
0f50: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
0f60: 69 3e 49 6e 20 61 20 3c 62 3e 53 70 61 74 69 61  i>In a <b>Spatia
0f70: 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 61 6c  l Network</b> al
0f80: 6c 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20  l references to 
0f90: 74 68 65 20 73 61 6d 65 20 3c 62 3e 4e 6f 64 65  the same <b>Node
0fa0: 3c 2f 62 3e 20 62 79 20 64 69 66 66 65 72 65 6e  </b> by differen
0fb0: 74 20 4c 69 6e 6b 73 20 3c 62 3e 6d 75 73 74 3c  t Links <b>must<
0fc0: 2f 62 3e 20 62 65 20 61 6e 20 65 78 61 63 74 20  /b> be an exact 
0fd0: 6d 61 74 63 68 2e 3c 62 72 3e 0d 0a 3c 75 3e 45  match.<br>..<u>E
0fe0: 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 4e 6f 64 65  xample</u>: Node
0ff0: 20 3c 62 3e 4e 35 3c 2f 62 3e 20 69 73 20 73 68   <b>N5</b> is sh
1000: 61 72 65 64 20 62 79 20 4c 69 6e 6b 73 20 3c 62  ared by Links <b
1010: 3e 4c 33 3c 2f 62 3e 2c 20 3c 62 3e 4c 36 3c 2f  >L3</b>, <b>L6</
1020: 62 3e 2c 20 3c 62 3e 4c 37 3c 2f 62 3e 2c 20 3c  b>, <b>L7</b>, <
1030: 62 3e 4c 39 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  b>L9</b> and <b>
1040: 4c 31 30 3c 2f 62 3e 2c 20 73 6f 20 61 6c 6c 20  L10</b>, so all 
1050: 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64  their correspond
1060: 69 6e 67 20 4c 49 4e 45 53 54 52 49 4e 47 53 20  ing LINESTRINGS 
1070: 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20  are expected to 
1080: 68 61 76 65 20 74 68 65 20 63 6f 72 72 65 73 70  have the corresp
1090: 6f 6e 64 69 6e 67 20 65 78 74 72 65 6d 69 74 79  onding extremity
10a0: 20 28 3c 62 3e 53 74 61 72 74 2d 3c 2f 62 3e 20   (<b>Start-</b> 
10b0: 6f 72 20 3c 62 3e 45 6e 64 2d 3c 2f 62 3e 2c 20  or <b>End-</b>, 
10c0: 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65  depending on the
10d0: 20 6f 72 69 65 6e 74 61 74 69 6f 6e 29 20 70 6f   orientation) po
10e0: 69 6e 74 73 20 74 68 61 74 20 6d 75 73 74 20 65  ints that must e
10f0: 78 61 63 74 6c 79 20 6d 61 74 63 68 20 74 68 65  xactly match the
1100: 20 6f 74 68 65 72 2e 3c 62 72 3e 0d 0a 41 20 3c   other.<br>..A <
1110: 62 3e 74 6f 70 6f 6c 6f 67 69 63 61 6c 20 69 6e  b>topological in
1120: 63 6f 6e 73 69 73 74 65 6e 63 79 3c 2f 62 3e 20  consistency</b> 
1130: 65 78 69 73 74 73 20 69 66 20 61 6e 79 20 6f 66  exists if any of
1140: 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e   these condition
1150: 73 20 61 72 65 20 6e 6f 74 20 73 61 74 69 73 66  s are not satisf
1160: 69 65 64 2c 20 77 68 69 63 68 20 6c 65 61 64 73  ied, which leads
1170: 20 74 6f 20 61 6e 20 3c 62 3e 69 6e 76 61 6c 69   to an <b>invali
1180: 64 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 2e 3c 2f  d</b> Network.</
1190: 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62  li>..<li>In a <b
11a0: 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b  >Spatial Network
11b0: 3c 2f 62 3e 20 74 77 6f 0d 0a 3c 6c 69 3e 41 63  </b> two..<li>Ac
11c0: 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65  cordingly to the
11d0: 20 61 62 6f 76 65 20 70 72 65 6d 69 73 65 73 2c   above premises,
11e0: 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 61 72   <b>Nodes</b> ar
11f0: 65 20 6e 65 76 65 72 20 65 78 70 65 63 74 65 64  e never expected
1200: 20 74 6f 20 62 65 20 65 78 70 6c 69 63 69 74 6c   to be explicitl
1210: 79 20 64 65 63 6c 61 72 65 64 20 69 6e 20 61 20  y declared in a 
1220: 73 65 70 61 72 61 74 65 20 54 61 62 6c 65 2e 3c  separate Table.<
1230: 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 69 6e 67  br>..Just a sing
1240: 6c 65 20 54 61 62 6c 65 20 64 65 63 6c 61 72 69  le Table declari
1250: 6e 67 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c  ng all <b>Links<
1260: 2f 62 3e 20 69 73 20 72 65 71 75 69 72 65 64 20  /b> is required 
1270: 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 75 6c 6c  in order to full
1280: 79 20 64 65 66 69 6e 65 20 61 20 74 6f 70 6f 6c  y define a topol
1290: 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64 20 4e  ogically valid N
12a0: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 41 6c 6c  etwork.<br>..All
12b0: 20 74 68 65 20 4e 6f 64 65 73 20 63 61 6e 20 74   the Nodes can t
12c0: 68 65 6e 20 62 65 20 65 61 73 69 6c 79 20 65 78  hen be easily ex
12d0: 74 72 61 63 74 65 64 20 66 72 6f 6d 20 74 68 65  tracted from the
12e0: 20 4c 69 6e 6b 73 27 20 64 65 66 69 6e 69 74 69   Links' definiti
12f0: 6f 6e 73 20 61 6e 64 20 74 68 65 20 63 6f 6f 72  ons and the coor
1300: 64 69 6e 61 74 65 73 20 66 6f 72 20 65 61 63 68  dinates for each
1310: 20 4e 6f 64 65 20 63 61 6e 20 62 65 20 64 69 72   Node can be dir
1320: 65 63 74 6c 79 20 73 65 74 20 62 79 20 65 78 74  ectly set by ext
1330: 72 61 63 74 69 6e 67 20 74 68 65 20 65 78 74 72  racting the extr
1340: 65 6d 65 20 50 6f 69 6e 74 20 6f 66 20 74 68 65  eme Point of the
1350: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c   corresponding L
1360: 69 6e 65 73 74 72 69 6e 67 73 2e 3c 62 72 3e 0d  inestrings.<br>.
1370: 0a 49 66 20 61 6e 79 20 6d 69 73 6d 61 74 63 68  .If any mismatch
1380: 20 69 73 20 64 65 74 65 63 74 65 64 20 74 68 69   is detected thi
1390: 73 20 73 75 72 65 6c 79 20 6d 65 61 6e 73 20 74  s surely means t
13a0: 68 61 74 20 74 68 65 20 4e 65 74 77 6f 72 6b 20  hat the Network 
13b0: 69 73 20 69 6e 76 61 6c 69 64 2e 3c 2f 6c 69 3e  is invalid.</li>
13c0: 0d 0a 3c 6c 69 3e 41 20 3c 62 3e 4c 69 6e 6b 3c  ..<li>A <b>Link<
13d0: 2f 62 3e 20 6d 61 79 20 6c 65 67 69 74 69 6d 61  /b> may legitima
13e0: 74 65 6c 79 20 73 65 6c 66 2d 69 6e 74 65 72 73  tely self-inters
13f0: 65 63 74 20 69 74 73 65 6c 66 20 28 65 2e 67 2e  ect itself (e.g.
1400: 20 66 6f 72 6d 69 6e 67 20 61 20 6c 6f 6f 70 29   forming a loop)
1410: 2c 20 61 73 20 73 68 6f 77 6e 20 69 6e 20 74 68  , as shown in th
1420: 65 20 61 62 6f 76 65 20 66 69 67 75 72 65 20 62  e above figure b
1430: 79 20 4c 69 6e 6b 20 3c 62 3e 4c 31 35 3c 2f 62  y Link <b>L15</b
1440: 3e 20 28 6f 72 61 6e 67 65 20 73 70 6f 74 29 2e  > (orange spot).
1450: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 77 6f 20 3c  </li>..<li>Two <
1460: 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 6d 61 79 20  b>Links</b> may 
1470: 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 69 6e 74  legitimately int
1480: 65 72 73 65 63 74 20 77 68 65 72 65 20 6e 6f 20  ersect where no 
1490: 4e 6f 64 65 20 65 78 69 73 74 73 2c 20 61 73 20  Node exists, as 
14a0: 65 78 65 6d 70 6c 69 66 69 65 64 20 6f 6e 20 74  exemplified on t
14b0: 68 65 20 61 62 6f 76 65 20 66 69 67 75 72 65 20  he above figure 
14c0: 62 79 20 4c 69 6e 6b 73 20 3c 62 3e 4c 34 3c 2f  by Links <b>L4</
14d0: 62 3e 20 61 6e 64 20 3c 62 3e 4c 37 3c 2f 62 3e  b> and <b>L7</b>
14e0: 20 28 67 72 65 65 6e 20 73 70 6f 74 29 2e 3c 62   (green spot).<b
14f0: 72 3e 0d 0a 54 68 69 73 20 75 73 75 61 6c 6c 79  r>..This usually
1500: 20 68 61 70 70 65 6e 73 20 77 68 65 6e 20 6f 6e   happens when on
1510: 65 20 6f 66 20 74 68 65 20 74 77 6f 20 4c 69 6e  e of the two Lin
1520: 6b 73 20 6f 76 65 72 70 61 73 73 65 73 20 74 68  ks overpasses th
1530: 65 20 6f 74 68 65 72 2c 20 6f 72 20 77 68 65 72  e other, or wher
1540: 65 20 73 6f 6d 65 20 74 65 63 68 6e 69 63 61 6c  e some technical
1550: 20 72 65 73 74 72 69 63 74 69 6f 6e 20 65 78 69   restriction exi
1560: 73 74 73 20 28 65 2e 67 2e 20 74 77 6f 20 69 6e  sts (e.g. two in
1570: 73 75 6c 61 74 65 64 20 77 69 72 65 73 20 69 6e  sulated wires in
1580: 20 61 6e 20 45 6c 65 63 74 72 69 63 61 6c 20 4e   an Electrical N
1590: 65 74 77 6f 72 6b 29 2e 3c 2f 6c 69 3e 0d 0a 3c  etwork).</li>..<
15a0: 6c 69 3e 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20  li><b>Links</b> 
15b0: 61 72 65 6e 27 74 20 73 74 72 69 63 74 6c 79 20  aren't strictly 
15c0: 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 20 61  required to be a
15d0: 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61  ssociated with a
15e0: 6e 79 20 73 70 65 63 69 66 69 63 20 61 74 74 72  ny specific attr
15f0: 69 62 75 74 65 2c 20 62 75 74 20 74 68 65 20 66  ibute, but the f
1600: 6f 6c 6c 6f 77 69 6e 67 20 61 74 74 72 69 62 75  ollowing attribu
1610: 74 65 73 20 61 72 65 20 61 6c 6d 6f 73 74 20 75  tes are almost u
1620: 6e 69 76 65 72 73 61 6c 6c 79 20 73 75 70 70 6f  niversally suppo
1630: 72 74 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  rted:..<ul>..<li
1640: 3e 61 20 3c 62 3e 6e 61 6d 65 3c 2f 62 3e 20 69  >a <b>name</b> i
1650: 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 4c  dentifying the L
1660: 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78 61  ink.<br>..<u>Exa
1670: 6d 70 6c 65 73 3c 2f 75 3e 3a 20 74 68 65 20 3c  mples</u>: the <
1680: 69 3e 72 6f 61 64 20 74 6f 70 6f 6e 79 6d 3c 2f  i>road toponym</
1690: 69 3e 20 69 6e 20 61 20 3c 62 3e 72 6f 61 64 20  i> in a <b>road 
16a0: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2c 20 6f 72 20  network</b>, or 
16b0: 74 68 65 20 3c 69 3e 72 69 76 65 72 20 6e 61 6d  the <i>river nam
16c0: 65 3c 2f 69 3e 20 69 6e 20 61 6e 20 3c 62 3e 68  e</i> in an <b>h
16d0: 79 64 72 6f 67 72 61 70 68 69 63 20 6e 65 74 77  ydrographic netw
16e0: 6f 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  ork</b>.</li>..<
16f0: 6c 69 3e 6f 6e 65 20 28 6f 72 20 65 76 65 6e 20  li>one (or even 
1700: 6d 6f 72 65 29 20 61 70 70 72 6f 70 72 69 61 74  more) appropriat
1710: 65 20 3c 62 3e 63 6f 73 74 20 76 61 6c 75 65 3c  e <b>cost value<
1720: 2f 62 3e 28 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e  /b>(s).<br>..<u>
1730: 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 74 68 65  Example</u>: the
1740: 20 3c 69 3e 74 69 6d 65 3c 2f 69 3e 20 72 65 71   <i>time</i> req
1750: 75 69 72 65 64 20 74 6f 20 74 72 61 76 65 72 73  uired to travers
1760: 65 20 74 68 65 20 4c 69 6e 6b 20 28 6d 61 79 20  e the Link (may 
1770: 62 65 20 64 69 73 74 69 6e 67 75 69 73 68 65 64  be distinguished
1780: 20 62 65 74 77 65 65 6e 20 70 65 64 65 73 74 72   between pedestr
1790: 69 61 6e 73 2c 20 62 69 63 79 63 6c 65 73 2c 20  ians, bicycles, 
17a0: 63 61 72 73 2c 20 6c 6f 72 72 69 65 73 20 61 6e  cars, lorries an
17b0: 64 20 73 6f 20 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a  d so on).</li>..
17c0: 3c 6c 69 3e 61 20 70 61 69 72 20 6f 66 20 3c 62  <li>a pair of <b
17d0: 3e 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 3c 2f  >boolean flags</
17e0: 62 3e 20 28 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f  b> (<b>from-to</
17f0: 62 3e 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f  b> and <b>to-fro
1800: 6d 3c 2f 62 3e 29 20 61 72 65 20 69 6e 74 65 6e  m</b>) are inten
1810: 64 65 6e 64 20 74 6f 20 73 70 65 63 69 66 79 20  dend to specify 
1820: 69 66 20 74 68 65 20 4c 69 6e 6b 20 63 61 6e 20  if the Link can 
1830: 62 65 20 74 72 61 76 65 72 73 65 64 20 6f 6e 20  be traversed on 
1840: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20  both directions 
1850: 6f 72 20 6a 75 73 74 20 69 6e 20 6f 6e 65 20 28  or just in one (
1860: 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e  <b>one-way</b>).
1870: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  </li>..</ul></li
1880: 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e 4c 6f  >..</ul>..<h4>Lo
1890: 67 69 63 61 6c 20 63 6f 6e 63 6c 75 73 69 6f 6e  gical conclusion
18a0: 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f 70 6f  s</h4>..Any topo
18b0: 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64 20  logically valid 
18c0: 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 28  <b>Network</b> (
18d0: 69 72 72 65 73 70 65 63 74 69 76 65 20 6f 66 20  irrespective of 
18e0: 77 68 65 74 68 65 72 20 69 74 20 69 73 20 61 20  whether it is a 
18f0: 3c 62 3e 53 70 61 74 69 61 6c 3c 2f 62 3e 20 6f  <b>Spatial</b> o
1900: 72 20 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f 62 3e  r <b>Logical</b>
1910: 20 74 79 70 65 29 20 69 73 20 61 20 76 61 6c 69   type) is a vali
1920: 64 20 3c 62 3e 47 72 61 70 68 3c 2f 62 3e 2e 3c  d <b>Graph</b>.<
1930: 62 72 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20 61  br>..A Network a
1940: 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 75 70 70  llowing the supp
1950: 6f 72 74 20 28 64 69 72 65 63 74 20 6f 72 20 69  ort (direct or i
1960: 6e 64 69 72 65 63 74 29 20 6f 66 20 73 6f 6d 65  ndirect) of some
1970: 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e   appropriate <b>
1980: 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e 20 69  cost value</b> i
1990: 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 57 65 69  s a valid <b>Wei
19a0: 67 68 74 65 64 20 47 72 61 70 68 3c 2f 62 3e 2c  ghted Graph</b>,
19b0: 20 61 6e 64 20 63 61 6e 20 63 6f 6e 73 65 71 75   and can consequ
19c0: 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c 62  ently support <b
19d0: 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74  >Routing algorit
19e0: 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 6c  hms</b>.<br>..Al
19f0: 6c 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69  l Routing algori
1a00: 74 68 6d 73 20 61 72 65 20 69 6e 74 65 6e 64 65  thms are intende
1a10: 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68  d to identify th
1a20: 65 20 3c 62 3e 53 68 6f 72 74 65 73 74 20 50 61  e <b>Shortest Pa
1a30: 74 68 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20  th</b> solution 
1a40: 63 6f 6e 6e 65 63 74 69 6e 67 20 74 77 6f 20 3c  connecting two <
1a50: 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e 20 61  b>Nodes</b> in a
1a60: 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67 72 61   <b>weighted gra
1a70: 70 68 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f  ph</b> (<i>aka</
1a80: 69 3e 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62  i> <b>Network</b
1a90: 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e  >).<br><br>..<b>
1aa0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 3e 3a  <u>Note</u></b>:
1ab0: 20 74 68 65 20 74 65 72 6d 20 3c 62 3e 3c 69 3e   the term <b><i>
1ac0: 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 69  Shortest Path</i
1ad0: 3e 3c 2f 62 3e 20 63 61 6e 20 62 65 20 65 61 73  ></b> can be eas
1ae0: 69 6c 79 20 6d 69 73 75 6e 64 65 72 73 74 6f 6f  ily misunderstoo
1af0: 64 2e 3c 62 72 3e 0d 0a 44 75 65 20 74 6f 20 68  d.<br>..Due to h
1b00: 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e  istorical reason
1b10: 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f  s the most commo
1b20: 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 66 69  n application fi
1b30: 65 6c 64 20 66 6f 72 20 52 6f 75 74 69 6e 67 20  eld for Routing 
1b40: 61 6c 67 6f 72 69 74 68 6d 73 20 69 73 20 72 65  algorithms is re
1b50: 6c 61 74 65 64 20 74 6f 20 3c 62 3e 52 6f 61 64  lated to <b>Road
1b60: 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c 20 62   Networks</b>, b
1b70: 75 74 20 61 6c 73 6f 20 6d 61 6e 79 20 6f 74 68  ut also many oth
1b80: 65 72 20 6b 69 6e 64 73 20 6f 66 20 4e 65 74 77  er kinds of Netw
1b90: 6f 72 6b 73 20 65 78 69 73 74 3a 0d 0a 3c 75 6c  orks exist:..<ul
1ba0: 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f 67 72 61 70  >..<li>Hydrograp
1bb0: 68 69 63 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c  hic Networks.</l
1bc0: 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20 57 61  i>..<li>Gas / Wa
1bd0: 74 65 72 20 2f 20 4f 69 6c 20 4e 65 74 77 6f 72  ter / Oil Networ
1be0: 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 6c  ks.</li>..<li>El
1bf0: 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f 72 6b  ectrical Network
1c00: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c  s.</li>..<li>Tel
1c10: 65 63 6f 6d 75 6e 69 63 61 74 69 6f 6e 20 4e 65  ecomunication Ne
1c20: 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  tworks.</li>..<l
1c30: 69 3e 53 6f 63 69 61 6c 20 6f 72 20 45 63 6f 6e  i>Social or Econ
1c40: 6f 6d 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 20  omical Networks 
1c50: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 72 65 6c  representing rel
1c60: 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74 77 65  ationships betwe
1c70: 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73 20 6f  en individuals o
1c80: 72 20 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f 6c 69  r companies.</li
1c90: 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65 6d 69 6f 6c  >..<li>Epidemiol
1ca0: 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 20  ogical Networks 
1cb0: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65  representing the
1cc0: 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20   propagation of 
1cd0: 69 6e 66 65 63 74 69 76 65 20 64 69 73 65 61 73  infective diseas
1ce0: 65 73 20 62 65 74 77 65 65 6e 20 69 6e 64 69 76  es between indiv
1cf0: 69 64 75 61 6c 73 20 6f 72 20 67 72 6f 75 70 73  iduals or groups
1d00: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  .</li>..</ul></l
1d10: 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 61 6c  i> ..<br>..In al
1d20: 6c 20 74 68 65 20 61 62 6f 76 65 20 63 61 73 65  l the above case
1d30: 73 20 77 65 20 63 65 72 74 61 69 6e 6c 79 20 68  s we certainly h
1d40: 61 76 65 20 76 61 6c 69 64 20 4e 65 74 77 6f 72  ave valid Networ
1d50: 6b 73 20 73 75 70 70 6f 72 74 69 6e 67 20 52 6f  ks supporting Ro
1d60: 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6e 73  uting algorithns
1d70: 2c 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20 6f 66  , but not all of
1d80: 20 74 68 65 6d 20 63 61 6e 20 69 6d 70 6c 79 20   them can imply 
1d90: 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 61  something like a
1da0: 20 3c 69 3e 73 70 61 74 69 61 6c 20 64 69 73 74   <i>spatial dist
1db0: 61 6e 63 65 3c 2f 69 3e 20 28 3c 69 3e 67 65 6f  ance</i> (<i>geo
1dc0: 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c 2f 69  metric length</i
1dd0: 3e 29 20 6f 72 20 61 20 3c 69 3e 74 72 61 76 65  >) or a <i>trave
1de0: 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72 3e 0d  l time</i>.<br>.
1df0: 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 67 65 6e  .In the most gen
1e00: 65 72 61 6c 20 61 63 63 65 70 74 69 6f 6e 20 3c  eral acception <
1e10: 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 63 61 6e 20  b>costs</b> can 
1e20: 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 62  be represented b
1e30: 79 20 61 6e 79 20 72 65 61 73 6f 6e 61 62 6c 65  y any reasonable
1e40: 20 70 68 79 73 69 63 61 6c 20 71 75 61 6e 74 69   physical quanti
1e50: 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20 6d 6f  ty.<br>..So a mo
1e60: 72 65 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 64  re generalized d
1e70: 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 61 73 73  efinition is ass
1e80: 75 6d 69 6e 67 20 74 68 61 74 20 52 6f 75 74 69  uming that Routi
1e90: 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 61 72  ng algorithms ar
1ea0: 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 69 64  e intended to id
1eb0: 65 6e 74 69 66 79 20 3c 62 3e 6c 65 73 73 65 72  entify <b>lesser
1ec0: 20 63 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75 74 69   cost</b> soluti
1ed0: 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e 77 65 69 67  ons on a <b>weig
1ee0: 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e 2e 3c  hted graph</b>.<
1ef0: 62 72 3e 0d 0a 54 68 65 20 65 78 61 63 74 20 69  br>..The exact i
1f00: 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f 66  nterpretation of
1f10: 20 74 68 65 20 69 6e 76 6f 6c 76 65 64 20 3c 62   the involved <b
1f20: 3e 63 6f 73 74 73 3c 2f 62 3e 20 28 3c 69 3e 61  >costs</b> (<i>a
1f30: 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65 69 67 68 74  ka</i> <b>weight
1f40: 73 3c 2f 62 3e 29 20 73 74 72 69 63 74 6c 79 20  s</b>) strictly 
1f50: 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 76  depends on the v
1f60: 65 72 79 20 73 70 65 63 69 66 69 63 20 6e 61 74  ery specific nat
1f70: 75 72 65 20 6f 66 20 65 61 63 68 20 4e 65 74 77  ure of each Netw
1f80: 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20 44 69  ork...<h3>The Di
1f90: 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 69 74  jkstra's algorit
1fa0: 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69 73 20 77 65  hm</h3>..This we
1fb0: 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20 68 72 65 66  ll known <a href
1fc0: 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b  ="https://en.wik
1fd0: 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f  ipedia.org/wiki/
1fe0: 44 69 6a 6b 73 74 72 61 25 32 37 73 5f 61 6c 67  Dijkstra%27s_alg
1ff0: 6f 72 69 74 68 6d 22 3e 61 6c 67 6f 72 69 74 68  orithm">algorith
2000: 6d 3c 2f 61 3e 20 69 73 6e 27 74 20 6e 65 63 65  m</a> isn't nece
2010: 73 73 61 72 69 6c 79 20 74 68 65 20 66 61 73 74  ssarily the fast
2020: 65 73 74 20 6f 6e 65 2c 20 62 75 74 20 69 74 20  est one, but it 
2030: 61 6c 77 61 79 73 20 65 6e 73 75 72 65 73 20 3c  always ensures <
2040: 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65  b>full correctne
2050: 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  ss</b>:..<ul>..<
2060: 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f 2d 4e  li>Any Node-to-N
2070: 6f 64 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69  ode connection i
2080: 64 65 6e 74 69 66 69 65 64 20 62 79 20 44 69 6a  dentified by Dij
2090: 6b 73 74 72 61 27 73 20 69 73 20 63 65 72 74 61  kstra's is certa
20a0: 69 6e 6c 79 20 65 6e 73 75 72 65 64 20 74 6f 20  inly ensured to 
20b0: 62 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62  be <b>optimal</b
20c0: 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 65 72  >.<br>..In other
20d0: 20 77 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e 6e 65   words, no conne
20e0: 74 63 74 69 6f 6e 20 70 72 65 73 65 6e 74 69 6e  tction presentin
20f0: 67 20 61 20 6c 6f 77 65 72 20 63 6f 73 74 20 63  g a lower cost c
2100: 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20  an conceptually 
2110: 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  exist.</li>..<li
2120: 3e 57 68 65 6e 20 44 69 6a 73 6a 74 72 61 27 73  >When Dijsjtra's
2130: 20 66 61 69 6c 73 20 74 6f 20 69 64 65 6e 74 69   fails to identi
2140: 66 79 20 61 20 73 6f 6c 75 74 69 6f 6e 20 74 68  fy a solution th
2150: 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e 73 20  is surely means 
2160: 74 68 61 74 20 6e 6f 20 73 6f 6c 75 74 69 6f 6e  that no solution
2170: 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c   is possible.</l
2180: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 54  i>..</ul>..<h3>T
2190: 68 65 20 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c  he A* algorithm<
21a0: 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74 65 72  /h3>..Many alter
21b0: 6e 61 74 69 76 65 20 52 6f 75 74 69 6e 67 20 61  native Routing a
21c0: 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65 20 62  lgorithms have b
21d0: 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64 75 72  een invented dur
21e0: 69 6e 67 20 74 68 65 20 79 65 61 72 73 2e 3c 62  ing the years.<b
21f0: 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d 20 61 72 65  r>..All them are
2200: 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 69 73   based on heuris
2210: 74 69 63 20 61 73 73 75 6d 70 74 69 6f 6e 73 20  tic assumptions 
2220: 61 6e 64 20 61 72 65 20 69 6e 74 65 6e 64 65 64  and are intended
2230: 20 74 6f 20 62 65 20 66 61 73 74 65 72 20 74 68   to be faster th
2240: 61 6e 20 44 69 6a 6b 73 74 72 61 27 73 2c 20 62  an Dijkstra's, b
2250: 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20  ut none of them 
2260: 63 61 6e 20 65 6e 73 75 72 65 20 3c 62 3e 66 75  can ensure <b>fu
2270: 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73 3c 2f  ll correctness</
2280: 62 3e 20 61 73 20 44 69 6a 6b 73 74 72 61 27 73  b> as Dijkstra's
2290: 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68 65 20   does.<br>..The 
22a0: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f  <a href="https:/
22b0: 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72  /en.wikipedia.or
22c0: 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 61 72 63 68  g/wiki/A*_search
22d0: 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 41 2a 20 61  _algorithm">A* a
22e0: 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 61 70 70  lgorithm</a> app
22f0: 6c 69 65 73 20 61 20 6d 69 6c 64 20 68 65 75 72  lies a mild heur
2300: 69 73 74 69 63 20 6f 70 74 69 6d 69 7a 61 74 69  istic optimizati
2310: 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 61  on, and can be a
2320: 20 72 65 61 6c 69 73 74 69 63 20 61 6c 74 65 72   realistic alter
2330: 6e 61 74 69 76 65 20 74 6f 20 44 69 6a 6b 73 74  native to Dijkst
2340: 72 61 27 73 20 69 6e 20 6d 61 6e 79 20 63 61 73  ra's in many cas
2350: 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72  es.<br><br>..<hr
2360: 3e 0d 0a 3c 68 31 3e 32 20 2d 20 54 68 65 20 73  >..<h1>2 - The s
2370: 61 6d 70 6c 65 2f 74 65 73 74 20 44 42 3c 2f 68  ample/test DB</h
2380: 31 3e 0d 0a 59 6f 75 20 61 72 65 20 65 78 70 65  1>..You are expe
2390: 63 74 65 64 20 74 6f 20 66 6f 6c 6c 6f 77 20 74  cted to follow t
23a0: 68 65 20 63 75 72 72 65 6e 74 20 74 75 74 6f 72  he current tutor
23b0: 69 61 6c 20 61 62 6f 75 74 20 3c 62 3e 56 69 72  ial about <b>Vir
23c0: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20  tualRouting</b> 
23d0: 62 79 20 64 69 72 65 63 74 6c 79 20 74 65 73 74  by directly test
23e0: 69 6e 67 20 61 6c 6c 20 53 51 4c 20 71 75 65 72  ing all SQL quer
23f0: 69 65 73 20 64 69 73 63 75 73 73 65 64 20 62 65  ies discussed be
2400: 6c 6f 77 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66  low on behalf of
2410: 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74   the <a href="ht
2420: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
2430: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
2440: 72 6f 75 74 69 6e 67 2d 73 61 6d 70 6c 65 2d 35  routing-sample-5
2450: 2e 30 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c 65 2f  .0.0.7z">sample/
2460: 74 65 73 74 20 44 42 20 74 68 61 74 20 79 6f 75  test DB that you
2470: 20 63 61 6e 20 64 6f 77 6e 6c 6f 61 64 20 66 72   can download fr
2480: 6f 6d 20 68 65 72 65 3c 2f 61 3e 3c 62 72 3e 3c  om here</a><br><
2490: 62 72 3e 0d 0a 54 68 65 20 73 61 6d 70 6c 65 20  br>..The sample 
24a0: 44 42 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20  DB contains the 
24b0: 66 75 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e 65 74  full <b>road net
24c0: 77 6f 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62 3e 54  work</b> of <b>T
24d0: 75 73 63 61 6e 79 20 52 65 67 69 6f 6e 20 28 49  uscany Region (I
24e0: 74 61 6c 79 29 3c 2f 62 3e 20 28 3c 61 20 68 72  taly)</b> (<a hr
24f0: 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30  ef="http://www50
2500: 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e  2.regione.toscan
2510: 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64  a.it/geoscopio/d
2520: 6f 77 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f 73 74  ownload/grafo_st
2530: 72 61 64 61 6c 65 2f 69 74 65 72 6e 65 74 2e 7a  radale/iternet.z
2540: 69 70 22 3e 49 74 65 72 2e 4e 65 74 20 64 61 74  ip">Iter.Net dat
2550: 61 73 65 74 3c 2f 61 3e 29 20 6b 69 6e 64 6c 79  aset</a>) kindly
2560: 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20   released under 
2570: 74 68 65 20 3c 62 3e 43 43 2d 42 59 2d 53 41 20  the <b>CC-BY-SA 
2580: 34 2e 30 3c 2f 62 3e 20 6c 69 63 65 6e 63 65 20  4.0</b> licence 
2590: 74 65 72 6d 73 2e 3c 62 72 3e 0d 0a 54 68 65 20  terms.<br>..The 
25a0: 63 6f 6e 74 65 6e 74 73 20 73 74 6f 72 65 64 20  contents stored 
25b0: 69 6e 74 6f 20 74 68 65 20 73 61 6d 70 6c 65 20  into the sample 
25c0: 64 61 74 61 62 61 73 65 20 77 65 72 65 20 6f 70  database were op
25d0: 70 6f 72 74 75 6e 65 6c 79 20 72 65 61 72 72 61  portunely rearra
25e0: 6e 67 65 64 2c 20 61 6e 64 20 61 72 65 20 73 74  nged, and are st
25f0: 69 6c 6c 20 73 75 62 6a 65 63 74 20 74 6f 20 74  ill subject to t
2600: 68 65 20 69 6e 69 74 69 61 6c 20 3c 62 3e 43 43  he initial <b>CC
2610: 2d 42 59 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 63  -BY-SA 4.0</b> c
2620: 6c 61 75 73 65 73 20 28 3c 69 3e 64 65 72 69 76  lauses (<i>deriv
2630: 65 64 20 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a 3c  ed work</i>)...<
2640: 62 72 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c  br><br>..<ul>..<
2650: 6c 69 3e 61 6c 6c 20 72 6f 61 64 20 6e 61 6d 65  li>all road name
2660: 73 20 61 72 65 20 73 74 6f 72 65 64 20 77 69 74  s are stored wit
2670: 68 69 6e 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e  hin the <b>topon
2680: 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c 62  yms</b> Table.<b
2690: 72 3e 0d 0a 74 68 65 20 73 61 6d 65 20 72 6f 61  r>..the same roa
26a0: 64 20 6e 61 6d 65 20 63 6f 75 6c 64 20 62 65 20  d name could be 
26b0: 75 73 65 64 20 69 6e 20 64 69 66 66 65 72 65 6e  used in differen
26c0: 74 20 4d 75 6e 69 63 69 70 61 6c 69 74 69 65 73  t Municipalities
26d0: 2c 20 73 6f 20 74 68 65 20 3c 62 3e 74 6f 70 6f  , so the <b>topo
26e0: 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 20 72  nyms</b> Table r
26f0: 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72 65 66 65  elationally refe
2700: 72 65 6e 63 65 73 20 74 68 65 20 3c 62 3e 6d 75  rences the <b>mu
2710: 6e 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e  nicipalities</b>
2720: 20 54 61 62 6c 65 20 28 76 69 61 20 3c 62 3e 50   Table (via <b>P
2730: 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20 3c 62 3e  RIMARY</b> / <b>
2740: 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f 62 3e 20  FOREIGN KEY</b> 
2750: 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 29 2e 3c  relationships).<
2760: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  /li>..<li>the <b
2770: 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70 61 74 69  >roads</b> Spati
2780: 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74 61 69 6e  al Table contain
2790: 73 20 61 62 6f 75 74 20 3c 62 3e 33 38 30 2c 30  s about <b>380,0
27a0: 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c 20 61 6e  00</b> Links, an
27b0: 64 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77  d has the follow
27c0: 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 75  ing columns:..<u
27d0: 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 3c 2f 62  l>..<li><b>id</b
27e0: 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 6e 74 69  >: unique identi
27f0: 66 69 65 72 20 6f 66 20 65 61 63 68 20 4c 69 6e  fier of each Lin
2800: 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59 20 4b 45  k (<b>PRIMARY KE
2810: 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  Y</b>).</li>..<l
2820: 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f  i><b>node_from</
2830: 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64 65 5f 74  b> and <b>node_t
2840: 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69 64 65 6e  o</b>: Node iden
2850: 74 69 66 69 65 72 73 2e 0d 0a 54 68 65 20 6f 72  tifiers...The or
2860: 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e 65 74 20  iginal Iter.Net 
2870: 64 61 74 61 73 65 74 20 61 64 6f 70 74 73 20 76  dataset adopts v
2880: 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63 6f 6d 70  ery long an comp
2890: 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65 72 69 63  lex alphanumeric
28a0: 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20 74 68 65   Node codes; the
28b0: 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20 49 44   integer Node ID
28c0: 73 20 77 65 72 65 20 6f 62 74 61 69 6e 65 64 20  s were obtained 
28d0: 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 3c  by calling the <
28e0: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 4e  b>CreateRoutingN
28f0: 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 4c 20 66  odes()</b> SQL f
2900: 75 6e 63 74 69 6f 6e 20 64 69 73 63 75 73 73 65  unction discusse
2910: 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77 69 6e 67  d in a following
2920: 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a   section.</li>..
2930: 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70 6f 6e 79  <li><b>id_topony
2940: 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69 6f 6e 61  m</b>: relationa
2950: 6c 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74  l reference to t
2960: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
2970: 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f 6e 74 61   road name conta
2980: 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 3c 62  ined into the <b
2990: 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61  >toponyms</b> Ta
29a0: 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20  ble (<b>FOREIGN 
29b0: 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a  KEY</b>).</li>..
29c0: 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f 6b 6d 68  <li><b>speed_kmh
29d0: 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74 69 6d 61  </b>: the estima
29e0: 74 65 64 20 61 76 65 72 61 67 65 20 73 70 65 65  ted average spee
29f0: 64 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74  d supported by t
2a00: 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72 65 73 73  he Link, express
2a10: 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68 3c 2f 62  ed in <b>km/h</b
2a20: 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  >.<br>..<u>Note<
2a30: 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74 69 76 65  /u>: <b>negative
2a40: 3c 2f 62 3e 20 73 70 65 65 64 73 20 69 6e 74 65  </b> speeds inte
2a50: 6e 64 20 61 20 66 6f 72 62 69 64 64 65 6e 20 4c  nd a forbidden L
2a60: 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ink.</li>..<li><
2a70: 62 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c  b>oneway_fromto<
2a80: 2f 62 3e 20 61 6e 64 20 3c 62 3e 6f 6e 65 77 61  /b> and <b>onewa
2a90: 79 5f 74 6f 66 72 6f 6d 3c 2f 62 3e 3a 20 62 6f  y_tofrom</b>: bo
2aa0: 6f 6c 65 61 6e 20 66 6c 61 67 73 20 69 6e 74 65  olean flags inte
2ab0: 6e 64 65 64 20 74 6f 20 73 74 61 74 65 20 69 66  nded to state if
2ac0: 20 61 20 4c 69 6e 6b 20 63 61 6e 20 62 65 20 74   a Link can be t
2ad0: 72 61 76 65 72 73 65 64 20 69 6e 20 62 6f 74 68  raversed in both
2ae0: 20 64 69 72 65 63 74 69 6f 6e 73 20 6f 72 20 6a   directions or j
2af0: 75 73 74 20 69 6e 20 61 20 73 69 6e 67 6c 65 20  ust in a single 
2b00: 64 69 72 65 63 74 69 6f 6e 20 28 3c 62 3e 6f 6e  direction (<b>on
2b10: 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c 62 72 3e 0d  e-way</b>).<br>.
2b20: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6c  .<u>Note</u>: al
2b30: 6c 20 4c 69 6e 6b 73 20 64 65 63 6c 61 72 69 6e  l Links declarin
2b40: 67 20 3c 62 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d  g <b>oneway_from
2b50: 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  to=0</b> and <b>
2b60: 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 3d 30 3c  oneway_tofrom=0<
2b70: 2f 62 3e 20 61 72 65 20 69 6e 74 65 6e 64 65 64  /b> are intended
2b80: 20 74 6f 20 62 65 20 61 6c 77 61 79 73 20 66 6f   to be always fo
2b90: 72 62 69 64 64 65 6e 2e 3c 2f 6c 69 3e 0d 0a 3c  rbidden.</li>..<
2ba0: 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f 62 3e 3a 20  li><b>cost</b>: 
2bb0: 74 68 65 20 3c 62 3e 74 69 6d 65 3c 2f 62 3e 20  the <b>time</b> 
2bc0: 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e  expressed in <b>
2bd0: 73 65 63 6f 6e 64 73 3c 2f 62 3e 20 72 65 71 75  seconds</b> requ
2be0: 69 72 65 64 20 74 6f 20 74 72 61 76 65 72 73 65  ired to traverse
2bf0: 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d   each Link.<br>.
2c00: 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 20  .<u>Note #1</u> 
2c10: 61 6c 6c 20 63 6f 73 74 73 20 77 65 72 65 20 63  all costs were c
2c20: 61 6c 63 75 6c 61 74 65 64 20 61 63 63 6f 72 64  alculated accord
2c30: 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 66 6f 6c  ingly to the fol
2c40: 6c 6f 77 69 6e 67 20 66 6f 72 6d 75 6c 61 3a 20  lowing formula: 
2c50: 3c 62 3e 63 6f 73 74 20 3d 20 28 28 53 54 5f 4c  <b>cost = ((ST_L
2c60: 65 6e 67 74 68 28 67 65 6f 6d 29 20 2f 20 31 30  ength(geom) / 10
2c70: 30 30 2e 30 29 20 2f 20 73 70 65 65 64 5f 6b 6d  00.0) / speed_km
2c80: 68 29 20 2a 20 33 36 30 30 2e 30 3c 2f 62 3e 3c  h) * 3600.0</b><
2c90: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c  br>..<u>Note #2<
2ca0: 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38 36 2c 34 30  /u> all <b>86,40
2cb0: 30 2e 30 3c 2f 62 3e 20 63 6f 73 74 20 76 61 6c  0.0</b> cost val
2cc0: 75 65 73 20 28 65 71 75 69 76 61 6c 65 6e 74 20  ues (equivalent 
2cd0: 74 6f 20 31 20 64 61 79 29 20 61 70 70 72 6f 78  to 1 day) approx
2ce0: 69 6d 61 74 65 20 61 6e 20 3c 62 3e 69 6e 66 69  imate an <b>infi
2cf0: 6e 69 74 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20  nitive cost</b> 
2d00: 74 68 75 73 20 69 6e 74 65 6e 64 69 6e 67 20 61  thus intending a
2d10: 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62   <b>forbidden</b
2d20: 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  > Link.</li>..<l
2d30: 69 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61  i><b>geom</b>: a
2d40: 20 3c 62 3e 33 44 20 4c 69 6e 65 73 74 72 69 6e   <b>3D Linestrin
2d50: 67 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69  g</b> representi
2d60: 6e 67 20 74 68 65 20 47 65 6f 6d 65 74 72 79 20  ng the Geometry 
2d70: 6f 66 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72  of each Link.<br
2d80: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
2d90: 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 3c 62 3e  the original <b>
2da0: 49 74 65 72 2e 4e 65 74 3c 2f 62 3e 20 64 61 74  Iter.Net</b> dat
2db0: 61 73 65 74 20 69 73 20 6a 75 73 74 20 3c 62 3e  aset is just <b>
2dc0: 32 44 3c 2f 62 3e 3b 20 65 6c 65 76 61 74 69 6f  2D</b>; elevatio
2dd0: 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f  ns (<b>Z</b> coo
2de0: 72 64 69 6e 61 74 65 73 29 20 77 65 72 65 20 69  rdinates) were i
2df0: 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 79 20 64  nterpolated by d
2e00: 72 61 70 69 6e 67 20 74 68 65 20 64 61 74 61 73  raping the datas
2e10: 65 74 20 6f 76 65 72 20 61 6e 20 3c 61 20 68 72  et over an <a hr
2e20: 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30  ef="http://www50
2e30: 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e  2.regione.toscan
2e40: 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64  a.it/geoscopio/d
2e50: 6f 77 6e 6c 6f 61 64 2f 61 6c 74 69 6d 65 74 72  ownload/altimetr
2e60: 69 61 2f 64 61 5f 63 74 72 31 30 6b 2f 67 62 2f  ia/da_ctr10k/gb/
2e70: 44 54 4d 5f 4f 72 6f 67 72 61 66 69 63 6f 2e 37  DTM_Orografico.7
2e80: 7a 22 3e 6f 72 6f 67 72 61 70 68 69 63 20 44 45  z">orographic DE
2e90: 4d 20 28 31 30 6d 20 58 20 31 30 6d 20 63 65 6c  M (10m X 10m cel
2ea0: 6c 73 29 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f  ls)</a></li>..</
2eb0: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68  ul></li>..<li>th
2ec0: 65 20 3c 62 3e 72 6f 61 64 73 5f 76 77 3c 2f 62  e <b>roads_vw</b
2ed0: 3e 20 53 70 61 74 69 61 6c 20 56 69 65 77 20 69  > Spatial View i
2ee0: 73 20 6a 75 73 74 20 69 6e 74 65 6e 64 65 64 20  s just intended 
2ef0: 74 6f 20 66 75 6c 6c 79 20 72 65 73 6f 6c 76 65  to fully resolve
2f00: 20 61 6c 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20   all relational 
2f10: 72 65 66 65 72 65 6e 63 65 73 20 62 65 74 77 65  references betwe
2f20: 65 6e 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c  en <b>roads</b>,
2f30: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e   <b>toponyms</b>
2f40: 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61   and <b>municipa
2f50: 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73  lities</b>, thus
2f60: 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61   allowing for ea
2f70: 73 69 65 72 20 53 51 4c 20 71 75 65 72 69 65 73  sier SQL queries
2f80: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  .</li>..<li>the 
2f90: 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62 3e 20  <b>house_nr</b> 
2fa0: 53 70 61 74 69 61 6c 20 54 61 62 6c 65 20 63 6f  Spatial Table co
2fb0: 6e 74 61 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e  ntains about <b>
2fc0: 31 2c 34 38 30 2c 30 30 30 3c 2f 62 3e 20 48 6f  1,480,000</b> Ho
2fd0: 75 73 65 20 4e 75 6d 62 65 72 73 2c 20 61 6e 64  use Numbers, and
2fe0: 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69   has the followi
2ff0: 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 75 6c  ng columns:..<ul
3000: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 3c 2f 62 3e  >..<li><b>id</b>
3010: 3a 20 75 6e 69 71 75 65 20 69 64 65 6e 74 69 66  : unique identif
3020: 69 65 72 20 6f 66 20 65 61 63 68 20 48 6f 75 73  ier of each Hous
3030: 65 20 4e 75 6d 62 65 72 20 28 3c 62 3e 50 52 49  e Number (<b>PRI
3040: 4d 41 52 59 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f  MARY KEY</b>).</
3050: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 72  li>..<li><b>id_r
3060: 6f 61 64 3c 2f 62 3e 3a 20 72 65 6c 61 74 69 6f  oad</b>: relatio
3070: 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74 6f  nal reference to
3080: 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69   the correspondi
3090: 6e 67 20 4c 69 6e 6b 20 63 6f 6e 74 61 69 6e 65  ng Link containe
30a0: 64 20 69 6e 74 6f 20 74 68 65 20 3c 62 3e 72 6f  d into the <b>ro
30b0: 61 64 73 3c 2f 62 3e 20 54 61 62 6c 65 20 28 3c  ads</b> Table (<
30c0: 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f 62  b>FOREIGN KEY</b
30d0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  >).</li>..<li><b
30e0: 3e 6c 61 62 65 6c 3c 2f 62 3e 3a 20 74 68 65 20  >label</b>: the 
30f0: 74 65 78 74 75 61 6c 20 6c 61 62 65 6c 20 66 75  textual label fu
3100: 6c 6c 79 20 71 75 61 6c 69 66 79 69 6e 67 20 65  lly qualifying e
3110: 61 63 68 20 48 6f 75 73 65 20 4e 75 6d 62 65 72  ach House Number
3120: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 67  .</li>..<li><b>g
3130: 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62 3e 33 44  eom</b>: a <b>3D
3140: 20 50 6f 69 6e 74 3c 2f 62 3e 20 72 65 70 72 65   Point</b> repre
3150: 73 65 6e 74 69 6e 67 20 74 68 65 20 47 65 6f 6d  senting the Geom
3160: 65 74 72 79 20 6f 66 20 65 61 63 68 20 48 6f 75  etry of each Hou
3170: 73 65 20 4e 75 6d 62 65 72 2e 3c 62 72 3e 0d 0a  se Number.<br>..
3180: 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20  <u>Note #1</u>: 
3190: 61 6c 73 6f 20 69 6e 20 74 68 69 73 20 63 61 73  also in this cas
31a0: 65 20 61 6c 6c 20 65 6c 65 76 61 74 69 6f 6e 73  e all elevations
31b0: 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64   (<b>Z</b> coord
31c0: 69 6e 61 74 65 73 29 20 77 65 72 65 20 69 6e 74  inates) were int
31d0: 65 72 70 6f 6c 61 74 65 64 20 62 79 20 64 72 61  erpolated by dra
31e0: 70 69 6e 67 20 74 68 65 20 64 61 74 61 73 65 74  ping the dataset
31f0: 20 6f 76 65 72 20 74 68 65 20 73 61 6d 65 20 44   over the same D
3200: 45 4d 20 61 73 20 61 62 6f 76 65 2e 3c 62 72 3e  EM as above.<br>
3210: 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e  ..<u>Note #2</u>
3220: 3a 20 73 74 72 69 63 74 6c 79 20 73 70 65 63 6b  : strictly speck
3230: 69 6e 67 20 74 68 65 20 48 6f 75 73 65 20 4e 75  ing the House Nu
3240: 6d 62 65 72 73 20 61 72 65 20 6e 6f 74 20 70 61  mbers are not pa
3250: 72 74 20 6f 66 20 74 68 65 20 52 6f 61 64 20 4e  rt of the Road N
3260: 65 74 77 6f 72 6b 3b 20 74 68 65 79 20 61 72 65  etwork; they are
3270: 20 69 6e 63 6c 75 64 65 20 69 6e 74 6f 20 74 68   include into th
3280: 65 20 73 61 6d 70 6c 65 2f 74 65 73 74 20 64 61  e sample/test da
3290: 74 61 62 61 73 65 20 6a 75 73 74 20 62 65 63 61  tabase just beca
32a0: 75 73 65 20 74 68 65 79 27 6c 6c 20 62 65 20 75  use they'll be u
32b0: 73 65 66 75 6c 20 69 6e 20 73 6f 6d 65 20 6f 66  seful in some of
32c0: 20 74 68 65 20 65 78 61 6d 70 6c 65 73 20 65 78   the examples ex
32d0: 70 6c 61 69 6e 65 64 20 69 6e 20 62 65 6c 6f 77  plained in below
32e0: 20 70 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69   paragraphs.</li
32f0: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
3300: 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f  li>the <b>house_
3310: 6e 72 5f 76 77 3c 2f 62 3e 20 53 70 61 74 69 61  nr_vw</b> Spatia
3320: 6c 20 56 69 65 77 20 69 73 20 6a 75 73 74 20 69  l View is just i
3330: 6e 74 65 6e 64 65 64 20 74 6f 20 66 75 6c 6c 79  ntended to fully
3340: 20 72 65 73 6f 6c 76 65 20 61 6c 6c 20 72 65 6c   resolve all rel
3350: 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63  ational referenc
3360: 65 73 20 62 65 74 77 65 65 6e 20 3c 62 3e 68 6f  es between <b>ho
3370: 75 73 65 5f 6e 72 3c 2f 62 3e 2c 20 3c 62 3e 72  use_nr</b>, <b>r
3380: 6f 61 64 73 3c 2f 62 3e 2c 20 3c 62 3e 74 6f 70  oads</b>, <b>top
3390: 6f 6e 79 6d 73 3c 2f 62 3e 20 61 6e 64 20 3c 62  onyms</b> and <b
33a0: 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c  >municipalities<
33b0: 2f 62 3e 2c 20 74 68 75 73 20 61 6c 6c 6f 77 69  /b>, thus allowi
33c0: 6e 67 20 66 6f 72 20 65 61 73 69 65 72 20 53 51  ng for easier SQ
33d0: 4c 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d  L queries.</li>.
33e0: 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 20 3c  .</ul>..<br>.. <
33f0: 68 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65  hr>..<h1><a name
3400: 3d 22 63 72 65 61 74 65 22 3e 33 20 2d 20 43 72  ="create">3 - Cr
3410: 65 61 74 69 6e 67 20 56 69 72 74 75 61 6c 52 6f  eating VirtualRo
3420: 75 74 69 6e 67 20 54 61 62 6c 65 73 3c 2f 61 3e  uting Tables</a>
3430: 3c 2f 68 31 3e 0d 0a 41 6c 6c 20 56 69 72 74 75  </h1>..All Virtu
3440: 61 6c 52 6f 75 74 69 6e 67 20 71 75 65 72 69 65  alRouting querie
3450: 73 20 61 72 65 20 62 61 73 65 64 20 6f 6e 20 73  s are based on s
3460: 6f 6d 65 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f  ome <b>VirtualRo
3470: 75 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 2c  uting Table</b>,
3480: 20 61 6e 64 20 69 6e 20 74 75 72 6e 20 61 6e 79   and in turn any
3490: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
34a0: 54 61 62 6c 65 20 69 73 20 62 61 73 65 64 20 6f  Table is based o
34b0: 6e 20 73 6f 6d 65 20 61 70 70 72 6f 70 72 69 61  n some appropria
34c0: 74 65 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74  te <b>Binary Dat
34d0: 61 20 54 61 62 6c 65 3c 2f 62 3e 20 73 75 70 70  a Table</b> supp
34e0: 6f 72 74 69 6e 67 20 61 6e 20 65 66 66 69 63 69  orting an effici
34f0: 65 6e 74 20 72 65 70 72 65 73 65 6e 74 61 74 69  ent representati
3500: 6f 6e 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c  on of the underl
3510: 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72  ying Network.<br
3520: 3e 0d 0a 53 6f 20 77 65 27 6c 6c 20 73 74 61 72  >..So we'll star
3530: 74 20 66 69 72 73 74 20 62 79 20 63 72 65 61 74  t first by creat
3540: 69 6e 67 20 73 75 63 68 20 74 61 62 6c 65 73 2e  ing such tables.
3550: 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6f 6c  <br><br>..The ol
3560: 64 20 61 6e 64 20 6e 6f 77 20 73 75 70 65 72 73  d and now supers
3570: 65 64 65 64 20 3c 62 3e 56 69 72 74 75 61 6c 4e  eded <b>VirtualN
3580: 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 71 75 69  etwork</b> requi
3590: 72 65 64 20 75 73 69 6e 67 20 61 20 73 65 70 61  red using a sepa
35a0: 72 61 74 65 20 43 4c 49 20 74 6f 6f 6c 20 28 3c  rate CLI tool (<
35b0: 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 6e 65 74  b>spatialite_net
35c0: 77 6f 72 6b 3c 2f 62 3e 29 20 69 6e 20 6f 72 64  work</b>) in ord
35d0: 65 72 20 74 6f 20 70 72 6f 70 65 72 6c 79 20 69  er to properly i
35e0: 6e 69 74 69 61 6c 69 7a 65 20 61 20 56 69 72 74  nitialize a Virt
35f0: 75 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65  ualNetwork Table
3600: 20 61 6e 64 20 69 74 73 20 63 6f 6d 70 61 6e 69   and its compani
3610: 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54  on Binary Data T
3620: 61 62 6c 65 3b 0d 0a 61 6c 74 65 72 6e 61 74 69  able;..alternati
3630: 76 65 6c 79 20 3c 62 3e 73 70 61 74 69 61 6c 69  vely <b>spatiali
3640: 74 65 5f 67 75 69 3c 2f 62 3e 20 73 75 70 70 6f  te_gui</b> suppo
3650: 72 74 65 64 20 61 20 3c 62 3e 47 55 49 20 77 69  rted a <b>GUI wi
3660: 7a 61 72 64 3c 2f 62 3e 20 66 6f 72 20 74 68 65  zard</b> for the
3670: 20 73 61 6d 65 20 74 61 73 6b 2e 20 53 69 6e 63   same task. Sinc
3680: 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35 2e 30  e version <b>5.0
3690: 2e 30 3c 2f 62 3e 20 6e 6f 77 20 53 70 61 74 69  .0</b> now Spati
36a0: 61 4c 69 74 65 20 64 69 72 65 63 74 6c 79 20 73  aLite directly s
36b0: 75 70 70 6f 72 74 73 20 61 20 73 70 65 63 69 66  upports a specif
36c0: 69 63 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  ic <b>CreateRout
36d0: 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75  ing()</b> SQL fu
36e0: 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61 74  nction...<verbat
36f0: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  im>..SELECT Crea
3700: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 6f 6f  teRouting('byfoo
3710: 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f 6f 74  t_data', 'byfoot
3720: 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27  ', 'roads_vw', '
3730: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64  node_from', 'nod
3740: 65 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e 55  eto', 'geom', NU
3750: 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 43  LL);....SELECT C
3760: 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74  reateRouting_Get
3770: 4c 61 73 74 45 72 72 6f 72 28 29 3b 0d 0a 2d 2d  LastError();..--
3780: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3790: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
37a0: 2d 2d 0d 0a 54 6f 4e 6f 64 65 20 43 6f 6c 75 6d  --..ToNode Colum
37b0: 6e 20 22 6e 6f 64 65 74 6f 22 20 69 73 20 6e 6f  n "nodeto" is no
37c0: 74 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65  t defined in the
37d0: 20 49 6e 70 75 74 20 54 61 62 6c 65 0d 0a 3c 2f   Input Table..</
37e0: 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f  verbatim>..<u>No
37f0: 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 66 69 72  te</u>: this fir
3800: 73 74 20 71 75 65 72 79 20 28 62 61 73 65 64 20  st query (based 
3810: 6f 6e 20 74 68 65 20 3c 69 3e 72 65 64 75 63 65  on the <i>reduce
3820: 64 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 3c 62  d form</i> of <b
3830: 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 3c 2f  >CreateRouting</
3840: 62 3e 29 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20  b>) contains an 
3850: 69 6e 74 65 6e 64 65 64 20 65 72 72 6f 72 20 63  intended error c
3860: 61 75 73 69 6e 67 20 61 20 66 61 69 6c 75 72 65  ausing a failure
3870: 20 61 6e 64 20 74 68 75 73 20 72 61 69 73 69 6e   and thus raisin
3880: 67 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 3c  g an exception.<
3890: 62 72 3e 0d 0a 43 72 65 61 74 65 52 6f 75 74 69  br>..CreateRouti
38a0: 6e 67 28 29 20 63 61 6e 20 66 61 69 6c 20 66 6f  ng() can fail fo
38b0: 72 20 6d 75 6c 74 69 70 6c 65 20 72 65 61 73 6f  r multiple reaso
38c0: 6e 73 2c 20 61 6e 64 20 62 79 20 63 61 6c 6c 69  ns, and by calli
38d0: 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  ng <b>CreateRout
38e0: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72  ing_GetLastError
38f0: 28 29 3c 2f 62 3e 20 79 6f 75 20 63 61 6e 20 65  ()</b> you can e
3900: 61 73 69 6c 79 20 69 64 65 6e 74 69 66 79 20 74  asily identify t
3910: 68 65 20 65 78 61 63 74 20 72 65 61 73 6f 6e 20  he exact reason 
3920: 77 68 79 20 74 68 65 20 6d 6f 73 74 20 72 65 63  why the most rec
3930: 65 6e 74 20 63 61 6c 6c 20 74 6f 20 43 72 65 61  ent call to Crea
3940: 74 65 52 6f 75 74 69 6e 67 28 29 20 66 61 69 6c  teRouting() fail
3950: 65 64 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74  ed.<br>..<verbat
3960: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  im>..SELECT Crea
3970: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 6f 6f  teRouting('byfoo
3980: 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f 6f 74  t_data', 'byfoot
3990: 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27  ', 'roads_vw', '
39a0: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64  node_from', 'nod
39b0: 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e  e_to', 'geom', N
39c0: 55 4c 4c 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20  ULL, 'toponym', 
39d0: 31 2c 20 31 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d  1, 1);..--------
39e0: 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d 0a 53 45 4c 45  -----..1....SELE
39f0: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67  CT CreateRouting
3a00: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3b  _GetLastError();
3a10: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
3a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a30: 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c 4c 0d 0a 3c 2f  ------..NULL..</
3a40: 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69 73 20  verbatim>..This 
3a50: 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 20 69  second attempt i
3a60: 73 20 66 69 6e 61 6c 6c 79 20 73 75 63 63 65 73  s finally succes
3a70: 73 66 75 6c 2c 20 61 6e 64 20 6e 6f 77 20 43 72  sful, and now Cr
3a80: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 72 65  eateRouting() re
3a90: 74 75 72 6e 73 20 3c 62 3e 31 3c 2f 62 3e 20 28  turns <b>1</b> (
3aa0: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 54 52  <i>aka</i> <b>TR
3ab0: 55 45 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 73 20  UE</b>), and as 
3ac0: 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 63  you can easily c
3ad0: 68 65 63 6b 20 6e 6f 77 20 74 68 65 20 44 61 74  heck now the Dat
3ae0: 61 62 61 73 65 20 63 6f 6e 74 61 69 6e 73 20 74  abase contains t
3af0: 77 6f 20 6e 65 77 20 54 61 62 6c 65 73 3a 20 3c  wo new Tables: <
3b00: 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 61 6e 64  b>byfoot</b> and
3b10: 20 3c 62 3e 62 79 66 6f 6f 74 5f 64 61 74 61 3c   <b>byfoot_data<
3b20: 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  /b>.<br>..<u>Not
3b30: 65 3c 2f 75 3e 3a 20 61 66 74 65 72 20 61 20 73  e</u>: after a s
3b40: 75 63 63 65 73 73 66 75 6c 20 63 61 6c 6c 20 74  uccessful call t
3b50: 6f 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28  o CreateRouting(
3b60: 29 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69  ) <b>CreateRouti
3b70: 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28  ng_GetLastError(
3b80: 29 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79  )</b> will alway
3b90: 73 20 72 65 74 75 72 6e 20 3c 62 3e 4e 55 4c 4c  s return <b>NULL
3ba0: 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 59  </b>.<br><br>..Y
3bb0: 6f 75 27 76 65 20 6a 75 73 74 20 75 73 65 64 20  ou've just used 
3bc0: 6f 6e 65 20 6f 66 20 74 68 65 20 3c 69 3e 70 61  one of the <i>pa
3bd0: 72 74 69 61 6c 6c 79 20 72 65 64 75 63 65 64 20  rtially reduced 
3be0: 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61  form</i> of Crea
3bf0: 74 65 52 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74  teRouting(); let
3c00: 27 73 20 73 65 65 20 69 6e 20 6d 6f 72 65 20 64  's see in more d
3c10: 65 70 74 68 20 61 6c 6c 20 74 68 65 20 61 72 67  epth all the arg
3c20: 75 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72  uments and their
3c30: 20 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d   meaning:..<ol>.
3c40: 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 5f 64  .<li><i>byfoot_d
3c50: 61 74 61 3c 2f 69 3e 3a 20 74 68 65 20 6e 61 6d  ata</i>: the nam
3c60: 65 20 6f 66 20 74 68 65 20 4e 65 74 77 6f 72 6b  e of the Network
3c70: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62   Binary Data Tab
3c80: 6c 65 20 74 6f 20 62 65 20 63 72 65 61 74 65 64  le to be created
3c90: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62  .</li>..<li><i>b
3ca0: 79 66 6f 6f 74 3c 2f 69 3e 3a 20 74 68 65 20 6e  yfoot</i>: the n
3cb0: 61 6d 65 20 6f 66 20 74 68 65 20 56 69 72 74 75  ame of the Virtu
3cc0: 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20  alRouting Table 
3cd0: 74 6f 20 62 65 20 63 72 65 61 74 65 64 2e 3c 2f  to be created.</
3ce0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64  li>..<li><i>road
3cf0: 73 5f 76 77 3c 2f 69 3e 3a 20 74 68 65 20 6e 61  s_vw</i>: the na
3d00: 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e 53 70 61  me of the <b>Spa
3d10: 74 69 61 6c 20 54 61 62 6c 65 3c 2f 62 3e 20 6f  tial Table</b> o
3d20: 72 20 3c 62 3e 53 70 61 74 69 61 6c 20 56 69 65  r <b>Spatial Vie
3d30: 77 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69  w</b> representi
3d40: 6e 67 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e  ng the underlyin
3d50: 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a  g Network.<br>..
3d60: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 69 6e 20  <u>Note</u>: in 
3d70: 74 68 69 73 20 63 61 73 65 20 77 65 20 61 63 74  this case we act
3d80: 75 61 6c 6c 79 20 75 73 65 64 20 61 20 53 70 61  ually used a Spa
3d90: 74 69 61 6c 20 56 69 65 77 2e 3c 2f 6c 69 3e 0d  tial View.</li>.
3da0: 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f  .<li><i>node_fro
3db0: 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74  m</i>: name of t
3dc0: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68  he column (in th
3dd0: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72  e above Table or
3de0: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20   View) expected 
3df0: 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f  to contain <b>no
3e00: 64 65 2d 66 72 6f 6d 3c 2f 62 3e 20 76 61 6c 75  de-from</b> valu
3e10: 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  es.</li>..<li><i
3e20: 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e 61  >node_to</i>: na
3e30: 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e  me of the column
3e40: 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54   (in the above T
3e50: 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78  able or View) ex
3e60: 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69  pected to contai
3e70: 6e 20 3c 62 3e 6e 6f 64 65 2d 74 6f 3c 2f 62 3e  n <b>node-to</b>
3e80: 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c   values.</li>..<
3e90: 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20  li><i>geom</i>: 
3ea0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75  name of the colu
3eb0: 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65  mn (in the above
3ec0: 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20   Table or View) 
3ed0: 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74  expected to cont
3ee0: 61 69 6e 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e  ain <b>Linestrin
3ef0: 67 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 57 65 20  gs</b>.<br>..We 
3f00: 63 6f 75 6c 64 20 68 61 76 65 20 6c 65 67 69 74  could have legit
3f10: 69 6d 61 74 65 6c 79 20 70 61 73 73 65 64 20 61  imately passed a
3f20: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c   <b>NULL</b> val
3f30: 75 65 20 66 6f 72 20 74 68 69 73 20 61 72 67 75  ue for this argu
3f40: 6d 65 6e 74 20 69 6e 20 74 68 65 20 63 61 73 65  ment in the case
3f50: 20 6f 66 20 61 20 3c 62 3e 4c 6f 67 69 63 61 6c   of a <b>Logical
3f60: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 2e 3c 2f 6c   Network</b>.</l
3f70: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c  i>..<li><i>NULL<
3f80: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65  /i>: name of the
3f90: 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20   column (in the 
3fa0: 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56  above Table or V
3fb0: 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f  iew) expected to
3fc0: 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 63 6f 73 74   contain <b>cost
3fd0: 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 72 3e  </b> values.<br>
3fe0: 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65 20 77  ..In this case w
3ff0: 65 20 68 61 76 65 20 70 61 73 73 65 64 20 61 20  e have passed a 
4000: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75  <b>NULL</b> valu
4010: 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e  e, and consequen
4020: 74 6c 79 20 74 68 65 20 3c 62 3e 63 6f 73 74 3c  tly the <b>cost<
4030: 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e 6b  /b> of each Link
4040: 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d 65 64   will be assumed
4050: 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e 74   to be represent
4060: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 67 65 6f  ed by the <b>geo
4070: 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c 2f 62  metric length</b
4080: 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70  > of the corresp
4090: 6f 6e 64 69 6e 67 20 4c 69 6e 65 73 74 72 69 6e  onding Linestrin
40a0: 67 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20  g.<br>..<u>Note 
40b0: 23 31 3c 2f 75 3e 3a 20 69 6e 20 74 68 65 20 63  #1</u>: in the c
40c0: 61 73 65 20 6f 66 20 4e 65 74 77 6f 72 6b 73 20  ase of Networks 
40d0: 62 61 73 65 64 20 6f 6e 20 3c 62 3e 6c 6f 6e 67  based on <b>long
40e0: 69 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64 20 3c  itudes</b> and <
40f0: 62 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62 3e 20  b>latitudes</b> 
4100: 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 67  (<i>aka</i> <b>g
4110: 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e 20 52 65  eographic</b> Re
4120: 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d 73 29  ference Systems)
4130: 20 74 68 65 20 67 65 6f 6d 65 74 72 79 20 6c 65   the geometry le
4140: 6e 67 74 68 20 6f 66 20 61 6c 6c 20 4c 69 6e 65  ngth of all Line
4150: 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62 65 20  strings will be 
4160: 70 72 65 63 69 73 65 6c 79 20 3c 62 3e 6d 65 61  precisely <b>mea
4170: 73 75 72 65 64 20 6f 6e 20 74 68 65 20 65 6c 6c  sured on the ell
4180: 69 70 73 6f 69 64 3c 2f 62 3e 20 62 79 20 61 70  ipsoid</b> by ap
4190: 70 6c 79 69 6e 67 20 74 68 65 20 6d 6f 73 74 20  plying the most 
41a0: 61 63 63 75 72 61 74 65 20 3c 62 3e 67 65 6f 64  accurate <b>geod
41b0: 65 73 69 63 20 66 6f 72 6d 75 6c 61 65 3c 2f 62  esic formulae</b
41c0: 3e 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 63 6f  > and will be co
41d0: 6e 73 65 71 75 65 6e 74 6c 79 20 65 78 70 72 65  nsequently expre
41e0: 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 65 72  ssed in <b>meter
41f0: 73 3c 2f 62 3e 2e 20 49 6e 20 61 6e 79 20 6f 74  s</b>. In any ot
4200: 68 65 72 20 63 61 73 65 20 28 3c 62 3e 70 72 6f  her case (<b>pro
4210: 6a 65 63 74 65 64 3c 2f 62 3e 20 52 65 66 65 72  jected</b> Refer
4220: 65 6e 63 65 20 53 79 73 74 65 6d 73 29 20 6c 65  ence Systems) le
4230: 6e 67 74 68 73 20 77 69 6c 6c 20 62 65 20 65 78  ngths will be ex
4240: 70 72 65 73 73 65 64 20 69 6e 20 74 68 65 20 3c  pressed in the <
4250: 62 3e 6d 65 61 73 75 72 65 20 75 6e 69 74 3c 2f  b>measure unit</
4260: 62 3e 20 64 65 66 69 6e 65 64 20 62 79 20 74 68  b> defined by th
4270: 65 20 52 65 66 65 72 65 6e 63 65 20 53 79 73 74  e Reference Syst
4280: 65 6d 20 28 65 2e 67 2e 20 3c 62 3e 6d 65 74 65  em (e.g. <b>mete
4290: 72 73 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e 55 54  rs</b> for <b>UT
42a0: 4d 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 6f 6e  M</b> projection
42b0: 73 20 61 6e 64 20 3c 62 3e 66 65 65 74 3c 2f 62  s and <b>feet</b
42c0: 3e 20 66 6f 72 20 3c 62 3e 4e 41 44 2d 66 74 3c  > for <b>NAD-ft<
42d0: 2f 62 3e 20 70 72 6f 6a 65 63 74 69 6f 6e 73 29  /b> projections)
42e0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23  .<br>..<u>Note #
42f0: 32 3c 2f 75 3e 3a 20 74 68 65 20 3c 62 3e 67 65  2</u>: the <b>ge
4300: 6f 6d 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 61 6e  om-column</b> an
4310: 64 20 3c 62 3e 63 6f 73 74 2d 63 6f 6c 75 6d 6e  d <b>cost-column
4320: 3c 2f 62 3e 20 61 72 67 75 6d 65 6e 74 73 20 61  </b> arguments a
4330: 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 65 64  re never allowed
4340: 20 74 6f 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f   to be <b>NULL</
4350: 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65 20 74  b> at the same t
4360: 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ime.</li>..<li><
4370: 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 6e  i>toponym</i>: n
4380: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
4390: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
43a0: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65  Table or View) e
43b0: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61  xpected to conta
43c0: 69 6e 20 3c 62 3e 72 6f 61 64 2d 6e 61 6d 65 3c  in <b>road-name<
43d0: 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 72 3e 0d  /b> values.<br>.
43e0: 0a 49 74 20 63 6f 75 6c 64 20 62 65 20 6c 65 67  .It could be leg
43f0: 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20 74 6f  itimately set to
4400: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20   <b>NULL</b> if 
4410: 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20 61 6e  all Links are an
4420: 6f 6e 79 6d 6f 75 73 2e 3c 2f 6c 69 3e 0d 0a 3c  onymous.</li>..<
4430: 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 61 20 62  li><i>1</i>: a b
4440: 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e 74 65  oolean flag inte
4450: 6e 64 65 64 20 74 6f 20 73 70 65 63 69 66 79 20  nded to specify 
4460: 69 66 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 6d  if the Network m
4470: 75 73 74 20 73 75 70 70 6f 72 74 20 74 68 65 20  ust support the 
4480: 3c 62 3e 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c  <b>A* algorithm<
4490: 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 73 65 74 20  /b> or not (set 
44a0: 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 62  to <b>TRUE</b> b
44b0: 79 20 64 65 66 61 75 6c 74 29 2e 3c 2f 6c 69 3e  y default).</li>
44c0: 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20  ..<li><i>1</i>: 
44d0: 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69  a boolean flag i
44e0: 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69  ntended to speci
44f0: 66 79 20 69 66 20 61 6c 6c 20 4e 65 74 77 6f 72  fy if all Networ
4500: 6b 27 73 20 4c 69 6e 6b 73 20 61 72 65 20 61 73  k's Links are as
4510: 73 75 6d 65 64 20 74 6f 20 62 65 20 3c 62 3e 62  sumed to be <b>b
4520: 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f 62 3e  idirectional</b>
4530: 20 6f 72 20 6e 6f 74 20 28 61 73 73 75 6d 65 64   or not (assumed
4540: 20 74 6f 20 62 65 20 3c 62 3e 54 52 55 45 3c 2f   to be <b>TRUE</
4550: 62 3e 20 62 79 20 64 65 66 61 75 6c 74 29 2e 3c  b> by default).<
4560: 2f 6c 69 3e 20 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 74  /li> ..</ol>..<t
4570: 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63  able bgcolor="#c
4580: 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69  0ffc0" cellspaci
4590: 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
45a0: 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
45b0: 0d 0a 3c 68 33 3e 54 65 63 68 6e 69 63 61 6c 20  ..<h3>Technical 
45c0: 6e 6f 74 65 3c 2f 68 33 3e 0d 0a 54 68 65 20 69  note</h3>..The i
45d0: 6e 74 65 72 6e 61 6c 20 65 6e 63 6f 64 69 6e 67  nternal encoding
45e0: 20 61 64 6f 70 74 65 64 20 62 79 20 74 68 65 20   adopted by the 
45f0: 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54  <b>Binary Data T
4600: 61 62 6c 65 3c 2f 62 3e 20 69 73 20 75 6e 63 68  able</b> is unch
4610: 61 6e 67 65 64 20 61 6e 64 20 69 73 20 74 68 65  anged and is the
4620: 20 73 61 6d 65 20 66 6f 72 20 62 6f 74 68 20 3c   same for both <
4630: 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f 6b 3c  b>VirtualNetwok<
4640: 2f 62 3e 20 61 6e 64 20 3c 62 3e 56 69 72 74 75  /b> and <b>Virtu
4650: 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62  alRouting</b>.<b
4660: 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 73 61 66 65  r>..You can safe
4670: 6c 79 20 62 61 73 65 20 61 20 3c 62 3e 56 69 72  ly base a <b>Vir
4680: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
4690: 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 65 78 69  e</b> on any exi
46a0: 73 74 69 6e 67 20 42 69 6e 61 72 79 20 44 61 74  sting Binary Dat
46b0: 61 0d 0a 54 61 62 6c 65 20 63 72 65 61 74 65 64  a..Table created
46c0: 20 62 79 20 74 68 65 20 3c 62 3e 73 70 61 74 69   by the <b>spati
46d0: 61 6c 69 74 65 2d 6e 65 74 77 6f 72 6b 3c 2f 62  alite-network</b
46e0: 3e 20 43 4c 49 20 74 6f 6f 6c 2c 20 65 78 61 63  > CLI tool, exac
46f0: 74 6c 79 20 61 73 20 79 6f 75 20 63 61 6e 20 62  tly as you can b
4700: 61 73 65 20 61 20 3c 62 3e 56 69 72 74 75 61 6c  ase a <b>Virtual
4710: 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 3c 2f 62  Network Table</b
4720: 3e 20 6f 6e 20 61 6e 79 20 42 69 6e 61 72 79 20  > on any Binary 
4730: 44 61 74 61 20 54 61 62 6c 65 20 63 72 65 61 74  Data Table creat
4740: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 43 72 65  ed by the <b>Cre
4750: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e  ateRouting()</b>
4760: 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a   SQL function...
4770: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 43 52 45 41  <verbatim>..CREA
4780: 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45  TE VIRTUAL TABLE
4790: 20 74 65 73 74 5f 6e 65 74 77 6f 72 6b 20 55 53   test_network US
47a0: 49 4e 47 20 56 69 72 74 75 61 6c 4e 65 74 77 6f  ING VirtualNetwo
47b0: 72 6b 28 27 73 6f 6d 65 5f 64 61 74 61 5f 74 61  rk('some_data_ta
47c0: 62 6c 65 27 29 3b 0d 0a 0d 0a 43 52 45 41 54 45  ble');....CREATE
47d0: 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 74   VIRTUAL TABLE t
47e0: 65 73 74 5f 72 6f 75 74 69 6e 67 20 55 53 49 4e  est_routing USIN
47f0: 47 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  G VirtualRouting
4800: 28 27 73 6f 6d 65 5f 64 61 74 61 5f 74 61 62 6c  ('some_data_tabl
4810: 65 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  e');..</verbatim
4820: 3e 0d 0a 49 6e 20 6f 72 64 65 72 20 74 6f 20 6d  >..In order to m
4830: 61 6e 75 61 6c 6c 79 20 63 72 65 61 74 65 20 79  anually create y
4840: 6f 75 72 20 56 69 72 74 75 61 6c 20 54 61 62 6c  our Virtual Tabl
4850: 65 73 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65  es you just have
4860: 20 74 6f 20 65 78 65 63 75 74 65 20 61 6e 20 61   to execute an a
4870: 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 43 52  ppropriate <b>CR
4880: 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42  EATE VIRTUAL TAB
4890: 4c 45 20 2e 2e 2e 20 55 53 49 4e 47 20 56 69 72  LE ... USING Vir
48a0: 74 75 61 6c 2e 2e 2e 20 28 2e 2e 2e 29 3c 2f 62  tual... (...)</b
48b0: 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0d 0a 3c 68  > statement...<h
48c0: 34 3e 57 61 72 6e 69 6e 67 3c 2f 68 34 3e 0d 0a  4>Warning</h4>..
48d0: 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 3c  In the case of <
48e0: 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72  b>Spatial Networ
48f0: 6b 73 3c 2f 62 3e 20 62 61 73 65 64 20 6f 6e 20  ks</b> based on 
4900: 61 6e 79 20 3c 62 3e 67 65 6f 67 72 61 70 68 69  any <b>geographi
4910: 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 65 20  c</b> Reference 
4920: 53 79 73 74 65 6d 20 28 75 73 69 6e 67 20 3c 62  System (using <b
4930: 3e 6c 6f 6e 67 69 74 75 64 65 73 3c 2f 62 3e 20  >longitudes</b> 
4940: 61 6e 64 20 3c 62 3e 6c 61 74 69 74 75 64 65 73  and <b>latitudes
4950: 3c 2f 62 3e 29 20 74 68 65 72 65 20 69 73 20 61  </b>) there is a
4960: 6e 20 69 6d 70 6f 72 74 61 6e 74 20 64 69 66 66  n important diff
4970: 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 42  erence between B
4980: 69 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c 65  inary Data Table
4990: 73 20 63 72 65 61 74 65 64 20 62 79 20 74 68 65  s created by the
49a0: 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 6e   <b>spatialite_n
49b0: 65 74 77 6f 72 6b 3c 2f 62 3e 20 47 55 49 20 74  etwork</b> GUI t
49c0: 6f 6f 6c 20 61 6e 64 20 20 42 69 6e 61 72 79 20  ool and  Binary 
49d0: 44 61 74 61 20 54 61 62 6c 65 73 20 63 72 65 61  Data Tables crea
49e0: 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 43 72  ted by the <b>Cr
49f0: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62  eateRouting()</b
4a00: 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 77  > SQL function w
4a10: 68 65 6e 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e  hen <b>costs</b>
4a20: 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 20   are implicitly 
4a30: 62 61 73 65 64 20 6f 6e 20 74 68 65 20 67 65 6f  based on the geo
4a40: 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 20 6f 66  metric length of
4a50: 20 74 68 65 20 4c 69 6e 6b 27 73 20 4c 69 6e 65   the Link's Line
4a60: 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  string:..<ul>..<
4a70: 6c 69 3e 74 68 65 20 3c 62 3e 73 70 61 74 69 61  li>the <b>spatia
4a80: 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e  lite_network</b>
4a90: 20 43 4c 49 20 74 6f 6f 6c 20 28 61 6e 64 20 74   CLI tool (and t
4aa0: 68 65 20 3c 62 3e 47 55 49 20 77 69 7a 61 72 64  he <b>GUI wizard
4ab0: 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65 6e 74 65 64  </b> implemented
4ac0: 20 62 79 20 70 72 65 76 69 6f 75 73 20 76 65 72   by previous ver
4ad0: 73 69 6f 6e 73 20 6f 66 20 3c 62 3e 73 70 61 74  sions of <b>spat
4ae0: 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 29 20  ialite_gui</b>) 
4af0: 63 6f 6d 70 75 74 65 20 74 68 65 20 4c 69 6e 65  compute the Line
4b00: 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 68 20  string's length 
4b10: 61 73 20 61 6e 20 3c 62 3e 61 6e 67 75 6c 61 72  as an <b>angular
4b20: 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78   distance</b> ex
4b30: 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 64 65  pressed in <b>de
4b40: 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d  grees</b>.</li>.
4b50: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 43 72 65 61  .<li>the <b>Crea
4b60: 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20  teRouting()</b> 
4b70: 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d  SQL function com
4b80: 70 75 74 65 73 20 74 68 65 20 4c 69 6e 65 73 74  putes the Linest
4b90: 72 69 6e 67 27 73 20 6c 65 6e 67 74 68 20 61 73  ring's length as
4ba0: 20 61 20 3c 62 3e 6c 69 6e 65 61 72 20 64 69 73   a <b>linear dis
4bb0: 74 61 6e 63 65 3c 2f 62 3e 20 65 78 70 72 65 73  tance</b> expres
4bc0: 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 72 65 73  sed in <b>metres
4bd0: 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 6e 67  </b> by applying
4be0: 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 72 61   the most accura
4bf0: 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 20 66  te <b>geodesic f
4c00: 6f 72 6d 75 6c 61 65 3c 2f 62 3e 20 6f 6e 20 74  ormulae</b> on t
4c10: 68 65 20 65 6c 6c 69 70 73 6f 69 64 2e 3c 2f 6c  he ellipsoid.</l
4c20: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e  i>..</ul>..</td>
4c30: 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 3c 62 72  </tr></table><br
4c40: 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d  ><br>..<verbatim
4c50: 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61 74 65  >..SELECT Create
4c60: 52 6f 75 74 69 6e 67 28 27 62 79 63 61 72 5f 64  Routing('bycar_d
4c70: 61 74 61 27 2c 20 27 62 79 63 61 72 27 2c 20 27  ata', 'bycar', '
4c80: 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e 6f 64 65  roads_vw', 'node
4c90: 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f 74 6f  _from', 'node_to
4ca0: 27 2c 20 27 67 65 6f 6d 27 2c 20 27 63 6f 73 74  ', 'geom', 'cost
4cb0: 27 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20 31 2c  ', 'toponym', 1,
4cc0: 20 31 2c 20 27 6f 6e 65 77 61 79 5f 66 72 6f 6d   1, 'oneway_from
4cd0: 74 6f 27 2c 20 27 6f 6e 65 77 61 79 5f 74 6f 66  to', 'oneway_tof
4ce0: 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d 2d 2d 2d 2d  rom', 0);..-----
4cf0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d  ---------------.
4d00: 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  .1..</verbatim>.
4d10: 0a 41 66 74 65 72 20 63 61 6c 6c 69 6e 67 20 79  .After calling y
4d20: 65 74 20 61 6e 6f 74 68 65 72 20 74 69 6d 65 20  et another time 
4d30: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
4d40: 28 29 3c 2f 62 3e 20 6e 6f 77 20 74 68 65 20 44  ()</b> now the D
4d50: 61 74 61 62 61 73 65 20 63 6f 6e 74 61 69 6e 73  atabase contains
4d60: 20 74 77 6f 20 66 75 72 74 68 65 72 20 54 61 62   two further Tab
4d70: 6c 65 73 3a 20 3c 62 3e 62 79 63 61 72 3c 2f 62  les: <b>bycar</b
4d80: 3e 20 61 6e 64 20 3c 62 3e 62 79 63 61 72 5f 64  > and <b>bycar_d
4d90: 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68  ata</b>.<br>..Th
4da0: 69 73 20 74 69 6d 65 20 79 6f 75 27 76 65 20 75  is time you've u
4db0: 73 65 64 20 74 68 65 20 3c 69 3e 63 6f 6d 70 6c  sed the <i>compl
4dc0: 65 74 65 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20  ete form</i> of 
4dd0: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3b  CreateRouting();
4de0: 20 6c 65 74 27 73 20 73 65 65 20 69 6e 20 6d 6f   let's see in mo
4df0: 72 65 20 64 65 70 74 68 20 61 6c 6c 20 74 68 65  re depth all the
4e00: 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 74   arguments and t
4e10: 68 65 69 72 20 6d 65 61 6e 69 6e 67 3a 0d 0a 3c  heir meaning:..<
4e20: 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 63 61  ol>..<li><i>byca
4e30: 72 5f 64 61 74 61 3c 2f 69 3e 3a 20 73 61 6d 65  r_data</i>: same
4e40: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d   as above.</li>.
4e50: 0a 3c 6c 69 3e 3c 69 3e 62 79 63 61 72 3c 2f 69  .<li><i>bycar</i
4e60: 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65  >: same as above
4e70: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72  .</li>..<li><i>r
4e80: 6f 61 64 73 5f 76 77 3c 2f 69 3e 3a 20 73 61 6d  oads_vw</i>: sam
4e90: 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e  e as above.</li>
4ea0: 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 66 72  ..<li><i>node_fr
4eb0: 6f 6d 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20  om</i>: same as 
4ec0: 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  above.</li>..<li
4ed0: 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a  ><i>node_to</i>:
4ee0: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c   same as above.<
4ef0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f  /li>..<li><i>geo
4f00: 6d 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61  m</i>: same as a
4f10: 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  bove.</li>..<li>
4f20: 3c 69 3e 63 6f 73 74 3c 2f 69 3e 3a 20 73 61 6d  <i>cost</i>: sam
4f30: 65 20 61 73 20 61 62 6f 76 65 2e 0d 0a 49 6e 20  e as above...In 
4f40: 74 68 69 73 20 63 61 73 65 20 77 65 20 68 61 76  this case we hav
4f50: 65 20 72 65 66 65 72 65 6e 63 65 64 20 61 20 63  e referenced a c
4f60: 6f 6c 75 6d 6e 20 70 72 65 6c 6f 61 64 65 64 20  olumn preloaded 
4f70: 77 69 74 68 20 76 61 6c 75 65 73 20 63 6f 72 72  with values corr
4f80: 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65  esponding to the
4f90: 20 3c 62 3e 74 69 6d 65 3c 2f 62 3e 20 6d 65 61   <b>time</b> mea
4fa0: 73 75 72 65 64 20 69 6e 20 3c 62 3e 73 65 63 6f  sured in <b>seco
4fb0: 6e 64 73 3c 2f 62 3e 20 72 65 71 75 69 72 65 64  nds</b> required
4fc0: 20 74 6f 20 74 72 61 76 65 72 73 65 20 65 61 63   to traverse eac
4fd0: 68 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 20 0d 0a 3c  h Link.</li> ..<
4fe0: 6c 69 3e 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69  li><i>toponym</i
4ff0: 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65  >: same as above
5000: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31  .</li>..<li><i>1
5010: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
5020: 6f 76 65 20 28 3c 69 3e 41 2a 20 65 6e 61 62 6c  ove (<i>A* enabl
5030: 65 64 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  ed</i>).</li>..<
5040: 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 73 61 6d  li><i>1</i>: sam
5050: 65 20 61 73 20 61 62 6f 76 65 20 28 3c 69 3e 62  e as above (<i>b
5060: 69 64 69 72 65 63 74 69 6f 6e 61 6c 20 4c 69 6e  idirectional Lin
5070: 6b 73 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  ks</i>).</li>..<
5080: 6c 69 3e 3c 69 3e 6f 6e 65 77 61 79 5f 66 72 6f  li><i>oneway_fro
5090: 6d 74 6f 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66  mto</i>: name of
50a0: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20   the column (in 
50b0: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20  the above Table 
50c0: 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65  or View) expecte
50d0: 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 62 6f 6f  d to contain boo
50e0: 6c 65 61 6e 20 66 6c 61 67 73 20 73 70 65 63 69  lean flags speci
50f0: 66 79 69 6e 67 20 69 66 20 65 61 63 68 20 4c 69  fying if each Li
5100: 6e 6b 20 63 61 6e 20 62 65 20 74 72 61 76 65 72  nk can be traver
5110: 73 65 64 20 69 6e 20 74 68 65 20 3c 62 3e 66 72  sed in the <b>fr
5120: 6f 6d 2d 74 6f 3c 2f 62 3e 20 64 69 72 65 63 74  om-to</b> direct
5130: 69 6f 6e 20 6f 72 20 6e 6f 74 2e 3c 2f 6c 69 3e  ion or not.</li>
5140: 0d 0a 3c 6c 69 3e 3c 69 3e 6f 6e 65 77 61 79 5f  ..<li><i>oneway_
5150: 74 6f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65  tofrom</i>: name
5160: 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28   of the column (
5170: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62  in the above Tab
5180: 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78 70 65  le or View) expe
5190: 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20  cted to contain 
51a0: 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 73 20 73 70  boolean flags sp
51b0: 65 63 69 66 79 69 6e 67 20 69 66 20 65 61 63 68  ecifying if each
51c0: 20 4c 69 6e 6b 20 63 61 6e 20 62 65 20 74 72 61   Link can be tra
51d0: 76 65 72 73 65 64 20 69 6e 20 74 68 65 20 3c 62  versed in the <b
51e0: 3e 74 6f 2d 66 72 6f 6d 3c 2f 62 3e 20 64 69 72  >to-from</b> dir
51f0: 65 63 74 69 6f 6e 20 6f 72 20 6e 6f 74 2e 3c 62  ection or not.<b
5200: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f  r>..<u>Note #1</
5210: 75 3e 3a 20 62 6f 74 68 20 3c 62 3e 66 72 6f 6d  u>: both <b>from
5220: 2d 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 74  -to</b> and <b>t
5230: 6f 2d 66 72 6f 6d 3c 2f 62 3e 20 63 6f 6c 75 6d  o-from</b> colum
5240: 6e 20 6e 61 6d 65 73 20 63 61 6e 20 62 65 20 6c  n names can be l
5250: 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20  egitimately set 
5260: 61 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69  as <b>NULL</b> i
5270: 66 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c  f no <b>one-way<
5280: 2f 62 3e 20 72 65 73 74 72 69 63 74 69 6f 6e 73  /b> restrictions
5290: 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 63 75   apply to the cu
52a0: 72 72 65 6e 74 20 4e 65 74 77 6f 72 6b 2e 3c 62  rrent Network.<b
52b0: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f  r>..<u>Note #2</
52c0: 75 3e 3a 20 4e 65 74 77 6f 72 6b 73 20 6f 66 20  u>: Networks of 
52d0: 74 68 65 20 3c 62 3e 75 6e 69 64 69 72 65 63 74  the <b>unidirect
52e0: 69 6f 6e 61 6c 3c 2f 62 3e 20 74 79 70 65 20 61  ional</b> type a
52f0: 72 65 20 6e 65 76 65 72 20 65 6e 61 62 6c 65 64  re never enabled
5300: 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 3c 62   to reference <b
5310: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 63 6f 6c  >one-way</b> col
5320: 75 6d 6e 73 20 28 74 68 65 79 20 73 68 6f 75 6c  umns (they shoul
5330: 64 20 61 6c 77 61 79 73 20 62 65 20 73 65 74 20  d always be set 
5340: 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 29 2e  to <b>NULL</b>).
5350: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 30 3c  </li>..<li><i>0<
5360: 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66  /i>: a boolean f
5370: 6c 61 67 20 69 6e 74 65 6e 64 69 6e 67 20 61 6e  lag intending an
5380: 20 3c 62 3e 6f 76 65 72 77 72 69 74 65 20 61 75   <b>overwrite au
5390: 74 68 6f 72 69 7a 61 74 69 6f 6e 3c 2f 62 3e 2e  thorization</b>.
53a0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 49 66 20 73  ..<ul>..<li>If s
53b0: 65 74 20 74 6f 20 3c 62 3e 46 41 4c 53 45 3c 2f  et to <b>FALSE</
53c0: 62 3e 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20  b> an exception 
53d0: 77 69 6c 6c 20 62 65 20 72 61 69 73 65 64 20 69  will be raised i
53e0: 66 20 74 68 65 20 3c 62 3e 42 69 6e 61 72 79 20  f the <b>Binary 
53f0: 44 61 74 61 20 54 61 62 6c 65 3c 2f 62 3e 20 61  Data Table</b> a
5400: 6e 64 2f 6f 72 20 74 68 65 20 3c 62 3e 56 69 72  nd/or the <b>Vir
5410: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
5420: 65 3c 2f 62 3e 20 64 6f 20 61 6c 72 65 61 64 79  e</b> do already
5430: 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c   exist.</li>..<l
5440: 69 3e 49 66 20 73 65 74 20 74 6f 20 3c 62 3e 54  i>If set to <b>T
5450: 52 55 45 3c 2f 62 3e 20 65 76 65 6e 74 75 61 6c  RUE</b> eventual
5460: 6c 79 20 65 78 69 73 74 69 6e 67 20 54 61 62 6c  ly existing Tabl
5470: 65 73 20 77 69 6c 6c 20 62 65 20 70 72 65 76 65  es will be preve
5480: 6e 74 69 76 65 6c 79 20 64 72 6f 70 70 65 64 20  ntively dropped 
5490: 69 6d 6d 65 64 69 61 74 65 6c 79 20 62 65 66 6f  immediately befo
54a0: 72 65 20 73 74 61 72 74 69 6e 67 20 74 68 65 20  re starting the 
54b0: 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c 62 3e  execution of <b>
54c0: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c  CreateRouting()<
54d0: 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  /b>.</li>..</ul>
54e0: 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62  </li>..</ol>..<b
54f0: 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c  r>..<table bgcol
5500: 6f 72 3d 22 23 66 66 66 66 63 30 22 20 63 65 6c  or="#ffffc0" cel
5510: 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65  lspacing="10" ce
5520: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74  llpadding="6"><t
5530: 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 69 67 68  r><td>..<h3>High
5540: 6c 69 67 68 74 3a 20 77 68 65 72 65 20 79 6f 75  light: where you
5550: 20 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f 75 27 76   are</h3>..You'v
5560: 65 20 6a 75 73 74 20 63 72 65 61 74 65 64 20 74  e just created t
5570: 77 6f 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  wo VirtualRoutin
5580: 67 20 54 61 62 6c 65 73 20 62 61 73 65 64 20 6f  g Tables based o
5590: 6e 20 64 69 66 66 65 72 65 6e 74 20 73 65 74 74  n different sett
55a0: 69 6e 67 73 3b 20 62 6f 74 68 20 74 68 65 6d 20  ings; both them 
55b0: 61 72 65 20 70 65 72 66 65 63 74 6c 79 20 76 61  are perfectly va
55c0: 6c 69 64 20 61 6e 64 20 72 65 61 73 6f 6e 61 62  lid and reasonab
55d0: 6c 65 2c 20 62 75 74 20 74 68 65 79 20 61 72 65  le, but they are
55e0: 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 64 69   intended for di
55f0: 66 66 65 72 65 6e 74 20 70 75 72 70 6f 73 65 73  fferent purposes
5600: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
5610: 62 79 66 6f 6f 74 3c 2f 62 3e 20 69 73 20 73 70  byfoot</b> is sp
5620: 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e  ecifically inten
5630: 64 65 64 20 66 6f 72 20 3c 62 3e 70 65 64 65 73  ded for <b>pedes
5640: 74 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c  trians</b>:..<ul
5650: 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69 6e 6b 73  >..<li>all Links
5660: 20 61 72 65 20 61 6c 77 61 79 73 20 61 73 73 75   are always assu
5670: 6d 65 64 20 74 6f 20 62 65 20 61 63 63 65 73 73  med to be access
5680: 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20  ible in <b>both 
5690: 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 3b 20  directions</b>; 
56a0: 74 68 65 72 65 20 61 72 65 20 6e 6f 20 3c 62 3e  there are no <b>
56b0: 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 20 61 6e 64  one-ways</b> and
56c0: 20 6e 6f 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e   no <b>forbidden
56d0: 3c 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e  </b> Links.</li>
56e0: 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 63 6f 73  ..<li>the <b>cos
56f0: 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69  t</b> of each Li
5700: 6e 6b 20 69 73 20 64 69 72 65 63 74 6c 79 20 72  nk is directly r
5710: 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 69 74  epresented by it
5720: 73 20 67 65 6f 6d 65 74 72 69 63 20 3c 62 3e 6c  s geometric <b>l
5730: 65 6e 67 74 68 3c 2f 62 3e 2c 20 77 68 69 63 68  ength</b>, which
5740: 20 69 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 77   is consistent w
5750: 69 74 68 20 74 68 65 20 61 73 73 75 6d 70 74 69  ith the assumpti
5760: 6f 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f 73 74 20  on of an almost 
5770: 63 6f 6e 73 74 61 6e 74 20 73 70 65 65 64 20 73  constant speed s
5780: 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6d 6d  ubstantially imm
5790: 75 6e 65 20 66 72 6f 6d 20 61 64 76 65 72 73 65  une from adverse
57a0: 20 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73   road conditions
57b0: 20 61 6e 64 20 74 72 61 66 66 69 63 20 63 6f 6e   and traffic con
57c0: 67 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c  gestion.</li>..<
57d0: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  /ul></li>..<li><
57e0: 62 3e 62 79 63 61 72 3c 2f 62 3e 20 69 73 20 73  b>bycar</b> is s
57f0: 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65  pecifically inte
5800: 6e 64 65 64 20 66 6f 72 20 3c 62 3e 6d 6f 74 6f  nded for <b>moto
5810: 72 20 76 65 68 69 63 6c 65 73 3c 2f 62 3e 3a 0d  r vehicles</b>:.
5820: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61 6e 79 20  .<ul>..<li>many 
5830: 4c 69 6e 6b 73 20 61 72 65 20 65 78 70 65 63 74  Links are expect
5840: 65 64 20 74 6f 20 62 65 20 61 63 63 65 73 73 69  ed to be accessi
5850: 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64  ble in <b>both d
5860: 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 20 62 75  irections</b> bu
5870: 74 20 6f 74 68 65 72 73 20 63 6f 75 6c 64 20 65  t others could e
5880: 61 73 69 6c 79 20 62 65 20 73 75 62 6a 65 63 74  asily be subject
5890: 20 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f   to <b>one-way</
58a0: 62 3e 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20  b> restrictions 
58b0: 6f 72 20 65 76 65 6e 20 62 65 20 63 6f 6d 70 6c  or even be compl
58c0: 65 74 65 6c 79 20 3c 62 3e 66 6f 72 62 69 64 64  etely <b>forbidd
58d0: 65 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  en</b>.</li>..<l
58e0: 69 3e 74 68 65 20 63 6f 73 74 20 6f 66 20 65 61  i>the cost of ea
58f0: 63 68 20 4c 69 6e 6b 20 69 73 20 65 78 70 72 65  ch Link is expre
5900: 73 73 65 64 20 61 73 20 61 6e 20 65 73 74 69 6d  ssed as an estim
5910: 61 74 65 64 20 3c 62 3e 74 72 61 76 65 6c 20 74  ated <b>travel t
5920: 69 6d 65 3c 2f 62 3e 2c 20 62 65 63 61 75 73 65  ime</b>, because
5930: 20 74 68 65 20 65 78 70 65 63 74 65 64 20 73 70   the expected sp
5940: 65 65 64 73 20 63 61 6e 20 67 72 65 61 74 6c 79  eeds can greatly
5950: 20 76 61 72 79 20 61 63 63 6f 72 64 69 6e 67 6c   vary accordingl
5960: 79 20 74 6f 20 73 70 65 63 69 66 69 63 20 72 6f  y to specific ro
5970: 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 74  ad conditions, t
5980: 72 61 66 66 69 63 20 63 6f 6e 67 65 73 74 69 6f  raffic congestio
5990: 6e 20 61 6e 64 20 6c 65 67 61 6c 20 72 65 67 75  n and legal regu
59a0: 6c 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c  lations.</li>..<
59b0: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  /ul></li>..</ul>
59c0: 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f 6e 63 6c  ..<br>..<u>Concl
59d0: 75 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20 73 69 6e  usion</u>: a sin
59e0: 67 6c 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69  gle VirtualRouti
59f0: 6e 67 20 54 61 62 6c 65 20 63 61 6e 27 74 20 62  ng Table can't b
5a00: 65 20 61 62 6c 65 20 74 6f 20 61 64 65 71 75 61  e able to adequa
5a10: 74 65 6c 79 20 73 75 70 70 6f 72 74 20 73 75 70  tely support sup
5a20: 70 6f 72 74 20 74 68 65 20 73 70 65 63 69 66 69  port the specifi
5a30: 63 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61  c requirements a
5a40: 6e 64 20 65 78 70 65 63 74 61 74 69 6f 6e 73 20  nd expectations 
5a50: 6f 66 20 64 69 66 66 65 72 65 6e 74 20 75 73 65  of different use
5a60: 72 73 2e 3c 62 72 3e 0d 0a 44 65 66 69 6e 69 6e  rs.<br>..Definin
5a70: 67 20 6d 6f 72 65 20 52 6f 75 74 69 6e 67 20 54  g more Routing T
5a80: 61 62 6c 65 73 20 77 69 74 68 20 64 69 66 66 65  ables with diffe
5a90: 72 65 6e 74 20 73 65 74 74 69 6e 67 73 20 66 6f  rent settings fo
5aa0: 72 20 74 68 65 20 73 61 6d 65 20 4e 65 74 77 6f  r the same Netwo
5ab0: 72 6b 20 75 73 75 61 6c 6c 79 20 69 73 20 61 20  rk usually is a 
5ac0: 67 6f 6f 64 20 64 65 73 69 67 6e 20 63 68 6f 69  good design choi
5ad0: 63 65 20 6c 65 61 64 69 6e 67 20 74 6f 20 6d 6f  ce leading to mo
5ae0: 72 65 20 72 65 61 6c 69 73 74 69 63 20 72 65 73  re realistic res
5af0: 75 6c 74 73 2e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e  ults.<br>..</td>
5b00: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
5b10: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 33 3e 55  .<br><br>..<h3>U
5b20: 74 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20  tility function 
5b30: 66 6f 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c  for automaticall
5b40: 79 20 73 65 74 74 69 6e 67 20 4e 6f 64 65 46 72  y setting NodeFr
5b50: 6f 6d 20 61 6e 64 20 4e 6f 64 65 54 6f 20 49 44  om and NodeTo ID
5b60: 73 3c 2f 68 33 3e 0d 0a 53 6f 6d 65 74 69 6d 65  s</h3>..Sometime
5b70: 73 20 69 74 20 63 6f 75 6c 64 20 65 76 65 6e 74  s it could event
5b80: 75 61 6c 6c 79 20 68 61 70 70 65 6e 20 74 6f 20  ually happen to 
5b90: 65 6e 63 6f 75 6e 74 65 72 20 73 6f 6d 65 20 3c  encounter some <
5ba0: 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72  b>Spatial Networ
5bb0: 6b 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 61  k</b> representa
5bc0: 74 69 6f 6e 20 62 65 69 6e 67 20 66 75 6c 6c 79  tion being fully
5bd0: 20 74 6f 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 63   topologically c
5be0: 6f 6e 73 69 73 74 65 6e 74 20 62 75 74 20 63 6f  onsistent but co
5bf0: 6d 70 6c 65 74 65 6c 79 20 6c 61 63 6b 69 6e 67  mpletely lacking
5c00: 20 61 6e 79 20 64 65 66 69 6e 69 74 69 6f 6e 20   any definition 
5c10: 61 62 6f 75 74 20 3c 62 3e 4e 6f 64 65 46 72 6f  about <b>NodeFro
5c20: 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64  m</b> and <b>Nod
5c30: 65 54 6f 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69  eTo</b> identifi
5c40: 65 72 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69  ers.<br>..In thi
5c50: 73 20 73 70 65 63 69 66 69 63 20 63 61 73 65 20  s specific case 
5c60: 79 6f 75 20 63 61 6e 20 73 75 63 63 65 73 73 66  you can successf
5c70: 75 6c 6c 79 20 72 65 63 6f 76 65 72 20 61 20 70  ully recover a p
5c80: 65 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 4e  erfectly valid N
5c90: 65 74 77 6f 72 6b 20 62 79 20 63 61 6c 6c 69 6e  etwork by callin
5ca0: 67 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52  g the <b>CreateR
5cb0: 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62  outingNodes()</b
5cc0: 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d  > SQL function..
5cd0: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
5ce0: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e  ECT CreateRoutin
5cf0: 67 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20 27 74 61  gNodes(NULL, 'ta
5d00: 62 6c 65 5f 6e 61 6d 65 27 2c 20 27 67 65 6f 6d  ble_name', 'geom
5d10: 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20  ', 'node_from', 
5d20: 27 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a 5f 5f 5f  'node_to');..___
5d30: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
5d40: 5f 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c 2f 76 65 72  ______..1..</ver
5d50: 62 61 74 69 6d 3e 0d 0a 4c 65 74 27 73 20 65 78  batim>..Let's ex
5d60: 61 6d 69 6e 65 20 61 6c 6c 20 61 72 67 75 6d 65  amine all argume
5d70: 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65  nts and their me
5d80: 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c  aning:..<ol>..<l
5d90: 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e  i><i>NULL</i>: n
5da0: 61 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e 41 74  ame of the <b>At
5db0: 74 61 63 68 65 64 2d 44 42 3c 2f 62 3e 20 63 6f  tached-DB</b> co
5dc0: 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 53 70 61  ntaining the Spa
5dd0: 74 69 61 6c 20 54 61 62 6c 65 2e 3c 62 72 3e 0d  tial Table.<br>.
5de0: 0a 49 74 20 63 61 6e 20 62 65 20 6c 65 67 69 74  .It can be legit
5df0: 69 6d 61 74 65 6c 79 20 73 65 74 20 74 6f 20 3c  imately set to <
5e00: 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61 6e 64 20  b>NULL</b>, and 
5e10: 69 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65  in this case the
5e20: 20 3c 62 3e 4d 41 49 4e 3c 2f 62 3e 20 44 42 20   <b>MAIN</b> DB 
5e30: 69 73 20 61 73 73 75 6d 65 64 2e 3c 2f 6c 69 3e  is assumed.</li>
5e40: 0d 0a 3c 6c 69 3e 3c 69 3e 74 61 62 6c 65 5f 6e  ..<li><i>table_n
5e50: 61 6d 65 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66  ame</i>: name of
5e60: 20 74 68 65 20 53 70 61 74 69 61 6c 20 54 61 62   the Spatial Tab
5e70: 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  le.</li>..<li><i
5e80: 3e 67 65 6f 6d 3c 2f 6c 69 3e 3a 20 6e 61 6d 65  >geom</li>: name
5e90: 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28   of the column (
5ea0: 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61  (in the above Ta
5eb0: 62 6c 65 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20  ble) containing 
5ec0: 3c 62 3e 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f  <b>Linestrings</
5ed0: 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  b>.</li>..<li><i
5ee0: 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20  >node_from</i>: 
5ef0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75  name of the colu
5f00: 6d 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74  mn to be added t
5f10: 6f 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c  o the above Tabl
5f20: 65 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20  e and populated 
5f30: 77 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65  with appropriate
5f40: 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e   <b>NodeFrom</b>
5f50: 20 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e   IDs.</li>..<li>
5f60: 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20  <i>node_to</i>: 
5f70: 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75  name of the colu
5f80: 6d 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74  mn to be added t
5f90: 6f 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c  o the above Tabl
5fa0: 65 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20  e and populated 
5fb0: 77 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65  with appropriate
5fc0: 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 49   <b>NodeTo</b> I
5fd0: 44 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  Ds.<br>..<u>Note
5fe0: 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e 4e 6f  </u>: both <b>No
5ff0: 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c  deFrom</b> and <
6000: 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c  b>NodeTo</b> col
6010: 75 6d 6e 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20  umns should not 
6020: 62 65 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e  be already defin
6030: 65 64 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20  ed in the above 
6040: 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f  Table.</li>..</o
6050: 6c 3e 0d 0a 3c 62 3e 43 72 65 61 74 65 52 6f 75  l>..<b>CreateRou
6060: 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20  tingNodes()</b> 
6070: 77 69 6c 6c 20 72 65 74 75 72 6e 20 3c 62 3e 31  will return <b>1
6080: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  </b> (<i>aka</i>
6090: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 20 6f 6e   <b>TRUE</b>) on
60a0: 20 73 75 63 63 65 73 73 3b 20 61 6e 20 65 78 63   success; an exc
60b0: 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 72  eption will be r
60c0: 61 69 73 65 64 20 6f 6e 20 66 61 69 6c 75 72 65  aised on failure
60d0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
60e0: 75 3e 3a 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c  u>: you can call
60f0: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e   <b>CreateRoutin
6100: 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29  g_GetLastError()
6110: 3c 2f 62 3e 20 73 6f 20 74 6f 20 70 72 65 63 69  </b> so to preci
6120: 73 65 6c 79 20 69 64 65 6e 74 69 66 79 20 74 68  sely identify th
6130: 65 20 63 61 75 73 65 20 61 63 63 6f 75 6e 74 69  e cause accounti
6140: 6e 67 20 66 6f 72 20 66 61 69 6c 75 72 65 2e 3c  ng for failure.<
6150: 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61  br><br><br>..<ta
6160: 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30  ble bgcolor="#c0
6170: 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffc0" cellspacin
6180: 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69  g="10" cellpaddi
6190: 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d  ng="6"><tr><td>.
61a0: 0a 3c 68 33 3e 48 61 6e 64 6c 69 6e 67 20 64 79  .<h3>Handling dy
61b0: 6e 61 6d 69 63 20 4e 65 74 77 6f 72 6b 73 3c 2f  namic Networks</
61c0: 68 33 3e 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69  h3>..Sometimes i
61d0: 74 20 68 61 70 70 65 6e 73 20 74 68 61 74 20 61  t happens that a
61e0: 20 4e 65 74 77 6f 72 6b 20 63 6f 75 6c 64 20 62   Network could b
61f0: 65 20 73 75 62 6a 65 63 74 20 74 6f 20 72 61 74  e subject to rat
6200: 68 65 72 20 66 72 65 71 75 65 6e 74 20 63 68 61  her frequent cha
6210: 6e 67 65 73 3a 20 73 6f 6d 65 20 6e 65 77 20 4c  nges: some new L
6220: 69 6e 6b 73 20 72 65 71 75 69 72 65 20 74 6f 20  inks require to 
6230: 62 65 20 61 64 64 65 64 2c 20 6f 62 73 6f 6c 65  be added, obsole
6240: 74 65 20 4c 69 6e 6b 73 20 72 65 71 75 69 72 65  te Links require
6250: 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 2c 20   to be removed, 
6260: 6f 74 68 65 72 20 4c 69 6e 6b 73 20 6d 61 79 20  other Links may 
6270: 61 73 73 75 6d 65 20 61 20 64 69 66 66 65 72 65  assume a differe
6280: 6e 74 20 43 6f 73 74 2c 20 6f 6e 65 2d 77 61 79  nt Cost, one-way
6290: 73 20 63 6f 75 6c 64 20 62 65 20 72 65 76 65 72  s could be rever
62a0: 73 65 64 2c 20 74 68 65 20 64 69 73 63 69 70 6c  sed, the discipl
62b0: 69 6e 65 20 6f 66 20 70 65 64 65 73 74 72 69 61  ine of pedestria
62c0: 6e 20 61 72 65 61 73 20 63 6f 75 6c 64 20 62 65  n areas could be
62d0: 20 6d 6f 64 69 66 69 65 64 20 61 6e 64 20 73 6f   modified and so
62e0: 20 6f 6e 2e 3c 62 72 3e 0d 0a 41 20 56 69 72 74   on.<br>..A Virt
62f0: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
6300: 20 69 73 20 61 6c 77 61 79 73 20 62 61 73 65 64   is always based
6310: 20 6f 6e 20 61 20 63 6f 6d 70 61 6e 69 6f 6e 20   on a companion 
6320: 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62 6c  Binary Data Tabl
6330: 65 2c 20 74 68 61 74 20 69 73 20 69 6e 74 72 69  e, that is intri
6340: 6e 73 69 63 61 6c 6c 79 20 3c 62 3e 73 74 61 74  nsically <b>stat
6350: 69 63 3c 2f 62 3e 2c 20 61 6e 64 20 63 6f 6e 73  ic</b>, and cons
6360: 65 71 75 65 6e 74 6c 79 20 79 6f 75 20 61 72 65  equently you are
6370: 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 2d   required to re-
6380: 63 72 65 61 74 65 20 62 6f 74 68 20 74 68 65 6d  create both them
6390: 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69   from time to ti
63a0: 6d 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73  me in order to s
63b0: 75 70 70 6f 72 74 20 61 6c 6c 20 72 65 63 65 6e  upport all recen
63c0: 74 20 63 68 61 6e 67 65 73 20 61 66 66 65 63 74  t changes affect
63d0: 69 6e 67 20 74 68 65 20 75 6e 64 65 72 6c 61 79  ing the underlay
63e0: 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e  ing Network.<br>
63f0: 0d 0a 54 68 65 20 6f 70 74 69 6d 61 6c 20 66 72  ..The optimal fr
6400: 65 71 75 65 6e 63 79 20 66 6f 72 20 63 79 63 6c  equency for cycl
6410: 69 63 61 6c 6c 79 20 72 65 66 72 65 73 68 69 6e  ically refreshin
6420: 67 20 74 68 65 20 52 6f 75 74 69 6e 67 20 54 61  g the Routing Ta
6430: 62 6c 65 73 20 73 74 72 69 63 74 6c 79 20 64 65  bles strictly de
6440: 70 65 6e 64 73 20 6f 6e 20 73 70 65 63 69 66 69  pends on specifi
6450: 63 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20  c requirements, 
6460: 62 75 74 20 74 68 65 20 74 77 6f 20 6f 76 65 72  but the two over
6470: 61 6c 6c 20 61 70 70 72 6f 61 63 68 65 73 20 61  all approaches a
6480: 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61 64 6f 70  re commonly adop
6490: 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e  ted:..<ol>..<li>
64a0: 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65 6e 63 79  <b>low frequency
64b0: 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65   refresh</b>: be
64c0: 73 74 20 66 69 74 20 66 6f 72 20 73 6c 6f 77 6c  st fit for slowl
64d0: 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f  y evolving Netwo
64e0: 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69  rks.<br>..In thi
64f0: 73 20 63 61 73 65 20 72 65 2d 63 72 65 61 74 69  s case re-creati
6500: 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 54  ng the Network T
6510: 61 62 6c 65 73 20 6f 6e 63 65 20 61 20 6d 6f 6e  ables once a mon
6520: 74 68 20 2f 20 77 65 65 6b 20 2f 20 64 61 79 20  th / week / day 
6530: 63 6f 75 6c 64 20 62 65 20 72 65 61 73 6f 6e 61  could be reasona
6540: 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a 52 65 63  bly enough...Rec
6550: 72 65 61 74 69 6e 67 20 74 68 65 20 54 61 62 6c  reating the Tabl
6560: 65 73 20 66 72 6f 6d 20 73 63 72 61 74 63 68 20  es from scratch 
6570: 75 73 75 61 6c 6c 79 20 72 65 71 75 69 72 65 73  usually requires
6580: 20 73 65 76 65 72 61 6c 20 73 65 63 6f 6e 64 73   several seconds
6590: 20 28 6f 72 20 65 76 65 6e 20 6c 65 73 73 2c 20   (or even less, 
65a0: 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65  depending on the
65b0: 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69 6e 6b 73   number of Links
65c0: 29 2e 3c 62 72 3e 0d 0a 54 68 65 20 72 65 66 72  ).<br>..The refr
65d0: 65 73 68 20 61 63 74 69 76 69 74 69 65 73 20 63  esh activities c
65e0: 6f 75 6c 64 20 62 65 20 6f 70 70 6f 72 74 75 6e  ould be opportun
65f0: 65 6c 79 20 70 6c 61 6e 6e 65 64 20 61 74 20 6c  ely planned at l
6600: 6f 77 20 74 72 61 66 66 69 63 20 68 6f 75 72 73  ow traffic hours
6610: 20 28 65 2e 67 2e 20 64 75 72 69 6e 67 20 74 68   (e.g. during th
6620: 65 20 6e 69 67 68 74 29 2c 20 61 6e 64 20 3c 62  e night), and <b
6630: 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29  >CreateRouting()
6640: 3c 2f 62 3e 20 63 6f 75 6c 64 20 62 65 20 75 73  </b> could be us
6650: 65 66 75 6c 6c 79 20 63 61 6c 6c 65 64 20 62 79  efully called by
6660: 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 3c 62   enabling the <b
6670: 3e 6f 76 65 72 77 72 69 74 65 3c 2f 62 3e 20 6f  >overwrite</b> o
6680: 70 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  ption.</li>..<li
6690: 3e 3c 62 3e 6d 65 64 69 75 6d 2d 68 69 67 68 20  ><b>medium-high 
66a0: 66 72 65 71 75 65 6e 63 79 20 72 65 66 72 65 73  frequency refres
66b0: 68 3c 2f 62 3e 3a 20 62 65 73 74 20 66 69 74 20  h</b>: best fit 
66c0: 66 6f 72 20 71 75 69 63 6b 6c 79 20 65 76 6f 6c  for quickly evol
66d0: 76 69 6e 67 20 4e 65 74 77 6f 72 6b 73 2e 3c 62  ving Networks.<b
66e0: 72 3e 0d 0a 52 65 2d 63 72 65 61 74 69 6e 67 20  r>..Re-creating 
66f0: 74 68 65 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c  the Network Tabl
6700: 65 73 20 6f 6e 63 65 20 70 65 72 20 68 6f 75 72  es once per hour
6710: 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20 66   (or even more f
6720: 72 65 71 75 65 6e 74 6c 79 29 20 63 6f 75 6c 64  requently) could
6730: 20 62 65 20 73 74 72 69 63 74 6c 79 20 72 65 71   be strictly req
6740: 75 69 72 65 64 2c 20 61 6e 64 20 66 72 65 71 75  uired, and frequ
6750: 65 6e 74 20 3c 62 3e 6f 75 74 20 6f 66 20 73 65  ent <b>out of se
6760: 72 76 69 63 65 3c 2f 62 3e 20 70 65 72 69 6f 64  rvice</b> period
6770: 73 20 77 68 69 6c 65 20 77 61 69 74 69 6e 67 20  s while waiting 
6780: 66 6f 72 20 74 68 65 20 72 65 66 72 65 73 68 20  for the refresh 
6790: 70 72 6f 63 65 73 73 20 74 6f 20 63 6f 6d 70 6c  process to compl
67a0: 65 74 65 20 63 6f 75 6c 64 20 65 61 73 69 6c 79  ete could easily
67b0: 20 62 65 20 75 6e 61 63 63 65 70 74 61 62 6c 65   be unacceptable
67c0: 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63  .<br>..In this c
67d0: 61 73 65 20 79 6f 75 20 63 6f 75 6c 64 20 75 73  ase you could us
67e0: 65 66 75 6c 6c 79 20 61 64 6f 70 74 20 61 20 3c  efully adopt a <
67f0: 62 3e 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64  b>multi-threaded
6800: 20 73 74 72 61 74 65 67 79 3c 2f 62 3e 3a 0d 0a   strategy</b>:..
6810: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72  <ul>..<li><b>thr
6820: 65 61 64 20 23 31 3c 2f 62 3e 20 28 3c 69 3e 74  ead #1</b> (<i>t
6830: 68 65 20 72 65 61 64 65 72 3c 2f 69 3e 29 3a 20  he reader</i>): 
6840: 74 68 69 73 20 66 69 72 73 74 20 74 68 72 65 61  this first threa
6850: 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f  d is intended to
6860: 20 73 65 72 76 69 63 65 20 61 6e 79 20 69 6e 63   service any inc
6870: 6f 6d 69 6e 67 20 52 6f 75 74 69 6e 67 20 72 65  oming Routing re
6880: 71 75 65 73 74 2e 20 49 74 20 77 69 6c 6c 20 62  quest. It will b
6890: 65 20 61 6c 77 61 79 73 20 61 63 74 69 76 65 2c  e always active,
68a0: 20 61 6e 64 20 77 69 6c 6c 20 74 61 72 67 65 74   and will target
68b0: 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 56 69   a well known Vi
68c0: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62  rtualRouting Tab
68d0: 6c 65 20 28 65 2e 67 2e 20 3c 62 3e 6d 79 5f 72  le (e.g. <b>my_r
68e0: 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 61 73 65 64  outing</b> based
68f0: 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f 75 74 69 6e   on <b>my_routin
6900: 67 5f 64 61 74 61 3c 2f 62 3e 29 2e 3c 2f 6c 69  g_data</b>).</li
6910: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72 65 61 64  >..<li><b>thread
6920: 20 23 32 3c 2f 62 3e 20 28 3c 69 3e 74 68 65 20   #2</b> (<i>the 
6930: 77 72 69 74 65 72 3c 2f 69 3e 29 3a 20 74 68 69  writer</i>): thi
6940: 73 20 73 65 63 6f 6e 64 20 74 68 72 65 61 64 20  s second thread 
6950: 69 73 20 6a 75 73 74 20 69 6e 74 65 6e 64 65 64  is just intended
6960: 20 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62 6f   to re-create bo
6970: 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65  th Network Table
6980: 73 20 61 74 20 70 72 65 64 65 66 69 6e 65 64 20  s at predefined 
6990: 69 6e 74 65 72 76 61 6c 73 2c 20 61 6e 64 20 69  intervals, and i
69a0: 74 20 77 69 6c 6c 20 73 6c 65 65 70 20 62 65 74  t will sleep bet
69b0: 77 65 65 6e 20 61 6e 20 69 6e 74 65 72 76 61 6c  ween an interval
69c0: 20 61 6e 64 20 74 68 65 20 6f 74 68 65 72 2e 3c   and the other.<
69d0: 62 72 3e 0d 0a 57 68 65 6e 20 74 68 69 73 20 74  br>..When this t
69e0: 68 72 65 61 64 20 61 77 61 6b 65 6e 73 20 77 69  hread awakens wi
69f0: 6c 6c 20 72 65 2d 63 72 65 61 74 65 20 62 6f 74  ll re-create bot
6a00: 68 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73  h Network Tables
6a10: 20 62 79 20 75 73 69 6e 67 20 64 69 66 66 65 72   by using differ
6a20: 65 6e 74 20 6e 61 6d 65 73 2c 20 61 6e 64 20 77  ent names, and w
6a30: 69 6c 6c 20 6f 76 65 72 77 72 69 74 65 20 74 68  ill overwrite th
6a40: 65 20 73 74 61 6e 64 61 72 64 20 6f 6e 65 73 20  e standard ones 
6a50: 6a 75 73 74 20 61 74 20 74 68 65 20 76 65 72 79  just at the very
6a60: 20 65 6e 64 20 6f 66 20 74 68 65 20 70 72 6f 63   end of the proc
6a70: 65 73 73 20 28 61 63 74 69 76 61 74 69 6e 67 20  ess (activating 
6a80: 61 20 73 65 6d 61 70 68 6f 72 65 20 64 75 72 69  a semaphore duri
6a90: 6e 67 20 74 68 69 73 20 73 68 6f 72 74 2d 74 69  ng this short-ti
6aa0: 6d 65 64 20 6c 61 73 74 20 73 74 65 70 20 69 73  med last step is
6ab0: 20 68 69 67 68 6c 79 20 72 65 63 6f 6d 6d 65 6e   highly recommen
6ac0: 64 65 64 29 2e 3c 62 72 3e 0d 0a 53 6f 6d 65 74  ded).<br>..Somet
6ad0: 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 20 70  hing like this p
6ae0: 73 65 75 64 6f 2d 63 6f 64 65 20 65 78 65 6d 70  seudo-code exemp
6af0: 6c 69 66 69 65 73 3a 0d 0a 3c 76 65 72 62 61 74  lifies:..<verbat
6b00: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  im>..SELECT Crea
6b10: 74 65 52 6f 75 74 69 6e 67 28 27 6e 65 77 5f 6d  teRouting('new_m
6b20: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c  y_routing_data',
6b30: 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67   'new_my_routing
6b40: 27 2c 20 2e 2e 2e 29 3b 0d 0a 0d 0a 2d 2d 3e 20  ', ...);....--> 
6b50: 73 74 61 72 74 20 74 68 65 20 73 65 6d 61 70 68  start the semaph
6b60: 6f 72 65 20 73 6f 20 74 6f 20 6c 6f 63 6b 20 74  ore so to lock t
6b70: 68 65 20 6f 74 68 65 72 20 74 68 72 65 61 64 0d  he other thread.
6b80: 0a 0d 0a 42 45 47 49 4e 3b 0d 0a 44 52 4f 50 20  ...BEGIN;..DROP 
6b90: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67  TABLE my_routing
6ba0: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d 79  ;..DROP TABLE my
6bb0: 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 3b 0d 0a  _routing_data;..
6bc0: 53 45 4c 45 43 54 20 43 6c 6f 6e 65 54 61 62 6c  SELECT CloneTabl
6bd0: 65 28 27 4d 41 49 4e 27 2c 20 27 6e 65 77 5f 6d  e('MAIN', 'new_m
6be0: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c  y_routing_data',
6bf0: 20 27 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74   'my_routing_dat
6c00: 61 27 2c 20 30 29 3b 0d 0a 43 52 45 41 54 45 20  a', 0);..CREATE 
6c10: 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 6d 79  VIRTUAL TABLE my
6c20: 5f 72 6f 75 74 69 6e 67 20 55 53 49 4e 47 20 56  _routing USING V
6c30: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 28 27 6d  irtualRouting('m
6c40: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 29  y_routing_data')
6c50: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6e 65  ;..DROP TABLE ne
6c60: 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44  w_my_routing;..D
6c70: 52 4f 50 20 54 41 42 4c 45 20 6e 65 77 5f 6d 79  ROP TABLE new_my
6c80: 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 3b 0d 0a  _routing_data;..
6c90: 43 4f 4d 4d 49 54 3b 0d 0a 0d 0a 2d 2d 3e 20 72  COMMIT;....--> r
6ca0: 65 6d 6f 76 65 20 74 68 65 20 73 65 6d 61 70 68  emove the semaph
6cb0: 6f 72 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  ore..</verbatim>
6cc0: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 73  ..<u>Note</u>: s
6cd0: 74 72 69 63 74 6c 79 20 72 65 73 70 65 63 74 69  trictly respecti
6ce0: 6e 67 20 74 68 65 20 61 62 6f 76 65 20 73 65 71  ng the above seq
6cf0: 75 65 6e 63 65 20 6f 66 20 53 51 4c 20 6f 70 65  uence of SQL ope
6d00: 72 61 74 69 6f 6e 73 20 69 73 20 61 62 73 6f 6c  rations is absol
6d10: 75 74 65 6c 79 20 72 65 71 75 69 72 65 64 2e 3c  utely required.<
6d20: 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  /li> ..</ul></li
6d30: 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c  >..</ol>..</td><
6d40: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
6d50: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
6d60: 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63  olor="#ffb060" c
6d70: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
6d80: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
6d90: 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61  <tr><td>..<h3>Wa
6da0: 72 6e 69 6e 67 3a 20 68 6f 77 20 74 6f 20 63 6f  rning: how to co
6db0: 72 72 65 63 74 6c 79 20 64 72 6f 70 20 4e 65 74  rrectly drop Net
6dc0: 77 6f 72 6b 20 54 61 62 6c 65 73 3c 2f 68 33 3e  work Tables</h3>
6dd0: 0d 0a 57 68 65 6e 20 64 72 6f 70 70 69 6e 67 20  ..When dropping 
6de0: 61 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  a VirtualRouting
6df0: 20 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20 63   Table and its c
6e00: 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20  ompanion Binary 
6e10: 44 61 74 61 20 54 61 62 6c 65 20 66 6f 6c 6c 6f  Data Table follo
6e20: 77 69 6e 67 20 74 68 65 20 63 6f 72 72 65 63 74  wing the correct
6e30: 20 73 65 71 75 65 6e 63 65 20 6f 66 20 53 51 4c   sequence of SQL
6e40: 20 63 6f 6d 6d 61 6e 64 73 20 69 73 20 70 61 72   commands is par
6e50: 61 6d 6f 75 6e 74 2e 3c 62 72 3e 0d 0a 46 61 69  amount.<br>..Fai
6e60: 6c 69 6e 67 20 74 6f 20 73 74 72 69 63 74 6c 79  ling to strictly
6e70: 20 72 65 73 70 65 63 74 20 74 68 65 20 65 78 70   respect the exp
6e80: 65 63 74 65 64 20 73 65 71 75 65 6e 63 65 20 77  ected sequence w
6e90: 69 6c 6c 20 73 75 72 65 6c 79 20 63 61 75 73 65  ill surely cause
6ea0: 20 79 6f 75 20 73 65 76 65 72 61 6c 20 74 72 6f   you several tro
6eb0: 75 62 6c 65 73 20 61 6e 64 20 73 65 76 65 72 65  ubles and severe
6ec0: 20 68 65 61 64 61 63 68 65 73 2c 20 61 6e 64 20   headaches, and 
6ed0: 77 69 6c 6c 20 70 6f 73 73 69 62 6c 79 20 6c 65  will possibly le
6ee0: 61 64 20 74 6f 20 61 6e 20 69 72 72 65 6d 65 64  ad to an irremed
6ef0: 69 61 62 6c 79 20 63 6f 72 72 75 70 74 65 64 20  iably corrupted 
6f00: 64 61 74 61 62 61 73 65 2e 0d 0a 3c 6f 6c 3e 0d  database...<ol>.
6f10: 0a 3c 6c 69 3e 79 6f 75 20 61 72 65 20 61 6c 77  .<li>you are alw
6f20: 61 79 73 20 65 78 70 65 63 74 65 64 20 74 6f 20  ays expected to 
6f30: 44 52 4f 50 20 66 69 72 73 74 20 74 68 65 20 56  DROP first the V
6f40: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
6f50: 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 79  ble.</li>..<li>y
6f60: 6f 75 20 63 61 6e 20 73 61 66 65 6c 79 20 44 52  ou can safely DR
6f70: 4f 50 20 74 68 65 20 63 6f 6d 70 61 6e 69 6f 6e  OP the companion
6f80: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62   Binary Data Tab
6f90: 6c 65 20 6f 6e 6c 79 20 6f 6e 63 65 20 69 74 27  le only once it'
6fa0: 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 72 65 66 65  s no longer refe
6fb0: 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 56 69  renced by the Vi
6fc0: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62  rtualRouting Tab
6fd0: 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 62 79  le.</li>..<li>by
6fe0: 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 72   following the r
6ff0: 65 76 65 72 73 65 20 73 65 71 75 65 6e 63 65 20  everse sequence 
7000: 79 6f 75 27 6c 6c 20 64 69 72 65 63 74 6c 79 20  you'll directly 
7010: 63 72 65 61 74 65 20 61 6e 20 3c 62 3e 6f 72 70  create an <b>orp
7020: 68 61 6e 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52  han</b> VirtualR
7030: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 74 68 61  outing Table tha
7040: 74 20 63 61 6e 6e 6f 74 20 62 65 20 61 63 63 65  t cannot be acce
7050: 73 73 65 64 20 61 6e 79 20 6c 6f 6e 67 65 72 2c  ssed any longer,
7060: 20 61 6e 64 20 74 68 61 74 20 77 69 6c 6c 20 63   and that will c
7070: 6f 6e 73 65 71 75 65 6e 74 6c 79 20 72 65 66 75  onsequently refu
7080: 73 65 20 74 6f 20 62 65 20 64 72 6f 70 70 65 64  se to be dropped
7090: 2e 3c 62 72 3e 0d 0a 42 65 20 77 61 72 6e 65 64  .<br>..Be warned
70a0: 20 21 21 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d   !!</li>..</ol>.
70b0: 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74  .</td></tr>..</t
70c0: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  able>..<br><br>.
70d0: 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c  .<hr><br>..<h1><
70e0: 61 20 6e 61 6d 65 3d 22 66 72 6f 6d 5f 74 6f 22  a name="from_to"
70f0: 3e 34 20 2d 20 53 6f 6c 76 69 6e 67 20 63 6c 61  >4 - Solving cla
7100: 73 73 69 63 20 53 68 6f 72 74 65 73 74 20 50 61  ssic Shortest Pa
7110: 74 68 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c  th problems</a><
7120: 2f 68 31 3e 0d 0a 54 68 65 20 6d 6f 73 74 20 63  /h1>..The most c
7130: 6c 61 73 73 69 63 20 53 68 6f 72 74 65 73 74 20  lassic Shortest 
7140: 50 61 74 68 20 70 72 6f 62 6c 65 6d 20 72 65 71  Path problem req
7150: 75 69 72 65 73 20 74 6f 20 69 64 65 6e 74 69 66  uires to identif
7160: 79 20 74 68 65 20 6f 70 74 69 6d 61 6c 20 63 6f  y the optimal co
7170: 6e 6e 65 63 74 69 6f 6e 20 62 65 74 77 65 65 6e  nnection between
7180: 20 61 6e 20 3c 62 3e 4f 72 69 67 69 6e 20 4e 6f   an <b>Origin No
7190: 64 65 3c 2f 62 3e 20 61 6e 64 20 61 20 3c 62 3e  de</b> and a <b>
71a0: 44 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65  Destination Node
71b0: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 57 65 20 63 61  </b>.<br>..We ca
71c0: 6e 20 65 61 73 69 6c 79 20 74 72 61 6e 73 6c 61  n easily transla
71d0: 74 65 20 73 75 63 68 20 61 20 70 72 6f 62 6c 65  te such a proble
71e0: 6d 20 69 6e 74 6f 20 61 20 73 69 6d 70 6c 65 20  m into a simple 
71f0: 53 51 4c 20 71 75 65 72 79 20 74 61 72 67 65 74  SQL query target
7200: 69 6e 67 20 73 6f 6d 65 20 56 69 72 74 75 61 6c  ing some Virtual
7210: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 2e 0d 0a  Routing Table...
7220: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45  <verbatim>..SELE
7230: 43 54 20 2a 20 0d 0a 46 52 4f 4d 20 62 79 66 6f  CT * ..FROM byfo
7240: 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72  ot..WHERE NodeFr
7250: 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20  om = 178731 AND 
7260: 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b  NodeTo = 183286;
7270: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c  ..</verbatim>..<
7280: 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22  table border="1"
7290: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63   bgcolor="#ffffc
72a0: 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  f" cellspacing="
72b0: 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  4" cellpadding="
72c0: 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63  6">..<tr><th bgc
72d0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41  olor="#d0d0a0">A
72e0: 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68  lgorithm</th><th
72f0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
7300: 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c  0">Request</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 4f 70 74 69 6f 6e 73 3c 2f 74 68  0a0">Options</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 44 65 6c 69 6d 69 74 65 72  0d0a0">Delimiter
7350: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
7360: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65  ="#d0d0a0">Route
7370: 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  Id</th><th bgcol
7380: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75  or="#d0d0a0">Rou
7390: 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67  teRow</th><th bg
73a0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
73b0: 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Role</th><th bgc
73c0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c  olor="#d0d0a0">L
73d0: 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68  inkRowid</th><th
73e0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
73f0: 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e  0">NodeFrom</th>
7400: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
7410: 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68  d0a0">NodeTo</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 50 6f 69 6e 74 46 72 6f 6d  0d0a0">PointFrom
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 50 6f 69 6e 74  ="#d0d0a0">Point
7460: 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
7470: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 54 6f 6c  or="#d0d0a0">Tol
7480: 65 72 61 6e 63 65 3c 2f 74 68 3e 3c 74 68 20 62  erance</th><th b
7490: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
74a0: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  >Cost</th><th bg
74b0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
74c0: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68  Geometry</th><th
74d0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
74e0: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72  0">Name</th></tr
74f0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a  >..<tr>..<td>Dij
7500: 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68  kstra</td><td>Sh
7510: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64 3e  ortest Path</td>
7520: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
7530: 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20  >, &#91;dec=44, 
7540: 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e  hex=2c&#93;</td>
7550: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7560: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
7570: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
7580: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
7590: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
75a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
75b0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
75c0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
75d0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
75e0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
75f0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
7600: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30  align="right">30
7610: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64  0.912208</td><td
7620: 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f  >BLOB sz=272 GEO
7630: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
7640: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
7650: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
7660: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7670: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7680: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
7690: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
76a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
76b0: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
76c0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
76d0: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c  ="right">224014<
76e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
76f0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
7700: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7710: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
7720: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7730: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
7740: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7750: 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34  right">94.812424
7760: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7770: 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f  d><td>VIA PIETRO
7780: 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c   ARETINO</td>..<
7790: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
77a0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
77b0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
77c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
77d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
77e0: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
77f0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
7800: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
7810: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
7820: 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  24446</td><td al
7830: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
7840: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  85</td><td align
7850: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
7860: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7870: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7880: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
7890: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e  lign="right">69.
78a0: 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e  727726</td><td>N
78b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
78c0: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
78d0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
78e0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
78f0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7900: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
7910: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7920: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
7930: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
7940: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
7950: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7960: 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64  ">224414</td><td
7970: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
7980: 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  78880</td><td al
7990: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
79a0: 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  86</td><td>NULL<
79b0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
79c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
79d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
79e0: 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c  136.372057</td><
79f0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7a00: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c  VIA MARGARITONE<
7a10: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74  /td>..</tr>..</t
7a20: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74  able>..<br>..Let
7a30: 27 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69  's quickly exami
7a40: 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  ne the resultset
7a50: 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
7a60: 20 61 62 6f 76 65 20 52 6f 75 74 69 6e 67 20 71   above Routing q
7a70: 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  uery:..<ul>..<li
7a80: 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72 6f  >the <b>first ro
7a90: 77 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69  w</b> (<i>aka</i
7aa0: 3e 20 68 65 61 64 65 72 20 72 6f 77 29 20 68 61  > header row) ha
7ab0: 73 20 61 20 73 70 65 63 69 61 6c 20 69 6e 74 65  s a special inte
7ac0: 72 70 72 65 74 61 74 69 6f 6e 2c 20 61 6e 64 20  rpretation, and 
7ad0: 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73  is intended to s
7ae0: 75 6d 6d 61 72 69 7a 65 20 74 68 65 20 74 72 61  ummarize the tra
7af0: 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 61 73 20  vel solution as 
7b00: 61 20 77 68 6f 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c  a whole.</li>..<
7b10: 6c 69 3e 61 6c 6c 20 74 68 65 20 3c 62 3e 66 6f  li>all the <b>fo
7b20: 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 3c 2f 62 3e  llowing rows</b>
7b30: 20 72 65 70 72 65 73 65 6e 74 20 61 20 73 69 6e   represent a sin
7b40: 67 6c 65 20 4c 69 6e 6b 20 72 65 71 75 69 72 65  gle Link require
7b50: 64 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 73  d to build the s
7b60: 6f 6c 75 74 69 6f 6e 20 28 6f 70 74 69 6d 61 20  olution (optima 
7b70: 70 61 74 68 29 3b 20 4c 69 6e 6b 73 20 61 72 65  path); Links are
7b80: 20 6f 72 64 65 72 65 64 20 61 63 63 6f 72 64 69   ordered accordi
7b90: 6e 67 6c 79 20 74 6f 20 74 68 65 20 74 72 61 76  ngly to the trav
7ba0: 65 6c 20 64 69 72 65 63 74 69 6f 6e 20 63 6f 6e  el direction con
7bb0: 6e 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67  necting the Orig
7bc0: 69 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69  in and the Desti
7bd0: 6e 61 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  nation.</li>..<l
7be0: 69 3e 63 6f 6c 75 6d 6e 73 20 3c 62 3e 41 6c 67  i>columns <b>Alg
7bf0: 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52  orithm</b>, <b>R
7c00: 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f  equest</b>, <b>O
7c10: 70 74 69 6f 6e 73 3c 2f 62 3e 2c 20 3c 62 3e 44  ptions</b>, <b>D
7c20: 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 2c 20 3c 62  elimiter</b>, <b
7c30: 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20  >PointFrom</b>, 
7c40: 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2c 20  <b>PointTo</b>, 
7c50: 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e  <b>Tolerance</b>
7c60: 20 61 6e 64 20 3c 62 3e 47 65 6f 6d 65 74 72 79   and <b>Geometry
7c70: 3c 2f 62 3e 20 61 72 65 20 61 6c 77 61 79 73 20  </b> are always 
7c80: 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f  set to <b>NULL</
7c90: 62 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 69  b> except that i
7ca0: 6e 20 74 68 65 20 66 69 72 73 74 20 72 6f 77 20  n the first row 
7cb0: 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  of the resultset
7cc0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6c  :..<ul>..<li>col
7cd0: 75 6d 6e 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d  umn <b>Algorithm
7ce0: 3c 2f 62 3e 20 61 63 63 6f 75 6e 74 73 20 66 6f  </b> accounts fo
7cf0: 72 20 74 68 65 20 52 6f 75 74 69 6e 67 20 41 6c  r the Routing Al
7d00: 67 6f 72 69 74 68 6d 20 75 73 65 64 20 62 79 20  gorithm used by 
7d10: 74 68 65 20 63 75 72 72 65 6e 74 20 71 75 65 72  the current quer
7d20: 79 20 28 3c 69 3e 44 69 6a 6b 73 74 72 61 27 73  y (<i>Dijkstra's
7d30: 3c 2f 69 3e 20 6f 72 20 3c 69 3e 41 2a 3c 2f 69  </i> or <i>A*</i
7d40: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f  >).</li>..<li>co
7d50: 6c 75 6d 6e 20 3c 62 3e 52 65 71 75 65 73 74 3c  lumn <b>Request<
7d60: 2f 62 3e 20 73 70 65 63 69 66 69 65 73 20 74 68  /b> specifies th
7d70: 65 20 65 78 61 63 74 20 6e 61 74 75 72 65 20 6f  e exact nature o
7d80: 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 71 75  f the current qu
7d90: 65 72 79 20 28 69 6e 20 74 68 69 73 20 73 70 65  ery (in this spe
7da0: 63 69 66 69 63 20 63 61 73 65 20 3c 69 3e 53 68  cific case <i>Sh
7db0: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 69 3e 29  ortest Path</i>)
7dc0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c  .</li>..<li>we'l
7dd0: 6c 20 69 67 6e 6f 72 65 20 66 6f 72 20 6e 6f 77  l ignore for now
7de0: 20 63 6f 6c 75 6d 6e 73 20 3c 62 3e 4f 70 74 69   columns <b>Opti
7df0: 6f 6e 73 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69  ons</b>, <b>Deli
7e00: 6d 69 74 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f  miter</b>, <b>Po
7e10: 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e  intFrom</b>, <b>
7e20: 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64 20  PointTo</b> and 
7e30: 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e  <b>Tolerance</b>
7e40: 3a 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69  : their respecti
7e50: 76 65 20 6d 65 61 6e 69 6e 67 73 20 77 69 6c 6c  ve meanings will
7e60: 20 62 65 20 65 78 70 6c 61 69 6e 65 64 20 69 6e   be explained in
7e70: 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 72 61 67   following parag
7e80: 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  raphs.</li>..<li
7e90: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65  >column <b>Geome
7ea0: 74 72 79 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73  try</b> contains
7eb0: 20 61 20 3c 62 3e 4c 49 4e 45 53 54 52 49 4e 47   a <b>LINESTRING
7ec0: 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 61 74  </b> representat
7ed0: 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65  ion of the whole
7ee0: 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e   travel solution
7ef0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
7f00: 75 3e 3a 20 6f 6e 20 3c 62 3e 4c 6f 67 69 63 61  u>: on <b>Logica
7f10: 6c 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 20 28  l Networks</b> (
7f20: 6e 6f 74 20 73 75 70 70 6f 72 74 69 6e 67 20 47  not supporting G
7f30: 65 6f 6d 65 74 72 69 65 73 29 20 3c 62 3e 47 65  eometries) <b>Ge
7f40: 6f 6d 65 74 72 79 3c 2f 62 3e 20 77 69 6c 6c 20  ometry</b> will 
7f50: 61 6c 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c  always be <b>NUL
7f60: 4c 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  L</b>.</li>..</u
7f70: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27  l></li>..<li>we'
7f80: 6c 6c 20 69 67 6e 6f 72 65 20 66 6f 72 20 6e 6f  ll ignore for no
7f90: 77 20 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74  w column <b>Rout
7fa0: 65 49 64 3c 2f 62 3e 3b 20 69 74 73 20 6d 65 61  eId</b>; its mea
7fb0: 6e 69 6e 67 20 77 69 6c 6c 20 62 65 20 65 78 70  ning will be exp
7fc0: 6c 61 69 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f 77  lained in follow
7fd0: 69 6e 67 20 70 61 72 61 67 72 61 70 68 73 2e 3c  ing paragraphs.<
7fe0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e  /li>..<li>column
7ff0: 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e   <b>RouteRow</b>
8000: 20 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20 70   simply is the p
8010: 72 6f 67 72 65 73 73 69 76 65 20 6e 75 6d 62 65  rogressive numbe
8020: 72 20 6f 66 20 74 68 65 20 72 6f 77 20 69 6e 20  r of the row in 
8030: 74 68 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74  the travel solut
8040: 69 6f 6e 20 28 61 6c 77 61 79 73 20 3c 62 3e 30  ion (always <b>0
8050: 3c 2f 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64  </b> in the head
8060: 65 72 20 72 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c  er row).</li>..<
8070: 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 6c  li>column <b>Rol
8080: 65 3c 2f 62 3e 20 63 61 6e 20 62 65 20 3c 69 3e  e</b> can be <i>
8090: 52 6f 75 74 65 3c 2f 69 3e 20 28 68 65 61 64 65  Route</i> (heade
80a0: 72 20 72 6f 77 29 20 6f 72 20 3c 69 3e 4c 69 6e  r row) or <i>Lin
80b0: 6b 3c 2f 69 3e 20 28 61 6c 6c 20 66 6f 6c 6c 6f  k</i> (all follo
80c0: 77 69 6e 67 20 72 6f 77 73 29 2e 3c 2f 6c 69 3e  wing rows).</li>
80d0: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e  ..<li>column <b>
80e0: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e 20 72 65  LinkRowid</b> re
80f0: 66 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62 3e  ferences the <b>
8100: 52 4f 57 49 44 3c 2f 62 3e 20 6f 66 20 74 68 65  ROWID</b> of the
8110: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c   corresponding L
8120: 69 6e 6b 20 28 61 6c 77 61 79 73 20 73 65 74 20  ink (always set 
8130: 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69  to <b>NULL</b> i
8140: 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77  n the header row
8150: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c  ).</li>..<li>col
8160: 75 6d 6e 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c  umn <b>NodeFrom<
8170: 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54  /b> and <b>NodeT
8180: 6f 3c 2f 62 3e 20 68 61 76 65 20 74 68 65 20 66  o</b> have the f
8190: 6f 6c 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70 72  ollowing interpr
81a0: 65 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a  etation:..<ul>..
81b0: 3c 6c 69 3e 69 6e 20 74 68 65 20 68 65 61 64 65  <li>in the heade
81c0: 72 20 72 6f 77 20 74 68 65 79 20 63 6f 72 72 65  r row they corre
81d0: 73 70 6f 6e 64 20 74 6f 20 68 65 20 3c 62 3e 4f  spond to he <b>O
81e0: 72 69 67 69 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62  rigin</b> and <b
81f0: 3e 44 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e  >Destination</b>
8200: 20 4e 6f 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c   Nodes.</li>..<l
8210: 69 3e 69 6e 20 61 6c 6c 20 74 68 65 20 66 6f 6c  i>in all the fol
8220: 6c 6f 77 69 6e 67 20 72 6f 77 73 20 74 68 65 79  lowing rows they
8230: 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f   are intended to
8240: 20 73 70 65 63 69 66 79 20 74 68 65 20 64 69 72   specify the dir
8250: 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 75  ection of the cu
8260: 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e  rrent Link.</li>
8270: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
8280: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74  i>column <b>Cost
8290: 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 66 6f 6c  </b> has the fol
82a0: 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74  lowing interpret
82b0: 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ation:..<ul>..<l
82c0: 69 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72 20  i>in the header 
82d0: 74 6f 77 20 69 74 20 63 6f 72 72 65 73 70 6f 6e  tow it correspon
82e0: 64 73 20 74 6f 20 74 68 65 20 3c 62 3e 74 6f 74  ds to the <b>tot
82f0: 61 6c 20 63 6f 73 74 3c 2f 62 3e 20 6f 66 20 74  al cost</b> of t
8300: 68 65 20 74 72 61 76 65 6c 2e 3c 2f 6c 69 3e 0d  he travel.</li>.
8310: 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 74 68 65 20  .<li>in all the 
8320: 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20 69  following rows i
8330: 74 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65  t represents the
8340: 20 73 70 65 63 69 66 69 63 20 63 6f 73 74 20 6f   specific cost o
8350: 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c 69  f the current Li
8360: 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  nk.</li>..</ul><
8370: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e  /li>..<li>column
8380: 20 3c 62 3e 4e 61 6d 65 3c 2f 62 3e 20 63 6f 6e   <b>Name</b> con
8390: 74 61 69 6e 73 20 74 68 65 20 64 65 73 63 72 69  tains the descri
83a0: 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 75 72  ption of the cur
83b0: 72 65 6e 74 20 4c 69 6e 6b 20 28 75 73 75 61 6c  rent Link (usual
83c0: 6c 79 20 61 20 72 6f 61 64 20 6e 61 6d 65 29 2c  ly a road name),
83d0: 20 61 6e 64 20 69 73 20 61 6c 77 61 79 73 20 3c   and is always <
83e0: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68  b>NULL</b> in th
83f0: 65 20 68 65 61 64 65 72 20 72 6f 77 2e 3c 62 72  e header row.<br
8400: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 20 69  >..<u>Note</u> i
8410: 74 20 63 6f 75 6c 64 20 62 65 20 61 6c 77 61 79  t could be alway
8420: 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e  s be <b>NULL</b>
8430: 20 69 66 20 74 68 65 20 56 69 72 74 75 61 6c 52   if the VirtualR
8440: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 64 6f 65  outing Table doe
8450: 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 73 20 6e  s not supports n
8460: 61 6d 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  ames.</li>..</ul
8470: 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  ></li>..</ul>..<
8480: 62 72 3e 3c 62 72 3e 0d 0a 54 65 73 74 69 6e 67  br><br>..Testing
8490: 20 74 68 65 20 72 65 74 75 72 6e 20 63 6f 6e 6e   the return conn
84a0: 65 63 74 69 6f 6e 20 6a 75 73 74 20 72 65 71 75  ection just requ
84b0: 69 72 65 73 20 73 77 61 70 70 69 6e 67 20 74 68  ires swapping th
84c0: 65 20 4f 72 69 67 69 6e 20 61 6e 64 20 74 68 65  e Origin and the
84d0: 20 44 65 73 74 69 6e 61 74 69 6f 6e 3b 20 69 6e   Destination; in
84e0: 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 79 6f   this example yo
84f0: 75 27 6c 6c 20 6a 75 73 74 20 72 65 71 75 65 73  u'll just reques
8500: 74 20 74 68 65 20 6d 65 61 6e 69 6e 67 66 75 6c  t the meaningful
8510: 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 76 65 72 62   columns:..<verb
8520: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 6f  atim>..SELECT Ro
8530: 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
8540: 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
8550: 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
8560: 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
8570: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
8580: 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20 31 37 38  ERE NodeTo = 178
8590: 37 33 31 20 41 4e 44 20 4e 6f 64 65 46 72 6f 6d  731 AND NodeFrom
85a0: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
85b0: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20  rbatim>..<table 
85c0: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
85d0: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
85e0: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
85f0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
8600: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
8610: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f  #d0d0a0">RouteRo
8620: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  w</th><th bgcolo
8630: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65  r="#d0d0a0">Role
8640: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
8650: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52  ="#d0d0a0">LinkR
8660: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63  owid</th><th bgc
8670: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
8680: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20  odeFrom</th><th 
8690: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
86a0: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68  ">NodeTo</th><th
86b0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
86c0: 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20  0">Cost</th><th 
86d0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
86e0: 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c  ">Geometry</th><
86f0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
8700: 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f  0a0">Name</th></
8710: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
8720: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
8730: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
8740: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
8750: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8760: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
8770: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
8780: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
8790: 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31  n="right">300.91
87a0: 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  2208</td><td>BLO
87b0: 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52  B sz=272 GEOMETR
87c0: 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
87d0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
87e0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
87f0: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
8800: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
8810: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c  ="right">224414<
8820: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
8830: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
8840: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8850: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
8860: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8870: 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c  136.372057</td><
8880: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
8890: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c  VIA MARGARITONE<
88a0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 64  /td>..</tr>..<td
88b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
88c0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
88d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
88e0: 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c  ht">224446</td><
88f0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8900: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
8910: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
8920: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2885</td><td ali
8930: 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32  gn="right">69.72
8940: 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  7726</td><td>NUL
8950: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
8960: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
8970: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
8980: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
8990: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
89a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
89b0: 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c  ht">224014</td><
89c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
89d0: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20  >182885</td><td 
89e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
89f0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
8a00: 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31  gn="right">94.81
8a10: 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2424</td><td>NUL
8a20: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49  L</td><td>VIA PI
8a30: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64  ETRO ARETINO</td
8a40: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  >..</tr>..</tabl
8a50: 65 3e 0d 0a 3c 62 72 3e 0d 0a 49 66 20 79 6f 75  e>..<br>..If you
8a60: 20 72 65 6d 65 6d 62 65 72 2c 20 74 68 65 20 3c   remember, the <
8a70: 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 56 69 72  b>byfoot</b> Vir
8a80: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
8a90: 65 20 68 61 73 20 6e 6f 20 3c 62 3e 6f 6e 65 2d  e has no <b>one-
8aa0: 77 61 79 73 3c 2f 62 3e 2c 20 61 6e 64 20 63 6f  ways</b>, and co
8ab0: 6e 73 65 71 75 65 6e 74 6c 79 20 74 68 65 20 72  nsequently the r
8ac0: 65 74 75 72 6e 20 70 61 74 68 20 65 78 61 63 74  eturn path exact
8ad0: 6c 79 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74  ly corresponds t
8ae0: 6f 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 2c  o the first one,
8af0: 20 65 78 63 65 70 74 20 69 6e 20 74 68 61 74 20   except in that 
8b00: 61 6c 6c 20 64 69 72 65 63 74 69 6f 6e 73 20 61  all directions a
8b10: 72 65 20 6e 6f 77 20 72 65 76 65 72 73 65 64 2e  re now reversed.
8b20: 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a  ..<br><br><br>..
8b30: 4e 6f 77 20 79 6f 75 27 6c 6c 20 67 6f 20 74 6f  Now you'll go to
8b40: 20 74 65 73 74 20 74 68 65 20 73 61 6d 65 20 63   test the same c
8b50: 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 62 75 74 20  onnections, but 
8b60: 74 68 69 73 20 74 69 6d 65 20 79 6f 75 27 6c 6c  this time you'll
8b70: 20 74 61 72 67 65 74 20 74 68 65 20 3c 62 3e 62   target the <b>b
8b80: 79 63 61 72 3c 2f 62 3e 20 56 69 72 74 75 61 6c  ycar</b> Virtual
8b90: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 74 68  Routing Table th
8ba0: 61 74 20 66 75 6c 6c 79 20 73 75 70 70 6f 72 74  at fully support
8bb0: 73 20 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62  s <b>one-ways</b
8bc0: 3e 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  >:..<verbatim>..
8bd0: 53 45 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 2c  SELECT RouteRow,
8be0: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64   Role, LinkRowid
8bf0: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65  , NodeFrom, Node
8c00: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  To, Cost, Geomet
8c10: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
8c20: 79 63 61 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65  ycar..WHERE Node
8c30: 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e  From = 178731 AN
8c40: 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38  D NodeTo = 18328
8c50: 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  6;..</verbatim>.
8c60: 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22  .<table border="
8c70: 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66  1" bgcolor="#fff
8c80: 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fcf" cellspacing
8c90: 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  ="4" cellpadding
8ca0: 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62  ="6">..<tr><th b
8cb0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
8cc0: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74  >RouteRow</th><t
8cd0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
8ce0: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
8cf0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
8d00: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68  0">LinkRowid</th
8d10: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
8d20: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
8d30: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
8d40: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
8d50: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
8d60: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
8d70: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
8d80: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
8d90: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
8da0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
8db0: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
8dc0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
8dd0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
8de0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
8df0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
8e00: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
8e10: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8e20: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
8e30: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8e40: 22 3e 31 30 31 2e 38 31 35 35 35 32 3c 2f 74 64  ">101.815552</td
8e50: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 30 33  ><td>BLOB sz=203
8e60: 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  2 GEOMETRY</td><
8e70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
8e80: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
8e90: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
8ea0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
8eb0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8ec0: 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64  ">224014</td><td
8ed0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
8ee0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
8ef0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
8f00: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  85</td><td align
8f10: 3d 22 72 69 67 68 74 22 3e 31 33 2e 31 32 37 38  ="right">13.1278
8f20: 37 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  74</td><td>NULL<
8f30: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54  /td><td>VIA PIET
8f40: 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d  RO ARETINO</td>.
8f50: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
8f60: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8f70: 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
8f80: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8f90: 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e  ght">224446</td>
8fa0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8fb0: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
8fc0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
8fd0: 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  78880</td><td al
8fe0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 2e 36 35  ign="right">9.65
8ff0: 34 36 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  4608</td><td>NUL
9000: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
9010: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
9020: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
9030: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
9040: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
9050: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9060: 68 74 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c  ht">219171</td><
9070: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9080: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
9090: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
90a0: 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8732</td><td ali
90b0: 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 38 30 39  gn="right">7.809
90c0: 39 35 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  952</td><td>NULL
90d0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41  </td><td>VIA FRA
90e0: 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74  NCESCO CRISPI</t
90f0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
9100: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
9110: 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">4</td><td>Lin
9120: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
9130: 22 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c 2f  "right">219058</
9140: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9150: 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e  ght">178732</td>
9160: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9170: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
9180: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9190: 32 2e 34 34 35 36 32 36 3c 2f 74 64 3e 3c 74 64  2.445626</td><td
91a0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
91b0: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
91c0: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
91d0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
91e0: 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
91f0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9200: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
9210: 38 38 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  888</td><td alig
9220: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
9230: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9240: 72 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f 74  right">183461</t
9250: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9260: 68 74 22 3e 31 2e 35 39 39 38 36 35 3c 2f 74 64  ht">1.599865</td
9270: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9280: 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20  d>VIA FRANCESCO 
9290: 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  CRISPI</td>..</t
92a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
92b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74  ign="right">6</t
92c0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
92d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
92e0: 3e 32 32 35 38 38 37 3c 2f 74 64 3e 3c 74 64 20  >225887</td><td 
92f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9300: 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3461</td><td ali
9310: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 30  gn="right">18280
9320: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
9330: 22 72 69 67 68 74 22 3e 33 2e 33 30 30 35 39 30  "right">3.300590
9340: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
9350: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45  d><td>VIA FRANCE
9360: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d  SCO CRISPI</td>.
9370: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
9380: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9390: 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  7</td><td>Link</
93a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
93b0: 67 68 74 22 3e 32 32 33 39 33 35 3c 2f 74 64 3e  ght">223935</td>
93c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
93d0: 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e 3c 74 64  ">182800</td><td
93e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
93f0: 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  82799</td><td al
9400: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36 38  ign="right">6.68
9410: 38 37 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  8786</td><td>NUL
9420: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20  L</td><td>VIALE 
9430: 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c  LUCA SIGNORELLI<
9440: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9450: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
9460: 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">8</td><td>L
9470: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
9480: 6e 3d 22 72 69 67 68 74 22 3e 32 32 36 30 33 38  n="right">226038
9490: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
94a0: 72 69 67 68 74 22 3e 31 38 32 37 39 39 3c 2f 74  right">182799</t
94b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
94c0: 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c  ht">183456</td><
94d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
94e0: 3e 31 2e 32 39 34 30 31 37 3c 2f 74 64 3e 3c 74  >1.294017</td><t
94f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
9500: 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52  IALE LUCA SIGNOR
9510: 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ELLI</td>..</tr>
9520: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
9530: 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e  n="right">9</td>
9540: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9550: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
9560: 32 35 38 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  25832</td><td al
9570: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34  ign="right">1834
9580: 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  56</td><td align
9590: 3d 22 72 69 67 68 74 22 3e 31 38 33 34 34 34 3c  ="right">183444<
95a0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
95b0: 69 67 68 74 22 3e 32 2e 33 38 35 34 38 36 3c 2f  ight">2.385486</
95c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
95d0: 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53  <td>VIALE LUCA S
95e0: 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a  IGNORELLI</td>..
95f0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
9600: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9610: 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  0</td><td>Link</
9620: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9630: 67 68 74 22 3e 32 32 35 38 33 31 3c 2f 74 64 3e  ght">225831</td>
9640: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9650: 22 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64  ">183444</td><td
9660: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9670: 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  83554</td><td al
9680: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 31 36  ign="right">3.16
9690: 30 36 36 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  0662</td><td>NUL
96a0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20  L</td><td>VIALE 
96b0: 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c  LUCA SIGNORELLI<
96c0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
96d0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
96e0: 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 3e  ght">11</td><td>
96f0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9700: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36  gn="right">22576
9710: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
9720: 22 72 69 67 68 74 22 3e 31 38 33 35 35 34 3c 2f  "right">183554</
9730: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9740: 67 68 74 22 3e 31 38 33 39 35 34 3c 2f 74 64 3e  ght">183954</td>
9750: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9760: 22 3e 37 2e 34 36 39 39 31 37 3c 2f 74 64 3e 3c  ">7.469917</td><
9770: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9780: 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f  VIALE LUCA SIGNO
9790: 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RELLI</td>..</tr
97a0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
97b0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74  gn="right">12</t
97c0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
97d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
97e0: 3e 32 32 35 37 36 36 3c 2f 74 64 3e 3c 74 64 20  >225766</td><td 
97f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9800: 33 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3954</td><td ali
9810: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 30  gn="right">18390
9820: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
9830: 22 72 69 67 68 74 22 3e 33 2e 32 33 36 33 38 39  "right">3.236389
9840: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
9850: 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41  d><td>VIALE LUCA
9860: 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e   SIGNORELLI</td>
9870: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
9880: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9890: 3e 31 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  >13</td><td>Link
98a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
98b0: 72 69 67 68 74 22 3e 32 32 35 39 37 39 3c 2f 74  right">225979</t
98c0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
98d0: 68 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c  ht">183905</td><
98e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
98f0: 3e 31 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20  >183626</td><td 
9900: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33  align="right">13
9910: 2e 39 38 33 36 32 39 3c 2f 74 64 3e 3c 74 64 3e  .983629</td><td>
9920: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 54 52  NULL</td><td>STR
9930: 41 44 41 20 53 45 4e 5a 41 20 4e 4f 4d 45 3c 2f  ADA SENZA NOME</
9940: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
9950: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
9960: 68 74 22 3e 31 34 3c 2f 74 64 3e 3c 74 64 3e 4c  ht">14</td><td>L
9970: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
9980: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 39 30 35  n="right">224905
9990: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
99a0: 72 69 67 68 74 22 3e 31 38 33 36 32 36 3c 2f 74  right">183626</t
99b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
99c0: 68 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c  ht">183128</td><
99d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
99e0: 3e 35 2e 36 32 37 33 35 38 3c 2f 74 64 3e 3c 74  >5.627358</td><t
99f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53  d>NULL</td><td>S
9a00: 54 52 41 44 41 20 53 45 4e 5a 41 20 4e 4f 4d 45  TRADA SENZA NOME
9a10: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9a20: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
9a30: 69 67 68 74 22 3e 31 35 3c 2f 74 64 3e 3c 74 64  ight">15</td><td
9a40: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
9a50: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38  ign="right">2248
9a60: 39 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  97</td><td align
9a70: 3d 22 72 69 67 68 74 22 3e 31 38 33 31 32 38 3c  ="right">183128<
9a80: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9a90: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
9aa0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9ab0: 74 22 3e 31 30 2e 30 33 30 37 39 32 3c 2f 74 64  t">10.030792</td
9ac0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9ad0: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
9ae0: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
9af0: 2f 74 61 62 6c 65 3e 0d 0a 3c 76 65 72 62 61 74  /table>..<verbat
9b00: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 6f 75 74  im>..SELECT Rout
9b10: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
9b20: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
9b30: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
9b40: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
9b50: 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48 45 52 45  ROM bycar..WHERE
9b60: 20 4e 6f 64 65 54 6f 20 3d 20 31 37 38 37 33 31   NodeTo = 178731
9b70: 20 41 4e 44 20 4e 6f 64 65 46 72 6f 6d 20 3d 20   AND NodeFrom = 
9b80: 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61  183286;..</verba
9b90: 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72  tim>..<table bor
9ba0: 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d  der="1" bgcolor=
9bb0: 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70  "#ffffcf" cellsp
9bc0: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61  acing="4" cellpa
9bd0: 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e  dding="6">..<tr>
9be0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
9bf0: 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f  d0a0">RouteRow</
9c00: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
9c10: 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74  #d0d0a0">Role</t
9c20: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
9c30: 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69  d0d0a0">LinkRowi
9c40: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
9c50: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
9c60: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
9c70: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
9c80: 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67  odeTo</th><th bg
9c90: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
9ca0: 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Cost</th><th bgc
9cb0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47  olor="#d0d0a0">G
9cc0: 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20  eometry</th><th 
9cd0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
9ce0: 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e  ">Name</th></tr>
9cf0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
9d00: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
9d10: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
9d20: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
9d30: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9d40: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
9d50: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
9d60: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9d70: 72 69 67 68 74 22 3e 31 30 33 2e 33 30 35 32 35  right">103.30525
9d80: 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  9</td><td>BLOB s
9d90: 7a 3d 39 34 34 20 47 45 4f 4d 45 54 52 59 3c 2f  z=944 GEOMETRY</
9da0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
9db0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
9dc0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9dd0: 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >1</td><td>Link<
9de0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9df0: 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64  ight">224414</td
9e00: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9e10: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
9e20: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9e30: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61  178880</td><td a
9e40: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 2e  lign="right">18.
9e50: 38 38 32 32 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e  882285</td><td>N
9e60: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
9e70: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
9e80: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
9e90: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9ea0: 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >2</td><td>Link<
9eb0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9ec0: 69 67 68 74 22 3e 32 31 39 31 37 31 3c 2f 74 64  ight">219171</td
9ed0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9ee0: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
9ef0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9f00: 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61  178732</td><td a
9f10: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 38  lign="right">7.8
9f20: 30 39 39 35 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55  09952</td><td>NU
9f30: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46  LL</td><td>VIA F
9f40: 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c  RANCESCO CRISPI<
9f50: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9f60: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
9f70: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
9f80: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
9f90: 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35 38  n="right">219058
9fa0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9fb0: 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74  right">178732</t
9fc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9fd0: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
9fe0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9ff0: 3e 31 32 2e 34 34 35 36 32 36 3c 2f 74 64 3e 3c  >12.445626</td><
a000: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
a010: 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52  VIA FRANCESCO CR
a020: 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ISPI</td>..</tr>
a030: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
a040: 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e  n="right">4</td>
a050: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
a060: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
a070: 32 34 35 33 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  24538</td><td al
a080: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
a090: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
a0a0: 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c  ="right">181972<
a0b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a0c0: 69 67 68 74 22 3e 37 2e 30 34 37 37 38 34 3c 2f  ight">7.047784</
a0d0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a0e0: 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20  <td>VIA ANTONIO 
a0f0: 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d  GUADAGNOLI</td>.
a100: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
a110: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a120: 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  5</td><td>Link</
a130: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a140: 67 68 74 22 3e 32 32 32 35 37 35 3c 2f 74 64 3e  ght">222575</td>
a150: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a160: 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64  ">181972</td><td
a170: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a180: 38 31 39 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  81971</td><td al
a190: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 38 35  ign="right">1.85
a1a0: 32 32 38 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2283</td><td>NUL
a1b0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e  L</td><td>VIA AN
a1c0: 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49  TONIO GUADAGNOLI
a1d0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
a1e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a1f0: 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  6</td><td>Link</
a200: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a210: 67 68 74 22 3e 32 32 34 39 36 37 3c 2f 74 64 3e  ght">224967</td>
a220: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a230: 22 3e 31 38 31 39 37 31 3c 2f 74 64 3e 3c 74 64  ">181971</td><td
a240: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a250: 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  82891</td><td al
a260: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 2e 32  ign="right">14.2
a270: 37 33 31 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55  73185</td><td>NU
a280: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41  LL</td><td>VIA A
a290: 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c  NTONIO GUADAGNOL
a2a0: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
a2b0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
a2c0: 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64  right">7</td><td
a2d0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
a2e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31  ign="right">2241
a2f0: 36 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  68</td><td align
a300: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c  ="right">182891<
a310: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a320: 69 67 68 74 22 3e 31 38 33 30 35 37 3c 2f 74 64  ight">183057</td
a330: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a340: 74 22 3e 36 2e 36 34 33 33 30 39 3c 2f 74 64 3e  t">6.643309</td>
a350: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
a360: 3e 56 49 41 20 4d 41 43 41 4c 4c 45 27 3c 2f 74  >VIA MACALLE'</t
a370: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
a380: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
a390: 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">8</td><td>Lin
a3a0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
a3b0: 22 72 69 67 68 74 22 3e 32 32 34 31 36 37 3c 2f  "right">224167</
a3c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a3d0: 67 68 74 22 3e 31 38 33 30 35 37 3c 2f 74 64 3e  ght">183057</td>
a3e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a3f0: 22 3e 31 38 33 30 35 36 3c 2f 74 64 3e 3c 74 64  ">183056</td><td
a400: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
a410: 2e 31 35 31 32 37 32 3c 2f 74 64 3e 3c 74 64 3e  .151272</td><td>
a420: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
a430: 20 4d 41 43 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a   MACALLE'</td>..
a440: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
a450: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
a460: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
a470: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a480: 68 74 22 3e 32 32 34 31 37 34 3c 2f 74 64 3e 3c  ht">224174</td><
a490: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a4a0: 3e 31 38 33 30 35 36 3c 2f 74 64 3e 3c 74 64 20  >183056</td><td 
a4b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
a4c0: 32 39 34 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2941</td><td ali
a4d0: 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 39 36 36  gn="right">7.966
a4e0: 38 37 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  870</td><td>NULL
a4f0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f 44  </td><td>VIA ROD
a500: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
a510: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
a520: 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74  right">10</td><t
a530: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
a540: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
a550: 30 35 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  059</td><td alig
a560: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 34 31  n="right">182941
a570: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a580: 72 69 67 68 74 22 3e 31 38 32 30 30 31 3c 2f 74  right">182001</t
a590: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a5a0: 68 74 22 3e 36 2e 33 39 33 37 34 37 3c 2f 74 64  ht">6.393747</td
a5b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
a5c0: 64 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d  d>VIA RODI</td>.
a5d0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
a5e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a5f0: 31 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  11</td><td>Link<
a600: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a610: 69 67 68 74 22 3e 32 32 32 36 33 37 3c 2f 74 64  ight">222637</td
a620: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a630: 74 22 3e 31 38 32 30 30 31 3c 2f 74 64 3e 3c 74  t">182001</td><t
a640: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a650: 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61  182000</td><td a
a660: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e 34  lign="right">2.4
a670: 37 35 35 33 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55  75538</td><td>NU
a680: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
a690: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
a6a0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
a6b0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
a6c0: 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  t">12</td><td>Li
a6d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
a6e0: 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 36 3c  ="right">222636<
a6f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a700: 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64  ight">182000</td
a710: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a720: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
a730: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a740: 31 34 2e 33 36 33 34 30 38 3c 2f 74 64 3e 3c 74  14.363408</td><t
a750: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
a760: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
a770: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
a780: 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41  /table>..<br>..A
a790: 73 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79  s you can easily
a7a0: 20 6e 6f 74 69 63 65 2c 20 74 68 65 20 6f 70 74   notice, the opt
a7b0: 69 6d 61 6c 20 70 61 74 68 73 20 72 65 74 75 72  imal paths retur
a7c0: 6e 65 64 20 62 79 20 74 68 65 20 3c 62 3e 62 79  ned by the <b>by
a7d0: 63 61 72 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52  car</b> VirtualR
a7e0: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 74 68 65  outing Table the
a7f0: 20 70 61 74 68 73 20 69 6e 20 6f 70 70 6f 73 69   paths in opposi
a800: 74 65 20 64 69 72 65 63 74 69 6f 6e 73 20 73 74  te directions st
a810: 72 6f 6e 67 6c 79 20 64 69 66 66 65 72 20 62 65  rongly differ be
a820: 74 77 65 65 6e 20 74 68 65 6d 2c 20 61 6e 64 20  tween them, and 
a830: 62 6f 74 68 20 61 72 65 20 63 6f 6d 70 6c 65 74  both are complet
a840: 65 6c 79 20 64 69 66 66 65 72 65 6e 74 20 66 72  ely different fr
a850: 6f 6d 20 74 68 65 20 70 61 74 68 20 72 65 74 75  om the path retu
a860: 72 6e 65 64 20 62 79 20 71 75 65 72 79 69 6e 67  rned by querying
a870: 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 2e 3c   <b>byfoot</b>.<
a880: 62 72 3e 0d 0a 41 20 71 75 69 63 6b 20 67 6c 61  br>..A quick gla
a890: 6e 63 65 20 61 74 20 74 68 65 20 62 65 6c 6f 77  nce at the below
a8a0: 20 6d 61 70 20 77 69 6c 6c 20 73 75 72 65 6c 79   map will surely
a8b0: 20 68 65 6c 70 20 74 6f 20 75 6e 64 65 72 73 74   help to underst
a8c0: 61 6e 64 20 62 65 74 74 65 72 20 77 68 61 74 27  and better what'
a8d0: 73 20 72 65 61 6c 6c 79 20 68 61 70 70 65 6e 69  s really happeni
a8e0: 6e 67 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73  ng.<br>..This is
a8f0: 20 61 20 63 65 6e 74 72 61 6c 20 61 72 65 61 20   a central area 
a900: 6f 66 20 74 68 65 20 74 6f 77 6e 20 6f 66 20 41  of the town of A
a910: 72 65 7a 7a 6f 20 61 72 6f 75 6e 64 20 74 68 65  rezzo around the
a920: 20 61 72 63 68 61 65 6f 6c 6f 67 69 63 61 6c 20   archaeological 
a930: 72 75 69 6e 73 20 6f 66 20 74 68 65 20 52 6f 6d  ruins of the Rom
a940: 61 6e 20 41 6d 70 68 69 74 68 65 61 74 65 72 3b  an Amphitheater;
a950: 20 63 69 72 63 75 6c 61 74 69 6e 67 20 62 79 20   circulating by 
a960: 63 61 72 20 69 73 20 64 69 73 63 6f 75 72 61 67  car is discourag
a970: 65 64 20 61 6e 64 20 69 73 20 73 75 62 6a 65 63  ed and is subjec
a980: 74 20 74 6f 20 6d 61 6e 79 20 6f 6e 65 2d 77 61  t to many one-wa
a990: 79 20 72 65 73 74 72 69 63 74 69 6f 6e 73 2e 20  y restrictions. 
a9a0: 4e 6f 74 20 73 75 72 70 72 69 73 69 6e 67 6c 79  Not surprisingly
a9b0: 2c 20 6d 6f 76 69 6e 67 20 62 79 20 66 6f 6f 74  , moving by foot
a9c0: 20 69 73 20 74 68 65 20 66 61 73 74 65 72 20 6f   is the faster o
a9d0: 70 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  ption...<br><br>
a9e0: 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70  ..<img src="http
a9f0: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73  s://www.gaia-gis
aa00: 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f  .it/gaia-sins/ro
aa10: 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69  uting-figs/routi
aa20: 6e 67 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69  ng1.jpg" alt="fi
aa30: 67 31 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  g1">..<ul>..<li>
aa40: 79 65 6c 6c 6f 77 20 70 61 74 68 3a 20 70 65 64  yellow path: ped
aa50: 65 73 74 72 69 61 6e 73 3c 2f 6c 69 3e 0d 0a 3c  estrians</li>..<
aa60: 6c 69 3e 67 72 65 65 6e 20 70 61 74 68 3a 20 63  li>green path: c
aa70: 61 72 2c 20 64 69 72 65 63 74 20 64 69 72 65 63  ar, direct direc
aa80: 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 72  tion</li>..<li>r
aa90: 65 64 20 70 61 74 68 3a 20 63 61 72 2c 20 72 65  ed path: car, re
aaa0: 74 75 72 6e 20 64 69 72 65 63 74 69 6f 6e 3c 2f  turn direction</
aab0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e  li>..</ul>..<br>
aac0: 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
aad0: 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73  ="#c0ffc0" cells
aae0: 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c  pacing="10" cell
aaf0: 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e  padding="6"><tr>
ab00: 3c 74 64 3e 0d 0a 3c 68 33 3e 4c 69 6e 65 73 74  <td>..<h3>Linest
ab10: 72 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 62  rings returned b
ab20: 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  y VirtualRouting
ab30: 3c 2f 68 33 3e 0d 0a 41 6c 6c 20 4c 49 4e 45 53  </h3>..All LINES
ab40: 54 52 49 4e 47 20 47 65 6f 6d 65 74 72 69 65 73  TRING Geometries
ab50: 20 63 72 65 61 74 65 64 20 62 79 20 61 6e 79 20   created by any 
ab60: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 77  VirtualRouting w
ab70: 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f 6e 74 61  ill always conta
ab80: 69 6e 20 3c 62 3e 4d 20 76 61 6c 75 65 73 3c 2f  in <b>M values</
ab90: 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69  b>:..<ul>..<li>i
aba0: 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e  f the underlayin
abb0: 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d  g Network's Geom
abc0: 65 74 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59  etries are <b>XY
abd0: 3c 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58 59 4d  </b> then <b>XYM
abe0: 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73  </b> Linestrings
abf0: 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65   will be returne
ac00: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20  d.</li>..<li>if 
ac10: 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20  the underlaying 
ac20: 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74  Network's Geomet
ac30: 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59 5a 3c  ries are <b>XYZ<
ac40: 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58 59 5a 4d  /b> then <b>XYZM
ac50: 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73  </b> Linestrings
ac60: 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65   will be returne
ac70: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20  d.</li>..<li>if 
ac80: 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20  the underlaying 
ac90: 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74  Network's Geomet
aca0: 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59 4d 3c  ries are <b>XYM<
acb0: 2f 62 3e 20 6f 72 20 3c 62 3e 58 59 5a 4d 3c 2f  /b> or <b>XYZM</
acc0: 62 3e 20 74 68 65 6e 20 20 4c 69 6e 65 73 74 72  b> then  Linestr
acd0: 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 69 6e  ings returned in
ace0: 74 6f 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  to the resultset
acf0: 20 77 69 6c 6c 20 6d 61 69 6e 74 61 69 6e 20 74   will maintain t
ad00: 68 65 20 73 61 6d 65 20 64 69 6d 65 6e 73 69 6f  he same dimensio
ad10: 6e 73 20 61 73 20 69 6e 20 74 68 65 20 75 6e 64  ns as in the und
ad20: 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b  erlaying Network
ad30: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61  .</li>..<li>in a
ad40: 6e 79 20 63 61 73 65 20 74 68 65 20 3c 62 3e 4d  ny case the <b>M
ad50: 3c 2f 62 3e 20 76 61 6c 75 65 73 20 77 69 6c 6c  </b> values will
ad60: 20 62 65 20 61 70 70 72 6f 70 72 69 61 74 65 6c   be appropriatel
ad70: 79 20 73 65 74 20 73 6f 20 74 6f 20 72 65 70 72  y set so to repr
ad80: 65 73 65 6e 74 20 74 68 65 20 3c 75 3e 70 61 72  esent the <u>par
ad90: 74 69 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 63 6f  tial cost</u> co
ada0: 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65  rresponding to e
adb0: 61 63 68 20 76 65 72 74 65 78 2e 0d 0a 28 69 66  ach vertex...(if
adc0: 20 74 68 65 20 69 6e 70 75 74 20 4c 69 6e 65 73   the input Lines
add0: 74 72 69 6e 67 73 20 61 6c 72 65 61 64 79 20 63  trings already c
ade0: 6f 6e 74 61 69 6e 73 20 4d 2d 76 61 6c 75 65 73  ontains M-values
adf0: 20 74 68 65 79 27 6c 6c 20 62 65 20 6f 76 65 72   they'll be over
ae00: 77 72 69 74 74 65 6e 29 2e 3c 2f 6c 69 3e 0d 0a  written).</li>..
ae10: 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 49 6e 20  </ul>..<br>..In 
ae20: 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 61 6c 6c  other words, all
ae30: 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 65 74   Linestrings ret
ae40: 75 72 6e 65 64 20 62 79 20 56 69 72 74 75 61 6c  urned by Virtual
ae50: 52 6f 75 74 69 6e 67 20 63 61 6e 20 65 66 66 65  Routing can effe
ae60: 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 74 20  ctively support 
ae70: 3c 62 3e 4c 52 3c 2f 62 3e 20 28 3c 69 3e 4c 69  <b>LR</b> (<i>Li
ae80: 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e 67  near Referencing
ae90: 3c 2f 69 3e 29 20 53 51 4c 20 66 75 6e 63 74 69  </i>) SQL functi
aea0: 6f 6e 73 2c 20 61 73 20 69 6e 20 74 68 65 20 66  ons, as in the f
aeb0: 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65  ollowing example
aec0: 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  s:..<verbatim>..
aed0: 53 45 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74 65  SELECT ST_Locate
aee0: 5f 42 65 74 77 65 65 6e 5f 4d 65 61 73 75 72 65  _Between_Measure
aef0: 73 28 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 33 30  s(<geometry>, 30
af00: 2e 30 2c 20 34 35 2e 30 29 3b 0d 0a 0d 0a 53 45  .0, 45.0);....SE
af10: 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42  LECT ST_Locate_B
af20: 65 74 77 65 65 6e 5f 4d 65 61 73 75 72 65 73 28  etween_Measures(
af30: 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 38 30 2e 30  <geometry>, 80.0
af40: 2c 20 39 35 2e 30 29 3b 0d 0a 3c 2f 76 65 72 62  , 95.0);..</verb
af50: 61 74 69 6d 3e 0d 0a 54 68 65 20 73 69 64 65 20  atim>..The side 
af60: 6d 61 70 20 67 72 61 70 68 69 63 61 6c 6c 79 20  map graphically 
af70: 73 68 6f 77 73 20 74 68 65 20 65 73 74 69 6d 61  shows the estima
af80: 74 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 72 65  ted positions re
af90: 73 70 65 63 74 69 76 65 6c 79 20 3c 62 3e 33 30  spectively <b>30
afa0: 3c 2f 62 3e 2d 3c 62 3e 34 35 3c 2f 62 3e 20 73  </b>-<b>45</b> s
afb0: 65 63 6f 6e 64 73 20 61 66 74 65 72 20 73 74 61  econds after sta
afc0: 72 74 69 6e 67 20 28 79 65 6c 6c 6f 77 20 64 6f  rting (yellow do
afd0: 74 74 65 64 20 6c 69 6e 65 29 20 61 6e 64 20 3c  tted line) and <
afe0: 62 3e 38 30 3c 2f 62 3e 2d 3c 62 3e 39 35 3c 2f  b>80</b>-<b>95</
aff0: 62 3e 20 73 65 63 6f 6e 64 73 20 61 66 74 65 72  b> seconds after
b000: 20 73 74 61 72 74 69 6e 67 20 28 67 72 65 65 6e   starting (green
b010: 20 64 6f 74 74 65 64 20 6c 69 6e 65 29 2e 3c 62   dotted line).<b
b020: 72 3e 0d 0a 28 61 73 73 75 6d 69 6e 67 20 74 68  r>..(assuming th
b030: 65 20 73 61 6d 65 20 70 61 74 68 20 72 65 74 75  e same path retu
b040: 72 6e 65 64 20 62 79 20 74 68 65 20 6c 61 74 65  rned by the late
b050: 73 74 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20  st <b>bycar</b> 
b060: 71 75 65 72 79 29 2e 0d 0a 3c 2f 74 64 3e 0d 0a  query)...</td>..
b070: 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74  <td><img src="ht
b080: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
b090: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
b0a0: 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75  routing-figs/rou
b0b0: 74 69 6e 67 32 2e 6a 70 67 22 20 61 6c 74 3d 22  ting2.jpg" alt="
b0c0: 66 69 67 32 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74  fig2"></td>..</t
b0d0: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
b0e0: 72 3e 0d 0a 3c 68 32 3e 50 6c 61 79 69 6e 67 20  r>..<h2>Playing 
b0f0: 77 69 74 68 20 56 69 72 74 75 61 6c 52 6f 75 74  with VirtualRout
b100: 69 6e 67 20 63 6f 6e 66 69 67 75 72 61 62 6c 65  ing configurable
b110: 20 6f 70 74 69 6f 6e 73 3c 2f 68 32 3e 0d 0a 53   options</h2>..S
b120: 65 76 65 72 61 6c 20 61 73 70 65 63 74 73 20 6f  everal aspects o
b130: 66 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  f VirtualRouting
b140: 20 63 61 6e 20 62 65 20 66 72 65 65 6c 79 20 63   can be freely c
b150: 75 73 74 6f 6d 69 7a 65 64 2e 0d 0a 3c 76 65 72  ustomized...<ver
b160: 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62  batim>..UPDATE b
b170: 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72 69  yfoot SET Algori
b180: 74 68 6d 20 3d 20 27 41 2a 27 3b 0d 0a 0d 0a 53  thm = 'A*';....S
b190: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c  ELECT Algorithm,
b1a0: 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52   Options, RouteR
b1b0: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
b1c0: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
b1d0: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
b1e0: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
b1f0: 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
b200: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
b210: 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31  1 AND NodeTo = 1
b220: 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74  83286;..</verbat
b230: 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 72 65 6d 65  im>..If you reme
b240: 6d 62 65 72 20 69 6e 20 61 6c 6c 20 74 68 65 20  mber in all the 
b250: 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65  previous example
b260: 73 20 74 68 65 20 3c 62 3e 44 69 6a 6b 73 74 72  s the <b>Dijkstr
b270: 61 27 73 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68  a's</b> algorith
b280: 6d 20 77 61 73 20 75 73 65 64 3b 20 6e 6f 77 20  m was used; now 
b290: 28 61 66 74 65 72 20 65 78 65 63 75 74 69 6e 67  (after executing
b2a0: 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e 55 50   the above <b>UP
b2b0: 44 41 54 45 3c 2f 62 3e 29 20 61 6c 6c 20 53 68  DATE</b>) all Sh
b2c0: 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72  ortest Path quer
b2d0: 69 65 73 20 77 69 6c 6c 20 62 65 20 62 61 73 65  ies will be base
b2e0: 64 20 6f 6e 20 74 68 65 20 61 6c 74 65 72 6e 61  d on the alterna
b2f0: 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61  tive <b>A*</b> a
b300: 6c 67 6f 72 69 74 68 6d 2e 3c 62 72 3e 0d 0a 49  lgorithm.<br>..I
b310: 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 73 65  f you wish to se
b320: 6c 65 63 74 20 61 67 61 69 6e 20 74 68 65 20 44  lect again the D
b330: 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 69  ijkstra's algori
b340: 74 68 6d 20 79 6f 75 20 6a 75 73 74 20 68 61 76  thm you just hav
b350: 65 20 74 6f 20 65 78 65 63 75 74 65 3c 62 72 3e  e to execute<br>
b360: 20 3c 62 3e 55 50 44 41 54 45 20 62 79 66 6f 6f   <b>UPDATE byfoo
b370: 74 20 53 45 54 20 41 6c 67 6f 72 69 74 68 6d 20  t SET Algorithm 
b380: 3d 20 27 44 49 4a 4b 53 54 52 41 27 3b 3c 2f 62  = 'DIJKSTRA';</b
b390: 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20  >.<br><br>..The 
b3a0: 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20  following table 
b3b0: 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74  shows the result
b3c0: 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20  set returned by 
b3d0: 74 68 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f  the previous Sho
b3e0: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79  rtest Path query
b3f0: 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69 63 65 20  ; please notice 
b400: 74 68 65 20 76 61 6c 75 65 20 69 6e 20 74 68 65  the value in the
b410: 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62   <b>Algorithm</b
b420: 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c  > column...<br><
b430: 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64  br>..<table bord
b440: 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22  er="1" bgcolor="
b450: 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61  #ffffcf" cellspa
b460: 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64  cing="4" cellpad
b470: 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c  ding="6">..<tr><
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 41 6c 67 6f 72 69 74 68 6d 3c 2f  0a0">Algorithm</
b4a0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
b4b0: 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73  #d0d0a0">Options
b4c0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
b4d0: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65  ="#d0d0a0">Route
b4e0: 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  Row</th><th bgco
b4f0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
b500: 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  le</th><th bgcol
b510: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e  or="#d0d0a0">Lin
b520: 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62  kRowid</th><th b
b530: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
b540: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74  >NodeFrom</th><t
b550: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
b560: 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c  a0">NodeTo</th><
b570: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
b580: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74  0a0">Cost</th><t
b590: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
b5a0: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68  a0">Geometry</th
b5b0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
b5c0: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e  0d0a0">Name</th>
b5d0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 41  </tr>..<tr><td>A
b5e0: 2a 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f  *</td><td>Full</
b5f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b600: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
b610: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
b620: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
b630: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
b640: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b650: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
b660: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b670: 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64  ">300.912208</td
b680: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32  ><td>BLOB sz=272
b690: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
b6a0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
b6b0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
b6c0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
b6d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
b6e0: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
b6f0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
b700: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31  gn="right">22401
b710: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
b720: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
b730: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b740: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
b750: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b760: 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e  ">94.812424</td>
b770: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
b780: 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54  >VIA PIETRO ARET
b790: 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  INO</td>..</tr>.
b7a0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
b7b0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
b7c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
b7d0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
b7e0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
b7f0: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
b800: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b810: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
b820: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b830: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
b840: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
b850: 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64  9.727726</td><td
b860: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
b870: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
b880: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
b890: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
b8a0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
b8b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
b8c0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
b8d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b8e0: 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64  ">224414</td><td
b8f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
b900: 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  78880</td><td al
b910: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
b920: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
b930: 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32  ="right">136.372
b940: 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  057</td><td>NULL
b950: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
b960: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
b970: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
b980: 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 59 6f  <br><br><br>..Yo
b990: 75 20 63 61 6e 20 65 76 65 6e 74 75 61 6c 6c 79  u can eventually
b9a0: 20 63 6f 6e 66 69 67 75 72 65 20 74 68 65 20 72   configure the r
b9b0: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
b9c0: 64 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75  d the VirtualRou
b9d0: 74 69 6e 67 20 71 75 65 72 69 65 73 2e 0d 0a 3c  ting queries...<
b9e0: 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
b9f0: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74  E byfoot SET Opt
ba00: 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49 4e 4b 53  ions = 'NO LINKS
ba10: 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67  ';....SELECT Alg
ba20: 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c  orithm, Options,
ba30: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
ba40: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
ba50: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
ba60: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
ba70: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
ba80: 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
ba90: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
baa0: 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c  eTo = 183286;..<
bab0: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 66 74 65  /verbatim>..Afte
bac0: 72 20 73 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74  r setting <b>Opt
bad0: 69 6f 6e 73 3d 27 4e 4f 20 4c 49 4e 4b 53 27 3c  ions='NO LINKS'<
bae0: 2f 62 3e 20 74 68 65 20 72 65 73 75 6c 74 73 65  /b> the resultse
baf0: 74 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20 63 6f  t will simply co
bb00: 6e 74 61 69 6e 20 74 68 65 20 68 65 61 64 65 72  ntain the header
bb10: 20 72 6f 77 2c 20 61 6e 64 20 61 6c 6c 20 74 68   row, and all th
bb20: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73  e following rows
bb30: 20 77 69 6c 6c 20 62 65 20 73 75 70 70 72 65 73   will be suppres
bb40: 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  sed.<br>..<u>Not
bb50: 65 3c 2f 75 3e 3a 20 70 72 6f 64 75 63 69 6e 67  e</u>: producing
bb60: 20 61 20 72 65 64 75 63 65 64 20 72 65 73 75 6c   a reduced resul
bb70: 74 73 65 74 20 69 73 20 65 78 70 65 63 74 65 64  tset is expected
bb80: 20 74 6f 20 62 65 20 73 6f 6d 65 77 61 79 20 66   to be someway f
bb90: 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54 68 65 20  aster.<br>..The 
bba0: 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20  following table 
bbb0: 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74  shows the result
bbc0: 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20  set returned by 
bbd0: 74 68 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f  the previous Sho
bbe0: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79  rtest Path query
bbf0: 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69 63 65 20  ; please notice 
bc00: 74 68 65 20 76 61 6c 75 65 20 69 6e 20 74 68 65  the value in the
bc10: 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20   <b>Options</b> 
bc20: 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72  column...<br><br
bc30: 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72  >..<table border
bc40: 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66  ="1" bgcolor="#f
bc50: 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69  fffcf" cellspaci
bc60: 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69  ng="4" cellpaddi
bc70: 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68  ng="6">..<tr><th
bc80: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
bc90: 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68  0">Algorithm</th
bca0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
bcb0: 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f  0d0a0">Options</
bcc0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
bcd0: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f  #d0d0a0">RouteRo
bce0: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  w</th><th bgcolo
bcf0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65  r="#d0d0a0">Role
bd00: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
bd10: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52  ="#d0d0a0">LinkR
bd20: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63  owid</th><th bgc
bd30: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
bd40: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20  odeFrom</th><th 
bd50: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
bd60: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68  ">NodeTo</th><th
bd70: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
bd80: 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20  0">Cost</th><th 
bd90: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
bda0: 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c  ">Geometry</th><
bdb0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
bdc0: 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f  0a0">Name</th></
bdd0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41  tr>..<tr>..<td>A
bde0: 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e  *</td><td>No Lin
bdf0: 6b 73 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  ks</td><td align
be00: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
be10: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
be20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
be30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
be40: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
be50: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
be60: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
be70: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38  ight">300.912208
be80: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
be90: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =272 GEOMETRY</t
bea0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
beb0: 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
bec0: 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a  ..<br><br><br>..
bed0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41  <verbatim>..UPDA
bee0: 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70  TE byfoot SET Op
bef0: 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 45 4f 4d  tions = 'NO GEOM
bf00: 45 54 52 49 45 53 27 3b 0d 0a 0d 0a 53 45 4c 45  ETRIES';....SELE
bf10: 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70  CT Algorithm, Op
bf20: 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c  tions, RouteRow,
bf30: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64   Role, LinkRowid
bf40: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65  , NodeFrom, Node
bf50: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  To, Cost, Geomet
bf60: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
bf70: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
bf80: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41  eFrom = 178731 A
bf90: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32  ND NodeTo = 1832
bfa0: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  86;..</verbatim>
bfb0: 41 66 74 65 72 20 73 65 74 74 69 6e 67 20 3c 62  After setting <b
bfc0: 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f 20 47 45 4f  >Options='NO GEO
bfd0: 4d 45 54 52 49 45 53 27 3c 2f 62 3e 20 74 68 65  METRIES'</b> the
bfe0: 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c 20   resultset will 
bff0: 63 6f 6e 74 61 69 6e 20 61 6c 6c 20 72 6f 77 73  contain all rows
c000: 2c 20 62 75 74 20 61 6c 6c 20 47 65 6f 6d 65 74  , but all Geomet
c010: 72 69 65 73 20 77 69 6c 6c 20 62 65 20 73 75 70  ries will be sup
c020: 70 72 65 73 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75  pressed.<br>..<u
c030: 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20  >Note</u>: this 
c040: 74 6f 6f 20 69 73 20 65 78 70 65 63 74 65 64 20  too is expected 
c050: 74 6f 20 62 65 20 73 6f 6d 65 77 61 79 20 66 61  to be someway fa
c060: 73 74 65 72 2e 3c 62 72 3e 0d 0a 54 68 65 20 66  ster.<br>..The f
c070: 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73  ollowing table s
c080: 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73  hows the results
c090: 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74  et returned by t
c0a0: 68 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72  he previous Shor
c0b0: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 3b  test Path query;
c0c0: 20 70 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74   please notice t
c0d0: 68 65 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20  he value in the 
c0e0: 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63  <b>Options</b> c
c0f0: 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  olumn...<br><br>
c100: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
c110: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
c120: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
c130: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
c140: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
c150: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c160: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
c170: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c180: 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
c190: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
c1a0: 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77  d0d0a0">RouteRow
c1b0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
c1c0: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
c1d0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
c1e0: 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f  "#d0d0a0">LinkRo
c1f0: 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  wid</th><th bgco
c200: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
c210: 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  deFrom</th><th b
c220: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
c230: 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20  >NodeTo</th><th 
c240: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c250: 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62  ">Cost</th><th b
c260: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
c270: 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74  >Geometry</th><t
c280: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
c290: 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74  a0">Name</th></t
c2a0: 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 41 2a 3c 2f  r>..<tr><td>A*</
c2b0: 74 64 3e 3c 74 64 3e 4e 6f 20 47 65 6f 6d 65 74  td><td>No Geomet
c2c0: 72 69 65 73 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  ries</td><td ali
c2d0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
c2e0: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
c2f0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
c300: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
c310: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
c320: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
c330: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
c340: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32  "right">300.9122
c350: 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  08</td><td>NULL<
c360: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
c370: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
c380: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
c390: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
c3a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
c3b0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
c3c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c3d0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20  >224014</td><td 
c3e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
c3f0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
c400: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
c410: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
c420: 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32  "right">94.81242
c430: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
c440: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52  td><td>VIA PIETR
c450: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  O ARETINO</td>..
c460: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
c470: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
c480: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
c490: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
c4a0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
c4b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
c4c0: 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4446</td><td ali
c4d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
c4e0: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
c4f0: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
c500: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c510: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f  ght">69.727726</
c520: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
c530: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
c540: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
c550: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
c560: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
c570: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c580: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
c590: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
c5a0: 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f  "right">224414</
c5b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c5c0: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
c5d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c5e0: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
c5f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c600: 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74  36.372057</td><t
c610: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
c620: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
c630: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
c640: 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62  ble>..<br><br><b
c650: 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  r>..<verbatim>..
c660: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
c670: 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 53 49 4d  T Options = 'SIM
c680: 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  PLE';....SELECT 
c690: 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f  Algorithm, Optio
c6a0: 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  ns, RouteRow, Ro
c6b0: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
c6c0: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
c6d0: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
c6e0: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f   Name..FROM byfo
c6f0: 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72  ot..WHERE NodeFr
c700: 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20  om = 178731 AND 
c710: 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b  NodeTo = 183286;
c720: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 53 65 74  ..</verbatim>Set
c730: 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d  ting <b>Options=
c740: 27 53 49 4d 50 4c 45 27 3c 2f 62 3e 20 68 61 73  'SIMPLE'</b> has
c750: 20 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74   the same effect
c760: 20 74 68 61 6e 20 73 65 74 74 69 6e 67 20 62 6f   than setting bo
c770: 74 68 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f  th <b>NO LINKS</
c780: 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f  b> and <b>NO GEO
c790: 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61 74 20 74  METRIES</b> at t
c7a0: 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 62 72  he same time.<br
c7b0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
c7c0: 74 68 69 73 20 69 73 20 65 78 70 65 63 74 65 64  this is expected
c7d0: 20 74 6f 20 62 65 20 74 68 65 20 66 61 73 74 65   to be the faste
c7e0: 73 74 20 73 65 74 74 69 6e 67 2e 3c 62 72 3e 0d  st setting.<br>.
c7f0: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  .The following t
c800: 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72  able shows the r
c810: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
c820: 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75  d by the previou
c830: 73 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  s Shortest Path 
c840: 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f  query; please no
c850: 74 69 63 65 20 74 68 65 20 76 61 6c 75 65 20 69  tice the value i
c860: 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73  n the <b>Options
c870: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62  </b> column...<b
c880: 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  r><br>..<table b
c890: 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f  order="1" bgcolo
c8a0: 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c  r="#ffffcf" cell
c8b0: 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c  spacing="4" cell
c8c0: 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74  padding="6">..<t
c8d0: 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  r><th bgcolor="#
c8e0: 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68  d0d0a0">Algorith
c8f0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
c900: 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69  r="#d0d0a0">Opti
c910: 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ons</th><th bgco
c920: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
c930: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
c940: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
c950: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
c960: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
c970: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
c980: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
c990: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
c9a0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
c9b0: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
c9c0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
c9d0: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
c9e0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
c9f0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
ca00: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
ca10: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
ca20: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
ca30: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 53  <td>A*</td><td>S
ca40: 69 6d 70 6c 65 3c 2f 74 64 3e 3c 74 64 20 61 6c  imple</td><td al
ca50: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
ca60: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
ca70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ca80: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
ca90: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
caa0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
cab0: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
cac0: 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32  ="right">300.912
cad0: 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  208</td><td>NULL
cae0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
caf0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  d>..</tr>..</tab
cb00: 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 46 69 6e 61 6c  le>..<br>..Final
cb10: 6c 79 2c 20 69 66 20 79 6f 75 20 77 69 73 68 20  ly, if you wish 
cb20: 74 6f 20 73 65 6c 65 63 74 20 61 67 61 69 6e 20  to select again 
cb30: 74 68 65 20 69 6e 69 74 69 61 6c 20 73 74 61 6e  the initial stan
cb40: 64 61 72 64 20 73 65 74 74 69 6e 67 20 79 6f 75  dard setting you
cb50: 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 65 78   just have to ex
cb60: 65 63 75 74 65 3c 62 72 3e 20 3c 62 3e 55 50 44  ecute<br> <b>UPD
cb70: 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f  ATE byfoot SET O
cb80: 70 74 69 6f 6e 73 20 3d 20 27 46 55 4c 4c 27 3b  ptions = 'FULL';
cb90: 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  </b>.<br><br>..<
cba0: 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20  hr><br>..<h1><a 
cbb0: 6e 61 6d 65 3d 22 6d 75 6c 74 69 22 3e 35 20 2d  name="multi">5 -
cbc0: 20 53 6f 6c 76 69 6e 67 20 6d 75 6c 74 69 2d 64   Solving multi-d
cbd0: 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74  estination Short
cbe0: 65 73 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d  est Path problem
cbf0: 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 20 76 65  s</a></h1>..A ve
cc00: 72 79 20 69 6e 74 65 72 65 73 74 69 6e 67 20 66  ry interesting f
cc10: 65 61 74 75 72 65 20 73 75 70 70 6f 72 74 65 64  eature supported
cc20: 20 62 79 20 74 68 65 20 44 69 6a 6b 73 74 72 61   by the Dijkstra
cc30: 27 73 20 41 6c 67 6f 72 69 74 68 6d 20 69 73 20  's Algorithm is 
cc40: 74 68 61 74 20 69 74 20 72 6f 62 75 73 74 6c 79  that it robustly
cc50: 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 77 68   ensures that wh
cc60: 65 6e 20 61 20 64 65 73 74 69 6e 61 74 69 6f 6e  en a destination
cc70: 20 69 73 20 72 65 61 63 68 65 64 20 61 6c 6c 20   is reached all 
cc80: 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73  the destinations
cc90: 20 70 72 65 73 65 6e 74 69 6e 67 20 61 20 3c 62   presenting a <b
cca0: 3e 6c 65 73 73 65 72 20 63 6f 73 74 3c 2f 62 3e  >lesser cost</b>
ccb0: 20 68 61 76 65 20 61 6c 72 65 61 64 79 20 62 65   have already be
ccc0: 65 6e 20 72 65 61 63 68 65 64 20 69 6e 20 73 6f  en reached in so
ccd0: 6d 65 20 70 72 65 76 69 6f 75 73 20 73 74 65 70  me previous step
cce0: 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 2e   of the process.
ccf0: 3c 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f 77  <br>..This allow
cd00: 73 20 74 6f 20 65 66 66 69 63 69 65 6e 74 6c 79  s to efficiently
cd10: 20 73 75 70 70 6f 72 74 20 3c 62 3e 6d 75 6c 74   support <b>mult
cd20: 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e  iple destination
cd30: 73 3c 2f 62 3e 20 53 68 6f 72 74 65 73 74 20 50  s</b> Shortest P
cd40: 61 74 68 20 71 75 65 72 69 65 73 2e 0d 0a 59 6f  ath queries...Yo
cd50: 75 20 73 69 6d 70 6c 79 20 68 61 76 65 20 74 6f  u simply have to
cd60: 20 73 70 65 63 69 66 79 20 61 20 3c 62 3e 73 69   specify a <b>si
cd70: 6e 67 6c 65 20 6f 72 69 67 69 6e 20 4e 6f 64 65  ngle origin Node
cd80: 3c 2f 62 3e 20 61 6e 64 20 61 6e 20 3c 62 3e 61  </b> and an <b>a
cd90: 72 62 69 74 72 61 72 79 20 6c 69 73 74 20 6f 66  rbitrary list of
cda0: 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64   destination Nod
cdb0: 65 73 3c 2f 62 3e 20 69 6e 20 61 20 73 69 6e 67  es</b> in a sing
cdc0: 6c 65 20 44 69 6a 6b 73 74 72 61 27 73 20 65 78  le Dijkstra's ex
cdd0: 65 63 75 74 69 6f 6e 2e 3c 62 72 3e 3c 62 72 3e  ecution.<br><br>
cde0: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65  ..<u>Note</u>: e
cdf0: 78 65 63 75 74 69 6e 67 20 61 20 6d 75 6c 74 69  xecuting a multi
ce00: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f  -destination Sho
ce10: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79  rtest Path query
ce20: 20 72 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70   requires a <b>p
ce30: 72 6f 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f  rocessing time</
ce40: 62 3e 20 74 68 61 74 20 69 73 6e 27 74 20 74 68  b> that isn't th
ce50: 65 20 3c 75 3e 73 75 6d 20 6f 66 20 61 6c 6c 20  e <u>sum of all 
ce60: 69 6e 64 69 76 69 64 75 61 6c 20 74 69 6d 69 6e  individual timin
ce70: 67 73 20 66 6f 72 20 65 61 63 68 20 64 65 73 74  gs for each dest
ce80: 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c 20 62 75 74  ination</u>, but
ce90: 20 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20 3c   simply is the <
cea0: 75 3e 74 69 6d 65 20 72 65 71 75 69 72 65 64 20  u>time required 
ceb0: 74 6f 20 72 65 61 63 68 20 74 68 65 20 6d 6f 73  to reach the mos
cec0: 74 20 63 6f 73 74 6c 79 20 6f 66 20 61 6c 6c 20  t costly of all 
ced0: 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 69 6e 20  destinations in 
cee0: 74 68 65 20 6c 69 73 74 3c 2f 75 3e 2e 3c 62 72  the list</u>.<br
cef0: 3e 0d 0a 54 68 69 73 20 69 73 6e 27 74 20 72 69  >..This isn't ri
cf00: 67 6f 72 6f 75 73 6c 79 20 74 72 75 65 20 69 6e  gorously true in
cf10: 20 74 68 65 20 63 61 73 65 20 6f 66 20 74 68 65   the case of the
cf20: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
cf30: 73 70 65 63 69 66 69 63 20 69 6d 70 6c 65 6d 65  specific impleme
cf40: 6e 74 61 74 69 6f 6e 2c 20 62 65 63 61 75 73 65  ntation, because
cf50: 20 61 72 72 61 6e 67 69 6e 67 20 74 68 65 20 72   arranging the r
cf60: 65 73 75 6c 74 73 65 74 20 74 6f 20 62 65 20 72  esultset to be r
cf70: 65 74 75 72 6e 65 64 20 61 6e 64 20 63 72 65 61  eturned and crea
cf80: 74 69 6e 67 20 61 6c 6c 20 74 68 65 20 69 6e 64  ting all the ind
cf90: 69 76 69 64 75 61 6c 20 4c 69 6e 65 73 74 72 69  ividual Linestri
cfa0: 6e 67 73 20 66 6f 72 20 65 61 63 68 20 64 65 73  ngs for each des
cfb0: 74 69 6e 61 74 69 6f 6e 20 77 69 6c 6c 20 73 75  tination will su
cfc0: 72 65 6c 79 20 69 6d 70 6f 73 65 20 73 6f 6d 65  rely impose some
cfd0: 20 66 75 72 74 68 65 72 20 6f 76 65 72 68 65 61   further overhea
cfe0: 64 2c 20 62 75 74 20 6e 6f 6e 65 74 68 65 6c 65  d, but nonethele
cff0: 73 73 20 69 74 20 72 65 6d 61 69 6e 73 20 63 6f  ss it remains co
d000: 6e 66 69 72 6d 65 64 20 74 68 61 74 20 65 78 65  nfirmed that exe
d010: 63 75 74 69 6e 67 20 61 20 73 69 6e 67 6c 65 20  cuting a single 
d020: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
d030: 6e 20 71 75 65 72 79 20 77 69 6c 6c 20 73 75 72  n query will sur
d040: 65 6c 79 20 62 65 20 20 6e 6f 74 69 63 65 61 62  ely be  noticeab
d050: 6c 79 20 66 61 73 74 65 72 20 74 68 65 6e 20 65  ly faster then e
d060: 78 65 63 75 74 69 6e 67 20 6d 61 6e 79 20 73 70  xecuting many sp
d070: 61 72 73 65 20 73 69 6e 67 6c 65 2d 64 65 73 74  arse single-dest
d080: 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 2e  ination queries.
d090: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45  ..<verbatim>..SE
d0a0: 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20  LECT Algorithm, 
d0b0: 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73  Request, Options
d0c0: 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75  , Delimiter, Rou
d0d0: 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20  teId, RouteRow, 
d0e0: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
d0f0: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
d100: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
d110: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
d120: 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65  foot..WHERE Node
d130: 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e  From = 178731 AN
d140: 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32  D NodeTo = '1832
d150: 38 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 39  86,290458,181999
d160: 2c 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 31  ,184030,124622,1
d170: 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a  83882,178754';..
d180: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 73 20  </verbatim>..As 
d190: 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 6e  you can easily n
d1a0: 6f 74 69 63 65 2c 20 61 20 3c 62 3e 6d 75 6c 74  otice, a <b>mult
d1b0: 69 70 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e  iple-destination
d1c0: 73 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20  s</b> query has 
d1d0: 74 68 65 20 73 61 6d 65 20 69 64 65 6e 74 69 63  the same identic
d1e0: 61 6c 20 66 6f 72 6d 20 6f 66 20 61 6e 79 20 75  al form of any u
d1f0: 73 75 61 6c 20 53 68 6f 72 74 65 73 74 20 50 61  sual Shortest Pa
d200: 74 68 20 71 75 65 72 79 2c 20 65 78 63 65 70 74  th query, except
d210: 20 69 6e 20 74 68 61 74 20 3c 62 3e 4e 6f 64 65   in that <b>Node
d220: 54 6f 3c 2f 62 3e 20 6e 6f 77 20 63 6f 72 72 65  To</b> now corre
d230: 73 70 6f 6e 64 73 20 74 6f 20 61 20 63 6f 6d 6d  sponds to a comm
d240: 61 2d 73 65 70 61 72 61 74 65 64 20 6c 69 73 74  a-separated list
d250: 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f  .<br>..The follo
d260: 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73  wing table shows
d270: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72   the resultset r
d280: 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70  eturned by the p
d290: 72 65 76 69 6f 75 73 20 6d 75 6c 74 69 2d 64 65  revious multi-de
d2a0: 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65  stination Shorte
d2b0: 73 74 20 50 61 74 68 20 71 75 65 72 79 2e 0d 0a  st Path query...
d2c0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
d2d0: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
d2e0: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
d2f0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
d300: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
d310: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
d320: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69  "#d0d0a0">Algori
d330: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  thm</th><th bgco
d340: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65  lor="#d0d0a0">Re
d350: 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  quest</th><th bg
d360: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d370: 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20  Options</th><th 
d380: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d390: 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e  ">Delimiter</th>
d3a0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
d3b0: 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74  d0a0">RouteId</t
d3c0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
d3d0: 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77  d0d0a0">RouteRow
d3e0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
d3f0: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
d400: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d410: 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f  "#d0d0a0">LinkRo
d420: 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  wid</th><th bgco
d430: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
d440: 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  deFrom</th><th b
d450: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
d460: 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20  >NodeTo</th><th 
d470: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d480: 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62  ">Cost</th><th b
d490: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
d4a0: 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74  >Geometry</th><t
d4b0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
d4c0: 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74  a0">Name</th></t
d4d0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69  r>..<tr>..<td>Di
d4e0: 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53  jkstra</td><td>S
d4f0: 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64  hortest Path</td
d500: 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74  ><td>Full</td><t
d510: 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c  d>, &#91;dec=44,
d520: 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64   hex=2c&#93;</td
d530: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d540: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">0</td><td ali
d550: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
d560: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
d570: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
d580: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
d590: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
d5a0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38  gn="right">18388
d5b0: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
d5c0: 22 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38  "right">154.7508
d5d0: 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  39</td><td>BLOB 
d5e0: 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c  sz=240 GEOMETRY<
d5f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
d600: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
d610: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
d620: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
d630: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
d640: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d650: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
d660: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
d670: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
d680: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d690: 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74  t">222636</td><t
d6a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d6b0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
d6c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
d6d0: 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  000</td><td alig
d6e0: 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 37 33  n="right">103.73
d6f0: 35 37 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5722</td><td>NUL
d700: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49  L</td><td>VIA PI
d710: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64  ETRO ARETINO</td
d720: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
d730: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
d740: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
d750: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
d760: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d770: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
d780: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
d790: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
d7a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d7b0: 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74  t">225527</td><t
d7c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d7d0: 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61  182000</td><td a
d7e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
d7f0: 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  882</td><td alig
d800: 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35  n="right">51.015
d810: 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  117</td><td>NULL
d820: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43  </td><td>VIA LIC
d830: 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e  IO NENCETTI</td>
d840: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
d850: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
d860: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
d870: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
d880: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d890: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61  ght">1</td><td a
d8a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
d8b0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
d8c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
d8d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d8e0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
d8f0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
d900: 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
d910: 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36  n="right">176.36
d920: 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  4755</td><td>BLO
d930: 42 20 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52  B sz=304 GEOMETR
d940: 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
d950: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
d960: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
d970: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
d980: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
d990: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
d9a0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
d9b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d9c0: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
d9d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d9e0: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e  ght">224014</td>
d9f0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
da00: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
da10: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
da20: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
da30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38  ign="right">94.8
da40: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12424</td><td>NU
da50: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
da60: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
da70: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
da80: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
da90: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
daa0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
dab0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
dac0: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
dad0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
dae0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
daf0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
db00: 68 74 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c  ht">224862</td><
db10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
db20: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20  >182885</td><td 
db30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
db40: 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2043</td><td ali
db50: 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 39  gn="right">37.09
db60: 35 32 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5287</td><td>NUL
db70: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
db80: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
db90: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
dba0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dbb0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
dbc0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
dbd0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
dbe0: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">1</td><td ali
dbf0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
dc00: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
dc10: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
dc20: 32 32 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61  226070</td><td a
dc30: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
dc40: 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  043</td><td alig
dc50: 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30  n="right">184030
dc60: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
dc70: 72 69 67 68 74 22 3e 34 34 2e 34 35 37 30 34 34  right">44.457044
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 50 49 41 5a 5a 41 20 53 41 4e  d><td>PIAZZA SAN
dca0: 54 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d  T'AGOSTINO</td>.
dcb0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
dcc0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
dcd0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
dce0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
dcf0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dd00: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">2</td><td al
dd10: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
dd20: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
dd30: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dd40: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
dd50: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
dd60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
dd70: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
dd80: 3d 22 72 69 67 68 74 22 3e 32 32 34 2e 36 37 37  ="right">224.677
dd90: 30 39 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  095</td><td>BLOB
dda0: 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59   sz=240 GEOMETRY
ddb0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ddc0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
ddd0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
dde0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
ddf0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
de00: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
de10: 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">2</td><td alig
de20: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
de30: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
de40: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
de50: 31 39 30 34 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  19045</td><td al
de60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
de70: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
de80: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c  ="right">178732<
de90: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dea0: 69 67 68 74 22 3e 37 36 2e 30 32 31 30 30 37 3c  ight">76.021007<
deb0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
dec0: 3e 3c 74 64 3e 56 49 41 20 41 53 53 41 42 3c 2f  ><td>VIA ASSAB</
ded0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
dee0: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
def0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
df00: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
df10: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
df20: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
df30: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
df40: 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
df50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
df60: 67 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e  ght">219058</td>
df70: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
df80: 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64  ">178732</td><td
df90: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
dfa0: 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  78754</td><td al
dfb0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e  ign="right">148.
dfc0: 36 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e  656089</td><td>N
dfd0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
dfe0: 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49  FRANCESCO CRISPI
dff0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
e000: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
e010: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e020: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e030: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
e040: 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
e050: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e060: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
e070: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
e080: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e090: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
e0a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e0b0: 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64  ">181999</td><td
e0c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
e0d0: 36 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e 3c 74  60.132354</td><t
e0e0: 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45  d>BLOB sz=240 GE
e0f0: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
e100: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
e110: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
e120: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e130: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e140: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
e150: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
e160: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e170: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
e180: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
e190: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34  n="right">224014
e1a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e1b0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
e1c0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e1d0: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
e1e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e1f0: 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c  >94.812424</td><
e200: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e210: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
e220: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
e230: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
e240: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e250: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e260: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e270: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
e280: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e290: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
e2a0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
e2b0: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c  ="right">224446<
e2c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e2d0: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
e2e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e2f0: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
e300: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e310: 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74  69.727726</td><t
e320: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
e330: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
e340: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
e350: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
e360: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e370: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e380: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
e390: 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
e3a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e3b0: 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
e3c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e3d0: 67 68 74 22 3e 32 32 35 38 30 30 3c 2f 74 64 3e  ght">225800</td>
e3e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e3f0: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
e400: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e410: 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
e420: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 35  ign="right">95.5
e430: 39 32 32 30 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  92204</td><td>NU
e440: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46  LL</td><td>VIA F
e450: 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c  RANCESCO CRISPI<
e460: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
e470: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
e480: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e490: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e4a0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
e4b0: 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c  ="right">4</td><
e4c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e4d0: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
e4e0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e4f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e500: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
e510: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e520: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
e530: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30  align="right">30
e540: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64  0.912208</td><td
e550: 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f  >BLOB sz=272 GEO
e560: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
e570: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
e580: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
e590: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e5a0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e5b0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e5c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74  ign="right">4</t
e5d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e5e0: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
e5f0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
e600: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c  ="right">224014<
e610: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e620: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
e630: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e640: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
e650: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e660: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
e670: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
e680: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
e690: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
e6a0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
e6b0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e6c0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e6d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
e6e0: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
e6f0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e700: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
e710: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
e720: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
e730: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e740: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
e750: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e760: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
e770: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
e780: 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64  9.727726</td><td
e790: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
e7a0: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
e7b0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
e7c0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
e7d0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e7e0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e7f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e800: 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64  right">4</td><td
e810: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
e820: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
e830: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e840: 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c  ht">224414</td><
e850: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e860: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
e870: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
e880: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
e890: 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33  gn="right">136.3
e8a0: 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  72057</td><td>NU
e8b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
e8c0: 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d  ARGARITONE</td>.
e8d0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
e8e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e8f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e900: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e910: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e920: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e930: 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65  Unreachable Node
e940: 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  To</td><td>NULL<
e950: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e960: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
e970: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e980: 74 22 3e 32 39 30 34 35 38 3c 2f 74 64 3e 3c 74  t">290458</td><t
e990: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e9a0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e9b0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
e9c0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
e9d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e9e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e9f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
ea00: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ea10: 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c  d><td>Unreachabl
ea20: 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64  e NodeTo</td><td
ea30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
ea40: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
ea50: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
ea60: 3d 22 72 69 67 68 74 22 3e 31 32 34 36 32 32 3c  ="right">124622<
ea70: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ea80: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
ea90: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
eaa0: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
eab0: 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b 6c  r>..Let's quickl
eac0: 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 65  y examine the re
ead0: 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64  sultset returned
eae0: 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c 62   by the above <b
eaf0: 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
eb00: 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a  ons</b> query...
eb10: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 76  <ul>..<li>the ov
eb20: 65 72 61 6c 6c 20 6c 61 79 6f 75 74 20 69 73 20  erall layout is 
eb30: 61 6c 6d 6f 73 74 20 65 78 61 63 74 6c 79 20 74  almost exactly t
eb40: 68 65 20 73 61 6d 65 20 61 73 20 79 6f 75 27 76  he same as you'v
eb50: 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69  e already seen i
eb60: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62  n the case of <b
eb70: 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74  >single-destinat
eb80: 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 65 73 2c  ion</b> queries,
eb90: 20 62 75 74 20 69 6e 20 74 68 69 73 20 63 61 73   but in this cas
eba0: 65 20 6d 6f 72 65 20 69 6e 64 69 76 69 64 75 61  e more individua
ebb0: 6c 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f  l travel solutio
ebc0: 6e 73 20 61 72 65 20 67 72 6f 75 70 65 64 20 61  ns are grouped a
ebd0: 6c 74 6f 67 65 74 68 65 72 2e 3c 2f 6c 69 3e 0d  ltogether.</li>.
ebe0: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72 73  .<li>the <b>firs
ebf0: 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65  t row</b> of the
ec00: 20 72 65 73 75 6c 74 73 65 74 20 69 73 20 73 6f   resultset is so
ec10: 6d 65 77 61 79 20 65 78 63 65 70 74 69 6f 6e 61  meway exceptiona
ec20: 6c 2c 20 61 6e 64 20 69 73 20 74 68 65 20 75 6e  l, and is the un
ec30: 69 71 75 65 20 72 6f 77 20 6f 66 20 74 68 65 20  ique row of the 
ec40: 72 65 73 75 6c 74 73 65 74 20 70 72 65 73 65 6e  resultset presen
ec50: 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c  ting <b>NOT NULL
ec60: 3c 2f 62 3e 20 76 61 6c 75 65 73 20 69 6e 20 74  </b> values in t
ec70: 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c  he <b>Algorithm<
ec80: 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c  /b>, <b>Request<
ec90: 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c  /b>, <b>Options<
eca0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 6c 69 6d  /b> and <b>Delim
ecb0: 69 74 65 72 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73  iter</b> columns
ecc0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  .</li>..<li>the 
ecd0: 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 63  <b>RouteId</b> c
ece0: 6f 6c 75 6d 6e 20 69 73 20 69 6e 74 65 6e 64 65  olumn is intende
ecf0: 64 20 74 6f 20 67 72 6f 75 70 20 74 6f 67 65 74  d to group toget
ed00: 68 65 72 20 61 6c 6c 20 72 6f 77 73 20 62 65 6c  her all rows bel
ed10: 6f 6e 67 69 6e 67 20 74 6f 20 73 61 6d 65 20 74  onging to same t
ed20: 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 28  ravel solution (
ed30: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 52 6f  <i>aka</i> <b>Ro
ed40: 75 74 65 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 52  ute</b>).<br>..R
ed50: 6f 75 74 65 73 20 61 72 65 20 70 72 6f 67 72 65  outes are progre
ed60: 73 73 69 76 65 6c 79 20 6e 75 6d 62 65 72 65 64  ssively numbered
ed70: 20 61 6e 64 20 61 72 65 20 6f 72 64 65 72 65 64   and are ordered
ed80: 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20   accordingly to 
ed90: 74 68 65 69 72 20 3c 62 3e 74 6f 74 61 6c 20 63  their <b>total c
eda0: 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  ost</b>.</li>..<
edb0: 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 75 74 65 52  li>the <b>RouteR
edc0: 6f 77 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 68 61  ow</b> column ha
edd0: 73 20 74 68 65 20 73 61 6d 65 20 69 6e 74 65 72  s the same inter
ede0: 70 72 65 74 61 74 69 6f 6e 20 61 73 20 69 6e 20  pretation as in 
edf0: 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69  single-destinati
ee00: 6f 6e 20 72 65 73 75 6c 74 73 65 74 73 2c 20 61  on resultsets, a
ee10: 6e 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74  nd is intended t
ee20: 6f 20 70 72 6f 67 72 65 73 73 69 76 65 6c 79 20  o progressively 
ee30: 6f 72 64 65 72 20 69 6e 20 74 68 65 20 63 6f 72  order in the cor
ee40: 72 65 63 74 20 73 65 71 75 65 6e 63 65 20 61 6c  rect sequence al
ee50: 6c 20 4c 69 6e 6b 73 20 63 6f 6e 6e 65 63 74 69  l Links connecti
ee60: 6e 67 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e  ng the Origin an
ee70: 64 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f  d the Destinatio
ee80: 6e 20 6f 66 20 65 61 63 68 20 52 6f 75 74 65 2e  n of each Route.
ee90: 3c 62 72 3e 0d 0a 3c 62 3e 52 6f 75 74 65 52 6f  <br>..<b>RouteRo
eea0: 77 3d 30 3c 2f 62 3e 20 61 6c 77 61 79 73 20 69  w=0</b> always i
eeb0: 64 65 6e 74 69 66 69 65 73 20 74 68 65 20 68 65  dentifies the he
eec0: 61 64 65 72 20 72 6f 77 20 6f 66 20 65 61 63 68  ader row of each
eed0: 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e   travel solution
eee0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
eef0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 69 63 65 3c 2f  br>..<u>Notice</
ef00: 75 3e 3a 20 74 68 65 20 6c 61 73 74 20 74 77 6f  u>: the last two
ef10: 20 72 6f 77 73 20 69 6e 20 74 68 65 20 72 65 73   rows in the res
ef20: 75 6c 74 73 65 74 20 72 65 70 6f 72 74 73 20 3c  ultset reports <
ef30: 62 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f  b>Unreachable No
ef40: 64 65 54 6f 09 3c 2f 62 3e 20 69 6e 20 74 68 65  deTo.</b> in the
ef50: 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20 63 6f 6c   <b>Role</b> col
ef60: 75 6d 6e 2c 20 74 68 75 73 20 69 6d 70 6c 79 69  umn, thus implyi
ef70: 6e 67 20 61 20 3c 62 3e 66 6f 72 62 69 64 64 65  ng a <b>forbidde
ef80: 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 3c 2f 62 3e  n connection</b>
ef90: 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 77 61 73 20  .<br>..This was 
efa0: 70 75 72 70 6f 73 65 6c 79 20 69 6e 74 65 6e 64  purposely intend
efb0: 65 64 3a 20 4e 6f 64 65 73 20 3c 62 3e 32 39 30  ed: Nodes <b>290
efc0: 34 35 38 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 31  458</b> and <b>1
efd0: 32 34 36 32 32 3c 2f 62 3e 20 61 72 65 20 6c 6f  24622</b> are lo
efe0: 63 61 74 65 64 20 6f 6e 20 45 6c 62 61 20 61 6e  cated on Elba an
eff0: 64 20 47 69 67 6c 69 6f 20 69 73 6c 61 6e 64 73  d Giglio islands
f000: 2e 20 54 68 65 20 75 6e 64 65 72 6c 61 79 69 6e  . The underlayin
f010: 67 20 4e 65 74 77 6f 72 6b 20 69 73 20 62 61 73  g Network is bas
f020: 65 64 20 6f 6e 20 3c 62 3e 49 74 65 72 2e 4e 65  ed on <b>Iter.Ne
f030: 74 3c 2f 62 3e 20 74 68 61 74 20 64 6f 6e 27 74  t</b> that don't
f040: 20 73 75 70 70 6f 72 74 73 20 66 65 72 72 79 20   supports ferry 
f050: 63 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 73 6f 20  connections, so 
f060: 61 6e 79 20 74 72 61 76 65 6c 20 73 6f 6c 75 74  any travel solut
f070: 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20  ion between the 
f080: 69 73 6c 61 6e 64 73 20 61 6e 64 20 74 68 65 20  islands and the 
f090: 6d 61 69 6e 6c 61 6e 64 20 77 69 6c 6c 20 61 6c  mainland will al
f0a0: 77 61 79 73 20 66 61 69 6c 2e 0d 0a 3c 62 72 3e  ways fail...<br>
f0b0: 3c 62 72 3e 3c 62 72 3e 0d 0a 41 6c 73 6f 20 3c  <br><br>..Also <
f0c0: 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74  b>multi-destinat
f0d0: 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73  ions</b> queries
f0e0: 20 63 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a   can be customiz
f0f0: 65 64 2c 20 62 75 74 20 74 68 65 20 63 6f 6e 66  ed, but the conf
f100: 69 67 75 72 61 74 69 6f 6e 20 72 75 6c 65 73 20  iguration rules 
f110: 73 6c 69 67 68 74 6c 79 20 64 69 66 66 65 72 20  slightly differ 
f120: 66 72 6f 6d 20 77 68 61 74 20 79 6f 75 20 68 61  from what you ha
f130: 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20  ve already seen 
f140: 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 73  in the case of s
f150: 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f  ingle-destinatio
f160: 6e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  n...<ul>..<li><b
f170: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20  >Algorithm</b>: 
f180: 6f 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61  only <b>Dijkstra
f190: 3c 2f 62 3e 20 69 73 20 73 75 70 70 6f 72 74 65  </b> is supporte
f1a0: 64 20 62 79 20 6d 75 6c 74 69 2d 64 65 73 74 69  d by multi-desti
f1b0: 6e 61 74 69 6f 6e 3b 20 61 6e 79 20 61 74 74 65  nation; any atte
f1c0: 6d 70 74 20 74 6f 20 75 73 65 20 74 68 65 20 61  mpt to use the a
f1d0: 6c 74 65 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a  lternative <b>A*
f1e0: 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d 20 77  </b> algorithm w
f1f0: 69 6c 6c 20 73 69 6d 70 6c 79 20 72 65 74 75 72  ill simply retur
f200: 6e 20 61 6e 20 65 6d 70 74 79 20 72 65 73 75 6c  n an empty resul
f210: 74 73 65 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  tset.</li>..<li>
f220: 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20  <b>Options</b>: 
f230: 74 68 65 20 75 73 75 61 6c 20 3c 62 3e 46 55 4c  the usual <b>FUL
f240: 4c 3c 2f 62 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45  L</b>, <b>SIMPLE
f250: 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b  </b>, <b>NO LINK
f260: 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20  S</b> and <b>NO 
f270: 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61  GEOMETRIES</b> a
f280: 72 65 20 73 75 70 70 6f 72 74 65 64 20 61 6e 64  re supported and
f290: 20 77 69 6c 6c 20 68 61 76 65 20 74 68 65 20 73   will have the s
f2a0: 61 6d 65 20 65 66 66 65 63 74 20 61 73 20 69 6e  ame effect as in
f2b0: 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74   single-destinat
f2c0: 69 6f 6e 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69  ion queries.</li
f2d0: 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 62 61  >..</ul>..<verba
f2e0: 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66  tim>..UPDATE byf
f2f0: 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20  oot SET Options 
f300: 3d 20 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53  = 'SIMPLE';....S
f310: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c  ELECT Algorithm,
f320: 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e   Request, Option
f330: 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f  s, Delimiter, Ro
f340: 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c  uteId, RouteRow,
f350: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64   Role, LinkRowid
f360: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65  , NodeFrom, Node
f370: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  To, Cost, Geomet
f380: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
f390: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
f3a0: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41  eFrom = 178731 A
f3b0: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33  ND NodeTo = '183
f3c0: 32 38 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39  286,290458,18199
f3d0: 39 2c 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c  9,184030,124622,
f3e0: 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d  183882,178754';.
f3f0: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68  .</verbatim>..Th
f400: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c  e following tabl
f410: 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75  e shows the resu
f420: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62  ltset returned b
f430: 79 20 74 68 65 20 73 61 6d 65 20 6d 75 6c 74 69  y the same multi
f440: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65  -destination que
f450: 72 79 20 75 73 65 64 20 69 6e 20 74 68 65 20 70  ry used in the p
f460: 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20  revious example 
f470: 61 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74  after enabling t
f480: 68 65 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e  he <b>SIMPLE</b>
f490: 20 6f 70 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62   option...<br><b
f4a0: 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  r>..<table borde
f4b0: 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
f4c0: 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
f4d0: 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
f4e0: 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><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 41 6c 67 6f 72 69 74 68 6d 3c 2f 74  a0">Algorithm</t
f510: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
f520: 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
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 4f 70 74 69 6f 6e  "#d0d0a0">Option
f550: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
f560: 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69  r="#d0d0a0">Deli
f570: 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67  miter</th><th bg
f580: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f590: 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20  RouteId</th><th 
f5a0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
f5b0: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
f5c0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f5d0: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
f5e0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
f5f0: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
f600: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
f610: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
f620: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
f630: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
f640: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
f650: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
f660: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
f670: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
f680: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
f690: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
f6a0: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
f6b0: 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61  r>..<td>Dijkstra
f6c0: 3c 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73  </td><td>Shortes
f6d0: 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46  t Path</td><td>F
f6e0: 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23  ull</td><td>, &#
f6f0: 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32  91;dec=44, hex=2
f700: 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61  c&#93;</td><td a
f710: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
f720: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
f730: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
f740: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
f750: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
f760: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
f770: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
f780: 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e  ght">183882</td>
f790: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
f7a0: 22 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64  ">154.750839</td
f7b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
f7c0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
f7d0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
f7e0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
f7f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
f800: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
f810: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
f820: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
f830: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
f840: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
f850: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
f860: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
f870: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
f880: 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f  "right">184030</
f890: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
f8a0: 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c  ght">176.364755<
f8b0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
f8c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
f8d0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
f8e0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
f8f0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
f900: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
f910: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
f920: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">2</td><td ali
f930: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
f940: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
f950: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
f960: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
f970: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
f980: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35  gn="right">17875
f990: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
f9a0: 22 72 69 67 68 74 22 3e 32 32 34 2e 36 37 37 30  "right">224.6770
f9b0: 39 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  95</td><td>NULL<
f9c0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
f9d0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
f9e0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
f9f0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fa00: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fa10: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fa20: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20  ight">3</td><td 
fa30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
fa40: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
fa50: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fa60: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fa70: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
fa80: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
fa90: 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
faa0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 36 30 2e 31  gn="right">260.1
fab0: 33 32 33 35 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  32354</td><td>NU
fac0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fad0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
fae0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
faf0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fb00: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fb10: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
fb20: 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c  ="right">4</td><
fb30: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fb40: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
fb50: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fb60: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fb70: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
fb80: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fb90: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
fba0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30  align="right">30
fbb0: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64  0.912208</td><td
fbc0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fbd0: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
fbe0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
fbf0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fc00: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fc10: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fc20: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fc30: 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61  /td><td>Unreacha
fc40: 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c  ble NodeTo</td><
fc50: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
fc60: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
fc70: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
fc80: 67 6e 3d 22 72 69 67 68 74 22 3e 32 39 30 34 35  gn="right">29045
fc90: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
fca0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fcb0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
fcc0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
fcd0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fce0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fcf0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fd00: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fd10: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e  >NULL</td><td>Un
fd20: 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f  reachable NodeTo
fd30: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fd40: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fd50: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
fd60: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fd70: 3e 31 32 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e  >124622</td><td>
fd80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fd90: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fda0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
fdb0: 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20  ble>..<br>..The 
fdc0: 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69  map below graphi
fdd0: 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20  cally shows the 
fde0: 70 72 65 76 69 6f 75 73 20 3c 62 3e 6d 75 6c 74  previous <b>mult
fdf0: 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f  i-destinations</
fe00: 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72  b> queries...<br
fe10: 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d  ><br>..<img src=
fe20: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
fe30: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69  a-gis.it/gaia-si
fe40: 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f  ns/routing-figs/
fe50: 72 6f 75 74 69 6e 67 33 2e 6a 70 67 22 20 61 6c  routing3.jpg" al
fe60: 74 3d 22 66 69 67 33 22 3e 0d 0a 3c 75 6c 3e 0d  t="fig3">..<ul>.
fe70: 0a 3c 6c 69 3e 52 65 64 20 73 74 61 72 3a 20 74  .<li>Red star: t
fe80: 68 65 20 4f 72 69 67 69 6e 20 4e 6f 64 65 2e 3c  he Origin Node.<
fe90: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65 65 6e 20  /li>..<li>Green 
fea0: 64 6f 74 73 3a 20 74 68 65 20 44 65 73 74 69 6e  dots: the Destin
feb0: 61 74 69 6f 6e 20 4e 6f 64 65 73 2e 3c 2f 6c 69  ation Nodes.</li
fec0: 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 6c 69  >..<li>Yellow li
fed0: 6e 65 73 3a 20 61 6c 6c 20 69 6e 64 69 76 69 64  nes: all individ
fee0: 75 61 6c 20 74 72 61 76 65 6c 20 73 6f 6c 75 74  ual travel solut
fef0: 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  ions.</li>..</ul
ff00: 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  >..<br>..<table 
ff10: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30  bgcolor="#ffb060
ff20: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31  " cellspacing="1
ff30: 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  0" cellpadding="
ff40: 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33  6"><tr><td>..<h3
ff50: 3e 44 61 6e 67 65 72 6f 75 73 20 70 69 74 66 61  >Dangerous pitfa
ff60: 6c 6c 73 20 72 65 6c 61 74 65 64 20 74 6f 20 6d  lls related to m
ff70: 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74  ultiple destinat
ff80: 69 6f 6e 20 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a  ion lists</h3>..
ff90: 53 51 4c 20 73 79 6e 74 61 78 20 64 69 72 65 63  SQL syntax direc
ffa0: 74 6c 79 20 61 6c 6c 6f 77 73 20 74 6f 20 73 70  tly allows to sp
ffb0: 65 63 69 66 79 20 6c 69 73 74 73 20 6f 66 20 20  ecify lists of  
ffc0: 6d 75 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 2c  multiple values,
ffd0: 20 73 6f 20 6d 61 79 20 62 65 20 79 6f 75 20 61   so may be you a
ffe0: 72 65 20 6e 6f 77 20 77 6f 6e 64 65 72 69 6e 67  re now wondering
fff0: 20 61 62 6f 75 74 20 77 72 69 74 69 6e 67 20 74   about writing t
10000 68 65 20 3c 62 3e 6d 75 6c 74 69 70 6c 65 20 64  he <b>multiple d
10010 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20  estinations</b> 
10020 71 75 65 72 79 20 74 65 73 74 65 64 20 69 6e 20  query tested in 
10030 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61  the previous exa
10040 6d 70 6c 65 73 20 74 68 69 73 20 77 61 79 3a 0d  mples this way:.
10050 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
10060 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52  ECT Algorithm, R
10070 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c  equest, Options,
10080 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74   Delimiter, Rout
10090 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52  eId, RouteRow, R
100a0 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20  ole, LinkRowid, 
100b0 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f  NodeFrom, NodeTo
100c0 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79  , Cost, Geometry
100d0 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66  , Name..FROM byf
100e0 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46  oot..WHERE NodeF
100f0 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44  rom = 178731 AND
10100 20 4e 6f 64 65 54 6f 20 49 4e 20 28 31 38 33 32   NodeTo IN (1832
10110 38 36 2c 20 32 39 30 34 35 38 2c 20 31 38 31 39  86, 290458, 1819
10120 39 39 2c 20 31 38 34 30 33 30 2c 20 31 32 34 36  99, 184030, 1246
10130 32 32 2c 20 31 38 33 38 38 32 2c 20 31 37 38 37  22, 183882, 1787
10140 35 34 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  54);..</verbatim
10150 3e 0d 0a 54 68 65 72 65 20 69 73 20 61 20 76 65  >..There is a ve
10160 72 79 20 67 6f 6f 64 20 72 65 61 73 6f 6e 20 64  ry good reason d
10170 69 73 63 6f 75 72 61 67 69 6e 67 20 66 72 6f 6d  iscouraging from
10180 20 64 6f 69 6e 67 20 73 75 63 68 20 61 20 74 68   doing such a th
10190 69 6e 67 2c 20 6c 65 74 27 73 20 73 65 65 20 77  ing, let's see w
101a0 68 79 2e 3c 62 72 3e 0d 0a 3c 62 3e 53 51 4c 69  hy.<br>..<b>SQLi
101b0 74 65 3c 2f 62 3e 20 77 69 6c 6c 20 70 72 6f 63  te</b> will proc
101c0 65 73 73 20 61 20 72 65 71 75 65 73 74 20 77 72  ess a request wr
101d0 69 74 74 65 6e 20 74 68 69 73 20 77 61 79 20 62  itten this way b
101e0 79 20 72 65 70 65 61 74 65 64 6c 79 20 63 61 6c  y repeatedly cal
101f0 6c 69 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74  ling VirtualRout
10200 69 6e 67 20 70 61 73 73 69 6e 67 20 65 61 63 68  ing passing each
10210 20 74 69 6d 65 20 61 20 73 69 6e 67 6c 65 20 44   time a single D
10220 65 73 74 69 6e 61 74 69 6f 6e 3b 20 61 6e 64 20  estination; and 
10230 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 3c 62 3e  consequently <b>
10240 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f  VirtualRouting</
10250 62 3e 20 77 69 6c 6c 20 6e 65 76 65 72 20 72 65  b> will never re
10260 63 65 69 76 65 20 74 68 65 20 63 72 69 74 69 63  ceive the critic
10270 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74  al information t
10280 68 61 74 20 61 20 73 69 6e 67 6c 65 20 6d 6f 6e  hat a single mon
10290 6f 6c 69 74 68 69 63 20 72 65 71 75 65 73 74 20  olithic request 
102a0 77 61 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20  was intended to 
102b0 62 65 20 65 78 65 63 75 74 65 64 20 69 6e 20 61  be executed in a
102c0 20 73 69 6e 67 6c 65 20 73 68 6f 74 2e 20 53 6f   single shot. So
102d0 20 74 68 65 20 72 65 71 75 65 73 74 20 63 6f 6e   the request con
102e0 74 65 78 74 20 77 69 6c 6c 20 62 65 20 65 61 73  text will be eas
102f0 69 6c 79 20 6d 69 73 69 6e 74 65 72 70 72 65 74  ily misinterpret
10300 65 64 2c 20 61 6e 64 20 61 6e 79 20 65 78 70 65  ed, and any expe
10310 63 74 65 64 20 73 70 65 65 64 20 62 65 6e 65 66  cted speed benef
10320 69 74 20 77 69 6c 6c 20 62 65 20 63 6f 6d 70 6c  it will be compl
10330 65 74 65 6c 79 20 66 72 75 73 74 72 61 74 65 64  etely frustrated
10340 2e 0d 0a 3c 68 33 3e 42 65 77 61 72 65 3c 2f 68  ...<h3>Beware</h
10350 33 3e 0d 0a 3c 62 3e 4e 65 76 65 72 20 65 76 65  3>..<b>Never eve
10360 72 3c 2f 62 3e 20 61 74 74 65 6d 70 74 20 74 6f  r</b> attempt to
10370 20 64 65 66 69 6e 65 20 61 20 6c 69 73 74 20 6f   define a list o
10380 66 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69  f multiple desti
10390 6e 61 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68  nations using th
103a0 65 20 73 74 61 6e 64 61 72 64 20 53 51 4c 20 73  e standard SQL s
103b0 79 6e 74 61 78 20 3c 62 3e 3c 69 3e 57 48 45 52  yntax <b><i>WHER
103c0 45 20 4e 6f 64 65 54 6f 20 49 4e 20 28 2e 2e 2e  E NodeTo IN (...
103d0 2e 2e 2e 29 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65  ...)</i></b>, be
103e0 63 61 75 73 65 20 74 68 69 73 20 77 69 6c 6c 20  cause this will 
103f0 63 65 72 74 61 69 6e 6c 79 20 63 61 75 73 65 20  certainly cause 
10400 6d 61 6e 79 20 75 6e 65 78 70 65 63 74 65 64 20  many unexpected 
10410 74 72 6f 75 62 6c 65 73 2e 3c 62 72 3e 0d 0a 42  troubles.<br>..B
10420 61 64 6c 79 20 66 6f 72 6d 61 74 74 65 64 20 72  adly formatted r
10430 65 73 75 6c 74 73 65 74 73 20 77 69 6c 6c 20 62  esultsets will b
10440 65 20 74 68 65 6e 20 72 65 74 75 72 6e 65 64 2c  e then returned,
10450 20 6d 61 79 20 62 65 20 63 6f 6e 74 61 69 6e 69   may be containi
10460 6e 67 20 77 72 6f 6e 67 20 72 65 73 75 6c 74 73  ng wrong results
10470 2e 20 3c 62 3e 59 6f 75 20 61 72 65 20 77 61 72  . <b>You are war
10480 6e 65 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e  ned</b>.<br><br>
10490 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61  ..</td></tr></ta
104a0 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62  ble>..<br>..<tab
104b0 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66  le bgcolor="#c0f
104c0 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fc0" cellspacing
104d0 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
104e0 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
104f0 3c 68 33 3e 48 6f 77 20 74 6f 20 63 6f 72 72 65  <h3>How to corre
10500 63 74 6c 79 20 66 6f 72 6d 61 74 20 6d 75 6c 74  ctly format mult
10510 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e  iple destination
10520 73 20 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a 56 69  s lists</h3>..Vi
10530 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 61 6c 77  rtualRouting alw
10540 61 79 73 20 65 78 70 65 63 74 73 20 74 6f 20 72  ays expects to r
10550 65 63 65 69 76 65 20 61 20 3c 62 3e 6d 75 6c 74  eceive a <b>mult
10560 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f  i-destinations</
10570 62 3e 20 6c 69 73 74 20 61 73 20 61 20 3c 62 3e  b> list as a <b>
10580 54 45 58 54 3c 2f 62 3e 20 73 74 72 69 6e 67 20  TEXT</b> string 
10590 63 6f 6e 74 61 69 6e 69 6e 67 20 74 69 67 68 74  containing tight
105a0 6c 79 20 70 61 63 6b 65 64 20 76 61 6c 75 65 73  ly packed values
105b0 20 73 65 70 61 72 61 74 65 64 20 62 79 20 61 20   separated by a 
105c0 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 20 3c 62 3e  conventional <b>
105d0 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 28 75  delimiter</b> (u
105e0 73 75 61 6c 6c 79 20 72 65 70 72 65 73 65 6e 74  sually represent
105f0 65 64 20 62 79 20 61 20 3c 62 3e 63 6f 6d 6d 61  ed by a <b>comma
10600 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 45 78 61 6d  </b>).<br>..Exam
10610 70 6c 65 73 20 6f 66 20 3c 62 3e 77 65 6c 6c 20  ples of <b>well 
10620 66 6f 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d 75  formatted</b> mu
10630 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73  lti-destinations
10640 20 6c 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61 74   lists:..<verbat
10650 69 6d 3e 0d 0a 27 31 2c 32 2c 33 2c 34 2c 35 2c  im>..'1,2,3,4,5,
10660 31 30 2c 31 30 30 2c 31 30 30 30 2c 31 30 30 30  10,100,1000,1000
10670 30 30 27 20 20 20 2d 2d 20 69 6e 74 65 67 65 72  00'   -- integer
10680 20 4e 6f 64 65 20 49 44 73 0d 0a 0d 0a 27 41 31   Node IDs....'A1
10690 30 30 42 2c 41 31 30 30 46 2c 42 32 35 30 5a 2c  00B,A100F,B250Z,
106a0 43 30 31 30 4d 2c 5a 39 39 39 41 27 20 20 2d 2d  C010M,Z999A'  --
106b0 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 4e 6f   alphanumeric No
106c0 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76 65 72 62  de Codes..</verb
106d0 61 74 69 6d 3e 0d 0a 45 78 61 6d 70 6c 65 73 20  atim>..Examples 
106e0 6f 66 20 3c 62 3e 62 61 64 6c 79 20 66 6f 72 6d  of <b>badly form
106f0 61 74 74 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d  atted</b> multi-
10700 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73  destinations lis
10710 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  ts:..<verbatim>.
10720 0a 27 20 20 31 2c 20 32 2c 20 33 2c 20 34 20 2c  .'  1, 2, 3, 4 ,
10730 20 35 20 2c 20 31 30 2c 20 31 30 30 2c 20 31 30   5 , 10, 100, 10
10740 30 30 2c 20 31 30 30 30 30 30 20 20 27 20 20 20  00, 100000  '   
10750 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20  -- integer Node 
10760 49 44 73 0d 0a 0d 0a 27 20 20 41 31 30 30 42 2c  IDs....'  A100B,
10770 20 41 31 30 30 46 20 2c 20 42 32 35 30 5a 20 2c   A100F , B250Z ,
10780 20 43 30 31 30 4d 2c 20 5a 39 39 39 41 20 20 27   C010M, Z999A  '
10790 20 20 20 20 20 20 2d 2d 20 61 6c 70 68 61 6e 75        -- alphanu
107a0 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f 64 65 73  meric Node Codes
107b0 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c  ..</verbatim>..<
107c0 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6c 6c 20  u>Note</u>: all 
107d0 77 68 69 74 65 73 70 61 63 65 73 20 69 6d 6d 65  whitespaces imme
107e0 64 69 61 74 65 6c 79 20 70 72 65 63 65 64 69 6e  diately precedin
107f0 67 20 6f 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  g or following t
10800 68 65 20 3c 62 3e 64 65 6c 69 6d 69 74 65 72 3c  he <b>delimiter<
10810 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73  /b> will be cons
10820 69 64 65 72 65 64 20 74 6f 20 62 65 20 69 6e 74  idered to be int
10830 65 67 72 61 6c 20 70 61 72 74 20 6f 66 20 74 68  egral part of th
10840 65 20 76 61 6c 75 65 20 69 74 73 65 6c 66 2e 3c  e value itself.<
10850 62 72 3e 0d 0a 54 68 69 73 20 77 69 6c 6c 20 68  br>..This will h
10860 61 76 65 20 6e 6f 20 61 64 76 65 72 73 65 20 63  ave no adverse c
10870 6f 6e 73 65 71 75 65 6e 63 65 73 20 69 6e 20 74  onsequences in t
10880 68 65 20 63 61 73 65 20 6f 66 20 69 6e 74 65 67  he case of integ
10890 65 72 20 76 61 6c 75 65 73 2c 20 62 75 74 20 63  er values, but c
108a0 61 6e 20 65 61 73 69 6c 79 20 68 61 76 65 20 63  an easily have c
108b0 61 74 61 73 74 72 6f 70 68 69 63 20 65 66 66 65  atastrophic effe
108c0 63 74 73 20 6f 6e 20 61 6c 70 68 61 6e 75 6d 65  cts on alphanume
108d0 72 69 63 20 76 61 6c 75 65 73 2e 0d 0a 3c 68 33  ric values...<h3
108e0 3e 44 65 66 69 6e 69 6e 67 20 61 20 63 75 73 74  >Defining a cust
108f0 6f 6d 20 64 65 6c 69 6d 69 74 65 72 3c 2f 68 33  om delimiter</h3
10900 3e 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20  >..Sometimes it 
10910 63 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c 20  could be useful 
10920 73 65 74 74 69 6e 67 20 75 70 20 61 20 64 65 6c  setting up a del
10930 69 6d 69 74 65 72 20 64 69 66 66 65 72 65 6e 74  imiter different
10940 20 66 72 6f 6d 20 3c 62 3e 63 6f 6d 6d 61 3c 2f   from <b>comma</
10950 62 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  b>...<verbatim>.
10960 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53  .UPDATE byfoot S
10970 45 54 20 44 65 6c 69 6d 69 74 65 72 20 3d 20 27  ET Delimiter = '
10980 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 44 65  *';....SELECT De
10990 6c 69 6d 69 74 65 72 20 46 52 4f 4d 20 62 79 66  limiter FROM byf
109a0 6f 6f 74 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  oot;..----------
109b0 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65 63  --------..* [dec
109c0 3d 34 32 2c 20 68 65 78 3d 32 61 5d 0d 0a 3c 2f  =42, hex=2a]..</
109d0 76 65 72 62 61 74 69 6d 3e 20 0d 0a 59 6f 75 20  verbatim> ..You 
109e0 73 69 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 65  simply have to e
109f0 78 65 63 75 74 65 20 61 6e 20 3c 62 3e 55 50 44  xecute an <b>UPD
10a00 41 54 45 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e  ATE</b> statemen
10a10 74 20 62 79 20 73 70 65 63 69 66 79 69 6e 67 20  t by specifying 
10a20 74 68 65 20 6e 65 77 20 64 65 6c 69 6d 69 74 65  the new delimite
10a30 72 20 76 61 6c 75 65 2e 3c 62 72 3e 3c 62 72 3e  r value.<br><br>
10a40 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61  ..</td></tr></ta
10a50 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ble>..<br><br>..
10a60 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61  <hr><br>..<h1><a
10a70 20 6e 61 6d 65 3d 22 74 73 70 22 3e 36 20 2d 20   name="tsp">6 - 
10a80 53 6f 6c 76 69 6e 67 20 54 53 50 20 28 74 72 61  Solving TSP (tra
10a90 76 65 6c 69 6e 67 20 73 61 6c 65 73 6d 61 6e 29  veling salesman)
10aa0 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68   problems</a></h
10ab0 31 3e 0d 0a 3c 62 3e 54 53 50 3c 2f 62 3e 20 28  1>..<b>TSP</b> (
10ac0 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f  <a href="https:/
10ad0 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72  /en.wikipedia.or
10ae0 67 2f 77 69 6b 69 2f 54 72 61 76 65 6c 6c 69 6e  g/wiki/Travellin
10af0 67 5f 73 61 6c 65 73 6d 61 6e 5f 70 72 6f 62 6c  g_salesman_probl
10b00 65 6d 22 3e 54 72 61 76 65 6c 69 6e 67 20 53 61  em">Traveling Sa
10b10 6c 65 73 6d 6e 20 50 72 6f 62 6c 65 6d 3c 2f 61  lesmn Problem</a
10b20 3e 29 20 69 73 20 61 20 77 65 6c 6c 20 6b 6e 6f  >) is a well kno
10b30 77 6e 20 4f 70 65 72 61 74 69 6f 6e 73 20 52 65  wn Operations Re
10b40 61 73 65 61 72 63 68 20 70 72 6f 62 6c 65 6d 2e  asearch problem.
10b50 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62  ..<br><br>..<tab
10b60 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66  le bgcolor="#c0f
10b70 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fc0" cellspacing
10b80 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
10b90 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
10ba0 3c 68 33 3e 54 68 65 20 54 72 61 76 65 6c 69 6e  <h3>The Travelin
10bb0 67 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62 6c  g Salesman Probl
10bc0 65 6d 3c 2f 68 33 3e 0d 0a 3c 62 3e 3c 69 3e 47  em</h3>..<b><i>G
10bd0 69 76 65 6e 20 61 20 6c 69 73 74 20 6f 66 20 63  iven a list of c
10be0 69 74 69 65 73 20 61 6e 64 20 74 68 65 20 64 69  ities and the di
10bf0 73 74 61 6e 63 65 73 20 62 65 74 77 65 65 6e 20  stances between 
10c00 65 61 63 68 20 70 61 69 72 20 6f 66 20 63 69 74  each pair of cit
10c10 69 65 73 2c 20 77 68 61 74 20 69 73 20 74 68 65  ies, what is the
10c20 20 73 68 6f 72 74 65 73 74 20 70 6f 73 73 69 62   shortest possib
10c30 6c 65 20 72 6f 75 74 65 20 74 68 61 74 20 76 69  le route that vi
10c40 73 69 74 73 20 65 61 63 68 20 63 69 74 79 20 61  sits each city a
10c50 6e 64 20 72 65 74 75 72 6e 73 20 74 6f 20 74 68  nd returns to th
10c60 65 20 6f 72 69 67 69 6e 20 63 69 74 79 20 3f 3c  e origin city ?<
10c70 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e 3c 62 72  /i></b>..<br><br
10c80 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74  >..</td></tr></t
10c90 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e  able>..<br>..<u>
10ca0 4e 6f 74 65 3a 3c 2f 75 3e 20 74 68 65 20 74 65  Note:</u> the te
10cb0 72 6d 73 20 3c 69 3e 3c 75 3e 73 61 6c 65 73 6d  rms <i><u>salesm
10cc0 61 6e 3c 2f 75 3e 3c 2f 69 3e 20 61 6e 64 20 3c  an</u></i> and <
10cd0 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69  i><u>city</u></i
10ce0 3e 20 61 72 65 20 75 6e 69 76 65 72 73 61 6c 6c  > are universall
10cf0 79 20 75 73 65 64 20 66 6f 72 20 68 69 73 74 6f  y used for histo
10d00 72 69 63 61 6c 20 72 65 61 73 6f 6e 73 2c 20 62  rical reasons, b
10d10 75 74 20 79 6f 75 20 73 68 6f 75 6c 64 20 61 76  ut you should av
10d20 6f 69 64 20 74 6f 20 6c 69 74 65 72 61 6c 6c 79  oid to literally
10d30 20 69 6e 74 65 6e 64 20 62 6f 74 68 20 74 68 65   intend both the
10d40 6d 2e 3c 62 72 3e 0d 0a 54 68 65 20 74 65 72 6d  m.<br>..The term
10d50 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c   <u><i>salesman<
10d60 2f 69 3e 3c 2f 75 3e 20 69 6e 20 74 68 69 73 20  /i></u> in this 
10d70 73 70 65 63 69 66 69 63 20 63 6f 6e 74 65 78 74  specific context
10d80 20 69 6e 74 65 6e 64 73 20 61 6e 79 20 70 6f 73   intends any pos
10d90 73 69 62 6c 65 20 6b 69 6e 64 20 6f 66 20 3c 75  sible kind of <u
10da0 3e 3c 69 3e 6d 6f 76 69 6e 67 20 61 67 65 6e 74  ><i>moving agent
10db0 3c 2f 69 3e 3c 2f 75 3e 20 28 70 65 64 65 73 74  </i></u> (pedest
10dc0 72 69 61 6e 2c 20 76 65 68 69 63 6c 65 2c 20 70  rian, vehicle, p
10dd0 61 73 73 65 6e 67 65 72 20 6f 72 20 77 68 61 74  assenger or what
10de0 65 76 65 72 20 65 6c 73 65 29 2c 20 65 78 61 63  ever else), exac
10df0 74 6c 79 20 61 73 20 3c 69 3e 3c 75 3e 63 69 74  tly as <i><u>cit
10e00 79 3c 2f 75 3e 3c 2f 69 3e 20 73 69 6d 70 6c 79  y</u></i> simply
10e10 20 73 74 61 6e 64 73 20 66 6f 72 20 61 6e 79 20   stands for any 
10e20 3c 69 3e 3c 75 3e 67 65 6e 65 72 69 63 20 64 65  <i><u>generic de
10e30 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69  stination</u></i
10e40 3e 20 6f 6e 20 61 20 67 69 76 65 6e 20 4e 65 74  > on a given Net
10e50 77 6f 72 6b 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  work...<br><br>.
10e60 0a 57 65 20 63 61 6e 20 63 6f 6e 63 65 74 74 75  .We can concettu
10e70 61 6c 79 20 73 70 6c 69 74 20 54 50 53 20 69 6e  aly split TPS in
10e80 20 74 77 6f 20 68 61 6c 76 65 73 3a 0d 0a 3c 6f   two halves:..<o
10e90 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6d 70 75 74 69 6e  l>..<li>computin
10ea0 67 20 61 6c 6c 20 64 69 73 74 61 6e 63 65 73 20  g all distances 
10eb0 62 65 74 77 65 65 6e 20 70 61 69 72 73 20 6f 66  between pairs of
10ec0 20 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 2e 20   <i>cities</i>. 
10ed0 54 68 69 73 20 69 73 20 61 20 74 79 70 69 63 61  This is a typica
10ee0 6c 20 3c 62 3e 53 68 6f 72 74 65 73 74 50 61 74  l <b>ShortestPat
10ef0 68 3c 2f 62 3e 20 70 72 6f 62 6c 65 6d 2c 20 61  h</b> problem, a
10f00 6e 64 20 77 65 20 63 61 6e 20 64 75 6c 79 20 75  nd we can duly u
10f10 73 65 20 74 68 65 20 44 69 6a 6b 73 74 72 61 27  se the Dijkstra'
10f20 73 20 61 6c 67 6f 72 69 74 68 6d 20 66 6f 72 20  s algorithm for 
10f30 74 68 69 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  this.</li>..<li>
10f40 74 68 65 6e 20 77 65 20 68 61 76 65 20 74 6f 20  then we have to 
10f50 63 68 65 63 6b 20 61 6c 6c 20 70 6f 73 73 69 62  check all possib
10f60 6c 65 20 3c 62 3e 70 65 72 6d 75 74 61 74 69 6f  le <b>permutatio
10f70 6e 73 3c 2f 62 3e 20 2f 20 3c 62 3e 63 6f 6d 62  ns</b> / <b>comb
10f80 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 73 6f 20  inations</b> so 
10f90 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20  to identify the 
10fa0 6f 70 74 69 6d 61 6c 20 54 53 50 20 73 6f 6c 75  optimal TSP solu
10fb0 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c  tion.</li>..</ol
10fc0 3e 0d 0a 55 6e 68 61 70 70 69 6c 79 20 74 68 65  >..Unhappily the
10fd0 72 65 20 69 73 20 61 20 70 72 61 63 74 69 63 61  re is a practica
10fe0 6c 20 64 69 66 66 69 63 75 6c 74 79 20 69 6e 20  l difficulty in 
10ff0 73 75 63 68 20 61 20 73 74 72 61 69 67 68 74 20  such a straight 
11000 61 70 70 72 6f 61 63 68 3b 20 74 68 65 20 6e 75  approach; the nu
11010 6d 62 65 72 20 6f 66 20 63 6f 6d 62 69 6e 61 74  mber of combinat
11020 69 6f 6e 73 20 77 69 6c 6c 20 67 72 6f 77 20 65  ions will grow e
11030 78 74 72 65 6d 65 6c 79 20 66 61 73 74 20 61 73  xtremely fast as
11040 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 3c   the number of <
11050 62 3e 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 3c  b><i>cities</i><
11060 2f 62 3e 20 69 6e 63 72 65 61 73 65 73 2e 3c 62  /b> increases.<b
11070 72 3e 0d 0a 53 69 6d 70 6c 79 20 63 6f 6d 70 75  r>..Simply compu
11080 74 69 6e 67 20 74 68 65 20 63 6f 6d 70 6c 65 74  ting the complet
11090 65 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 20 66  e TSP solution f
110a0 6f 72 20 61 62 6f 75 74 20 74 65 6e 20 63 69 74  or about ten cit
110b0 69 65 73 20 77 69 6c 6c 20 72 65 71 75 69 72 65  ies will require
110c0 20 61 20 3c 62 3e 76 65 72 79 20 6c 6f 6e 67 20   a <b>very long 
110d0 74 69 6d 65 3c 2f 62 3e 20 65 76 65 6e 20 75 73  time</b> even us
110e0 69 6e 67 20 61 20 73 75 70 65 72 63 6f 6d 70 75  ing a supercompu
110f0 74 65 72 2e 3c 62 72 3e 0d 0a 41 6e 64 20 61 74  ter.<br>..And at
11100 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6d 70  tempting to comp
11110 75 74 65 20 61 20 54 53 50 20 73 6f 6c 75 74 69  ute a TSP soluti
11120 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20 68 75 6e  on for about hun
11130 64 72 65 64 20 63 69 74 69 65 73 20 77 69 6c 6c  dred cities will
11140 20 72 65 71 75 69 72 65 20 61 20 3c 62 3e 70 72   require a <b>pr
11150 61 63 74 69 63 61 6c 6c 79 20 69 6e 66 69 6e 69  actically infini
11160 74 65 3c 2f 62 3e 20 74 69 6d 65 2e 0d 0a 3c 62  te</b> time...<b
11170 72 3e 3c 62 72 3e 0d 0a 48 6f 77 65 76 65 72 20  r><br>..However 
11180 73 6f 6c 76 69 6e 67 20 54 53 50 20 69 73 20 68  solving TSP is h
11190 69 67 68 6c 79 20 64 65 73 69 64 65 72 61 62 6c  ighly desiderabl
111a0 65 20 69 6e 20 6d 61 6e 79 20 61 70 70 6c 69 63  e in many applic
111b0 61 74 69 6f 6e 20 66 69 65 6c 64 73 3a 20 3c 62  ation fields: <b
111c0 3e 6c 6f 67 69 73 74 69 63 73 3c 2f 62 3e 20 28  >logistics</b> (
111d0 6a 75 73 74 20 74 68 69 6e 6b 20 61 62 6f 75 74  just think about
111e0 20 63 6f 75 72 69 65 72 20 63 6f 6d 70 61 6e 69   courier compani
111f0 65 73 20 61 73 20 44 48 4c 2c 20 46 65 64 45 58  es as DHL, FedEX
11200 2c 20 55 50 53 20 6f 72 20 54 4e 54 29 2c 20 3c  , UPS or TNT), <
11210 62 3e 66 69 65 6c 64 20 6d 61 69 6e 74 65 6e 61  b>field maintena
11220 6e 63 65 3c 2f 62 3e 20 2f 20 3c 62 3e 61 73 73  nce</b> / <b>ass
11230 69 73 74 61 6e 63 65 3c 2f 62 3e 2c 20 3c 62 3e  istance</b>, <b>
11240 77 61 73 74 65 20 63 6f 6c 6c 65 63 74 69 6f 6e  waste collection
11250 3c 2f 62 3e 2c 20 3c 62 3e 73 63 68 6f 6f 6c 62  </b>, <b>schoolb
11260 75 73 3c 2f 62 3e 20 2f 20 3c 62 3e 73 68 61 72  us</b> / <b>shar
11270 65 64 20 74 61 78 69 20 73 65 72 76 69 63 65 73  ed taxi services
11280 3c 2f 62 3e 20 65 74 63 2e 3c 62 72 3e 0d 0a 4d  </b> etc.<br>..M
11290 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d 73 20 68  any algorithms h
112a0 61 76 65 20 62 65 65 6e 20 69 6e 76 65 6e 74 65  ave been invente
112b0 64 20 64 75 72 69 6e 67 20 6c 61 73 74 20 64 65  d during last de
112c0 63 61 64 65 73 20 69 6e 74 65 6e 64 65 64 20 74  cades intended t
112d0 6f 20 70 72 6f 64 75 63 65 20 70 72 61 63 74 69  o produce practi
112e0 63 61 6c 20 61 6c 74 68 6f 75 67 68 20 61 70 70  cal although app
112f0 72 6f 78 69 6d 61 74 65 20 2f 20 69 6d 70 65 72  roximate / imper
11300 66 65 63 74 20 54 53 50 20 73 6f 6c 75 74 69 6f  fect TSP solutio
11310 6e 73 20 69 6e 20 61 20 72 65 61 73 6f 6e 61 62  ns in a reasonab
11320 6c 79 20 73 68 6f 72 74 20 74 69 6d 65 2e 0d 0a  ly short time...
11330 4d 61 6e 79 20 6f 66 20 74 68 65 6d 20 73 74 72  Many of them str
11340 6f 6e 67 6c 79 20 64 65 70 65 6e 64 20 6f 6e 20  ongly depend on 
11350 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f  <a href="https:/
11360 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72  /en.wikipedia.or
11370 67 2f 77 69 6b 69 2f 48 65 75 72 69 73 74 69 63  g/wiki/Heuristic
11380 22 3e 68 65 75 72 69 73 74 69 63 3c 2f 61 3e 20  ">heuristic</a> 
11390 61 6e 64 20 2f 20 6f 72 20 3c 61 20 68 72 65 66  and / or <a href
113a0 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b  ="https://en.wik
113b0 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f  ipedia.org/wiki/
113c0 52 61 6e 64 6f 6d 6e 65 73 73 22 3e 72 61 6e 64  Randomness">rand
113d0 6f 6d 6e 65 73 73 3c 2f 61 3e 2e 0d 0a 3c 62 72  omness</a>...<br
113e0 3e 3c 62 72 3e 0d 0a 3c 62 3e 56 69 72 74 75 61  ><br>..<b>Virtua
113f0 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 73 75 70  lRouting</b> sup
11400 70 6f 72 74 73 20 74 77 6f 20 64 69 66 66 65 72  ports two differ
11410 65 6e 74 20 54 53 50 20 61 6c 67 6f 72 69 74 68  ent TSP algorith
11420 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c  ms:..<ul>..<li><
11430 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 28 3c 69  b>TSP NN</b> (<i
11440 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c 69 3e 4e  >aka</i> <b><i>N
11450 65 61 72 65 73 74 20 4e 65 69 67 68 62 6f 75 72  earest Neighbour
11460 3c 2f 69 3e 3c 2f 62 3e 29 3c 62 72 3e 0d 0a 54  </i></b>)<br>..T
11470 68 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74  his <a href="htt
11480 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69  ps://en.wikipedi
11490 61 2e 6f 72 67 2f 77 69 6b 69 2f 4e 65 61 72 65  a.org/wiki/Neare
114a0 73 74 5f 6e 65 69 67 68 62 6f 75 72 5f 61 6c 67  st_neighbour_alg
114b0 6f 72 69 74 68 6d 22 3e 66 69 72 73 74 20 61 6c  orithm">first al
114c0 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69 73 20 73  gorithm</a> is s
114d0 74 72 61 69 67 68 74 66 6f 72 77 61 64 20 73 69  traightforwad si
114e0 6d 70 6c 65 20 61 6e 64 20 76 65 72 79 20 66 61  mple and very fa
114f0 73 74 3b 20 69 74 20 63 61 6e 20 65 66 66 65 63  st; it can effec
11500 74 69 76 65 6c 79 20 73 6f 6c 76 65 20 68 75 67  tively solve hug
11510 65 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 73 20  e TSP solutions 
11520 28 74 68 6f 75 73 61 6e 64 20 3c 69 3e 63 69 74  (thousand <i>cit
11530 69 65 73 3c 2f 69 3e 20 6f 72 20 65 76 65 6e 20  ies</i> or even 
11540 6d 6f 72 65 29 20 69 6e 20 61 20 76 65 72 79 20  more) in a very 
11550 73 68 6f 72 74 20 74 69 6d 65 2e 3c 62 72 3e 0d  short time.<br>.
11560 0a 3c 75 3e 53 68 6f 72 74 20 64 65 73 63 72 69  .<u>Short descri
11570 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e  ption</u>:..<ul>
11580 0d 0a 3c 6c 69 3e 73 74 61 72 74 69 6e 67 20 66  ..<li>starting f
11590 72 6f 6d 20 74 68 65 20 3c 75 3e 3c 69 3e 62 61  rom the <u><i>ba
115a0 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20  se city</i></u> 
115b0 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d  the <u><i>salesm
115c0 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67 6f 65 73 20  an</i></u> goes 
115d0 74 6f 20 74 68 65 20 3c 75 3e 3c 69 3e 63 69 74  to the <u><i>cit
115e0 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e  y</i></u> presen
115f0 74 69 6e 67 20 74 68 65 20 3c 69 3e 3c 75 3e 6c  ting the <i><u>l
11600 65 73 73 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e  esser connection
11610 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f   cost</u></i>.</
11620 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 61 6c 72  li>..<li>the alr
11630 65 61 64 79 20 76 69 73 69 74 65 64 20 3c 69 3e  eady visited <i>
11640 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20  <u>city</u></i> 
11650 69 73 20 63 61 6e 63 65 6c 6c 65 64 20 66 72 6f  is cancelled fro
11660 6d 20 74 68 65 20 6c 69 73 74 2c 20 61 6e 64 20  m the list, and 
11670 74 68 65 6e 20 74 68 65 20 3c 75 3e 3c 69 3e 73  then the <u><i>s
11680 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20  alesman</i></u> 
11690 67 6f 65 73 20 74 6f 20 74 68 65 20 6e 65 78 74  goes to the next
116a0 20 3c 75 3e 3c 69 3e 63 69 74 79 3c 2f 69 3e 3c   <u><i>city</i><
116b0 2f 75 3e 20 70 72 65 73 65 6e 74 69 6e 67 20 74  /u> presenting t
116c0 68 65 20 3c 69 3e 3c 75 3e 6c 65 73 73 65 72 20  he <i><u>lesser 
116d0 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6f 73 74 3c  connection cost<
116e0 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  /u></i>.</li>..<
116f0 6c 69 3e 74 68 65 20 63 79 63 6c 65 20 63 6f 6e  li>the cycle con
11700 74 69 6e 75 65 73 20 75 6e 74 69 6c 20 61 6c 6c  tinues until all
11710 20 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f    <i><u>cities</
11720 75 3e 3c 2f 69 3e 20 69 6e 20 74 68 65 20 6c 69  u></i> in the li
11730 73 74 20 68 61 76 65 20 62 65 65 6e 20 76 69 73  st have been vis
11740 69 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ited.</li>..<li>
11750 66 69 6e 61 6c 6c 79 2c 20 74 68 65 20 3c 75 3e  finally, the <u>
11760 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c  <i>salesman</i><
11770 2f 75 3e 20 72 65 74 75 72 6e 73 20 74 6f 20 68  /u> returns to h
11780 69 73 2f 68 65 72 20 69 6e 69 74 69 61 6c 20 3c  is/her initial <
11790 75 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f  u><i>base city</
117a0 69 3e 3c 2f 75 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  i></u></li>..</u
117b0 6c 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 20  l>..<u>Note</u> 
117c0 69 74 27 73 20 76 65 72 79 20 75 6e 6c 69 6b 65  it's very unlike
117d0 20 74 68 61 74 20 54 53 50 20 4e 4e 20 63 6f 75   that TSP NN cou
117e0 6c 64 20 66 69 6e 64 20 74 68 65 20 3c 62 3e 6f  ld find the <b>o
117f0 70 74 69 6d 61 6c 3c 2f 62 3e 20 73 6f 6c 75 74  ptimal</b> solut
11800 69 6f 6e 2c 20 62 75 74 20 69 74 20 63 61 6e 20  ion, but it can 
11810 71 75 69 63 6b 6c 79 20 66 69 6e 64 20 73 6f 6d  quickly find som
11820 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 3c 62 3e  e reasonable <b>
11830 61 70 70 72 6f 78 69 6d 61 74 65 3c 2f 62 3e 20  approximate</b> 
11840 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 66 65 77  solution (<i>few
11850 20 69 73 20 73 75 72 65 6c 79 20 62 65 74 74 65   is surely bette
11860 72 20 74 68 61 6e 20 6e 6f 74 68 69 6e 67 3c 2f  r than nothing</
11870 69 3e 29 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 65  i>).<br>..In the
11880 20 6d 6f 73 74 20 75 6e 6c 75 63 6b 79 20 63 61   most unlucky ca
11890 73 65 20 54 53 50 20 4e 4e 20 63 6f 75 6c 64 20  se TSP NN could 
118a0 70 6f 73 73 69 62 6c 79 20 72 65 74 75 72 6e 20  possibly return 
118b0 74 68 65 20 3c 62 3e 77 6f 72 73 74 20 73 6f 6c  the <b>worst sol
118c0 75 74 69 6f 6e 3c 2f 62 3e 2c 20 62 75 74 20 74  ution</b>, but t
118d0 68 65 20 73 70 65 63 69 66 69 63 20 69 6d 70 6c  he specific impl
118e0 65 6d 65 6e 74 61 74 69 6f 6e 20 61 64 6f 70 74  ementation adopt
118f0 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75  ed by VirtualRou
11900 74 69 6e 67 20 63 68 65 63 6b 73 20 61 67 61 69  ting checks agai
11910 6e 73 74 20 74 68 69 73 20 70 6f 73 73 69 62 69  nst this possibi
11920 6c 69 74 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  lity:..<ul>..<li
11930 3e 65 61 63 68 20 54 53 50 20 4e 4e 20 69 73 20  >each TSP NN is 
11940 61 6c 77 61 79 73 20 63 6f 6d 70 75 74 65 64 20  always computed 
11950 74 77 69 63 65 20 62 79 20 72 61 6e 64 6f 6d 6c  twice by randoml
11960 79 20 63 68 6f 6f 73 69 6e 67 20 61 20 64 69 66  y choosing a dif
11970 66 65 72 65 6e 74 20 3c 75 3e 3c 69 3e 62 61 73  ferent <u><i>bas
11980 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 61  e city</i></u> a
11990 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 6c 69 7a  nd then normaliz
119a0 69 6e 67 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e  ing the solution
119b0 3b 20 74 68 65 20 62 65 73 74 20 6f 66 20 74 68  ; the best of th
119c0 65 20 74 77 6f 20 73 6f 6c 75 74 69 6f 6e 73 20  e two solutions 
119d0 69 73 20 74 68 65 6e 20 72 65 74 75 72 6e 65 64  is then returned
119e0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 69 73  .</li>..<li>this
119f0 20 73 69 6d 70 6c 65 20 62 75 74 20 65 66 66 65   simple but effe
11a00 63 74 69 76 65 20 70 72 65 63 61 75 74 69 6f 6e  ctive precaution
11a10 20 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72 65   robustly ensure
11a20 73 20 74 68 61 74 20 74 68 65 20 3c 62 3e 77 6f  s that the <b>wo
11a30 72 73 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e  rst solution</b>
11a40 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 72   will never be r
11a50 65 74 75 72 6e 65 64 2c 20 61 6e 64 20 6a 75 73  eturned, and jus
11a60 74 20 69 6d 70 6c 69 65 73 20 61 20 6d 6f 64 65  t implies a mode
11a70 72 61 74 65 6c 79 20 69 6e 63 72 65 61 73 65 64  rately increased
11a80 20 65 78 65 63 75 74 69 6f 6e 20 74 69 6d 65 2e   execution time.
11a90 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  </li>..</ul></li
11aa0 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 53 50 20 47 41  >..<li><b>TSP GA
11ab0 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  </b> (<i>aka</i>
11ac0 20 3c 62 3e 3c 69 3e 47 65 6e 65 74 69 63 20 41   <b><i>Genetic A
11ad0 6c 67 6f 72 69 74 68 6d 3c 2f 69 3e 3c 2f 62 3e  lgorithm</i></b>
11ae0 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 3c 61 20  ).<br>..This <a 
11af0 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e  href="https://en
11b00 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77  .wikipedia.org/w
11b10 69 6b 69 2f 47 65 6e 65 74 69 63 5f 61 6c 67 6f  iki/Genetic_algo
11b20 72 69 74 68 6d 22 3e 61 6c 74 65 72 6e 61 74 69  rithm">alternati
11b30 76 65 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e  ve algorithm</a>
11b40 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 20 63 6f   is much more co
11b50 6d 70 6c 65 78 20 61 6e 64 20 73 6f 70 68 69 73  mplex and sophis
11b60 74 69 63 61 74 65 64 2c 20 61 6e 64 20 69 73 20  ticated, and is 
11b70 64 69 72 65 63 74 6c 79 20 69 6e 73 70 69 72 65  directly inspire
11b80 64 20 62 79 20 62 69 6f 6c 6f 67 69 63 61 6c 20  d by biological 
11b90 63 6f 6e 63 65 70 74 73 20 73 75 63 68 20 61 73  concepts such as
11ba0 20 3c 62 3e 73 65 78 75 61 6c 20 72 65 70 72 6f   <b>sexual repro
11bb0 64 75 63 74 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e  duction</b>, <b>
11bc0 67 65 6e 65 74 69 63 20 6d 75 74 61 74 69 6f 6e  genetic mutation
11bd0 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 61 74  s</b> and <b>nat
11be0 75 61 6c 20 73 65 6c 65 63 74 69 6f 6e 3c 2f 62  ual selection</b
11bf0 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74  >.<br>..<u>Short
11c00 20 64 65 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e   description</u>
11c10 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 20 66  :..<ul>..<li>a f
11c20 69 72 73 74 20 69 6e 69 74 69 61 6c 20 73 65 74  irst initial set
11c30 20 6f 66 20 73 6f 6c 75 74 69 6f 6e 73 20 28 3c   of solutions (<
11c40 69 3e 3c 75 3e 74 68 65 20 70 6f 70 75 6c 61 74  i><u>the populat
11c50 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29 20 69 73 20  ion</u></i>) is 
11c60 63 72 65 61 74 65 64 20 62 79 20 75 73 69 6e 67  created by using
11c70 20 54 53 50 20 4e 4e 20 61 66 74 65 72 20 72 61   TSP NN after ra
11c80 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67 20  ndomly choosing 
11c90 74 68 65 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63  the <u><i>base c
11ca0 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20  ity</i></u> and 
11cb0 74 68 65 6e 20 6e 6f 72 6d 61 6c 69 7a 69 6e 67  then normalizing
11cc0 20 65 61 63 68 20 73 6f 6c 75 74 69 6f 6e 2e 3c   each solution.<
11cd0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 64  /li>..<li>then d
11ce0 75 72 69 6e 67 20 65 61 63 68 20 73 74 65 70 20  uring each step 
11cf0 6f 66 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e  of the execution
11d00 20 6c 6f 6f 70 20 28 3c 69 3e 3c 75 3e 67 65 6e   loop (<i><u>gen
11d10 65 72 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29  eration</u></i>)
11d20 20 70 61 69 72 73 20 6f 66 20 73 6f 6c 75 74 69   pairs of soluti
11d30 6f 6e 73 20 3c 69 3e 3c 75 3e 73 65 78 75 61 6c  ons <i><u>sexual
11d40 6c 79 20 72 65 70 72 6f 64 75 63 65 73 3c 2f 69  ly reproduces</i
11d50 3e 3c 2f 75 3e 20 67 69 76 69 6e 67 20 62 69 72  ></u> giving bir
11d60 74 68 20 74 6f 20 3c 75 3e 3c 69 3e 63 68 69 6c  th to <u><i>chil
11d70 64 72 65 6e 20 73 6f 6c 75 74 69 6f 6e 73 3c 2f  dren solutions</
11d80 69 3e 3c 2f 75 3e 3b 20 3c 75 3e 3c 69 3e 63 68  i></u>; <u><i>ch
11d90 72 6f 6d 6f 73 6f 6d 65 20 63 72 6f 73 73 6f 76  romosome crossov
11da0 65 72 73 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20  ers</i></u> and 
11db0 3c 69 3e 3c 75 3e 72 61 6e 64 6f 6d 20 6d 75 74  <i><u>random mut
11dc0 61 74 69 6f 6e 73 3c 2f 75 3e 3c 2f 69 3e 20 69  ations</u></i> i
11dd0 6e 74 72 69 6e 73 69 63 61 6c 6c 79 20 61 66 66  ntrinsically aff
11de0 65 63 74 20 74 68 65 20 72 65 70 72 6f 64 75 63  ect the reproduc
11df0 74 69 76 65 20 70 72 6f 63 65 73 73 2e 3c 2f 6c  tive process.</l
11e00 69 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 65 61 63 68  i>..<li>for each
11e10 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f   <i><u>generatio
11e20 6e 3c 2f 75 3e 3c 2f 69 3e 20 74 68 65 20 3c 69  n</u></i> the <i
11e30 3e 3c 75 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65  ><u>natural sele
11e40 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 65 6c  ction</u></i> el
11e50 69 6d 69 6e 61 74 65 73 20 61 6c 6c 20 70 6f 6f  iminates all poo
11e60 72 6c 79 20 66 69 74 20 69 6e 64 69 76 69 64 75  rly fit individu
11e70 61 6c 73 20 66 72 6f 6d 20 74 68 65 20 3c 69 3e  als from the <i>
11e80 3c 75 3e 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f 75  <u>population</u
11e90 3e 3c 2f 69 3e 20 61 6e 64 20 63 6f 6e 73 65 71  ></i> and conseq
11ea0 75 65 6e 74 6c 79 20 6f 6e 6c 79 20 74 68 65 20  uently only the 
11eb0 62 65 73 74 20 66 69 74 20 69 6e 64 69 76 69 64  best fit individ
11ec0 75 61 6c 73 20 63 61 6e 20 70 72 6f 70 61 67 61  uals can propaga
11ed0 74 65 20 74 68 65 69 72 20 3c 75 3e 3c 69 3e 67  te their <u><i>g
11ee0 65 6e 6f 6d 65 3c 2f 69 3e 3c 2f 75 3e 20 74 6f  enome</i></u> to
11ef0 20 6e 65 78 74 20 3c 75 3e 3c 69 3e 67 65 6e 65   next <u><i>gene
11f00 72 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c  ration</i></u>.<
11f10 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 66 74 65 72 20  /li>..<li>after 
11f20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72  a certain number
11f30 20 6f 66 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61   of <i><u>genera
11f40 74 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 20 28 6c  tions</i></u> (l
11f50 65 74 27 73 20 73 61 79 20 61 62 6f 75 74 20 73  et's say about s
11f60 6f 6d 65 20 68 75 6e 64 72 65 64 74 68 20 69 74  ome hundredth it
11f70 65 72 61 74 69 6f 6e 73 29 20 74 68 65 20 3c 62  erations) the <b
11f80 3e 6f 70 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f  >optimal solutio
11f90 6e 3c 2f 62 3e 20 28 6f 72 20 61 74 20 6c 65 61  n</b> (or at lea
11fa0 73 74 20 61 20 3c 62 3e 66 61 69 72 6c 79 20 67  st a <b>fairly g
11fb0 6f 6f 64 20 73 75 62 2d 6f 70 74 69 6d 61 6c 20  ood sub-optimal 
11fc0 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 29 20 73 68  solution</b>) sh
11fd0 6f 75 6c 64 20 66 69 6e 61 6c 6c 79 20 65 6d 65  ould finally eme
11fe0 72 67 65 2c 20 61 6e 64 20 73 6f 20 74 68 65 20  rge, and so the 
11ff0 6c 6f 6f 70 20 63 61 6e 20 65 78 69 74 2e 3c 2f  loop can exit.</
12000 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
12010 0a 3c 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  .<li><u>Note</u>
12020 3a 20 54 53 50 20 47 41 20 69 73 20 75 73 75 61  : TSP GA is usua
12030 6c 6c 79 20 65 78 70 65 63 74 65 64 20 74 6f 20  lly expected to 
12040 69 64 65 6e 74 69 66 79 20 62 65 74 74 65 72 20  identify better 
12050 73 6f 6c 75 74 69 6f 6e 73 20 74 68 61 6e 20 54  solutions than T
12060 53 50 20 4e 4e 20 63 61 6e 20 64 6f 2c 20 62 75  SP NN can do, bu
12070 74 20 69 74 20 77 69 6c 6c 20 73 75 72 65 6c 79  t it will surely
12080 20 72 65 71 75 69 72 65 20 6d 75 63 68 20 6d 6f   require much mo
12090 72 65 20 74 69 6d 65 20 74 6f 20 63 6f 6d 70 6c  re time to compl
120a0 65 74 65 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c  ete.</li> ..</ul
120b0 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74  >..<br><br>..Let
120c0 27 73 20 6e 6f 77 20 65 78 61 6d 69 6e 65 20 61  's now examine a
120d0 20 70 72 61 63 74 69 63 61 6c 20 65 78 61 6d 70   practical examp
120e0 6c 65 20 6f 66 20 54 53 50 20 73 6f 6c 76 69 6e  le of TSP solvin
120f0 67 20 75 73 69 6e 67 20 56 69 72 74 75 61 6c 52  g using VirtualR
12100 6f 75 74 69 6e 67 2e 20 0d 0a 3c 76 65 72 62 61  outing. ..<verba
12110 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66  tim>..UPDATE byf
12120 6f 6f 74 20 53 45 54 20 52 65 71 75 65 73 74 20  oot SET Request 
12130 3d 20 27 54 53 50 27 3b 0d 0a 0d 0a 53 45 4c 45  = 'TSP';....SELE
12140 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65  CT Algorithm, Re
12150 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20  quest, Options, 
12160 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65  Delimiter, Route
12170 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  Id, RouteRow, Ro
12180 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
12190 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
121a0 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
121b0 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f   Name..FROM byfo
121c0 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72  ot..WHERE NodeFr
121d0 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20  om = 178731 AND 
121e0 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36  NodeTo = '183286
121f0 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31  ,181999,184030,1
12200 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a  83882,178754';..
12210 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 20 56  </verbatim>..A V
12220 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 3c 62  irtualRouting <b
12230 3e 54 53 50 3c 2f 62 3e 20 71 75 65 72 79 20 68  >TSP</b> query h
12240 61 73 20 74 68 65 20 73 61 6d 65 20 69 64 65 6e  as the same iden
12250 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66 20 61 20  tical form of a 
12260 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61  <b>multi-destina
12270 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 79 3b 20  tion</b> query; 
12280 74 68 65 20 3c 69 3e 3c 75 3e 62 61 73 65 20 63  the <i><u>base c
12290 69 74 79 3c 75 3e 3c 2f 69 3e 20 69 73 20 61 6c  ity<u></i> is al
122a0 77 61 79 73 20 65 78 70 65 63 74 65 64 20 74 6f  ways expected to
122b0 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 3c   correspond to <
122c0 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61  b>NodeFrom</b> a
122d0 6e 64 20 61 6c 6c 20 6f 74 68 65 72 20 3c 69 3e  nd all other <i>
122e0 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69  <u>cities</u></i
122f0 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 20  > to be visited 
12300 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20  are expected to 
12310 62 65 20 65 6e 75 6d 65 72 61 74 65 64 20 69 6e  be enumerated in
12320 74 6f 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65  to a <b>multi-de
12330 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 6c 69  stination</b> li
12340 73 74 20 61 73 73 69 67 6e 65 64 20 74 6f 20 3c  st assigned to <
12350 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c  b>NodeTo</b>...<
12360 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75 20  u>Note</u>: you 
12370 6d 75 73 74 20 65 78 70 6c 69 63 69 74 6c 79 20  must explicitly 
12380 73 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20  set the current 
12390 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 61  <b>Request</b> a
123a0 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 2c 20 3c 62  s <b>TSP</b>, <b
123b0 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 6f 72 20 3c  >TSP NN</b> or <
123c0 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 28 54 53  b>TSP GA</b> (TS
123d0 50 20 61 6e 64 20 54 53 50 20 4e 4e 20 61 72 65  P and TSP NN are
123e0 20 73 79 6e 6f 6e 69 6d 73 29 2e 0d 0a 3c 62 72   synonims)...<br
123f0 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  ><br>..<table bo
12400 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
12410 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
12420 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
12430 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
12440 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
12450 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d  0d0a0">Algorithm
12460 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
12470 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65  ="#d0d0a0">Reque
12480 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
12490 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74  or="#d0d0a0">Opt
124a0 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ions</th><th bgc
124b0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44  olor="#d0d0a0">D
124c0 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68  elimiter</th><th
124d0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
124e0 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c  0">RouteId</th><
124f0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
12500 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74  0a0">RouteRow</t
12510 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
12520 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68  d0d0a0">Role</th
12530 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
12540 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64  0d0a0">LinkRowid
12550 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
12560 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46  ="#d0d0a0">NodeF
12570 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  rom</th><th bgco
12580 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
12590 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63  deTo</th><th bgc
125a0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43  olor="#d0d0a0">C
125b0 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ost</th><th bgco
125c0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65  lor="#d0d0a0">Ge
125d0 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62  ometry</th><th b
125e0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
125f0 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d  >Name</th></tr>.
12600 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73  .<tr>..<td>Dijks
12610 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20  tra</td><td>TSP 
12620 4e 4e 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c  NN</td><td>Full<
12630 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64  /td><td>, &#91;d
12640 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39  ec=44, hex=2c&#9
12650 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  3;</td><td align
12660 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
12670 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
12680 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53  >0</td><td>TSP S
12690 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e  olution</td><td>
126a0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
126b0 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
126c0 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
126d0 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
126e0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
126f0 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33 33  ght">1254.433933
12700 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
12710 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f  =2000 GEOMETRY</
12720 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
12730 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
12740 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
12750 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
12760 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74  L</td><td>NULL<t
12770 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
12780 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
12790 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
127a0 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
127b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
127c0 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
127d0 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
127e0 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f  "right">184030</
127f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
12800 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c  ght">176.364755<
12810 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
12820 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  304 GEOMETRY</td
12830 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
12840 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
12850 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
12860 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
12870 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
12880 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
12890 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">2</td><td ali
128a0 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
128b0 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
128c0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
128d0 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224014</td><td a
128e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
128f0 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
12900 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
12910 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
12920 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34  right">94.812424
12930 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
12940 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f  d><td>VIA PIETRO
12950 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c   ARETINO</td>..<
12960 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e  /tr>..<tr>..<tr>
12970 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
12980 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
12990 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
129a0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
129b0 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
129c0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
129d0 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
129e0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
129f0 67 68 74 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e  ght">224862</td>
12a00 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
12a10 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
12a20 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
12a30 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  82043</td><td al
12a40 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 2e 30  ign="right">37.0
12a50 39 35 32 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  95287</td><td>NU
12a60 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
12a70 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d  ARGARITONE</td>.
12a80 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
12a90 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
12aa0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
12ab0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
12ac0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
12ad0 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">2</td><td al
12ae0 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
12af0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
12b00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
12b10 3e 32 32 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20  >226070</td><td 
12b20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
12b30 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2043</td><td ali
12b40 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33  gn="right">18403
12b50 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
12b60 22 72 69 67 68 74 22 3e 34 34 2e 34 35 37 30 34  "right">44.45704
12b70 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
12b80 74 64 3e 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41  td><td>PIAZZA SA
12b90 4e 54 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e  NT'AGOSTINO</td>
12ba0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
12bb0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
12bc0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
12bd0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
12be0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
12bf0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61  ght">2</td><td a
12c00 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
12c10 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
12c20 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
12c30 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
12c40 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61  184030</td><td a
12c50 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
12c60 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  999</td><td alig
12c70 6e 3d 22 72 69 67 68 74 22 3e 31 33 39 2e 31 31  n="right">139.11
12c80 34 39 33 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  4938</td><td>BLO
12c90 42 20 73 7a 3d 34 39 36 20 47 45 4f 4d 45 54 52  B sz=496 GEOMETR
12ca0 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
12cb0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
12cc0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
12cd0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
12ce0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
12cf0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
12d00 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
12d10 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
12d20 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
12d30 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
12d40 67 68 74 22 3e 32 32 36 30 37 31 3c 2f 74 64 3e  ght">226071</td>
12d50 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
12d60 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64  ">184030</td><td
12d70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
12d80 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  82629</td><td al
12d90 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 35 2e 36  ign="right">55.6
12da0 38 39 30 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  89009</td><td>NU
12db0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 47  LL</td><td>VIA G
12dc0 49 55 53 45 50 50 45 20 47 41 52 49 42 41 4c 44  IUSEPPE GARIBALD
12dd0 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
12de0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
12df0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
12e00 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
12e10 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
12e20 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
12e30 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
12e40 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
12e50 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
12e60 22 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c 2f  "right">225512</
12e70 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
12e80 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e  ght">182629</td>
12e90 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
12ea0 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64  ">182933</td><td
12eb0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
12ec0 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64  4.184194</td><td
12ed0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f  >NULL</td><td>CO
12ee0 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d  RSO ITALIA</td>.
12ef0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
12f00 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
12f10 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
12f20 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
12f30 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
12f40 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">3</td><td al
12f50 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
12f60 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
12f70 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
12f80 3e 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20  >225511</td><td 
12f90 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
12fa0 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2933</td><td ali
12fb0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39  gn="right">18199
12fc0 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
12fd0 22 72 69 67 68 74 22 3e 34 39 2e 32 34 31 37 33  "right">49.24173
12fe0 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  5</td><td>NULL</
12ff0 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41  td><td>CORSO ITA
13000 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LIA</td>..</tr>.
13010 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
13020 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13030 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13040 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
13050 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
13060 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13070 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
13080 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
13090 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
130a0 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
130b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
130c0 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
130d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
130e0 22 3e 32 31 37 2e 36 37 32 38 38 35 3c 2f 74 64  ">217.672885</td
130f0 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 38  ><td>BLOB sz=688
13100 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
13110 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
13120 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
13130 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
13140 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13150 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13160 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13170 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
13180 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
13190 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
131a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32  lign="right">222
131b0 36 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  635</td><td alig
131c0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
131d0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
131e0 72 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f 74  right">181998</t
131f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13200 68 74 22 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f  ht">101.629750</
13210 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
13220 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41  <td>CORSO ITALIA
13230 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
13240 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
13250 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13260 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13270 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
13280 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e  n="right">4</td>
13290 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
132a0 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
132b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
132c0 72 69 67 68 74 22 3e 32 32 34 37 38 30 3c 2f 74  right">224780</t
132d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
132e0 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c  ht">181998</td><
132f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13300 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20  >183560</td><td 
13310 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 33  align="right">73
13320 2e 37 33 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e  .733572</td><td>
13330 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
13340 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f   DELL'ANFITEATRO
13350 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
13360 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
13370 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13380 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13390 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  ULL<td align="ri
133a0 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61  ght">4</td><td a
133b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
133c0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
133d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
133e0 22 3e 32 32 35 38 32 37 3c 2f 74 64 3e 3c 74 64  ">225827</td><td
133f0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
13400 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  83560</td><td al
13410 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
13420 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
13430 3d 22 72 69 67 68 74 22 3e 34 32 2e 33 30 39 35  ="right">42.3095
13440 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  64</td><td>NULL<
13450 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c  /td><td>VIA DELL
13460 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e  'ANFITEATRO</td>
13470 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
13480 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13490 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
134a0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
134b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
134c0 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61  ght">4</td><td a
134d0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
134e0 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
134f0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13500 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13510 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
13520 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
13530 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  754</td><td alig
13540 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 31  n="right">378.31
13550 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  3684</td><td>BLO
13560 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52  B sz=272 GEOMETR
13570 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
13580 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
13590 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
135a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
135b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
135c0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
135d0 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
135e0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
135f0 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
13600 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13610 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e  ght">224414</td>
13620 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13630 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
13640 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
13650 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  78880</td><td al
13660 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e  ign="right">136.
13670 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e  372057</td><td>N
13680 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
13690 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
136a0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
136b0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
136c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
136d0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
136e0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
136f0 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61  ght">5</td><td a
13700 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
13710 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
13720 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13730 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64  ">219171</td><td
13740 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
13750 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  78880</td><td al
13760 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
13770 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  32</td><td align
13780 3d 22 72 69 67 68 74 22 3e 39 33 2e 32 38 35 35  ="right">93.2855
13790 33 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  38</td><td>NULL<
137a0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e  /td><td>VIA FRAN
137b0 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64  CESCO CRISPI</td
137c0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
137d0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
137e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
137f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
13800 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13810 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20  ight">5</td><td 
13820 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
13830 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
13840 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13850 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74  t">219058</td><t
13860 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13870 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61  178732</td><td a
13880 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
13890 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  754</td><td alig
138a0 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36 35  n="right">148.65
138b0 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  6089</td><td>NUL
138c0 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
138d0 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
138e0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
138f0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
13900 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13910 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13920 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
13930 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
13940 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13950 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
13960 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13970 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13980 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74  t">178754</td><t
13990 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
139a0 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61  183882</td><td a
139b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 38  lign="right">188
139c0 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e  .216831</td><td>
139d0 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d  BLOB sz=400 GEOM
139e0 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
139f0 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
13a00 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
13a10 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
13a20 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13a30 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
13a40 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64  gn="right">6</td
13a50 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13a60 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">1</td><td>Lin
13a70 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
13a80 22 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f  "right">224538</
13a90 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13aa0 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e  ght">178754</td>
13ab0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13ac0 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64  ">181972</td><td
13ad0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35   align="right">5
13ae0 30 2e 39 30 30 36 36 33 3c 2f 74 64 3e 3c 74 64  0.900663</td><td
13af0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
13b00 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47  A ANTONIO GUADAG
13b10 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NOLI</td>..</tr>
13b20 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
13b30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13b40 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
13b50 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74  td>NULL</td>..<t
13b60 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13b70 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
13b80 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
13b90 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
13ba0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
13bb0 35 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  537</td><td alig
13bc0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32  n="right">181972
13bd0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13be0 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74  right">182000</t
13bf0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13c00 68 74 22 3e 38 36 2e 33 30 31 30 35 31 3c 2f 74  ht">86.301051</t
13c10 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
13c20 74 64 3e 56 49 41 20 44 45 4c 20 4e 49 4e 46 45  td>VIA DEL NINFE
13c30 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
13c40 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
13c50 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
13c60 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13c70 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
13c80 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64  gn="right">6</td
13c90 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13ca0 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
13cb0 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
13cc0 22 72 69 67 68 74 22 3e 32 32 35 35 32 37 3c 2f  "right">225527</
13cd0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13ce0 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e  ght">182000</td>
13cf0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13d00 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64  ">183882</td><td
13d10 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35   align="right">5
13d20 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64  1.015117</td><td
13d30 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
13d40 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 49  A LICIO NENCETTI
13d50 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
13d60 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
13d70 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13d80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13d90 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
13da0 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e  n="right">6</td>
13db0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13dc0 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
13dd0 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74  e</td><td>NULL<t
13de0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13df0 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61  183882</td><td a
13e00 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
13e10 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
13e20 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e 37 35  n="right">154.75
13e30 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  0839</td><td>BLO
13e40 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52  B sz=240 GEOMETR
13e50 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
13e60 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
13e70 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
13e80 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13e90 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13ea0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
13eb0 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74  "right">7</td><t
13ec0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13ed0 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
13ee0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13ef0 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e  ght">225527</td>
13f00 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13f10 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64  ">183882</td><td
13f20 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
13f30 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  82000</td><td al
13f40 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30  ign="right">51.0
13f50 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  15117</td><td>NU
13f60 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c  LL</td><td>VIA L
13f70 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74  ICIO NENCETTI</t
13f80 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
13f90 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
13fa0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13fb0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13fc0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13fd0 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64  right">7</td><td
13fe0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
13ff0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
14000 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14010 68 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c  ht">222636</td><
14020 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14030 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20  >182000</td><td 
14040 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
14050 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
14060 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 37  gn="right">103.7
14070 33 35 37 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55  35722</td><td>NU
14080 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
14090 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
140a0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  d>..</tr>..</tab
140b0 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73  le>..<br>..Let's
140c0 20 6e 6f 77 20 71 75 69 63 6b 6c 79 20 65 78 61   now quickly exa
140d0 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73  mine the results
140e0 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 61  et returned by a
140f0 6e 79 20 54 53 50 20 71 75 65 72 79 3a 0d 0a 3c  ny TSP query:..<
14100 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 65 6e  ul>..<li>the gen
14110 65 72 61 6c 20 6c 61 79 6f 75 74 20 69 73 20 6d  eral layout is m
14120 6f 72 65 20 6f 72 20 6c 65 73 73 20 74 68 65 20  ore or less the 
14130 73 61 6d 65 20 61 73 20 79 6f 75 27 76 65 20 61  same as you've a
14140 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74  lready seen in t
14150 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e 53 68  he case of <b>Sh
14160 6f 72 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 71  ortestPath</b> q
14170 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  ueries.</li>..<l
14180 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72  i>the <b>first r
14190 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65  ow</b> of the re
141a0 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d 65 77  sultset is somew
141b0 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20  ay exceptional, 
141c0 61 6e 64 20 69 73 20 74 68 65 20 75 6e 69 71 75  and is the uniqu
141d0 65 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73  e row of the res
141e0 75 6c 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e  ultset presentin
141f0 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62  g <b>NOT NULL</b
14200 3e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20  > values in the 
14210 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e  <b>Algorithm</b>
14220 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e  , <b>Request</b>
14230 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e  , <b>Options</b>
14240 20 61 6e 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65   and <b>Delimite
14250 72 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 3b 20 61  r</b> columns; a
14260 6e 64 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 74  nd it contains t
14270 68 65 20 3c 62 3e 54 53 50 20 73 6f 6c 75 74 69  he <b>TSP soluti
14280 6f 6e 3c 2f 62 3e 20 61 73 20 61 20 77 68 6f 6c  on</b> as a whol
14290 65 2e 3c 62 72 3e 0d 0a 43 6f 6c 75 6d 6e 73 20  e.<br>..Columns 
142a0 3c 62 3e 43 6f 73 74 3c 2f 62 3e 20 69 73 20 74  <b>Cost</b> is t
142b0 68 65 20 3c 75 3e 74 6f 74 61 6c 20 63 6f 73 74  he <u>total cost
142c0 3c 2f 75 3e 20 61 6e 64 20 63 6f 6c 75 6d 6e 20  </u> and column 
142d0 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20  <b>Geometry</b> 
142e0 69 73 20 74 68 65 20 6f 76 65 72 61 6c 20 73 6f  is the overal so
142f0 6c 75 74 69 6f 6e 20 70 61 74 68 2e 3c 2f 6c 69  lution path.</li
14300 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c  >..<li>columns <
14310 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 61 6e  b>RouteId</b> an
14320 64 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62  d <b>RouteRow</b
14330 3e 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20  > have the same 
14340 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61  interpretation a
14350 73 20 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d 64 65  s in <b>multi-de
14360 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65  stination Shorte
14370 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 69  stPath</b> queri
14380 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20  es, but in this 
14390 73 70 65 63 69 66 69 63 20 63 61 73 65 20 65 61  specific case ea
143a0 63 68 20 3c 75 3e 3c 69 3e 72 6f 75 74 65 3c 2f  ch <u><i>route</
143b0 69 3e 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f 6e  i></u> correspon
143c0 64 73 20 74 6f 20 61 20 63 6f 6e 6e 65 63 74 69  ds to a connecti
143d0 6f 6e 20 62 65 74 77 65 65 6e 20 74 77 6f 20 3c  on between two <
143e0 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c  i><u>cities</u><
143f0 2f 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 3c 69  /i>.<br>..All <i
14400 3e 3c 75 3e 72 6f 75 74 65 73 3c 2f 75 3e 3c 2f  ><u>routes</u></
14410 69 3e 20 61 72 65 20 6f 72 64 65 72 20 61 63 63  i> are order acc
14420 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20  ordingly to the 
14430 72 75 6e 6e 69 6e 67 20 73 65 71 75 65 6e 63 65  running sequence
14440 20 6f 66 20 74 68 65 20 54 53 50 20 73 6f 6c 75   of the TSP solu
14450 74 69 6f 6e 2e 20 3c 62 3e 52 6f 75 74 65 49 64  tion. <b>RouteId
14460 3d 30 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65  =0</b> identifie
14470 73 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 54 53  s the overall TS
14480 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e  P solution.</li>
14490 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 76 65  ..</ul><br>..<ve
144a0 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20  rbatim>..UPDATE 
144b0 62 79 66 6f 6f 74 20 53 45 54 20 52 65 71 75 65  byfoot SET Reque
144c0 73 74 20 3d 20 27 54 53 50 20 47 41 27 3b 0d 0a  st = 'TSP GA';..
144d0 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74  ..SELECT Algorit
144e0 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74  hm, Request, Opt
144f0 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c  ions, Delimiter,
14500 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52   RouteId, RouteR
14510 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
14520 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
14530 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
14540 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
14550 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
14560 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
14570 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27  1 AND NodeTo = '
14580 31 38 33 32 38 36 2c 31 38 31 39 39 39 2c 31 38  183286,181999,18
14590 34 30 33 30 2c 31 38 33 38 38 32 2c 31 37 38 37  4030,183882,1787
145a0 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  54';..</verbatim
145b0 3e 0d 0a 49 66 20 79 6f 75 20 77 68 69 73 68 20  >..If you whish 
145c0 74 6f 20 67 65 74 20 61 20 3c 62 3e 54 53 50 20  to get a <b>TSP 
145d0 47 41 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20  GA</b> solution 
145e0 79 6f 75 20 73 69 6d 70 6c 65 20 68 61 76 65 20  you simple have 
145f0 74 6f 20 73 65 74 20 3c 62 3e 52 65 71 75 65 73  to set <b>Reques
14600 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 53 50 20  t</b> as <b>TSP 
14610 47 41 3c 2f 62 3e 3b 20 61 6e 64 20 79 6f 75 20  GA</b>; and you 
14620 63 61 6e 20 73 65 74 20 61 67 61 69 6e 20 3c 62  can set again <b
14630 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20  >Request</b> as 
14640 3c 62 3e 54 53 50 3c 2f 62 3e 20 6f 72 20 3c 62  <b>TSP</b> or <b
14650 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 74 6f 20 72  >TSP NN</b> to r
14660 65 76 65 72 74 20 62 61 63 6b 20 74 6f 20 74 68  evert back to th
14670 65 20 73 69 6d 70 6c 65 72 20 2f 20 66 61 73 74  e simpler / fast
14680 65 72 20 61 6c 67 6f 72 69 74 68 6d 2e 0d 0a 3c  er algorithm...<
14690 62 72 3e 0d 0a 41 6c 73 6f 20 69 6e 20 74 68 65  br>..Also in the
146a0 20 63 61 73 65 20 6f 66 20 54 53 50 20 79 6f 75   case of TSP you
146b0 20 63 61 6e 20 65 76 65 6e 74 75 61 6c 6c 79 20   can eventually 
146c0 61 63 74 69 76 61 74 65 20 74 68 65 20 75 73 75  activate the usu
146d0 61 6c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62  al <b>Options</b
146e0 3e 20 61 6c 72 65 61 64 79 20 65 78 70 6c 61 69  > already explai
146f0 6e 65 64 20 69 6e 20 74 68 65 20 53 68 6f 72 74  ned in the Short
14700 65 73 74 50 61 74 68 20 65 78 61 6d 70 6c 65 73  estPath examples
14710 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55  ...<verbatim>..U
14720 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54  PDATE byfoot SET
14730 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 27   Request = 'TSP'
14740 2c 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20  , Options = 'NO 
14750 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43  LINKS';....SELEC
14760 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71  T Algorithm, Req
14770 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44  uest, Options, D
14780 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49  elimiter, RouteI
14790 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c  d, RouteRow, Rol
147a0 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f  e, LinkRowid, No
147b0 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20  deFrom, NodeTo, 
147c0 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20  Cost, Geometry, 
147d0 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f  Name..FROM byfoo
147e0 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f  t..WHERE NodeFro
147f0 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e  m = 178731 AND N
14800 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c  odeTo = '183286,
14810 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38  181999,184030,18
14820 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c  3882,178754';..<
14830 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62  /verbatim>..<tab
14840 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67  le border="1" bg
14850 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20  color="#ffffcf" 
14860 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20  cellspacing="4" 
14870 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
14880 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f  ..<tr><th bgcolo
14890 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f  r="#d0d0a0">Algo
148a0 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  rithm</th><th bg
148b0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
148c0 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20  Request</th><th 
148d0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
148e0 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74  ">Options</th><t
148f0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
14900 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74  a0">Delimiter</t
14910 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
14920 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c  d0d0a0">RouteId<
14930 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
14940 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52  "#d0d0a0">RouteR
14950 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ow</th><th bgcol
14960 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c  or="#d0d0a0">Rol
14970 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  e</th><th bgcolo
14980 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b  r="#d0d0a0">Link
14990 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67  Rowid</th><th bg
149a0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
149b0 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  NodeFrom</th><th
149c0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
149d0 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74  0">NodeTo</th><t
149e0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
149f0 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68  a0">Cost</th><th
14a00 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
14a10 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e  0">Geometry</th>
14a20 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
14a30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c  d0a0">Name</th><
14a40 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
14a50 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64  Dijkstra</td><td
14a60 3e 54 53 50 20 4e 4e 3c 2f 74 64 3e 3c 74 64 3e  >TSP NN</td><td>
14a70 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64 3e 3c 74 64  No Links</td><td
14a80 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20  >, &#91;dec=44, 
14a90 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e  hex=2c&#93;</td>
14aa0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14ab0 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
14ac0 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
14ad0 3c 74 64 3e 54 53 50 20 53 6f 6c 75 74 69 6f 6e  <td>TSP Solution
14ae0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14af0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14b00 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
14b10 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14b20 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
14b30 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32  align="right">12
14b40 35 34 2e 34 33 33 39 33 33 3c 2f 74 64 3e 3c 74  54.433933</td><t
14b50 64 3e 42 4c 4f 42 20 73 7a 3d 32 30 30 30 20 47  d>BLOB sz=2000 G
14b60 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
14b70 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
14b80 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
14b90 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14ba0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14bb0 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e  td>NULL<td align
14bc0 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
14bd0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14be0 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
14bf0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14c00 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14c10 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
14c20 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14c30 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20  >184030</td><td 
14c40 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
14c50 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 74 64  6.364755</td><td
14c60 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 20 47 45 4f  >BLOB sz=304 GEO
14c70 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
14c80 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
14c90 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
14ca0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14cb0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14cc0 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22  >NULL<td align="
14cd0 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
14ce0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
14cf0 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
14d00 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14d10 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14d20 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64  ">184030</td><td
14d30 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14d40 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
14d50 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 39 2e  ign="right">139.
14d60 31 31 34 39 33 38 3c 2f 74 64 3e 3c 74 64 3e 42  114938</td><td>B
14d70 4c 4f 42 20 73 7a 3d 34 39 36 20 47 45 4f 4d 45  LOB sz=496 GEOME
14d80 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
14d90 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14da0 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14db0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14dc0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14dd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
14de0 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
14df0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14e00 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
14e10 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
14e20 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14e30 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e  ght">181999</td>
14e40 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14e50 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
14e60 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
14e70 31 37 2e 36 37 32 38 38 35 3c 2f 74 64 3e 3c 74  17.672885</td><t
14e80 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 38 20 47 45  d>BLOB sz=688 GE
14e90 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
14ea0 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
14eb0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
14ec0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14ed0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14ee0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
14ef0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f  lign="right">4</
14f00 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14f10 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
14f20 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
14f30 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
14f40 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f  "right">183286</
14f50 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14f60 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e  ght">178754</td>
14f70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14f80 22 3e 33 37 38 2e 33 31 33 36 38 34 3c 2f 74 64  ">378.313684</td
14f90 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32  ><td>BLOB sz=272
14fa0 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
14fb0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
14fc0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
14fd0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14fe0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14ff0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15000 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15010 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
15020 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
15030 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
15040 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
15050 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35  gn="right">17875
15060 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
15070 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f  "right">183882</
15080 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15090 67 68 74 22 3e 31 38 38 2e 32 31 36 38 33 31 3c  ght">188.216831<
150a0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
150b0 34 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  400 GEOMETRY</td
150c0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
150d0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
150e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
150f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
15100 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15110 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15120 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">6</td><td ali
15130 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
15140 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
15150 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
15160 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
15170 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3882</td><td ali
15180 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
15190 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
151a0 22 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38  "right">154.7508
151b0 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  39</td><td>BLOB 
151c0 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c  sz=240 GEOMETRY<
151d0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
151e0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  >..</tr>..</tabl
151f0 65 3e 0d 0a 0d 0a 0d 0a 54 68 65 20 6d 61 70 20  e>......The map 
15200 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c  below graphicall
15210 79 20 73 68 6f 77 73 20 74 68 65 20 70 72 65 76  y shows the prev
15220 69 6f 75 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20  ious <b>TSP</b> 
15230 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62  queries...<br><b
15240 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74  r>..<img src="ht
15250 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
15260 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
15270 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 74 73 70  routing-figs/tsp
15280 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 34  1.jpg" alt="fig4
15290 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65  ">..<ul>..<li>Re
152a0 64 20 73 74 61 72 3a 20 74 68 65 20 3c 75 3e 3c  d star: the <u><
152b0 69 3e 62 61 73 65 2d 63 69 74 79 3c 2f 69 3e 3c  i>base-city</i><
152c0 2f 75 3e 20 28 69 2e 65 2e 20 66 72 6f 6d 20 77  /u> (i.e. from w
152d0 68 65 72 65 20 74 68 65 20 3c 75 3e 3c 69 3e 73  here the <u><i>s
152e0 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29  alesman</i></u>)
152f0 20 62 65 67 69 6e 73 20 68 69 73 2f 68 65 72 20   begins his/her 
15300 74 72 69 70 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  trip.</li>..<li>
15310 47 72 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20  Green dots: the 
15320 3c 75 3e 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e  <u><i>cities</i>
15330 3c 2f 75 3e 20 74 6f 20 62 65 20 76 69 73 69 74  </u> to be visit
15340 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65  ed.</li>..<li>Ye
15350 6c 6c 6f 77 20 6c 69 6e 65 3a 20 74 68 65 20 54  llow line: the T
15360 53 50 20 73 6f 6c 75 74 69 6f 6e 20 28 74 68 61  SP solution (tha
15370 74 20 69 73 20 61 6c 77 61 79 73 20 61 20 63 69  t is always a ci
15380 72 63 75 6c 61 72 20 70 61 74 68 29 2e 3c 2f 6c  rcular path).</l
15390 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d  i>..</ul>..<br>.
153a0 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73  .<img src="https
153b0 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
153c0 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75  it/gaia-sins/rou
153d0 74 69 6e 67 2d 66 69 67 73 2f 74 73 70 32 2e 6a  ting-figs/tsp2.j
153e0 70 67 22 20 61 6c 74 3d 22 66 69 67 35 22 3e 0d  pg" alt="fig5">.
153f0 0a 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 61 20  ...<hr><br>..<a 
15400 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77  href="https://ww
15410 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f  w.gaia-gis.it/fo
15420 73 73 69 6c 2f 6c 69 62 73 70 61 74 69 61 6c 69  ssil/libspatiali
15430 74 65 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34 2e 33  te/wiki?name=4.3
15440 2e 30 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f 61 3e  .0-doc">back</a>
15450 0a 5a 20 31 34 34 38 65 63 33 65 33 65 63 35 33  .Z 1448ec3e3ec53
15460 33 65 30 66 37 32 38 39 33 63 62 31 39 62 37 32  3e0f72893cb19b72
15470 30 62 37 0a                                      0b7.