Hex Artifact Content
Not logged in

Artifact d6656eb3da412abdaf33d64eebe50fb10d58b856:

Wiki page [VirtualRouting] by sandro 2018-04-27 15:17:57.
0000: 44 20 32 30 31 38 2d 30 34 2d 32 37 54 31 35 3a  D 2018-04-27T15:
0010: 31 37 3a 35 37 2e 30 35 39 0a 4c 20 56 69 72 74  17:57.059.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 34 33 63  ualRouting.P 43c
0030: 32 34 35 62 38 33 39 64 35 32 32 34 66 34 32 64  245b839d5224f42d
0040: 38 33 30 61 66 39 32 36 33 30 33 62 36 33 30 62  830af926303b630b
0050: 38 35 38 63 65 0a 55 20 73 61 6e 64 72 6f 0a 57  858ce.U sandro.W
0060: 20 31 35 31 36 32 31 0a 3c 61 20 68 72 65 66 3d   151621.<a href=
0070: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
0080: 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f  a-gis.it/fossil/
0090: 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69  libspatialite/wi
00a0: 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f  ki?name=4.3.0-do
00b0: 63 22 3e 62 61 63 6b 3c 2f 61 3e 3c 68 72 3e 3c  c">back</a><hr><
00c0: 62 72 3e 0d 0a 3c 68 31 3e 54 61 62 6c 65 20 6f  br>..<h1>Table o
00d0: 66 20 43 6f 6e 74 65 6e 74 73 3c 2f 68 31 3e 0d  f Contents</h1>.
00e0: 0a 31 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 69  .1 - <a href="#i
00f0: 6e 74 72 6f 22 3e 49 6e 74 72 6f 64 75 63 74 69  ntro">Introducti
0100: 6f 6e 3c 2f 61 3e 3c 62 72 3e 0d 0a 32 20 2d 20  on</a><br>..2 - 
0110: 3c 61 20 68 72 65 66 3d 22 23 73 61 6d 70 6c 65  <a href="#sample
0120: 22 3e 54 68 65 20 73 61 6d 70 6c 65 2f 74 65 73  ">The sample/tes
0130: 74 20 44 42 3c 2f 61 3e 3c 62 72 3e 0d 0a 33 20  t DB</a><br>..3 
0140: 2d 20 3c 61 20 68 72 65 66 3d 22 23 63 72 65 61  - <a href="#crea
0150: 74 65 22 3e 43 72 65 61 74 69 6e 67 20 56 69 72  te">Creating Vir
0160: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
0170: 65 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 34 20 2d 20  es</a><br>..4 - 
0180: 3c 61 20 68 72 65 66 3d 22 23 66 72 6f 6d 5f 74  <a href="#from_t
0190: 6f 22 3e 53 6f 6c 76 69 6e 67 20 63 6c 61 73 73  o">Solving class
01a0: 69 63 20 53 68 6f 72 74 65 73 74 20 50 61 74 68  ic Shortest Path
01b0: 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72   problems</a><br
01c0: 3e 0d 0a 35 20 2d 20 3c 61 20 68 72 65 66 3d 22  >..5 - <a href="
01d0: 23 6d 75 6c 74 69 22 3e 53 6f 6c 76 69 6e 67 20  #multi">Solving 
01e0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
01f0: 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  n Shortest Path 
0200: 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e  problems</a><br>
0210: 0d 0a 36 20 2d 20 3c 61 20 68 72 65 66 3d 22 23  ..6 - <a href="#
0220: 69 73 6f 63 68 72 6f 6e 65 22 3e 53 6f 6c 76 69  isochrone">Solvi
0230: 6e 67 20 49 73 6f 63 68 72 6f 6e 65 20 70 72 6f  ng Isochrone pro
0240: 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 37  blems</a><br>..7
0250: 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 74 73 70   - <a href="#tsp
0260: 22 3e 53 6f 6c 76 69 6e 67 20 54 53 50 20 28 74  ">Solving TSP (t
0270: 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 73 6d 61  raveling salesma
0280: 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c  n) problems</a><
0290: 62 72 3e 0d 0a 38 20 2d 20 3c 61 20 68 72 65 66  br>..8 - <a href
02a0: 3d 22 23 70 32 70 22 3e 53 6f 6c 76 69 6e 67 20  ="#p2p">Solving 
02b0: 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 70  Point-to-Point p
02c0: 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e 0d  roblems</a><br>.
02d0: 0a 3c 62 72 3e 3c 68 72 3e 0d 0a 3c 68 31 3e 3c  .<br><hr>..<h1><
02e0: 61 20 6e 61 6d 65 3d 22 69 6e 74 72 6f 22 3e 31  a name="intro">1
02f0: 20 2d 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c   - Introduction<
0300: 2f 61 3e 3c 2f 68 31 3e 0d 0a 50 72 65 76 69 6f  /a></h1>..Previo
0310: 75 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 53  us versions of S
0320: 70 61 74 69 61 4c 69 74 65 20 74 72 61 64 69 74  patiaLite tradit
0330: 69 6f 6e 61 6c 6c 79 20 73 75 70 70 6f 72 74 65  ionally supporte
0340: 64 20 61 20 3c 62 3e 70 75 72 65 20 53 51 4c 20  d a <b>pure SQL 
0350: 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65 3c 2f  routing module</
0360: 62 3e 20 74 68 61 74 20 77 61 73 20 6e 61 6d 65  b> that was name
0370: 64 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73  d <a href="https
0380: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
0390: 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61  it/fossil/libspa
03a0: 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d  tialite/wiki?nam
03b0: 65 3d 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b  e=VirtualNetwork
03c0: 2b 72 65 6c 6f 61 64 65 64 22 3e 56 69 72 74 75  +reloaded">Virtu
03d0: 61 6c 4e 65 74 77 6f 72 6b 3c 2f 61 3e 2e 3c 62  alNetwork</a>.<b
03e0: 72 3e 3c 62 72 3e 0d 0a 53 69 6e 63 65 20 76 65  r><br>..Since ve
03f0: 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f  rsion <b>5.0.0</
0400: 62 3e 20 61 20 62 72 61 6e 64 20 6e 65 77 20 3c  b> a brand new <
0410: 62 3e 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65  b>routing module
0420: 3c 2f 62 3e 20 28 6d 6f 72 65 20 61 64 76 61 6e  </b> (more advan
0430: 63 65 64 20 61 6e 64 20 73 6f 70 68 69 73 74 69  ced and sophisti
0440: 63 61 74 65 64 29 20 69 73 20 61 76 61 69 6c 61  cated) is availa
0450: 62 6c 65 2c 20 74 68 61 74 20 69 73 20 63 61 6c  ble, that is cal
0460: 6c 65 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f  led <b>VirtualRo
0470: 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  uting</b>.<br>..
0480: 54 68 65 20 6e 6f 77 20 6f 62 73 6f 6c 65 74 65  The now obsolete
0490: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f   <b>VirtualNetwo
04a0: 72 6b 3c 2f 62 3e 20 69 73 20 73 74 69 6c 6c 20  rk</b> is still 
04b0: 73 75 70 70 6f 72 74 65 64 20 62 79 20 76 65 72  supported by ver
04c0: 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f 62  sion <b>5.0.0</b
04d0: 3e 20 73 6f 20 61 73 20 74 6f 20 6e 6f 74 20 63  > so as to not c
04e0: 61 75 73 65 20 61 6e 20 61 62 72 75 70 74 20 62  ause an abrupt b
04f0: 72 65 61 6b 20 74 6f 20 61 6c 72 65 61 64 79 20  reak to already 
0500: 65 78 69 73 74 69 6e 67 20 61 70 70 6c 69 63 61  existing applica
0510: 74 69 6f 6e 73 2c 20 62 75 74 20 77 69 6c 6c 20  tions, but will 
0520: 70 72 65 73 75 6d 61 62 6c 79 20 62 65 20 64 69  presumably be di
0530: 73 63 6f 6e 74 69 6e 75 65 64 20 69 6e 20 66 75  scontinued in fu
0540: 74 75 72 65 20 76 65 72 73 69 6f 6e 73 2e 3c 62  ture versions.<b
0550: 72 3e 0d 0a 55 73 69 6e 67 20 3c 62 3e 56 69 72  r>..Using <b>Vir
0560: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20  tualRouting</b> 
0570: 69 6e 73 74 65 61 64 20 6f 66 20 3c 62 3e 56 69  instead of <b>Vi
0580: 72 74 75 61 6c 4e 65 74 77 69 72 6b 3c 2f 62 3e  rtualNetwirk</b>
0590: 20 69 73 20 77 61 72 6d 6c 79 20 72 65 63 6f 6d   is warmly recom
05a0: 6d 65 6e 64 65 64 20 66 6f 72 20 61 6e 79 20 6e  mended for any n
05b0: 65 77 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 20  ew development. 
05c0: 0d 0a 3c 68 32 3e 54 68 65 6f 72 65 74 69 63 61  ..<h2>Theoretica
05d0: 6c 20 66 6f 75 6e 64 61 74 69 6f 6e 73 20 2d 20  l foundations - 
05e0: 61 6e 20 75 6c 74 72 61 2d 71 75 69 63 6b 20 72  an ultra-quick r
05f0: 65 63 61 6c 6c 3c 2f 68 32 3e 0d 0a 41 6c 6c 20  ecall</h2>..All 
0600: 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72  <b>Routing algor
0610: 69 74 68 6d 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b  ithms</b> (<i>ak
0620: 61 3c 2f 69 3e 20 3c 62 3e 53 68 6f 72 74 65 73  a</i> <b>Shortes
0630: 74 20 50 61 74 68 3c 2f 62 3e 20 61 6c 67 6f 72  t Path</b> algor
0640: 69 74 68 6d 73 29 20 61 72 65 20 62 61 73 65 64  ithms) are based
0650: 20 6f 6e 20 74 68 65 20 6d 61 74 68 65 6d 61 74   on the mathemat
0660: 69 63 73 20 6f 66 20 74 68 65 20 3c 61 20 68 72  ics of the <a hr
0670: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77  ef="https://en.w
0680: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b  ikipedia.org/wik
0690: 69 2f 47 72 61 70 68 5f 74 68 65 6f 72 79 22 3e  i/Graph_theory">
06a0: 47 72 61 70 68 20 74 68 65 6f 72 79 3c 2f 61 3e  Graph theory</a>
06b0: 20 6f 72 20 74 6f 20 62 65 20 6d 6f 72 65 20 70   or to be more p
06c0: 72 65 63 69 73 65 3a 20 6f 6e 20 3c 62 3e 57 65  recise: on <b>We
06d0: 69 67 68 74 65 64 20 47 72 61 70 68 73 3c 2f 62  ighted Graphs</b
06e0: 3e 2e 0d 0a 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73  >...<br>..<img s
06f0: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
0700: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
0710: 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69  -sins/routing-fi
0720: 67 73 2f 6e 65 74 77 6f 72 6b 2e 70 6e 67 22 20  gs/network.png" 
0730: 61 6c 74 3d 22 6e 65 74 77 6f 72 6b 22 3e 0d 0a  alt="network">..
0740: 3c 62 72 3e 0d 0a 41 20 74 6f 70 6f 6c 6f 67 69  <br>..A topologi
0750: 63 61 6c 6c 79 20 76 61 6c 69 64 20 3c 62 3e 4e  cally valid <b>N
0760: 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73 20 61 20  etwork</b> is a 
0770: 64 61 74 61 73 65 74 20 74 68 61 74 20 66 75 6c  dataset that ful
0780: 66 69 6c 6c 73 20 74 68 65 20 66 6f 6c 6c 6f 77  fills the follow
0790: 69 6e 67 20 72 65 71 75 69 72 65 6d 65 6e 74 73  ing requirements
07a0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 6c 6c  :..<ul>..<li>All
07b0: 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 64 61   items in the da
07c0: 74 61 73 65 74 20 61 72 65 20 63 61 6c 6c 65 64  taset are called
07d0: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 28 3c   <b>Links</b> (<
07e0: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 41 72 63  i>aka</i> <b>Arc
07f0: 73 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 72 65 20  s</b>), and are 
0800: 65 78 70 65 63 74 65 64 20 74 6f 20 72 65 70 72  expected to repr
0810: 65 73 65 6e 74 20 73 6f 6d 65 20 6f 72 69 65 6e  esent some orien
0820: 74 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a  ted connection j
0830: 6f 69 6e 69 6e 67 20 74 77 6f 20 3c 62 3e 4e 6f  oining two <b>No
0840: 64 65 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75  des</b>.<br>..<u
0850: 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 69 6e  >Example</u>: in
0860: 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 75 72   the above figur
0870: 65 20 4c 69 6e 6b 20 3c 62 3e 4c 33 3c 2f 62 3e  e Link <b>L3</b>
0880: 20 63 6f 6e 6e 65 63 74 73 20 4e 6f 64 65 73 20   connects Nodes 
0890: 3c 62 3e 4e 32 3c 2f 62 3e 20 61 6e 64 20 3c 62  <b>N2</b> and <b
08a0: 3e 4e 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  >N5</b>.</li>..<
08b0: 6c 69 3e 54 68 65 72 65 66 6f 72 65 20 61 6c 6c  li>Therefore all
08c0: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72   <b>Links</b> ar
08d0: 65 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65  e always expecte
08e0: 64 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20  d to explicitly 
08f0: 72 65 66 65 72 65 6e 63 65 20 61 20 3c 62 3e 53  reference a <b>S
0900: 74 61 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c  tart-Node</b> (<
0910: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64  i>aka</i> <b>Nod
0920: 65 2d 46 72 6f 6d 3c 2f 62 3e 29 20 61 6e 64 20  e-From</b>) and 
0930: 61 6e 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f  an <b>End-Node</
0940: 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c  b> (<i>aka</i> <
0950: 62 3e 4e 6f 64 65 2d 54 6f 3c 2f 62 3e 29 2e 0d  b>Node-To</b>)..
0960: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4c 69 6e 6b 73  .<ul>..<li>Links
0970: 20 61 72 65 20 61 6c 77 61 79 73 20 3c 62 3e 6f   are always <b>o
0980: 72 69 65 6e 74 65 64 3c 2f 62 3e 2c 20 61 6e 64  riented</b>, and
0990: 20 74 68 65 69 72 20 6e 61 74 75 72 61 6c 20 64   their natural d
09a0: 69 72 65 63 74 69 6f 6e 20 69 73 20 3c 62 3e 46  irection is <b>F
09b0: 72 6f 6d 2d 54 6f 3c 2f 62 3e 3a 0d 0a 3c 75 6c  rom-To</b>:..<ul
09c0: 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 20 3c 62 3e  >..<li>in an <b>
09d0: 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f  unidirectional</
09e0: 62 3e 20 4e 65 74 77 6f 72 6b 20 65 61 63 68 20  b> Network each 
09f0: 4c 69 6e 6b 20 69 73 20 61 6e 20 3c 62 3e 6f 6e  Link is an <b>on
0a00: 65 2d 77 61 79 3c 2f 62 3e 20 63 6f 6e 6e 65 63  e-way</b> connec
0a10: 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 49 66 20 74 68  tion.<br>..If th
0a20: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20  e connection is 
0a30: 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20  to be available 
0a40: 69 6e 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20  in the opposite 
0a50: 64 69 72 65 63 74 69 6f 6e 2c 20 61 20 73 65 63  direction, a sec
0a60: 6f 6e 64 20 4c 69 6e 6b 20 6d 75 73 74 20 62 65  ond Link must be
0a70: 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 63 6c   explicitly decl
0a80: 61 72 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78  ared.<br>..<u>Ex
0a90: 61 6d 70 6c 65 3c 2f 75 3e 3a 20 4c 69 6e 6b 20  ample</u>: Link 
0aa0: 3c 62 3e 58 31 3c 2f 62 3e 20 67 6f 65 73 20 66  <b>X1</b> goes f
0ab0: 72 6f 6d 20 4e 6f 64 65 20 3c 62 3e 41 3c 2f 62  rom Node <b>A</b
0ac0: 3e 20 74 6f 20 4e 6f 64 65 20 3c 62 3e 42 3c 2f  > to Node <b>B</
0ad0: 62 3e 2c 20 61 6e 64 20 4c 69 6e 6b 20 3c 62 3e  b>, and Link <b>
0ae0: 58 32 3c 2f 62 3e 20 67 6f 65 73 20 66 72 6f 6d  X2</b> goes from
0af0: 20 4e 6f 64 65 20 3c 62 3e 42 3c 2f 62 3e 20 74   Node <b>B</b> t
0b00: 6f 20 4e 6f 64 65 20 3c 62 3e 41 3c 2f 62 3e 2e  o Node <b>A</b>.
0b10: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 20  </li>..<li>in a 
0b20: 3c 62 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c  <b>bidirectional
0b30: 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 20 61 6c 6c  </b> Network all
0b40: 20 4c 69 6e 6b 73 20 61 72 65 20 61 73 73 75 6d   Links are assum
0b50: 65 64 20 74 6f 20 65 73 74 61 62 6c 69 73 68 20  ed to establish 
0b60: 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 20  a connection in 
0b70: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 2e  both directions.
0b80: 3c 62 72 3e 0d 0a 44 65 66 69 6e 69 74 69 6e 67  <br>..Definiting
0b90: 20 61 6e 20 3c 62 3e 6f 6e 65 2d 77 61 79 20 63   an <b>one-way c
0ba0: 6f 6e 6e 65 63 74 69 6f 6e 3c 2f 62 3e 20 72 65  onnection</b> re
0bb0: 71 75 69 72 65 73 20 61 6e 20 61 70 70 72 6f 70  quires an approp
0bc0: 72 69 61 74 65 20 61 74 74 72 69 62 75 74 65 20  riate attribute 
0bd0: 74 6f 20 62 65 20 73 65 74 20 28 73 65 65 20 62  to be set (see b
0be0: 65 6c 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  elow).</li>..</u
0bf0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 65  l></li>..<li>The
0c00: 20 3c 62 3e 53 74 61 72 74 2d 3c 2f 62 3e 20 61   <b>Start-</b> a
0c10: 6e 64 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f  nd <b>End-Node</
0c20: 62 3e 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61  b> could eventua
0c30: 6c 6c 79 20 62 65 20 74 68 65 20 73 61 6d 65 2c  lly be the same,
0c40: 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73   and in this cas
0c50: 65 20 77 65 27 6c 6c 20 68 61 76 65 20 61 20 3c  e we'll have a <
0c60: 62 3e 73 65 6c 66 2d 63 6c 6f 73 65 64 3c 2f 62  b>self-closed</b
0c70: 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  > Link.</li>..<l
0c80: 69 3e 4e 65 74 77 6f 72 6b 27 73 20 4c 69 6e 6b  i>Network's Link
0c90: 73 20 3c 62 3e 63 61 6e 3c 2f 62 3e 20 65 76 65  s <b>can</b> eve
0ca0: 6e 74 75 61 6c 6c 79 20 64 65 66 69 6e 65 20 61  ntually define a
0cb0: 20 6c 69 6e 65 61 72 20 47 65 6f 6d 65 74 72 79   linear Geometry
0cc0: 20 28 3c 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c   (<b>LINESTRING<
0cd0: 2f 62 3e 29 20 67 6f 69 6e 67 20 66 72 6f 6d 20  /b>) going from 
0ce0: 74 68 65 20 3c 62 3e 53 74 61 72 74 2d 4e 6f 64  the <b>Start-Nod
0cf0: 65 3c 2f 62 3e 20 74 6f 20 74 68 65 20 3c 62 3e  e</b> to the <b>
0d00: 45 6e 64 2d 4e 6f 64 65 3c 2f 62 3e 2c 20 62 75  End-Node</b>, bu
0d10: 74 20 74 68 69 73 20 69 73 20 61 6e 20 6f 70 74  t this is an opt
0d20: 69 6f 6e 61 6c 20 66 65 61 74 75 72 65 2c 20 6e  ional feature, n
0d30: 6f 74 20 61 20 6d 61 6e 64 61 74 6f 72 79 20 72  ot a mandatory r
0d40: 65 71 75 69 72 65 6d 65 6e 74 2e 3c 2f 6c 69 3e  equirement.</li>
0d50: 0d 0a 3c 6c 69 3e 57 68 61 74 20 69 73 20 61 62  ..<li>What is ab
0d60: 73 6f 6c 75 74 65 6c 79 20 72 65 71 75 69 72 65  solutely require
0d70: 64 20 69 73 20 74 68 61 74 20 65 61 63 68 20 3c  d is that each <
0d80: 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 6d 75 73 74 20  b>Link</b> must 
0d90: 65 78 70 6c 69 63 69 74 6c 79 20 72 65 66 65 72  explicitly refer
0da0: 65 6e 63 65 20 69 74 73 20 3c 62 3e 4e 6f 64 65  ence its <b>Node
0db0: 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  s</b>.</li>..</u
0dc0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 4e  l></li>..<li>A N
0dd0: 65 74 77 6f 72 6b 20 73 75 70 70 6f 72 74 69 6e  etwork supportin
0de0: 67 20 47 65 6f 6d 65 74 72 69 65 73 20 69 73 20  g Geometries is 
0df0: 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74  a <b>Spatial Net
0e00: 77 6f 72 6b 3c 2f 62 3e 3b 20 6f 74 68 65 72 77  work</b>; otherw
0e10: 69 73 65 20 61 20 4e 65 74 77 6f 72 6b 20 6c 61  ise a Network la
0e20: 63 6b 69 6e 67 20 61 6e 79 20 47 65 6f 6d 65 74  cking any Geomet
0e30: 72 79 20 69 73 20 61 20 3c 62 3e 4c 6f 67 69 63  ry is a <b>Logic
0e40: 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 2e 0d  al Network</b>..
0e50: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20  .<ul>..<li>In a 
0e60: 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f  <b>Spatial Netwo
0e70: 72 6b 3c 2f 62 3e 20 61 6c 6c 20 4c 69 6e 6b 73  rk</b> all Links
0e80: 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20 68 61 76   <b>must</b> hav
0e90: 65 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  e a correspondin
0ea0: 67 20 47 65 6f 6d 65 74 72 79 2e 3c 2f 6c 69 3e  g Geometry.</li>
0eb0: 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62 3e 4c 6f  ..<li>In a <b>Lo
0ec0: 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62  gical Network</b
0ed0: 3e 20 61 6c 6c 20 4c 69 6e 6b 73 20 3c 62 3e 61  > all Links <b>a
0ee0: 72 65 20 73 74 72 69 63 74 6c 79 20 66 6f 72 62  re strictly forb
0ef0: 69 64 64 65 6e 3c 2f 62 3e 20 74 6f 20 68 61 76  idden</b> to hav
0f00: 65 20 61 6e 79 20 47 65 6f 6d 65 74 72 79 2e 3c  e any Geometry.<
0f10: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c  /li>..<li>In a <
0f20: 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72  b>Spatial Networ
0f30: 6b 3c 2f 62 3e 20 62 6f 74 68 20 74 68 65 20 3c  k</b> both the <
0f40: 62 3e 53 74 61 72 74 50 6f 69 6e 74 3c 2f 62 3e  b>StartPoint</b>
0f50: 20 61 6e 64 20 3c 62 3e 45 6e 64 50 6f 69 6e 74   and <b>EndPoint
0f60: 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e  </b> of each Lin
0f70: 6b 27 73 20 3c 62 3e 4c 49 4e 45 53 54 52 49 4e  k's <b>LINESTRIN
0f80: 47 3c 2f 62 3e 20 61 72 65 20 61 6c 77 61 79 73  G</b> are always
0f90: 20 65 78 70 65 63 74 65 64 20 74 6f 20 65 78 61   expected to exa
0fa0: 63 74 6c 79 20 63 6f 69 6e 63 69 64 65 20 77 69  ctly coincide wi
0fb0: 74 68 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  th the correspon
0fc0: 64 69 6e 67 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62  ding <b>Nodes</b
0fd0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  >.</li>..</ul></
0fe0: 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62  li>..<li>In a <b
0ff0: 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b  >Spatial Network
1000: 3c 2f 62 3e 20 61 6c 6c 20 72 65 66 65 72 65 6e  </b> all referen
1010: 63 65 73 20 74 6f 20 74 68 65 20 73 61 6d 65 20  ces to the same 
1020: 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 20 62 79 20 64  <b>Node</b> by d
1030: 69 66 66 65 72 65 6e 74 20 4c 69 6e 6b 73 20 3c  ifferent Links <
1040: 62 3e 6d 75 73 74 3c 2f 62 3e 20 62 65 20 61 6e  b>must</b> be an
1050: 20 65 78 61 63 74 20 6d 61 74 63 68 2e 3c 62 72   exact match.<br
1060: 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75  >..<u>Example</u
1070: 3e 3a 20 4e 6f 64 65 20 3c 62 3e 4e 35 3c 2f 62  >: Node <b>N5</b
1080: 3e 20 69 73 20 73 68 61 72 65 64 20 62 79 20 4c  > is shared by L
1090: 69 6e 6b 73 20 3c 62 3e 4c 33 3c 2f 62 3e 2c 20  inks <b>L3</b>, 
10a0: 3c 62 3e 4c 36 3c 2f 62 3e 2c 20 3c 62 3e 4c 37  <b>L6</b>, <b>L7
10b0: 3c 2f 62 3e 2c 20 3c 62 3e 4c 39 3c 2f 62 3e 20  </b>, <b>L9</b> 
10c0: 61 6e 64 20 3c 62 3e 4c 31 30 3c 2f 62 3e 2c 20  and <b>L10</b>, 
10d0: 73 6f 20 61 6c 6c 20 74 68 65 69 72 20 63 6f 72  so all their cor
10e0: 72 65 73 70 6f 6e 64 69 6e 67 20 4c 49 4e 45 53  responding LINES
10f0: 54 52 49 4e 47 53 20 61 72 65 20 65 78 70 65 63  TRINGS are expec
1100: 74 65 64 20 74 6f 20 68 61 76 65 20 74 68 65 20  ted to have the 
1110: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 78  corresponding ex
1120: 74 72 65 6d 69 74 79 20 28 3c 62 3e 53 74 61 72  tremity (<b>Star
1130: 74 2d 3c 2f 62 3e 20 6f 72 20 3c 62 3e 45 6e 64  t-</b> or <b>End
1140: 2d 3c 2f 62 3e 2c 20 64 65 70 65 6e 64 69 6e 67  -</b>, depending
1150: 20 6f 6e 20 74 68 65 20 6f 72 69 65 6e 74 61 74   on the orientat
1160: 69 6f 6e 29 20 70 6f 69 6e 74 73 20 74 68 61 74  ion) points that
1170: 20 6d 75 73 74 20 65 78 61 63 74 6c 79 20 6d 61   must exactly ma
1180: 74 63 68 20 74 68 65 20 6f 74 68 65 72 2e 3c 62  tch the other.<b
1190: 72 3e 0d 0a 41 20 3c 62 3e 74 6f 70 6f 6c 6f 67  r>..A <b>topolog
11a0: 69 63 61 6c 20 69 6e 63 6f 6e 73 69 73 74 65 6e  ical inconsisten
11b0: 63 79 3c 2f 62 3e 20 65 78 69 73 74 73 20 69 66  cy</b> exists if
11c0: 20 61 6e 79 20 6f 66 20 74 68 65 73 65 20 63 6f   any of these co
11d0: 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74  nditions are not
11e0: 20 73 61 74 69 73 66 69 65 64 2c 20 77 68 69 63   satisfied, whic
11f0: 68 20 6c 65 61 64 73 20 74 6f 20 61 6e 20 3c 62  h leads to an <b
1200: 3e 69 6e 76 61 6c 69 64 3c 2f 62 3e 20 4e 65 74  >invalid</b> Net
1210: 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  work.</li>..<li>
1220: 41 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74  Accordingly to t
1230: 68 65 20 61 62 6f 76 65 20 70 72 65 6d 69 73 65  he above premise
1240: 73 2c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20  s, <b>Nodes</b> 
1250: 61 72 65 20 6e 65 76 65 72 20 65 78 70 65 63 74  are never expect
1260: 65 64 20 74 6f 20 62 65 20 65 78 70 6c 69 63 69  ed to be explici
1270: 74 6c 79 20 64 65 63 6c 61 72 65 64 20 69 6e 20  tly declared in 
1280: 61 20 73 65 70 61 72 61 74 65 20 54 61 62 6c 65  a separate Table
1290: 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 69  .<br>..Just a si
12a0: 6e 67 6c 65 20 54 61 62 6c 65 20 64 65 63 6c 61  ngle Table decla
12b0: 72 69 6e 67 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b  ring all <b>Link
12c0: 73 3c 2f 62 3e 20 69 73 20 72 65 71 75 69 72 65  s</b> is require
12d0: 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 75  d in order to fu
12e0: 6c 6c 79 20 64 65 66 69 6e 65 20 61 20 74 6f 70  lly define a top
12f0: 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64  ologically valid
1300: 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 41   Network.<br>..A
1310: 6c 6c 20 74 68 65 20 4e 6f 64 65 73 20 63 61 6e  ll the Nodes can
1320: 20 74 68 65 6e 20 62 65 20 65 61 73 69 6c 79 20   then be easily 
1330: 65 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 74  extracted from t
1340: 68 65 20 4c 69 6e 6b 27 73 20 64 65 66 69 6e 69  he Link's defini
1350: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 63 6f  tions and the co
1360: 6f 72 64 69 6e 61 74 65 73 20 66 6f 72 20 65 61  ordinates for ea
1370: 63 68 20 4e 6f 64 65 20 63 61 6e 20 62 65 20 64  ch Node can be d
1380: 69 72 65 63 74 6c 79 20 73 65 74 20 62 79 20 65  irectly set by e
1390: 78 74 72 61 63 74 69 6e 67 20 74 68 65 20 65 78  xtracting the ex
13a0: 74 72 65 6d 65 20 50 6f 69 6e 74 20 6f 66 20 74  treme Point of t
13b0: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
13c0: 20 4c 69 6e 65 73 74 72 69 6e 67 73 2e 3c 62 72   Linestrings.<br
13d0: 3e 0d 0a 49 66 20 61 6e 79 20 6d 69 73 6d 61 74  >..If any mismat
13e0: 63 68 20 69 73 20 64 65 74 65 63 74 65 64 20 74  ch is detected t
13f0: 68 65 20 4e 65 74 77 6f 72 6b 20 77 69 6c 6c 20  he Network will 
1400: 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 2e 3c  become invalid.<
1410: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 3c 62 3e 4c  /li>..<li>A <b>L
1420: 69 6e 6b 3c 2f 62 3e 20 6d 61 79 20 6c 65 67 69  ink</b> may legi
1430: 74 69 6d 61 74 65 6c 79 20 73 65 6c 66 2d 69 6e  timately self-in
1440: 74 65 72 73 65 63 74 20 69 74 73 65 6c 66 20 28  tersect itself (
1450: 65 2e 67 2e 20 66 6f 72 6d 69 6e 67 20 61 20 6c  e.g. forming a l
1460: 6f 6f 70 29 2c 20 61 73 20 73 68 6f 77 6e 20 69  oop), as shown i
1470: 6e 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 75  n the above figu
1480: 72 65 20 62 79 20 4c 69 6e 6b 20 3c 62 3e 4c 31  re by Link <b>L1
1490: 35 3c 2f 62 3e 20 28 6f 72 61 6e 67 65 20 73 70  5</b> (orange sp
14a0: 6f 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54  ot).</li>..<li>T
14b0: 77 6f 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20  wo <b>Links</b> 
14c0: 6d 61 79 20 6c 65 67 69 74 69 6d 61 74 65 6c 79  may legitimately
14d0: 20 69 6e 74 65 72 73 65 63 74 20 77 68 65 72 65   intersect where
14e0: 20 6e 6f 20 4e 6f 64 65 20 65 78 69 73 74 73 2c   no Node exists,
14f0: 20 61 73 20 65 78 65 6d 70 6c 69 66 69 65 64 20   as exemplified 
1500: 6f 6e 20 74 68 65 20 61 62 6f 76 65 20 66 69 67  on the above fig
1510: 75 72 65 20 62 79 20 4c 69 6e 6b 73 20 3c 62 3e  ure by Links <b>
1520: 4c 34 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 37  L4</b> and <b>L7
1530: 3c 2f 62 3e 20 28 67 72 65 65 6e 20 73 70 6f 74  </b> (green spot
1540: 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 75 73 75  ).<br>..This usu
1550: 61 6c 6c 79 20 68 61 70 70 65 6e 73 20 77 68 65  ally happens whe
1560: 6e 20 6f 6e 65 20 6f 66 20 74 68 65 20 74 77 6f  n one of the two
1570: 20 4c 69 6e 6b 73 20 6f 76 65 72 70 61 73 73 65   Links overpasse
1580: 73 20 74 68 65 20 6f 74 68 65 72 2c 20 6f 72 20  s the other, or 
1590: 77 68 65 72 65 20 73 6f 6d 65 20 74 65 63 68 6e  where some techn
15a0: 69 63 61 6c 20 72 65 73 74 72 69 63 74 69 6f 6e  ical restriction
15b0: 20 65 78 69 73 74 73 20 28 65 2e 67 2e 20 74 77   exists (e.g. tw
15c0: 6f 20 69 6e 73 75 6c 61 74 65 64 20 77 69 72 65  o insulated wire
15d0: 73 20 69 6e 20 61 6e 20 45 6c 65 63 74 72 69 63  s in an Electric
15e0: 61 6c 20 4e 65 74 77 6f 72 6b 29 2e 3c 2f 6c 69  al Network).</li
15f0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 73 3c  >..<li><b>Links<
1600: 2f 62 3e 20 61 72 65 6e 27 74 20 73 74 72 69 63  /b> aren't stric
1610: 74 6c 79 20 72 65 71 75 69 72 65 64 20 74 6f 20  tly required to 
1620: 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69  be associated wi
1630: 74 68 20 61 6e 79 20 73 70 65 63 69 66 69 63 20  th any specific 
1640: 61 74 74 72 69 62 75 74 65 2c 20 62 75 74 20 74  attribute, but t
1650: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 74 74  he following att
1660: 72 69 62 75 74 65 73 20 61 72 65 20 61 6c 6d 6f  ributes are almo
1670: 73 74 20 75 6e 69 76 65 72 73 61 6c 6c 79 20 73  st universally s
1680: 75 70 70 6f 72 74 65 64 3a 0d 0a 3c 75 6c 3e 0d  upported:..<ul>.
1690: 0a 3c 6c 69 3e 61 20 3c 62 3e 6e 61 6d 65 3c 2f  .<li>a <b>name</
16a0: 62 3e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74  b> identifying t
16b0: 68 65 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c 75  he Link.<br>..<u
16c0: 3e 45 78 61 6d 70 6c 65 73 3c 2f 75 3e 3a 20 74  >Examples</u>: t
16d0: 68 65 20 3c 69 3e 72 6f 61 64 20 74 6f 70 6f 6e  he <i>road topon
16e0: 79 6d 3c 2f 69 3e 20 69 6e 20 61 20 3c 62 3e 72  ym</i> in a <b>r
16f0: 6f 61 64 20 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2c  oad network</b>,
1700: 20 6f 72 20 74 68 65 20 3c 69 3e 72 69 76 65 72   or the <i>river
1710: 20 6e 61 6d 65 3c 2f 69 3e 20 69 6e 20 61 6e 20   name</i> in an 
1720: 3c 62 3e 68 79 64 72 6f 67 72 61 70 68 69 63 20  <b>hydrographic 
1730: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69  network</b>.</li
1740: 3e 0d 0a 3c 6c 69 3e 6f 6e 65 20 28 6f 72 20 65  >..<li>one (or e
1750: 76 65 6e 20 6d 6f 72 65 29 20 61 70 70 72 6f 70  ven more) approp
1760: 72 69 61 74 65 20 3c 62 3e 63 6f 73 74 20 76 61  riate <b>cost va
1770: 6c 75 65 3c 2f 62 3e 28 73 29 2e 3c 62 72 3e 0d  lue</b>(s).<br>.
1780: 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a  .<u>Example</u>:
1790: 20 74 68 65 20 3c 69 3e 74 69 6d 65 3c 2f 69 3e   the <i>time</i>
17a0: 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61   required to tra
17b0: 76 65 72 73 65 20 74 68 65 20 4c 69 6e 6b 20 28  verse the Link (
17c0: 6d 61 79 20 62 65 20 64 69 73 74 69 6e 67 75 69  may be distingui
17d0: 73 68 65 64 20 62 65 74 77 65 65 6e 20 70 65 64  shed between ped
17e0: 65 73 74 72 69 61 6e 73 2c 20 62 69 63 79 63 6c  estrians, bicycl
17f0: 65 73 2c 20 63 61 72 73 2c 20 6c 6f 72 72 69 65  es, cars, lorrie
1800: 73 20 61 6e 64 20 73 6f 20 6f 6e 29 2e 3c 2f 6c  s and so on).</l
1810: 69 3e 0d 0a 3c 6c 69 3e 61 20 70 61 69 72 20 6f  i>..<li>a pair o
1820: 66 20 3c 62 3e 62 6f 6f 6c 65 61 6e 20 66 6c 61  f <b>boolean fla
1830: 67 73 3c 2f 62 3e 20 28 3c 62 3e 66 72 6f 6d 2d  gs</b> (<b>from-
1840: 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 74 6f  to</b> and <b>to
1850: 2d 66 72 6f 6d 3c 2f 62 3e 29 20 61 72 65 20 69  -from</b>) are i
1860: 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69  ntended to speci
1870: 66 79 20 69 66 20 74 68 65 20 4c 69 6e 6b 20 63  fy if the Link c
1880: 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20  an be traversed 
1890: 6f 6e 20 62 6f 74 68 20 64 69 72 65 63 74 69 6f  on both directio
18a0: 6e 73 20 6f 72 20 6a 75 73 74 20 69 6e 20 6f 6e  ns or just in on
18b0: 65 20 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62  e (<b>one-way</b
18c0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  >).</li>..</ul><
18d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 53 70 65  /li>..<li><u>Spe
18e0: 63 69 61 6c 20 63 61 73 65 3c 2f 75 3e 3a 20 61  cial case</u>: a
18f0: 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 20 4c 69   <b>forbidden Li
1900: 6e 6b 3c 2f 62 3e 20 69 73 20 61 6e 79 20 70 65  nk</b> is any pe
1910: 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 4c 69  rfectly valid Li
1920: 6e 6b 20 74 68 61 74 20 66 6f 72 20 61 6e 79 20  nk that for any 
1930: 67 6f 6f 64 20 72 65 61 73 6f 6e 20 63 61 6e 20  good reason can 
1940: 6e 65 76 65 72 20 62 65 20 74 72 61 76 65 72 73  never be travers
1950: 65 64 20 69 6e 20 62 6f 74 68 20 64 69 72 65 63  ed in both direc
1960: 74 69 6f 6e 73 2e 20 50 72 61 63 74 69 63 61 6c  tions. Practical
1970: 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 75 6c 3e   examples:..<ul>
1980: 0d 0a 3c 6c 69 3e 52 6f 61 64 20 4e 65 74 77 6f  ..<li>Road Netwo
1990: 72 6b 73 3a 20 69 74 20 63 6f 75 6c 64 20 62 65  rks: it could be
19a0: 20 75 73 65 66 75 6c 20 72 65 70 72 65 73 65 6e   useful represen
19b0: 74 69 6e 67 20 3c 62 3e 70 65 64 65 73 74 72 69  ting <b>pedestri
19c0: 61 6e 20 73 74 72 65 65 74 73 3c 2f 62 3e 20 61  an streets</b> a
19d0: 6e 64 20 3c 62 3e 62 69 63 79 63 6c 65 20 6c 61  nd <b>bicycle la
19e0: 6e 65 73 3c 2f 62 3e 2c 20 62 75 74 20 74 68 65  nes</b>, but the
19f0: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c   corresponding L
1a00: 69 6e 6b 73 20 77 69 6c 6c 20 62 65 20 61 6c 77  inks will be alw
1a10: 61 79 73 20 66 6f 72 62 69 64 64 65 6e 20 74 6f  ays forbidden to
1a20: 20 63 61 72 20 63 69 72 63 75 6c 61 74 69 6f 6e   car circulation
1a30: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c 63  .</li>..<li>Telc
1a40: 6f 6d 20 2f 20 45 6c 65 63 74 72 69 63 61 6c 20  om / Electrical 
1a50: 4e 65 74 77 6f 72 6b 73 3a 20 73 65 76 65 72 61  Networks: severa
1a60: 6c 20 4c 69 6e 6b 73 20 28 3c 62 3e 77 69 72 65  l Links (<b>wire
1a70: 73 3c 2f 62 3e 29 20 63 6f 75 6c 64 20 62 65 20  s</b>) could be 
1a80: 70 68 79 73 69 63 61 6c 6c 79 20 69 6e 73 74 61  physically insta
1a90: 6c 6c 65 64 20 62 75 74 20 74 65 6d 70 6f 72 61  lled but tempora
1aa0: 72 69 6c 79 20 3c 62 3e 6f 75 74 2d 6f 66 2d 73  rily <b>out-of-s
1ab0: 65 72 76 69 63 65 3c 2f 62 3e 20 66 6f 72 20 74  ervice</b> for t
1ac0: 65 63 68 6e 69 63 61 6c 20 72 65 61 73 6f 6e 73  echnical reasons
1ad0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  .</li>..</ul></l
1ae0: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e 4c  i>..</ul>..<h4>L
1af0: 6f 67 69 63 61 6c 20 63 6f 6e 63 6c 75 73 69 6f  ogical conclusio
1b00: 6e 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f 70  ns</h4>..Any top
1b10: 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64  ologically valid
1b20: 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20   <b>Network</b> 
1b30: 28 69 72 72 65 73 70 65 63 74 69 76 65 20 6f 66  (irrespective of
1b40: 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20 61   whether it is a
1b50: 20 3c 62 3e 53 70 61 74 69 61 6c 3c 2f 62 3e 20   <b>Spatial</b> 
1b60: 6f 72 20 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f 62  or <b>Logical</b
1b70: 3e 20 74 79 70 65 29 20 69 73 20 61 20 76 61 6c  > type) is a val
1b80: 69 64 20 3c 62 3e 47 72 61 70 68 3c 2f 62 3e 2e  id <b>Graph</b>.
1b90: 3c 62 72 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20  <br>..A Network 
1ba0: 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 75 70  allowing the sup
1bb0: 70 6f 72 74 20 28 64 69 72 65 63 74 20 6f 72 20  port (direct or 
1bc0: 69 6e 64 69 72 65 63 74 29 20 6f 66 20 73 6f 6d  indirect) of som
1bd0: 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62  e appropriate <b
1be0: 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e 20  >cost value</b> 
1bf0: 69 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 57 65  is a valid <b>We
1c00: 69 67 68 74 65 64 20 47 72 61 70 68 3c 2f 62 3e  ighted Graph</b>
1c10: 2c 20 61 6e 64 20 63 61 6e 20 63 6f 6e 73 65 71  , and can conseq
1c20: 75 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c  uently support <
1c30: 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69  b>Routing algori
1c40: 74 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41  thms</b>.<br>..A
1c50: 6c 6c 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72  ll Routing algor
1c60: 69 74 68 6d 73 20 61 72 65 20 69 6e 74 65 6e 64  ithms are intend
1c70: 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74  ed to identify t
1c80: 68 65 20 3c 62 3e 53 68 6f 72 74 65 73 74 20 50  he <b>Shortest P
1c90: 61 74 68 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e  ath</b> solution
1ca0: 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 77 6f 20   connecting two 
1cb0: 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e 20  <b>Nodes</b> in 
1cc0: 61 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67 72  a <b>weighted gr
1cd0: 61 70 68 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c  aph</b> (<i>aka<
1ce0: 2f 69 3e 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f  /i> <b>Network</
1cf0: 62 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62  b>).<br><br>..<b
1d00: 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62 3e  ><u>Note</u></b>
1d10: 3a 20 74 68 65 20 74 65 72 6d 20 3c 62 3e 3c 69  : the term <b><i
1d20: 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f  >Shortest Path</
1d30: 69 3e 3c 2f 62 3e 20 63 61 6e 20 62 65 20 65 61  i></b> can be ea
1d40: 73 69 6c 79 20 6d 69 73 75 6e 64 65 72 73 74 6f  sily misundersto
1d50: 6f 64 2e 3c 62 72 3e 0d 0a 44 75 65 20 74 6f 20  od.<br>..Due to 
1d60: 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f  historical reaso
1d70: 6e 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d  ns the most comm
1d80: 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 66  on application f
1d90: 69 65 6c 64 20 66 6f 72 20 52 6f 75 74 69 6e 67  ield for Routing
1da0: 20 61 6c 67 6f 72 69 74 68 6d 73 20 69 73 20 72   algorithms is r
1db0: 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e 52 6f 61  elated to <b>Roa
1dc0: 64 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c 20  d Networks</b>, 
1dd0: 62 75 74 20 61 6c 73 6f 20 6d 61 6e 79 20 6f 74  but also many ot
1de0: 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 4e 65 74  her kinds of Net
1df0: 77 6f 72 6b 73 20 65 78 69 73 74 3a 0d 0a 3c 75  works exist:..<u
1e00: 6c 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f 67 72 61  l>..<li>Hydrogra
1e10: 70 68 69 63 20 4e 65 74 77 6f 72 6b 73 2e 3c 2f  phic Networks.</
1e20: 6c 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20 57  li>..<li>Gas / W
1e30: 61 74 65 72 20 2f 20 4f 69 6c 20 4e 65 74 77 6f  ater / Oil Netwo
1e40: 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45  rks.</li>..<li>E
1e50: 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f 72  lectrical Networ
1e60: 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65  ks.</li>..<li>Te
1e70: 6c 65 63 6f 6d 75 6e 69 63 61 74 69 6f 6e 20 4e  lecomunication N
1e80: 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c  etworks.</li>..<
1e90: 6c 69 3e 53 6f 63 69 61 6c 20 6f 72 20 45 63 6f  li>Social or Eco
1ea0: 6e 6f 6d 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73  nomical Networks
1eb0: 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 72 65   representing re
1ec0: 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74 77  lationships betw
1ed0: 65 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73 20  een individuals 
1ee0: 6f 72 20 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f 6c  or companies.</l
1ef0: 69 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65 6d 69 6f  i>..<li>Epidemio
1f00: 6c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73  logical Networks
1f10: 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68   representing th
1f20: 65 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66  e propagation of
1f30: 20 69 6e 66 65 63 74 69 76 65 20 64 69 73 65 61   infective disea
1f40: 73 65 73 20 62 65 74 77 65 65 6e 20 69 6e 64 69  ses between indi
1f50: 76 69 64 75 61 6c 73 20 6f 72 20 67 72 6f 75 70  viduals or group
1f60: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  s.</li>..</ul></
1f70: 6c 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 61  li> ..<br>..In a
1f80: 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 63 61 73  ll the above cas
1f90: 65 73 20 77 65 20 63 65 72 74 61 69 6e 6c 79 20  es we certainly 
1fa0: 68 61 76 65 20 76 61 6c 69 64 20 4e 65 74 77 6f  have valid Netwo
1fb0: 72 6b 73 20 73 75 70 70 6f 72 74 69 6e 67 20 52  rks supporting R
1fc0: 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6e  outing algorithn
1fd0: 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20 6f  s, but not all o
1fe0: 66 20 74 68 65 6d 20 63 61 6e 20 69 6d 70 6c 79  f them can imply
1ff0: 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20   something like 
2000: 61 20 3c 69 3e 73 70 61 74 69 61 6c 20 64 69 73  a <i>spatial dis
2010: 74 61 6e 63 65 3c 2f 69 3e 20 28 3c 69 3e 67 65  tance</i> (<i>ge
2020: 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c 2f  ometric length</
2030: 69 3e 29 20 6f 72 20 61 20 3c 69 3e 74 72 61 76  i>) or a <i>trav
2040: 65 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72 3e  el time</i>.<br>
2050: 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 67 65  ..In the most ge
2060: 6e 65 72 61 6c 20 61 63 63 65 70 74 69 6f 6e 20  neral acception 
2070: 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 63 61 6e  <b>costs</b> can
2080: 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20   be represented 
2090: 62 79 20 61 6e 79 20 72 65 61 73 6f 6e 61 62 6c  by any reasonabl
20a0: 65 20 70 68 79 73 69 63 61 6c 20 71 75 61 6e 74  e physical quant
20b0: 69 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20 6d  ity.<br>..So a m
20c0: 6f 72 65 20 67 65 6e 65 72 61 6c 69 7a 65 64 20  ore generalized 
20d0: 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 61 73  definition is as
20e0: 73 75 6d 69 6e 67 20 74 68 61 74 20 52 6f 75 74  suming that Rout
20f0: 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 61  ing algorithms a
2100: 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 69  re intended to i
2110: 64 65 6e 74 69 66 79 20 3c 62 3e 6c 65 73 73 65  dentify <b>lesse
2120: 72 20 63 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75 74  r cost</b> solut
2130: 69 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e 77 65 69  ions on a <b>wei
2140: 67 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e 2e  ghted graph</b>.
2150: 3c 62 72 3e 0d 0a 54 68 65 20 65 78 61 63 74 20  <br>..The exact 
2160: 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f  interpretation o
2170: 66 20 74 68 65 20 69 6e 76 6f 6c 76 65 64 20 3c  f the involved <
2180: 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 28 3c 69 3e  b>costs</b> (<i>
2190: 61 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65 69 67 68  aka</i> <b>weigh
21a0: 74 73 3c 2f 62 3e 29 20 73 74 72 69 63 74 6c 79  ts</b>) strictly
21b0: 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20   depends on the 
21c0: 76 65 72 79 20 73 70 65 63 69 66 69 63 20 6e 61  very specific na
21d0: 74 75 72 65 20 6f 66 20 65 61 63 68 20 4e 65 74  ture of each Net
21e0: 77 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20 44  work...<h3>The D
21f0: 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 69  ijkstra's algori
2200: 74 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69 73 20 77  thm</h3>..This w
2210: 65 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20 68 72 65  ell known <a hre
2220: 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69  f="https://en.wi
2230: 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69  kipedia.org/wiki
2240: 2f 44 69 6a 6b 73 74 72 61 25 32 37 73 5f 61 6c  /Dijkstra%27s_al
2250: 67 6f 72 69 74 68 6d 22 3e 61 6c 67 6f 72 69 74  gorithm">algorit
2260: 68 6d 3c 2f 61 3e 20 69 73 6e 27 74 20 6e 65 63  hm</a> isn't nec
2270: 65 73 73 61 72 69 6c 79 20 74 68 65 20 66 61 73  essarily the fas
2280: 74 65 73 74 20 6f 6e 65 2c 20 62 75 74 20 69 74  test one, but it
2290: 20 61 6c 77 61 79 73 20 65 6e 73 75 72 65 73 20   always ensures 
22a0: 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e  <b>full correctn
22b0: 65 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a  ess</b>:..<ul>..
22c0: 3c 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f 2d  <li>Any Node-to-
22d0: 4e 6f 64 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20  Node connection 
22e0: 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 44 69  identified by Di
22f0: 6a 6b 73 74 72 61 27 73 20 69 73 20 63 65 72 74  jkstra's is cert
2300: 61 69 6e 6c 79 20 65 6e 73 75 72 65 64 20 74 6f  ainly ensured to
2310: 20 62 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f   be <b>optimal</
2320: 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68 65  b>.<br>..In othe
2330: 72 20 77 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e 6e  r words, no conn
2340: 65 63 74 69 6f 6e 20 70 72 65 73 65 6e 74 69 6e  ection presentin
2350: 67 20 61 20 6c 6f 77 65 72 20 63 6f 73 74 20 63  g a lower cost c
2360: 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20  an conceptually 
2370: 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  exist.</li>..<li
2380: 3e 57 68 65 6e 20 44 69 6a 73 6a 74 72 61 27 73  >When Dijsjtra's
2390: 20 66 61 69 6c 73 20 74 6f 20 69 64 65 6e 74 69   fails to identi
23a0: 66 79 20 61 20 73 6f 6c 75 74 69 6f 6e 20 74 68  fy a solution th
23b0: 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e 73 20  is surely means 
23c0: 74 68 61 74 20 6e 6f 20 73 6f 6c 75 74 69 6f 6e  that no solution
23d0: 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c   is possible.</l
23e0: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 54  i>..</ul>..<h3>T
23f0: 68 65 20 41 2a 20 61 6c 67 6f 72 69 74 68 6d 3c  he A* algorithm<
2400: 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74 65 72  /h3>..Many alter
2410: 6e 61 74 69 76 65 20 52 6f 75 74 69 6e 67 20 61  native Routing a
2420: 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65 20 62  lgorithms have b
2430: 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64 75 72  een invented dur
2440: 69 6e 67 20 74 68 65 20 79 65 61 72 73 2e 3c 62  ing the years.<b
2450: 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d 20 61 72 65  r>..All them are
2460: 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 69 73   based on heuris
2470: 74 69 63 20 61 73 73 75 6d 70 74 69 6f 6e 73 20  tic assumptions 
2480: 61 6e 64 20 61 72 65 20 69 6e 74 65 6e 64 65 64  and are intended
2490: 20 74 6f 20 62 65 20 66 61 73 74 65 72 20 74 68   to be faster th
24a0: 61 6e 20 44 69 6a 6b 73 74 72 61 27 73 2c 20 62  an Dijkstra's, b
24b0: 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20  ut none of them 
24c0: 63 61 6e 20 65 6e 73 75 72 65 20 3c 62 3e 66 75  can ensure <b>fu
24d0: 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73 3c 2f  ll correctness</
24e0: 62 3e 20 61 73 20 44 69 6a 6b 73 74 72 61 27 73  b> as Dijkstra's
24f0: 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68 65 20   does.<br>..The 
2500: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f  <a href="https:/
2510: 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72  /en.wikipedia.or
2520: 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 61 72 63 68  g/wiki/A*_search
2530: 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 41 2a 20 61  _algorithm">A* a
2540: 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 61 70 70  lgorithm</a> app
2550: 6c 69 65 73 20 61 20 6d 69 6c 64 20 68 65 75 72  lies a mild heur
2560: 69 73 74 69 63 20 6f 70 74 69 6d 69 7a 61 74 69  istic optimizati
2570: 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 61  on, and can be a
2580: 20 72 65 61 6c 69 73 74 69 63 20 61 6c 74 65 72   realistic alter
2590: 6e 61 74 69 76 65 20 74 6f 20 44 69 6a 6b 73 74  native to Dijkst
25a0: 72 61 27 73 20 69 6e 20 6d 61 6e 79 20 63 61 73  ra's in many cas
25b0: 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72  es.<br><br>..<hr
25c0: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22  >..<h1><a name="
25d0: 73 61 6d 70 6c 65 22 3e 32 20 2d 20 54 68 65 20  sample">2 - The 
25e0: 73 61 6d 70 6c 65 2f 74 65 73 74 20 44 42 3c 2f  sample/test DB</
25f0: 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61 72 65  a></h1>..You are
2600: 20 65 78 70 65 63 74 65 64 20 74 6f 20 66 6f 6c   expected to fol
2610: 6c 6f 77 20 74 68 65 20 63 75 72 72 65 6e 74 20  low the current 
2620: 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 74 20 3c  tutorial about <
2630: 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  b>VirtualRouting
2640: 3c 2f 62 3e 20 62 79 20 64 69 72 65 63 74 6c 79  </b> by directly
2650: 20 74 65 73 74 69 6e 67 20 61 6c 6c 20 53 51 4c   testing all SQL
2660: 20 71 75 65 72 69 65 73 20 64 69 73 63 75 73 73   queries discuss
2670: 65 64 20 20 62 65 6c 6f 77 20 77 69 74 68 20 74  ed  below with t
2680: 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  he <a href="http
2690: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73  s://www.gaia-gis
26a0: 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f  .it/gaia-sins/ro
26b0: 75 74 69 6e 67 2d 73 61 6d 70 6c 65 2d 35 2e 30  uting-sample-5.0
26c0: 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c 65 2f 74 65  .0.7z">sample/te
26d0: 73 74 20 44 42 20 74 68 61 74 20 79 6f 75 20 63  st DB that you c
26e0: 61 6e 20 64 6f 77 6e 6c 6f 61 64 20 66 72 6f 6d  an download from
26f0: 20 68 65 72 65 3c 2f 61 3e 3c 62 72 3e 3c 62 72   here</a><br><br
2700: 3e 0d 0a 54 68 65 20 73 61 6d 70 6c 65 20 44 42  >..The sample DB
2710: 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 75   contains the fu
2720: 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e 65 74 77 6f  ll <b>road netwo
2730: 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62 3e 54 75 73  rk</b> of <b>Tus
2740: 63 61 6e 79 20 52 65 67 69 6f 6e 20 28 49 74 61  cany Region (Ita
2750: 6c 79 29 3c 2f 62 3e 20 28 3c 61 20 68 72 65 66  ly)</b> (<a href
2760: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e  ="http://www502.
2770: 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e  regione.toscana.
2780: 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77  it/geoscopio/dow
2790: 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f 73 74 72 61  nload/grafo_stra
27a0: 64 61 6c 65 2f 69 74 65 72 6e 65 74 2e 7a 69 70  dale/iternet.zip
27b0: 22 3e 49 74 65 72 2e 4e 65 74 20 64 61 74 61 73  ">Iter.Net datas
27c0: 65 74 3c 2f 61 3e 29 20 6b 69 6e 64 6c 79 20 72  et</a>) kindly r
27d0: 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68  eleased under th
27e0: 65 20 3c 62 3e 43 43 2d 42 59 2d 53 41 20 34 2e  e <b>CC-BY-SA 4.
27f0: 30 3c 2f 62 3e 20 6c 69 63 65 6e 63 65 20 74 65  0</b> licence te
2800: 72 6d 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 74 68 6f  rms.<br>..Alltho
2810: 75 67 68 20 74 68 65 20 63 6f 6e 74 65 6e 74 73  ugh the contents
2820: 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 73   stored in the s
2830: 61 6d 70 6c 65 20 64 61 74 61 62 61 73 65 20 68  ample database h
2840: 61 76 65 20 62 65 65 6e 20 72 65 61 72 72 61 6e  ave been rearran
2850: 67 65 64 2c 20 69 74 20 69 73 20 73 74 69 6c 6c  ged, it is still
2860: 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20   subject to the 
2870: 69 6e 69 74 69 61 6c 20 3c 62 3e 43 43 2d 42 59  initial <b>CC-BY
2880: 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 63 6c 61 75  -SA 4.0</b> clau
2890: 73 65 73 20 28 3c 69 3e 64 65 72 69 76 65 64 20  ses (<i>derived 
28a0: 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a 3c 62 72 3e  work</i>)...<br>
28b0: 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  <br>..<ul>..<li>
28c0: 61 6c 6c 20 72 6f 61 64 20 6e 61 6d 65 73 20 61  all road names a
28d0: 72 65 20 73 74 6f 72 65 64 20 77 69 74 68 69 6e  re stored within
28e0: 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73   the <b>toponyms
28f0: 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c 62 72 3e 0d  </b> Table.<br>.
2900: 0a 73 69 6e 63 65 20 74 68 65 20 73 61 6d 65 20  .since the same 
2910: 72 6f 61 64 20 6e 61 6d 65 73 20 63 6f 75 6c 64  road names could
2920: 20 62 65 20 75 73 65 64 20 69 6e 20 64 69 66 66   be used in diff
2930: 65 72 65 6e 74 20 4d 75 6e 69 63 69 70 61 6c 69  erent Municipali
2940: 74 69 65 73 2c 20 74 68 65 20 3c 62 3e 74 6f 70  ties, the <b>top
2950: 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 20  onyms</b> Table 
2960: 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72 65 66  relationally ref
2970: 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62 3e 6d  erences the <b>m
2980: 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62  unicipalities</b
2990: 3e 20 54 61 62 6c 65 20 28 76 69 61 20 3c 62 3e  > Table (via <b>
29a0: 50 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20 3c 62  PRIMARY</b> / <b
29b0: 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f 62 3e  >FOREIGN KEY</b>
29c0: 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 29 2e   relationships).
29d0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  </li>..<li>the <
29e0: 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70 61 74  b>roads</b> Spat
29f0: 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74 61 69  ial Table contai
2a00: 6e 73 20 61 62 6f 75 74 20 3c 62 3e 33 38 30 2c  ns about <b>380,
2a10: 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c 20 61  000</b> Links, a
2a20: 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f  nd has the follo
2a30: 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c  wing columns:..<
2a40: 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 3c 2f  ul>..<li><b>id</
2a50: 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 6e 74  b>: unique ident
2a60: 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 4c 69  ifier of each Li
2a70: 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59 20 4b  nk (<b>PRIMARY K
2a80: 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  EY</b>).</li>..<
2a90: 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f 6d 3c  li><b>node_from<
2aa0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64 65 5f  /b> and <b>node_
2ab0: 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69 64 65  to</b>: Node ide
2ac0: 6e 74 69 66 69 65 72 73 2e 0d 0a 54 68 65 20 6f  ntifiers...The o
2ad0: 72 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e 65 74  riginal Iter.Net
2ae0: 20 64 61 74 61 73 65 74 20 61 64 6f 70 74 73 20   dataset adopts 
2af0: 76 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63 6f 6d  very long an com
2b00: 70 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65 72 69  plex alphanumeri
2b10: 63 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20 74 68  c Node codes; th
2b20: 65 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20 49  e integer Node I
2b30: 44 73 20 77 65 72 65 20 6f 62 74 61 69 6e 65 64  Ds were obtained
2b40: 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20   by calling the 
2b50: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
2b60: 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 4c 20  Nodes()</b> SQL 
2b70: 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 75 73 73  function discuss
2b80: 65 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77 69 6e  ed in a followin
2b90: 67 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d  g section.</li>.
2ba0: 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70 6f 6e  .<li><b>id_topon
2bb0: 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69 6f 6e  ym</b>: relation
2bc0: 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20  al reference to 
2bd0: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
2be0: 67 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f 6e 74  g road name cont
2bf0: 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 3c  ained into the <
2c00: 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54  b>toponyms</b> T
2c10: 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e  able (<b>FOREIGN
2c20: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d   KEY</b>).</li>.
2c30: 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f 6b 6d  .<li><b>speed_km
2c40: 68 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74 69 6d  h</b>: the estim
2c50: 61 74 65 64 20 61 76 65 72 61 67 65 20 73 70 65  ated average spe
2c60: 65 64 20 73 75 70 70 6f 72 74 65 64 20 62 79 20  ed supported by 
2c70: 74 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72 65 73  the Link, expres
2c80: 73 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68 3c 2f  sed in <b>km/h</
2c90: 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  b>.<br>..<u>Note
2ca0: 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74 69 76  </u>: <b>negativ
2cb0: 65 3c 2f 62 3e 20 73 70 65 65 64 73 20 69 6e 74  e</b> speeds int
2cc0: 65 6e 64 20 61 20 66 6f 72 62 69 64 64 65 6e 20  end a forbidden 
2cd0: 4c 69 6e 6b 20 28 61 73 20 69 74 20 63 6f 75 6c  Link (as it coul
2ce0: 64 20 62 65 20 74 68 65 20 63 61 73 65 20 6f 66  d be the case of
2cf0: 20 70 65 64 65 73 74 72 69 61 6e 20 73 74 72 65   pedestrian stre
2d00: 65 74 73 20 6f 72 20 62 69 63 79 63 6c 65 20 6c  ets or bicycle l
2d10: 61 6e 65 73 20 65 78 6c 75 64 69 6e 67 20 6d 6f  anes exluding mo
2d20: 74 6f 72 20 76 65 68 69 63 6c 65 73 29 2e 3c 2f  tor vehicles).</
2d30: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6f 6e 65 77  li>..<li><b>onew
2d40: 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 3e 20 61 6e  ay_fromto</b> an
2d50: 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72  d <b>oneway_tofr
2d60: 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c 65 61 6e 20  om</b>: boolean 
2d70: 66 6c 61 67 73 20 64 65 74 65 72 6d 69 6e 65 20  flags determine 
2d80: 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e 20 62 65  if a Link can be
2d90: 20 74 72 61 76 65 72 73 65 64 20 69 6e 20 62 6f   traversed in bo
2da0: 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20 6f 72  th directions or
2db0: 20 6a 75 73 74 20 69 6e 20 61 20 73 69 6e 67 6c   just in a singl
2dc0: 65 20 64 69 72 65 63 74 69 6f 6e 20 28 3c 62 3e  e direction (<b>
2dd0: 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c 62 72  one-way</b>).<br
2de0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
2df0: 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63 6c 61 72  all Links declar
2e00: 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79 5f 66 72  ing <b>oneway_fr
2e10: 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64 20 3c  omto=0</b> and <
2e20: 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 3d  b>oneway_tofrom=
2e30: 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74 65 6e 64  0</b> are intend
2e40: 65 64 20 74 6f 20 62 65 20 61 6c 77 61 79 73 20  ed to be always 
2e50: 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c 69 3e 0d  forbidden.</li>.
2e60: 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f 62 3e  .<li><b>cost</b>
2e70: 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c 2f 62  : the <b>time</b
2e80: 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c  > expressed in <
2e90: 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20 72 65  b>seconds</b> re
2ea0: 71 75 69 72 65 64 20 74 6f 20 74 72 61 76 65 72  quired to traver
2eb0: 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72  se each Link.<br
2ec0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75  >..<u>Note #1</u
2ed0: 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77 65 72 65  > all costs were
2ee0: 20 63 61 6c 63 75 6c 61 74 65 64 20 61 63 63 6f   calculated acco
2ef0: 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 66  rdingly to the f
2f00: 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 75 6c 61  ollowing formula
2f10: 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28 28 53 54  : <b>cost = ((ST
2f20: 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 2f 20  _Length(geom) / 
2f30: 31 30 30 30 2e 30 29 20 2f 20 73 70 65 65 64 5f  1000.0) / speed_
2f40: 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30 3c 2f 62  kmh) * 3600.0</b
2f50: 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23  ><br>..<u>Note #
2f60: 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38 36 2c  2</u> all <b>86,
2f70: 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73 74 20 76  400.0</b> cost v
2f80: 61 6c 75 65 73 20 28 65 71 75 69 76 61 6c 65 6e  alues (equivalen
2f90: 74 20 74 6f 20 31 20 64 61 79 29 20 69 6d 70 6c  t to 1 day) impl
2fa0: 79 20 61 6e 20 3c 62 3e 69 6e 66 69 6e 69 74 69  y an <b>infiniti
2fb0: 76 65 20 63 6f 73 74 3c 2f 62 3e 20 74 68 75 73  ve cost</b> thus
2fc0: 20 69 6e 74 65 6e 64 69 6e 67 20 61 20 3c 62 3e   intending a <b>
2fd0: 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 4c 69  forbidden</b> Li
2fe0: 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  nk.</li>..<li><b
2ff0: 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62 3e  >geom</b>: a <b>
3000: 33 44 20 4c 69 6e 65 73 74 72 69 6e 67 3c 2f 62  3D Linestring</b
3010: 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74  > representing t
3020: 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65  he Geometry of e
3030: 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c  ach Link.<br>..<
3040: 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 65 20  u>Note</u>: the 
3050: 6f 72 69 67 69 6e 61 6c 20 3c 62 3e 49 74 65 72  original <b>Iter
3060: 2e 4e 65 74 3c 2f 62 3e 20 64 61 74 61 73 65 74  .Net</b> dataset
3070: 20 69 73 20 6a 75 73 74 20 3c 62 3e 32 44 3c 2f   is just <b>2D</
3080: 62 3e 3b 20 65 6c 65 76 61 74 69 6f 6e 73 20 28  b>; elevations (
3090: 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64 69 6e  <b>Z</b> coordin
30a0: 61 74 65 73 29 20 77 65 72 65 20 69 6e 74 65 72  ates) were inter
30b0: 70 6f 6c 61 74 65 64 20 62 79 20 64 72 61 70 69  polated by drapi
30c0: 6e 67 20 74 68 65 20 64 61 74 61 73 65 74 20 6f  ng the dataset o
30d0: 76 65 72 20 61 6e 20 3c 61 20 68 72 65 66 3d 22  ver an <a href="
30e0: 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e 72 65  http://www502.re
30f0: 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e 69 74  gione.toscana.it
3100: 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77 6e 6c  /geoscopio/downl
3110: 6f 61 64 2f 61 6c 74 69 6d 65 74 72 69 61 2f 64  oad/altimetria/d
3120: 61 5f 63 74 72 31 30 6b 2f 67 62 2f 44 54 4d 5f  a_ctr10k/gb/DTM_
3130: 4f 72 6f 67 72 61 66 69 63 6f 2e 37 7a 22 3e 6f  Orografico.7z">o
3140: 72 6f 67 72 61 70 68 69 63 20 44 45 4d 20 28 31  rographic DEM (1
3150: 30 6d 20 58 20 31 30 6d 20 63 65 6c 6c 73 29 3c  0m X 10m cells)<
3160: 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  /a></li>..</ul><
3170: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  /li>..<li>the <b
3180: 3e 72 6f 61 64 73 5f 76 77 3c 2f 62 3e 20 53 70  >roads_vw</b> Sp
3190: 61 74 69 61 6c 20 56 69 65 77 20 72 65 73 6f 6c  atial View resol
31a0: 76 65 73 20 61 6c 6c 20 72 65 6c 61 74 69 6f 6e  ves all relation
31b0: 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20 62 65  al references be
31c0: 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73 3c 2f  tween <b>roads</
31d0: 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c  b>, <b>toponyms<
31e0: 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63  /b> and <b>munic
31f0: 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74  ipalities</b>, t
3200: 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72  hus allowing for
3210: 20 65 61 73 69 65 72 20 53 51 4c 20 71 75 65 72   easier SQL quer
3220: 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  ies.</li>..<li>t
3230: 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f  he <b>house_nr</
3240: 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62 6c 65  b> Spatial Table
3250: 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75 74 20   contains about 
3260: 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f 62 3e  <b>1,480,000</b>
3270: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 2c 20   House Numbers, 
3280: 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c 6c  and has the foll
3290: 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d 0a  owing columns:..
32a0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 3c  <ul>..<li><b>id<
32b0: 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 6e  /b>: unique iden
32c0: 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 48  tifier of each H
32d0: 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c 62 3e  ouse Number (<b>
32e0: 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62 3e 29  PRIMARY KEY</b>)
32f0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69  .</li>..<li><b>i
3300: 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65 6c 61  d_road</b>: rela
3310: 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65  tional reference
3320: 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f   to the correspo
3330: 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e 74 61  nding Link conta
3340: 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 3c 62  ined into the <b
3350: 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62 6c 65  >roads</b> Table
3360: 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59   (<b>FOREIGN KEY
3370: 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  </b>).</li>..<li
3380: 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a 20 74  ><b>label</b>: t
3390: 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62 65 6c  he textual label
33a0: 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79 69 6e   fully qualifyin
33b0: 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e 75 6d  g each House Num
33c0: 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ber.</li>..<li><
33d0: 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62  b>geom</b>: a <b
33e0: 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 72 65  >3D Point</b> re
33f0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 47  presenting the G
3400: 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63 68 20  eometry of each 
3410: 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c 62 72  House Number.<br
3420: 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75  >..<u>Note #1</u
3430: 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69 73 20  >: also in this 
3440: 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61 74 69  case all elevati
3450: 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f  ons (<b>Z</b> co
3460: 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72 65 20  ordinates) were 
3470: 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 79 20  interpolated by 
3480: 64 72 61 70 69 6e 67 20 74 68 65 20 64 61 74 61  draping the data
3490: 73 65 74 20 6f 76 65 72 20 74 68 65 20 73 61 6d  set over the sam
34a0: 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65 2e 3c  e DEM as above.<
34b0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c  br>..<u>Note #2<
34c0: 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 73 70  /u>: strictly sp
34d0: 65 61 63 6b 69 6e 67 20 74 68 65 20 48 6f 75 73  eacking the Hous
34e0: 65 20 4e 75 6d 62 65 72 73 20 61 72 65 20 6e 6f  e Numbers are no
34f0: 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 52 6f  t part of the Ro
3500: 61 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68 65 79  ad Network; they
3510: 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e   are included in
3520: 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65 73 74   the sample/test
3530: 20 64 61 74 61 62 61 73 65 20 61 73 20 75 73 65   database as use
3540: 66 75 6c 20 65 78 61 6d 70 6c 65 73 20 65 78 70  ful examples exp
3550: 6c 61 69 6e 65 64 20 6c 61 74 65 72 20 69 6e 20  lained later in 
3560: 74 68 69 73 20 74 65 78 74 2e 3c 2f 6c 69 3e 0d  this text.</li>.
3570: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  .</ul></li>..<li
3580: 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72  >the <b>house_nr
3590: 5f 76 77 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20  _vw</b> Spatial 
35a0: 56 69 65 77 20 72 65 73 6f 6c 76 65 73 20 61 6c  View resolves al
35b0: 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65 66  l relational ref
35c0: 65 72 65 6e 63 65 73 20 62 65 74 77 65 65 6e 20  erences between 
35d0: 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62 3e 2c  <b>house_nr</b>,
35e0: 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c 20 3c   <b>roads</b>, <
35f0: 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 61  b>toponyms</b> a
3600: 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61 6c 69  nd <b>municipali
3610: 74 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73 20 61  ties</b>, thus a
3620: 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61 73 69  llowing for easi
3630: 65 72 20 53 51 4c 20 71 75 65 72 69 65 73 2e 3c  er SQL queries.<
3640: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  /li>..</ul>..<br
3650: 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e 3c 61  >.. <hr>..<h1><a
3660: 20 6e 61 6d 65 3d 22 63 72 65 61 74 65 22 3e 33   name="create">3
3670: 20 2d 20 43 72 65 61 74 69 6e 67 20 56 69 72 74   - Creating Virt
3680: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
3690: 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c 6c 20  s</a></h1>..All 
36a0: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 71  VirtualRouting q
36b0: 75 65 72 69 65 73 20 61 72 65 20 62 61 73 65 64  ueries are based
36c0: 20 6f 6e 20 61 20 73 70 65 63 69 66 69 63 20 3c   on a specific <
36d0: 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  b>VirtualRouting
36e0: 2d 54 61 62 6c 65 3c 2f 62 3e 2c 20 61 6e 64 20  -Table</b>, and 
36f0: 69 6e 20 74 75 72 6e 2c 20 74 68 65 20 56 69 72  in turn, the Vir
3700: 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c  tualRouting-Tabl
3710: 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20 61 20  e is based on a 
3720: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c 62  corresponding <b
3730: 3e 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c  >BinaryData-Tabl
3740: 65 3c 2f 62 3e 20 77 68 69 63 68 2c 20 74 61 6b  e</b> which, tak
3750: 65 6e 20 74 6f 67 65 61 74 68 65 72 2c 20 69 73  en togeather, is
3760: 20 61 6e 20 65 66 66 69 63 69 65 6e 74 20 72 65   an efficient re
3770: 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20  presentation of 
3780: 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e  the underlying N
3790: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 53 6f 20  etwork.<br>..So 
37a0: 77 65 27 6c 6c 20 73 74 61 72 74 20 66 69 72 73  we'll start firs
37b0: 74 20 62 79 20 63 72 65 61 74 69 6e 67 20 74 68  t by creating th
37c0: 65 73 65 20 74 61 62 6c 65 73 2e 3c 62 72 3e 3c  ese tables.<br><
37d0: 62 72 3e 0d 0a 54 68 65 20 6f 6c 64 2c 20 61 6e  br>..The old, an
37e0: 64 20 6e 6f 77 20 73 75 70 65 72 73 65 64 65 64  d now superseded
37f0: 2c 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77  , <b>VirtualNetw
3800: 6f 72 6b 3c 2f 62 3e 20 72 65 71 75 69 72 65 64  ork</b> required
3810: 20 74 68 65 20 75 73 65 20 6f 66 20 61 20 73 65   the use of a se
3820: 70 61 72 61 74 65 20 43 4c 49 20 74 6f 6f 6c 20  parate CLI tool 
3830: 28 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 6e  (<b>spatialite_n
3840: 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69 6e 20 6f  etwork</b>) in o
3850: 72 64 65 72 20 74 6f 20 70 72 6f 70 65 72 6c 79  rder to properly
3860: 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 20 56 69   initialize a Vi
3870: 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62  rtualNetwork Tab
3880: 6c 65 20 61 6e 64 20 69 74 73 20 63 6f 6d 70 61  le and its compa
3890: 6e 69 6f 6e 20 42 69 6e 61 72 79 44 61 74 61 2d  nion BinaryData-
38a0: 54 61 62 6c 65 3b 0d 0a 61 6c 74 65 72 6e 61 74  Table;..alternat
38b0: 69 76 65 6c 79 20 3c 62 3e 73 70 61 74 69 61 6c  ively <b>spatial
38c0: 69 74 65 5f 67 75 69 3c 2f 62 3e 20 73 75 70 70  ite_gui</b> supp
38d0: 6f 72 74 65 64 20 61 20 3c 62 3e 47 55 49 20 77  orted a <b>GUI w
38e0: 69 7a 61 72 64 3c 2f 62 3e 20 66 6f 72 20 74 68  izard</b> for th
38f0: 65 20 73 61 6d 65 20 74 61 73 6b 2e 20 53 69 6e  e same task. Sin
3900: 63 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35 2e  ce version <b>5.
3910: 30 2e 30 3c 2f 62 3e 2c 20 53 70 61 74 69 61 4c  0.0</b>, SpatiaL
3920: 69 74 65 20 20 73 75 70 70 6f 72 74 73 20 74 68  ite  supports th
3930: 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79  is functionality
3940: 20 64 69 72 65 63 74 6c 79 2c 20 77 69 74 68 20   directly, with 
3950: 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75  the <b>CreateRou
3960: 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66  ting()</b> SQL f
3970: 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61  unction...<verba
3980: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65  tim>..SELECT Cre
3990: 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 6f  ateRouting('byfo
39a0: 6f 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f 6f  ot_data', 'byfoo
39b0: 74 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20  t', 'roads_vw', 
39c0: 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f  'node_from', 'no
39d0: 64 65 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e  deto', 'geom', N
39e0: 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  ULL);....SELECT 
39f0: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65  CreateRouting_Ge
3a00: 74 4c 61 73 74 45 72 72 6f 72 28 29 3b 0d 0a 2d  tLastError();..-
3a10: 2d 2d 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 0d 0a 54 6f 4e 6f 64 65 20 43 6f 6c 75  ---..ToNode Colu
3a40: 6d 6e 20 22 6e 6f 64 65 74 6f 22 20 69 73 20 6e  mn "nodeto" is n
3a50: 6f 74 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68  ot defined in th
3a60: 65 20 49 6e 70 75 74 20 54 61 62 6c 65 0d 0a 3c  e Input Table..<
3a70: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e  /verbatim>..<u>N
3a80: 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 66 69  ote</u>: this fi
3a90: 72 73 74 20 71 75 65 72 79 20 28 62 61 73 65 64  rst query (based
3aa0: 20 6f 6e 20 74 68 65 20 3c 69 3e 6d 69 6e 69 6d   on the <i>minim
3ab0: 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 3c  al form</i> of <
3ac0: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 3c  b>CreateRouting<
3ad0: 2f 62 3e 29 20 3c 62 3e 3c 69 3e 3c 75 3e 64 65  /b>) <b><i><u>de
3ae0: 6c 69 62 65 72 61 74 65 6c 79 3c 2f 75 3e 3c 2f  liberately</u></
3af0: 69 3e 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20  i></b> contains 
3b00: 61 6e 20 65 72 72 6f 72 20 63 61 75 73 69 6e 67  an error causing
3b10: 20 61 20 66 61 69 6c 75 72 65 20 74 68 61 74 20   a failure that 
3b20: 77 69 6c 6c 20 72 61 69 73 65 20 61 6e 20 65 78  will raise an ex
3b30: 63 65 70 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 43 72  ception.<br>..Cr
3b40: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 63 61  eateRouting() ca
3b50: 6e 20 66 61 69 6c 20 66 6f 72 20 6d 75 6c 74 69  n fail for multi
3b60: 70 6c 65 20 72 65 61 73 6f 6e 73 2c 20 61 6e 64  ple reasons, and
3b70: 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 43   by calling <b>C
3b80: 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74  reateRouting_Get
3b90: 4c 61 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e 20  LastError()</b> 
3ba0: 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 69  you can easily i
3bb0: 64 65 6e 74 69 66 79 20 74 68 65 20 65 78 61 63  dentify the exac
3bc0: 74 20 72 65 61 73 6f 6e 20 77 68 79 20 74 68 65  t reason why the
3bd0: 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 63 61 6c   most recent cal
3be0: 6c 20 74 6f 20 43 72 65 61 74 65 52 6f 75 74 69  l to CreateRouti
3bf0: 6e 67 28 29 20 66 61 69 6c 65 64 2e 3c 62 72 3e  ng() failed.<br>
3c00: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45  ..<verbatim>..SE
3c10: 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69  LECT CreateRouti
3c20: 6e 67 28 27 62 79 66 6f 6f 74 5f 64 61 74 61 27  ng('byfoot_data'
3c30: 2c 20 27 62 79 66 6f 6f 74 27 2c 20 27 72 6f 61  , 'byfoot', 'roa
3c40: 64 73 5f 76 77 27 2c 20 27 6e 6f 64 65 5f 66 72  ds_vw', 'node_fr
3c50: 6f 6d 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 2c 20  om', 'node_to', 
3c60: 27 67 65 6f 6d 27 2c 20 4e 55 4c 4c 2c 20 27 74  'geom', NULL, 't
3c70: 6f 70 6f 6e 79 6d 27 2c 20 31 2c 20 31 29 3b 0d  oponym', 1, 1);.
3c80: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a  .-------------..
3c90: 31 0d 0a 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  1....SELECT Crea
3ca0: 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73  teRouting_GetLas
3cb0: 74 45 72 72 6f 72 28 29 3b 0d 0a 2d 2d 2d 2d 2d  tError();..-----
3cc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3cd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d  ---------------.
3ce0: 0a 4e 55 4c 4c 0d 0a 3c 2f 76 65 72 62 61 74 69  .NULL..</verbati
3cf0: 6d 3e 0d 0a 54 68 69 73 20 73 65 63 6f 6e 64 20  m>..This second 
3d00: 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 73 75 63  attempt will suc
3d10: 63 65 65 64 2c 20 77 69 74 68 20 43 72 65 61 74  ceed, with Creat
3d20: 65 52 6f 75 74 69 6e 67 28 29 20 72 65 74 75 72  eRouting() retur
3d30: 6e 69 6e 67 20 3c 62 3e 31 3c 2f 62 3e 20 28 3c  ning <b>1</b> (<
3d40: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 54 52 55  i>aka</i> <b>TRU
3d50: 45 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 73 20 79  E</b>), and as y
3d60: 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 63 68  ou can easily ch
3d70: 65 63 6b 20 6e 6f 77 20 74 68 65 20 44 61 74 61  eck now the Data
3d80: 62 61 73 65 20 63 6f 6e 74 61 69 6e 73 20 74 77  base contains tw
3d90: 6f 20 6e 65 77 20 54 61 62 6c 65 73 3a 20 3c 62  o new Tables: <b
3da0: 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 61 6e 64 20  >byfoot</b> and 
3db0: 3c 62 3e 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f  <b>byfoot_data</
3dc0: 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  b>.<br>..<u>Note
3dd0: 3c 2f 75 3e 3a 20 61 66 74 65 72 20 61 20 73 75  </u>: after a su
3de0: 63 63 65 73 73 66 75 6c 20 63 61 6c 6c 20 74 6f  ccessful call to
3df0: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29   CreateRouting()
3e00: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e   <b>CreateRoutin
3e10: 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29  g_GetLastError()
3e20: 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73  </b> will always
3e30: 20 72 65 74 75 72 6e 20 3c 62 3e 4e 55 4c 4c 3c   return <b>NULL<
3e40: 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65  /b>.<br><br>..Le
3e50: 74 27 73 20 6c 6f 6f 6b 2c 20 69 6e 20 6d 6f 72  t's look, in mor
3e60: 65 20 64 65 74 61 69 6c 2c 20 6f 66 20 74 68 65  e detail, of the
3e70: 20 3c 69 3e 6d 69 6e 69 6d 61 6c 20 66 6f 72 6d   <i>minimal form
3e80: 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 52 6f  </i> of CreateRo
3e90: 75 74 69 6e 67 28 29 3b 20 61 6e 64 20 74 68 65  uting(); and the
3ea0: 20 6d 65 61 6e 69 6e 67 20 6f 66 20 65 61 63 68   meaning of each
3eb0: 20 61 72 67 75 6d 65 6e 74 3a 0d 0a 3c 6f 6c 3e   argument:..<ol>
3ec0: 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 5f  ..<li><i>byfoot_
3ed0: 64 61 74 61 3c 2f 69 3e 3a 20 74 68 65 20 6e 61  data</i>: the na
3ee0: 6d 65 20 6f 66 20 74 68 65 20 4e 65 74 77 6f 72  me of the Networ
3ef0: 6b 20 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62  k BinaryData-Tab
3f00: 6c 65 20 74 6f 20 62 65 20 63 72 65 61 74 65 64  le to be created
3f10: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62  .</li>..<li><i>b
3f20: 79 66 6f 6f 74 3c 2f 69 3e 3a 20 74 68 65 20 6e  yfoot</i>: the n
3f30: 61 6d 65 20 6f 66 20 74 68 65 20 56 69 72 74 75  ame of the Virtu
3f40: 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 20  alRouting-Table 
3f50: 74 6f 20 62 65 20 63 72 65 61 74 65 64 2e 3c 2f  to be created.</
3f60: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64  li>..<li><i>road
3f70: 73 5f 76 77 3c 2f 69 3e 3a 20 74 68 65 20 6e 61  s_vw</i>: the na
3f80: 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e 53 70 61  me of the <b>Spa
3f90: 74 69 61 6c 20 54 61 62 6c 65 3c 2f 62 3e 20 6f  tial Table</b> o
3fa0: 72 20 3c 62 3e 53 70 61 74 69 61 6c 20 56 69 65  r <b>Spatial Vie
3fb0: 77 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69  w</b> representi
3fc0: 6e 67 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e  ng the underlyin
3fd0: 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a  g Network.<br>..
3fe0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 69 6e 20  <u>Note</u>: in 
3ff0: 74 68 69 73 20 63 61 73 65 20 77 65 20 61 63 74  this case we act
4000: 75 61 6c 6c 79 20 75 73 65 64 20 61 20 53 70 61  ually used a Spa
4010: 74 69 61 6c 20 56 69 65 77 2e 3c 2f 6c 69 3e 0d  tial View.</li>.
4020: 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f  .<li><i>node_fro
4030: 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74  m</i>: name of t
4040: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68  he column (in th
4050: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72  e above Table or
4060: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20   View) expected 
4070: 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f  to contain <b>no
4080: 64 65 2d 66 72 6f 6d 3c 2f 62 3e 20 76 61 6c 75  de-from</b> valu
4090: 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  es.</li>..<li><i
40a0: 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e 61  >node_to</i>: na
40b0: 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e  me of the column
40c0: 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54   (in the above T
40d0: 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65 78  able or View) ex
40e0: 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61 69  pected to contai
40f0: 6e 20 3c 62 3e 6e 6f 64 65 2d 74 6f 3c 2f 62 3e  n <b>node-to</b>
4100: 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c   values.</li>..<
4110: 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20  li><i>geom</i>: 
4120: 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75  name of the colu
4130: 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65  mn (in the above
4140: 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20   Table or View) 
4150: 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74  expected to cont
4160: 61 69 6e 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e  ain <b>Linestrin
4170: 67 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20  gs</b>.<br>..In 
4180: 74 68 65 20 63 61 73 65 20 6f 66 20 61 20 3c 62  the case of a <b
4190: 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b  >Logical Network
41a0: 3c 2f 62 3e 3a 20 61 20 20 3c 62 3e 4e 55 4c 4c  </b>: a  <b>NULL
41b0: 3c 2f 62 3e 20 73 68 6f 75 6c 64 20 62 65 20 70  </b> should be p
41c0: 61 73 73 65 64 2e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  assed..</li>..<l
41d0: 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e  i><i>NULL</i>: n
41e0: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
41f0: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
4200: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65  Table or View) e
4210: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61  xpected to conta
4220: 69 6e 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 76  in <b>cost</b> v
4230: 61 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74  alues.<br>..In t
4240: 68 69 73 20 63 61 73 65 20 77 65 20 68 61 76 65  his case we have
4250: 20 70 61 73 73 65 64 20 61 20 3c 62 3e 4e 55 4c   passed a <b>NUL
4260: 4c 3c 2f 62 3e 20 76 61 6c 75 65 2c 20 61 6e 64  L</b> value, and
4270: 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68   consequently th
4280: 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 6f 66  e <b>cost</b> of
4290: 20 65 61 63 68 20 4c 69 6e 6b 20 77 69 6c 6c 20   each Link will 
42a0: 62 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65  be assumed to be
42b0: 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20   represented by 
42c0: 74 68 65 20 3c 62 3e 67 65 6f 6d 65 74 72 69 63  the <b>geometric
42d0: 20 6c 65 6e 67 74 68 3c 2f 62 3e 20 6f 66 20 74   length</b> of t
42e0: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
42f0: 20 4c 69 6e 65 73 74 72 69 6e 67 2e 3c 62 72 3e   Linestring.<br>
4300: 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e  ..<u>Note #1</u>
4310: 3a 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66  : in the case of
4320: 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 65 64 20   Networks based 
4330: 6f 6e 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73  on <b>longitudes
4340: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69  </b> and <b>lati
4350: 74 75 64 65 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b  tudes</b> (<i>ak
4360: 61 3c 2f 69 3e 20 3c 62 3e 67 65 6f 67 72 61 70  a</i> <b>geograp
4370: 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63  hic</b> Referenc
4380: 65 20 53 79 73 74 65 6d 73 29 20 74 68 65 20 67  e Systems) the g
4390: 65 6f 6d 65 74 72 79 20 6c 65 6e 67 74 68 20 6f  eometry length o
43a0: 66 20 61 6c 6c 20 4c 69 6e 65 73 74 72 69 6e 67  f all Linestring
43b0: 73 20 77 69 6c 6c 20 62 65 20 70 72 65 63 69 73  s will be precis
43c0: 65 6c 79 20 3c 62 3e 6d 65 61 73 75 72 65 64 20  ely <b>measured 
43d0: 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64  on the ellipsoid
43e0: 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 6e 67  </b> by applying
43f0: 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 72 61   the most accura
4400: 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 20 66  te <b>geodesic f
4410: 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20 61 6e 64 20  ormulas</b> and 
4420: 77 69 6c 6c 20 63 6f 6e 73 65 71 75 65 6e 74 6c  will consequentl
4430: 79 20 62 65 20 65 78 70 72 65 73 73 65 64 20 69  y be expressed i
4440: 6e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e 2e  n <b>meters</b>.
4450: 20 49 6e 20 61 6e 79 20 6f 74 68 65 72 20 63 61   In any other ca
4460: 73 65 20 28 3c 62 3e 70 72 6f 6a 65 63 74 65 64  se (<b>projected
4470: 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 65 20 53  </b> Reference S
4480: 79 73 74 65 6d 73 29 20 6c 65 6e 67 74 68 73 20  ystems) lengths 
4490: 77 69 6c 6c 20 62 65 20 65 78 70 72 65 73 73 65  will be expresse
44a0: 64 20 69 6e 20 74 68 65 20 3c 62 3e 6d 65 61 73  d in the <b>meas
44b0: 75 72 65 20 75 6e 69 74 3c 2f 62 3e 20 64 65 66  ure unit</b> def
44c0: 69 6e 65 64 20 62 79 20 74 68 65 20 52 65 66 65  ined by the Refe
44d0: 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 65 2e  rence System (e.
44e0: 67 2e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e  g. <b>meters</b>
44f0: 20 66 6f 72 20 3c 62 3e 55 54 4d 3c 2f 62 3e 20   for <b>UTM</b> 
4500: 70 72 6f 6a 65 63 74 69 6f 6e 73 20 61 6e 64 20  projections and 
4510: 3c 62 3e 66 65 65 74 3c 2f 62 3e 20 66 6f 72 20  <b>feet</b> for 
4520: 3c 62 3e 4e 41 44 2d 66 74 3c 2f 62 3e 20 70 72  <b>NAD-ft</b> pr
4530: 6f 6a 65 63 74 69 6f 6e 73 29 2e 3c 62 72 3e 0d  ojections).<br>.
4540: 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a  .<u>Note #2</u>:
4550: 20 74 68 65 20 3c 62 3e 67 65 6f 6d 2d 63 6f 6c   the <b>geom-col
4560: 75 6d 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 63  umn</b> and <b>c
4570: 6f 73 74 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 61  ost-column</b> a
4580: 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6e 65 76  rguments are nev
4590: 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65  er allowed to be
45a0: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 61 74 20   <b>NULL</b> at 
45b0: 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 2f  the same time.</
45c0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 6f 70 6f  li>..<li><i>topo
45d0: 6e 79 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66  nym</i>: name of
45e0: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20   the column (in 
45f0: 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20  the above Table 
4600: 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65  or View) expecte
4610: 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e  d to contain <b>
4620: 72 6f 61 64 2d 6e 61 6d 65 3c 2f 62 3e 20 76 61  road-name</b> va
4630: 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 74 20 63 6f  lues.<br>..It co
4640: 75 6c 64 20 62 65 20 6c 65 67 69 74 69 6d 61 74  uld be legitimat
4650: 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55  ely set to <b>NU
4660: 4c 4c 3c 2f 62 3e 20 69 66 20 61 6c 6c 20 4c 69  LL</b> if all Li
4670: 6e 6b 73 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75  nks are anonymou
4680: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  s.</li>..<li><i>
4690: 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61 6e  1</i>: a boolean
46a0: 20 66 6c 61 67 20 69 6e 74 65 6e 64 65 64 20 74   flag intended t
46b0: 6f 20 73 70 65 63 69 66 79 20 69 66 20 74 68 65  o specify if the
46c0: 20 4e 65 74 77 6f 72 6b 20 6d 75 73 74 20 73 75   Network must su
46d0: 70 70 6f 72 74 20 74 68 65 20 3c 62 3e 41 2a 20  pport the <b>A* 
46e0: 61 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 6f 72  algorithm</b> or
46f0: 20 6e 6f 74 20 28 73 65 74 20 74 6f 20 3c 62 3e   not (set to <b>
4700: 54 52 55 45 3c 2f 62 3e 20 62 79 20 64 65 66 61  TRUE</b> by defa
4710: 75 6c 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ult).</li>..<li>
4720: 3c 69 3e 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c  <i>1</i>: a bool
4730: 65 61 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64 65  ean flag intende
4740: 64 20 74 6f 20 73 70 65 63 69 66 79 20 69 66 20  d to specify if 
4750: 61 6c 6c 20 4e 65 74 77 6f 72 6b 27 73 20 4c 69  all Network's Li
4760: 6e 6b 73 20 61 72 65 20 61 73 73 75 6d 65 64 20  nks are assumed 
4770: 74 6f 20 62 65 20 3c 62 3e 62 69 64 69 72 65 63  to be <b>bidirec
4780: 74 69 6f 6e 61 6c 3c 2f 62 3e 20 6f 72 20 6e 6f  tional</b> or no
4790: 74 20 28 61 73 73 75 6d 65 64 20 74 6f 20 62 65  t (assumed to be
47a0: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 62 79 20   <b>TRUE</b> by 
47b0: 64 65 66 61 75 6c 74 29 2e 3c 2f 6c 69 3e 20 0d  default).</li> .
47c0: 0a 3c 2f 6f 6c 3e 0d 0a 3c 74 61 62 6c 65 20 62  .</ol>..<table b
47d0: 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22  gcolor="#c0ffc0"
47e0: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30   cellspacing="10
47f0: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
4800: 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e  "><tr><td>..<h3>
4810: 54 65 63 68 6e 69 63 61 6c 20 6e 6f 74 65 3c 2f  Technical note</
4820: 68 33 3e 0d 0a 54 68 65 20 69 6e 74 65 72 6e 61  h3>..The interna
4830: 6c 20 65 6e 63 6f 64 69 6e 67 20 61 64 6f 70 74  l encoding adopt
4840: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 42 69 6e  ed by the <b>Bin
4850: 61 72 79 44 61 74 61 2d 54 61 62 6c 65 3c 2f 62  aryData-Table</b
4860: 3e 20 69 73 20 75 6e 63 68 61 6e 67 65 64 20 61  > is unchanged a
4870: 6e 64 20 69 73 20 74 68 65 20 73 61 6d 65 20 66  nd is the same f
4880: 6f 72 20 62 6f 74 68 20 3c 62 3e 56 69 72 74 75  or both <b>Virtu
4890: 61 6c 4e 65 74 77 6f 6b 3c 2f 62 3e 20 61 6e 64  alNetwok</b> and
48a0: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69   <b>VirtualRouti
48b0: 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 59 6f 75  ng</b>.<br>..You
48c0: 20 63 61 6e 20 73 61 66 65 6c 79 20 62 61 73 65   can safely base
48d0: 20 61 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75   a <b>VirtualRou
48e0: 74 69 6e 67 2d 54 61 62 6c 65 3c 2f 62 3e 20 6f  ting-Table</b> o
48f0: 6e 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 42  n any existing B
4900: 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65 20  inaryData-Table 
4910: 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20 3c  created by the <
4920: 62 3e 73 70 61 74 69 61 6c 69 74 65 2d 6e 65 74  b>spatialite-net
4930: 77 6f 72 6b 3c 2f 62 3e 20 43 4c 49 20 74 6f 6f  work</b> CLI too
4940: 6c 2c 20 65 78 61 63 74 6c 79 20 61 73 20 79 6f  l, exactly as yo
4950: 75 20 63 61 6e 20 62 61 73 65 20 61 20 3c 62 3e  u can base a <b>
4960: 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 54  VirtualNetwork T
4970: 61 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20  able</b> on any 
4980: 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65  BinaryData-Table
4990: 20 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20   created by the 
49a0: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
49b0: 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74  ()</b> SQL funct
49c0: 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  ion...<verbatim>
49d0: 0d 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 4c  ..CREATE VIRTUAL
49e0: 20 54 41 42 4c 45 20 74 65 73 74 5f 6e 65 74 77   TABLE test_netw
49f0: 6f 72 6b 20 55 53 49 4e 47 20 56 69 72 74 75 61  ork USING Virtua
4a00: 6c 4e 65 74 77 6f 72 6b 28 27 73 6f 6d 65 5f 64  lNetwork('some_d
4a10: 61 74 61 5f 74 61 62 6c 65 27 29 3b 0d 0a 0d 0a  ata_table');....
4a20: 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54  CREATE VIRTUAL T
4a30: 41 42 4c 45 20 74 65 73 74 5f 72 6f 75 74 69 6e  ABLE test_routin
4a40: 67 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 52  g USING VirtualR
4a50: 6f 75 74 69 6e 67 28 27 73 6f 6d 65 5f 64 61 74  outing('some_dat
4a60: 61 5f 74 61 62 6c 65 27 29 3b 0d 0a 3c 2f 76 65  a_table');..</ve
4a70: 72 62 61 74 69 6d 3e 0d 0a 49 6e 20 6f 72 64 65  rbatim>..In orde
4a80: 72 20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 72  r to manually cr
4a90: 65 61 74 65 20 79 6f 75 72 20 56 69 72 74 75 61  eate your Virtua
4aa0: 6c 20 54 61 62 6c 65 73 20 79 6f 75 20 6a 75 73  l Tables you jus
4ab0: 74 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74  t have to execut
4ac0: 65 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65  e an appropriate
4ad0: 20 3c 62 3e 43 52 45 41 54 45 20 56 49 52 54 55   <b>CREATE VIRTU
4ae0: 41 4c 20 54 41 42 4c 45 20 2e 2e 2e 20 55 53 49  AL TABLE ... USI
4af0: 4e 47 20 56 69 72 74 75 61 6c 2e 2e 2e 20 28 2e  NG Virtual... (.
4b00: 2e 2e 29 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e  ..)</b> statemen
4b10: 74 2e 0d 0a 3c 68 34 3e 57 61 72 6e 69 6e 67 3c  t...<h4>Warning<
4b20: 2f 68 34 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73  /h4>..In the cas
4b30: 65 20 6f 66 20 3c 62 3e 53 70 61 74 69 61 6c 20  e of <b>Spatial 
4b40: 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 20 62 61 73  Networks</b> bas
4b50: 65 64 20 6f 6e 20 61 6e 79 20 3c 62 3e 67 65 6f  ed on any <b>geo
4b60: 67 72 61 70 68 69 63 3c 2f 62 3e 20 52 65 66 65  graphic</b> Refe
4b70: 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 75 73  rence System (us
4b80: 69 6e 67 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65  ing <b>longitude
4b90: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74  s</b> and <b>lat
4ba0: 69 74 75 64 65 73 3c 2f 62 3e 29 20 74 68 65 72  itudes</b>) ther
4bb0: 65 20 69 73 20 61 6e 20 69 6d 70 6f 72 74 61 6e  e is an importan
4bc0: 74 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74  t difference bet
4bd0: 77 65 65 6e 20 42 69 6e 61 72 79 44 61 74 61 2d  ween BinaryData-
4be0: 54 61 62 6c 65 73 20 63 72 65 61 74 65 64 20 62  Tables created b
4bf0: 79 20 74 68 65 20 3c 62 3e 73 70 61 74 69 61 6c  y the <b>spatial
4c00: 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20  ite_network</b> 
4c10: 47 55 49 20 74 6f 6f 6c 20 61 6e 64 20 20 42 69  GUI tool and  Bi
4c20: 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65 73 20  naryData-Tables 
4c30: 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20 3c  created by the <
4c40: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28  b>CreateRouting(
4c50: 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69  )</b> SQL functi
4c60: 6f 6e 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74 73  on when <b>costs
4c70: 3c 2f 62 3e 20 61 72 65 20 69 6d 70 6c 69 63 69  </b> are implici
4c80: 74 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65  tly based on the
4c90: 20 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74   geometric lengt
4ca0: 68 20 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73 20  h of the Link's 
4cb0: 4c 69 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c  Linestring:..<ul
4cc0: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 70  >..<li>the <b>sp
4cd0: 61 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b  atialite_network
4ce0: 3c 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28 61  </b> CLI tool (a
4cf0: 6e 64 20 74 68 65 20 3c 62 3e 47 55 49 20 77 69  nd the <b>GUI wi
4d00: 7a 61 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65  zard</b> impleme
4d10: 6e 74 65 64 20 62 79 20 70 72 65 76 69 6f 75 73  nted by previous
4d20: 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e   versions of <b>
4d30: 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f  spatialite_gui</
4d40: 62 3e 29 20 63 6f 6d 70 75 74 65 20 74 68 65 20  b>) compute the 
4d50: 4c 69 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e  Linestring's len
4d60: 67 74 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e 67  gth as an <b>ang
4d70: 75 6c 61 72 20 64 69 73 74 61 6e 63 65 3c 2f 62  ular distance</b
4d80: 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c  > expressed in <
4d90: 62 3e 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f  b>degrees</b>.</
4da0: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  li>..<li>the <b>
4db0: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c  CreateRouting()<
4dc0: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  /b> SQL function
4dd0: 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 4c 69   computes the Li
4de0: 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74  nestring's lengt
4df0: 68 20 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61 72  h as a <b>linear
4e00: 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78   distance</b> ex
4e10: 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65  pressed in <b>me
4e20: 74 72 65 73 3c 2f 62 3e 20 62 79 20 61 70 70 6c  tres</b> by appl
4e30: 79 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63  ying the most ac
4e40: 63 75 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73  curate <b>geodes
4e50: 69 63 20 66 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20  ic formulas</b> 
4e60: 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64  on the ellipsoid
4e70: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
4e80: 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65  /td></tr></table
4e90: 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62  ><br><br>..<verb
4ea0: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72  atim>..SELECT Cr
4eb0: 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 63  eateRouting('byc
4ec0: 61 72 5f 64 61 74 61 27 2c 20 27 62 79 63 61 72  ar_data', 'bycar
4ed0: 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27  ', 'roads_vw', '
4ee0: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64  node_from', 'nod
4ef0: 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 27  e_to', 'geom', '
4f00: 63 6f 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d 27  cost', 'toponym'
4f10: 2c 20 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79 5f  , 1, 1, 'oneway_
4f20: 66 72 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61 79  fromto', 'oneway
4f30: 5f 74 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d  _tofrom', 0);..-
4f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4f50: 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74  ---..1..</verbat
4f60: 69 6d 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c 69  im>..After calli
4f70: 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  ng <b>CreateRout
4f80: 69 6e 67 28 29 3c 2f 62 3e 20 63 6f 72 72 65 63  ing()</b> correc
4f90: 74 6c 79 2c 20 20 74 68 65 20 44 61 74 61 62 61  tly,  the Databa
4fa0: 73 65 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20  se contains two 
4fb0: 66 75 72 74 68 65 72 20 54 61 62 6c 65 73 3a 20  further Tables: 
4fc0: 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e 64  <b>bycar</b> and
4fd0: 20 3c 62 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f   <b>bycar_data</
4fe0: 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69  b>.<br>..This ti
4ff0: 6d 65 20 79 6f 75 27 76 65 20 75 73 65 64 20 74  me you've used t
5000: 68 65 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20 66  he <i>complete f
5010: 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74  orm</i> of Creat
5020: 65 52 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27  eRouting(); let'
5030: 73 20 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65  s see in more de
5040: 70 74 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75  pth all the argu
5050: 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20  ments and their 
5060: 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a  meaning:..<ol>..
5070: 3c 6c 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61 74  <li><i>bycar_dat
5080: 61 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61  a</i>: same as a
5090: 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  bove.</li>..<li>
50a0: 3c 69 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73 61  <i>bycar</i>: sa
50b0: 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69  me as above.</li
50c0: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f  >..<li><i>roads_
50d0: 76 77 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20  vw</i>: same as 
50e0: 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  above.</li>..<li
50f0: 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69  ><i>node_from</i
5100: 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65  >: same as above
5110: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e  .</li>..<li><i>n
5120: 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d 65  ode_to</i>: same
5130: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d   as above.</li>.
5140: 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e  .<li><i>geom</i>
5150: 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e  : same as above.
5160: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63 6f  </li>..<li><i>co
5170: 73 74 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20  st</i>: same as 
5180: 61 62 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73 20  above...In this 
5190: 63 61 73 65 20 77 65 20 68 61 76 65 20 72 65 66  case we have ref
51a0: 65 72 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d 6e  erenced a column
51b0: 20 70 72 65 6c 6f 61 64 65 64 20 77 69 74 68 20   preloaded with 
51c0: 76 61 6c 75 65 73 20 63 6f 72 72 65 73 70 6f 6e  values correspon
51d0: 64 69 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e 74  ding to the <b>t
51e0: 69 6d 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65 64  ime</b> measured
51f0: 20 69 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f   in <b>seconds</
5200: 62 3e 20 72 65 71 75 69 72 65 64 20 74 6f 20 74  b> required to t
5210: 72 61 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e  raverse each Lin
5220: 6b 2e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 69  k.</li> ..<li><i
5230: 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73 61  >toponym</i>: sa
5240: 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69  me as above.</li
5250: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a  >..<li><i>1</i>:
5260: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28   same as above (
5270: 3c 69 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f 69  <i>A* enabled</i
5280: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  >).</li>..<li><i
5290: 3e 31 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20  >1</i>: same as 
52a0: 61 62 6f 76 65 20 28 3c 69 3e 62 69 64 69 72 65  above (<i>bidire
52b0: 63 74 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f 69  ctional Links</i
52c0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  >).</li>..<li><i
52d0: 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f  >oneway_fromto</
52e0: 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  i>: name of the 
52f0: 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61  column (in the a
5300: 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69  bove Table or Vi
5310: 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f 20  ew) expected to 
5320: 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20  contain boolean 
5330: 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e 67  flags specifying
5340: 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 61   if each Link ca
5350: 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20 69  n be traversed i
5360: 6e 20 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 6f  n the <b>from-to
5370: 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f  </b> direction o
5380: 72 20 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  r not.</li>..<li
5390: 3e 3c 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f  ><i>oneway_tofro
53a0: 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74  m</i>: name of t
53b0: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68  he column (in th
53c0: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72  e above Table or
53d0: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20   View) expected 
53e0: 74 6f 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65  to contain boole
53f0: 61 6e 20 66 6c 61 67 73 20 73 70 65 63 69 66 79  an flags specify
5400: 69 6e 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b  ing if each Link
5410: 20 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65   can be traverse
5420: 64 20 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d 66  d in the <b>to-f
5430: 72 6f 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f  rom</b> directio
5440: 6e 20 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a 3c  n or not.<br>..<
5450: 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 62  u>Note #1</u>: b
5460: 6f 74 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f  oth <b>from-to</
5470: 62 3e 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f  b> and <b>to-fro
5480: 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 6d  m</b> column nam
5490: 65 73 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69  es can be legiti
54a0: 6d 61 74 65 6c 79 20 73 65 74 20 61 73 20 3c 62  mately set as <b
54b0: 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f 20  >NULL</b> if no 
54c0: 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72  <b>one-way</b> r
54d0: 65 73 74 72 69 63 74 69 6f 6e 73 20 61 70 70 6c  estrictions appl
54e0: 79 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74  y to the current
54f0: 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c   Network.<br>..<
5500: 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 4e  u>Note #2</u>: N
5510: 65 74 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 3c  etworks of the <
5520: 62 3e 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c  b>unidirectional
5530: 3c 2f 62 3e 20 74 79 70 65 20 61 72 65 20 6e 65  </b> type are ne
5540: 76 65 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 72  ver enabled to r
5550: 65 66 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 2d  eference <b>one-
5560: 77 61 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20  way</b> columns 
5570: 28 74 68 65 79 20 73 68 6f 75 6c 64 20 61 6c 77  (they should alw
5580: 61 79 73 20 62 65 20 73 65 74 20 74 6f 20 3c 62  ays be set to <b
5590: 3e 4e 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e  >NULL</b>).</li>
55a0: 0d 0a 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a 20  ..<li><i>0</i>: 
55b0: 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 20  a boolean flag  
55c0: 73 70 65 63 69 66 79 69 6e 67 20 61 6e 20 3c 62  specifying an <b
55d0: 3e 6f 76 65 72 77 72 69 74 65 20 61 75 74 68 6f  >overwrite autho
55e0: 72 69 7a 61 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c  rization</b>...<
55f0: 75 6c 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20  ul>..<li>If set 
5600: 74 6f 20 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e 20  to <b>FALSE</b> 
5610: 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 69 6c  an exception wil
5620: 6c 20 62 65 20 72 61 69 73 65 64 20 69 66 20 74  l be raised if t
5630: 68 65 20 3c 62 3e 42 69 6e 61 72 79 44 61 74 61  he <b>BinaryData
5640: 2d 54 61 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f  -Table</b> and/o
5650: 72 20 74 68 65 20 3c 62 3e 56 69 72 74 75 61 6c  r the <b>Virtual
5660: 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 3c 2f 62  Routing-Table</b
5670: 3e 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 2e  > already exist.
5680: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65  </li>..<li>If se
5690: 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e  t to <b>TRUE</b>
56a0: 20 65 76 65 6e 74 75 61 6c 6c 79 20 65 78 69 73   eventually exis
56b0: 74 69 6e 67 20 54 61 62 6c 65 73 20 77 69 6c 6c  ting Tables will
56c0: 20 62 65 2c 20 74 6f 20 61 76 6f 69 64 20 65 72   be, to avoid er
56d0: 72 6f 72 73 2c 20 64 72 6f 70 70 65 64 20 62 65  rors, dropped be
56e0: 66 6f 72 65 20 73 74 61 72 74 69 6e 67 20 74 68  fore starting th
56f0: 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c  e execution of <
5700: 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28  b>CreateRouting(
5710: 29 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  )</b>.</li>..</u
5720: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a  l></li>..</ol>..
5730: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
5740: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 30 22 20 63  olor="#ffffc0" c
5750: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
5760: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
5770: 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 69  <tr><td>..<h3>Hi
5780: 67 68 6c 69 67 68 74 3a 20 77 68 65 72 65 20 79  ghlight: where y
5790: 6f 75 20 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f 75  ou are</h3>..You
57a0: 27 76 65 20 6a 75 73 74 20 63 72 65 61 74 65 64  've just created
57b0: 20 74 77 6f 20 56 69 72 74 75 61 6c 52 6f 75 74   two VirtualRout
57c0: 69 6e 67 2d 54 61 62 6c 65 73 20 62 61 73 65 64  ing-Tables based
57d0: 20 6f 6e 20 64 69 66 66 65 72 65 6e 74 20 73 65   on different se
57e0: 74 74 69 6e 67 73 3b 20 62 6f 74 68 20 74 68 65  ttings; both the
57f0: 6d 20 61 72 65 20 70 65 72 66 65 63 74 6c 79 20  m are perfectly 
5800: 76 61 6c 69 64 20 61 6e 64 20 72 65 61 73 6f 6e  valid and reason
5810: 61 62 6c 65 2c 20 62 75 74 20 74 68 65 79 20 61  able, but they a
5820: 72 65 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20  re intended for 
5830: 64 69 66 66 65 72 65 6e 74 20 70 75 72 70 6f 73  different purpos
5840: 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c  es:..<ul>..<li><
5850: 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 69 73 20  b>byfoot</b> is 
5860: 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74  specifically int
5870: 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 70 65 64  ended for <b>ped
5880: 65 73 74 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a 3c  estrians</b>:..<
5890: 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69 6e  ul>..<li>all Lin
58a0: 6b 73 20 61 72 65 20 61 6c 77 61 79 73 20 61 73  ks are always as
58b0: 73 75 6d 65 64 20 74 6f 20 62 65 20 61 63 63 65  sumed to be acce
58c0: 73 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74  ssible in <b>bot
58d0: 68 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e  h directions</b>
58e0: 3b 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 3c  ; there are no <
58f0: 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 20 61  b>one-ways</b> a
5900: 6e 64 20 6e 6f 20 3c 62 3e 66 6f 72 62 69 64 64  nd no <b>forbidd
5910: 65 6e 3c 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f 6c  en</b> Links.</l
5920: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 63  i>..<li>the <b>c
5930: 6f 73 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20  ost</b> of each 
5940: 4c 69 6e 6b 20 69 73 20 64 69 72 65 63 74 6c 79  Link is directly
5950: 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20   represented by 
5960: 69 74 73 20 67 65 6f 6d 65 74 72 69 63 20 3c 62  its geometric <b
5970: 3e 6c 65 6e 67 74 68 3c 2f 62 3e 2c 20 77 68 69  >length</b>, whi
5980: 63 68 20 69 73 20 63 6f 6e 73 69 73 74 65 6e 74  ch is consistent
5990: 20 77 69 74 68 20 74 68 65 20 61 73 73 75 6d 70   with the assump
59a0: 74 69 6f 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f 73  tion of an almos
59b0: 74 20 63 6f 6e 73 74 61 6e 74 20 73 70 65 65 64  t constant speed
59c0: 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 69   substantially i
59d0: 6d 6d 75 6e 65 20 66 72 6f 6d 20 61 64 76 65 72  mmune from adver
59e0: 73 65 20 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f  se road conditio
59f0: 6e 73 20 61 6e 64 20 74 72 61 66 66 69 63 20 63  ns and traffic c
5a00: 6f 6e 67 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d  ongestion.</li>.
5a10: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  .</ul></li>..<li
5a20: 3e 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 69 73  ><b>bycar</b> is
5a30: 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e   specifically in
5a40: 74 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 6d 6f  tended for <b>mo
5a50: 74 6f 72 20 76 65 68 69 63 6c 65 73 3c 2f 62 3e  tor vehicles</b>
5a60: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61 6e  :..<ul>..<li>man
5a70: 79 20 4c 69 6e 6b 73 20 61 72 65 20 65 78 70 65  y Links are expe
5a80: 63 74 65 64 20 74 6f 20 62 65 20 61 63 63 65 73  cted to be acces
5a90: 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68  sible in <b>both
5aa0: 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 20   directions</b> 
5ab0: 62 75 74 20 6f 74 68 65 72 73 20 63 6f 75 6c 64  but others could
5ac0: 20 65 61 73 69 6c 79 20 62 65 20 73 75 62 6a 65   easily be subje
5ad0: 63 74 20 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79  ct to <b>one-way
5ae0: 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 69 6f 6e  </b> restriction
5af0: 73 20 6f 72 20 65 76 65 6e 20 62 65 20 63 6f 6d  s or even be com
5b00: 70 6c 65 74 65 6c 79 20 3c 62 3e 66 6f 72 62 69  pletely <b>forbi
5b10: 64 64 65 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  dden</b>.</li>..
5b20: 3c 6c 69 3e 74 68 65 20 63 6f 73 74 20 6f 66 20  <li>the cost of 
5b30: 65 61 63 68 20 4c 69 6e 6b 20 69 73 20 65 78 70  each Link is exp
5b40: 72 65 73 73 65 64 20 61 73 20 61 6e 20 65 73 74  ressed as an est
5b50: 69 6d 61 74 65 64 20 3c 62 3e 74 72 61 76 65 6c  imated <b>travel
5b60: 20 74 69 6d 65 3c 2f 62 3e 2c 20 62 65 63 61 75   time</b>, becau
5b70: 73 65 20 74 68 65 20 65 78 70 65 63 74 65 64 20  se the expected 
5b80: 73 70 65 65 64 73 20 63 61 6e 20 67 72 65 61 74  speeds can great
5b90: 6c 79 20 76 61 72 79 20 61 63 63 6f 72 64 69 6e  ly vary accordin
5ba0: 67 6c 79 20 74 6f 20 73 70 65 63 69 66 69 63 20  gly to specific 
5bb0: 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2c  road conditions,
5bc0: 20 74 72 61 66 66 69 63 20 63 6f 6e 67 65 73 74   traffic congest
5bd0: 69 6f 6e 20 61 6e 64 20 6c 65 67 61 6c 20 72 65  ion and legal re
5be0: 67 75 6c 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d  gulations.</li>.
5bf0: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  .</ul></li>..</u
5c00: 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f 6e  l>..<br>..<u>Con
5c10: 63 6c 75 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20 73  clusion</u>: a s
5c20: 69 6e 67 6c 65 20 56 69 72 74 75 61 6c 52 6f 75  ingle VirtualRou
5c30: 74 69 6e 67 2d 54 61 62 6c 65 20 63 61 6e 6e 6f  ting-Table canno
5c40: 74 20 61 64 65 71 75 61 74 65 6c 79 20 73 75 70  t adequately sup
5c50: 70 6f 72 74 20 61 6c 6c 20 72 65 71 75 69 72 65  port all require
5c60: 6d 65 6e 74 73 20 61 6e 64 20 65 78 70 65 63 74  ments and expect
5c70: 61 74 69 6f 6e 73 20 6f 66 20 64 69 66 66 65 72  ations of differ
5c80: 65 6e 74 20 75 73 65 72 73 2e 3c 62 72 3e 0d 0a  ent users.<br>..
5c90: 44 65 66 69 6e 69 6e 67 20 6d 6f 72 65 20 52 6f  Defining more Ro
5ca0: 75 74 69 6e 67 20 54 61 62 6c 65 73 20 77 69 74  uting Tables wit
5cb0: 68 20 64 69 66 66 65 72 65 6e 74 20 73 65 74 74  h different sett
5cc0: 69 6e 67 73 20 66 6f 72 20 74 68 65 20 73 61 6d  ings for the sam
5cd0: 65 20 4e 65 74 77 6f 72 6b 20 75 73 75 61 6c 6c  e Network usuall
5ce0: 79 20 69 73 20 61 20 67 6f 6f 64 20 64 65 73 69  y is a good desi
5cf0: 67 6e 20 63 68 6f 69 63 65 20 6c 65 61 64 69 6e  gn choice leadin
5d00: 67 20 74 6f 20 6d 6f 72 65 20 72 65 61 6c 69 73  g to more realis
5d10: 74 69 63 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e  tic results.<br>
5d20: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f  ..</td></tr>..</
5d30: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  table>..<br><br>
5d40: 0d 0a 3c 68 33 3e 55 74 69 6c 69 74 79 20 66 75  ..<h3>Utility fu
5d50: 6e 63 74 69 6f 6e 20 66 6f 72 20 61 75 74 6f 6d  nction for autom
5d60: 61 74 69 63 61 6c 6c 79 20 73 65 74 74 69 6e 67  atically setting
5d70: 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f   NodeFrom and No
5d80: 64 65 54 6f 20 49 44 73 3c 2f 68 33 3e 0d 0a 49  deTo IDs</h3>..I
5d90: 74 20 63 6f 75 6c 64 20 68 61 70 70 65 6e 20 74  t could happen t
5da0: 68 61 74 20 61 20 3c 62 3e 53 70 61 74 69 61 6c  hat a <b>Spatial
5db0: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 70   Network</b> rep
5dc0: 72 65 73 65 6e 74 61 74 69 6f 6e 20 69 73 20 74  resentation is t
5dd0: 6f 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 63 6f 6e  opologically con
5de0: 73 69 73 74 65 6e 74 2c 20 62 75 74 20 63 6f 6d  sistent, but com
5df0: 70 6c 65 74 65 6c 79 20 6c 61 63 6b 69 6e 67 20  pletely lacking 
5e00: 6f 66 20 61 6e 79 20 3c 62 3e 4e 6f 64 65 46 72  of any <b>NodeFr
5e10: 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f  om</b> and <b>No
5e20: 64 65 54 6f 3c 2f 62 3e 20 64 65 66 69 6e 69 74  deTo</b> definit
5e30: 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 49 6e 20 73 75  ions.<br>..In su
5e40: 63 68 20 61 20 63 61 73 65 20 79 6f 75 20 63 61  ch a case you ca
5e50: 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72  n successfully r
5e60: 65 62 75 69 6c 64 20 74 68 65 20 6d 69 73 73 69  ebuild the missi
5e70: 6e 67 20 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64  ng  NodeFrom and
5e80: 20 4e 6f 64 65 54 6f 20 64 65 66 69 6e 69 74 69   NodeTo definiti
5e90: 6f 6e 73 20 66 72 6f 6d 20 61 20 76 61 6c 69 64  ons from a valid
5ea0: 20 4e 65 74 77 6f 72 6b 20 62 79 20 63 61 6c 6c   Network by call
5eb0: 69 6e 67 20 74 68 65 20 3c 62 3e 43 72 65 61 74  ing the <b>Creat
5ec0: 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c  eRoutingNodes()<
5ed0: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  /b> SQL function
5ee0: 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  ...<verbatim>..S
5ef0: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74  ELECT CreateRout
5f00: 69 6e 67 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20 27  ingNodes(NULL, '
5f10: 74 61 62 6c 65 5f 6e 61 6d 65 27 2c 20 27 67 65  table_name', 'ge
5f20: 6f 6d 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27  om', 'node_from'
5f30: 2c 20 27 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a 5f  , 'node_to');.._
5f40: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
5f50: 5f 5f 5f 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c 2f 76  ________..1..</v
5f60: 65 72 62 61 74 69 6d 3e 0d 0a 4c 65 74 27 73 20  erbatim>..Let's 
5f70: 65 78 61 6d 69 6e 65 20 61 6c 6c 20 61 72 67 75  examine all argu
5f80: 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20  ments and their 
5f90: 6d 65 61 6e 69 6e 67 73 3a 0d 0a 3c 6f 6c 3e 0d  meanings:..<ol>.
5fa0: 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e  .<li><i>NULL</i>
5fb0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 3c 62  : name of the <b
5fc0: 3e 41 74 74 61 63 68 65 64 2d 44 42 3c 2f 62 3e  >Attached-DB</b>
5fd0: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20   containing the 
5fe0: 53 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c 62  Spatial Table.<b
5ff0: 72 3e 0d 0a 49 74 20 63 61 6e 20 62 65 20 6c 65  r>..It can be le
6000: 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20 74  gitimately set t
6010: 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61  o <b>NULL</b>, a
6020: 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 65 20  nd in this case 
6030: 74 68 65 20 3c 62 3e 4d 41 49 4e 3c 2f 62 3e 20  the <b>MAIN</b> 
6040: 44 42 20 69 73 20 61 73 73 75 6d 65 64 2e 3c 2f  DB is assumed.</
6050: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 61 62 6c  li>..<li><i>tabl
6060: 65 5f 6e 61 6d 65 3c 2f 69 3e 3a 20 6e 61 6d 65  e_name</i>: name
6070: 20 6f 66 20 74 68 65 20 53 70 61 74 69 61 6c 20   of the Spatial 
6080: 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  Table.</li>..<li
6090: 3e 3c 69 3e 67 65 6f 6d 3c 2f 6c 69 3e 3a 20 6e  ><i>geom</li>: n
60a0: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
60b0: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
60c0: 54 61 62 6c 65 29 20 63 6f 6e 74 61 69 6e 69 6e  Table) containin
60d0: 67 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e 67 73  g <b>Linestrings
60e0: 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </b>.</li>..<li>
60f0: 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e  <i>node_from</i>
6100: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f  : name of the co
6110: 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65 64  lumn to be added
6120: 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54 61   to the above Ta
6130: 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74 65  ble and populate
6140: 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69 61  d with appropria
6150: 74 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  te <b>NodeFrom</
6160: 62 3e 20 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  b> IDs.</li>..<l
6170: 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e  i><i>node_to</i>
6180: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f  : name of the co
6190: 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65 64  lumn to be added
61a0: 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54 61   to the above Ta
61b0: 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74 65  ble and populate
61c0: 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69 61  d with appropria
61d0: 74 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e  te <b>NodeTo</b>
61e0: 20 49 44 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f   IDs.<br>..<u>No
61f0: 74 65 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e  te</u>: both <b>
6200: 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64  NodeFrom</b> and
6210: 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63   <b>NodeTo</b> c
6220: 6f 6c 75 6d 6e 73 20 73 68 6f 75 6c 64 20 6e 6f  olumns should no
6230: 74 20 62 65 20 61 6c 72 65 61 64 79 20 64 65 66  t be already def
6240: 69 6e 65 64 20 69 6e 20 74 68 65 20 61 62 6f 76  ined in the abov
6250: 65 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c  e Table.</li>..<
6260: 2f 6f 6c 3e 0d 0a 3c 62 3e 43 72 65 61 74 65 52  /ol>..<b>CreateR
6270: 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62  outingNodes()</b
6280: 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 3c 62  > will return <b
6290: 3e 31 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f  >1</b> (<i>aka</
62a0: 69 3e 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 20  i> <b>TRUE</b>) 
62b0: 6f 6e 20 73 75 63 63 65 73 73 3b 20 61 6e 20 65  on success; an e
62c0: 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65  xception will be
62d0: 20 72 61 69 73 65 64 20 6f 6e 20 66 61 69 6c 75   raised on failu
62e0: 72 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  re.<br>..<u>Note
62f0: 3c 2f 75 3e 3a 20 79 6f 75 20 63 61 6e 20 63 61  </u>: you can ca
6300: 6c 6c 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  ll <b>CreateRout
6310: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72  ing_GetLastError
6320: 28 29 3c 2f 62 3e 20 73 6f 20 74 6f 20 70 72 65  ()</b> so to pre
6330: 63 69 73 65 6c 79 20 69 64 65 6e 74 69 66 79 20  cisely identify 
6340: 74 68 65 20 63 61 75 73 65 20 61 63 63 6f 75 6e  the cause accoun
6350: 74 69 6e 67 20 66 6f 72 20 66 61 69 6c 75 72 65  ting for failure
6360: 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  .<br><br><br>..<
6370: 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
6380: 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63  c0ffc0" cellspac
6390: 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
63a0: 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
63b0: 3e 0d 0a 3c 68 33 3e 48 61 6e 64 6c 69 6e 67 20  >..<h3>Handling 
63c0: 64 79 6e 61 6d 69 63 20 4e 65 74 77 6f 72 6b 73  dynamic Networks
63d0: 3c 2f 68 33 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b  </h3>..A Network
63e0: 20 63 6f 75 6c 64 20 62 65 20 73 75 62 6a 65 63   could be subjec
63f0: 74 20 74 6f 20 72 61 74 68 65 72 20 66 72 65 71  t to rather freq
6400: 75 65 6e 74 20 63 68 61 6e 67 65 73 2c 20 73 75  uent changes, su
6410: 63 68 20 61 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ch as:..<ul>..<l
6420: 69 3e 6e 65 77 20 4c 69 6e 6b 73 20 6e 65 65 64  i>new Links need
6430: 20 74 6f 20 62 65 20 61 64 64 65 64 2e 3c 2f 6c   to be added.</l
6440: 69 3e 0d 0a 3c 6c 69 3e 6f 62 73 6f 6c 65 74 65  i>..<li>obsolete
6450: 20 4c 69 6e 6b 73 20 61 72 65 20 72 65 71 75 69   Links are requi
6460: 72 65 64 20 74 6f 20 62 65 20 72 65 6d 6f 76 65  red to be remove
6470: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 74 68  d.</li>..<li>oth
6480: 65 72 20 4c 69 6e 6b 73 20 6d 61 79 20 72 65 63  er Links may rec
6490: 65 69 76 65 20 61 20 64 69 66 66 65 72 65 6e 74  eive a different
64a0: 20 43 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   Cost.</li>..<li
64b0: 3e 6f 6e 65 2d 77 61 79 73 20 63 6f 75 6c 64 20  >one-ways could 
64c0: 62 65 20 72 65 76 65 72 73 65 64 2c 20 74 68 65  be reversed, the
64d0: 20 64 69 73 63 69 70 6c 69 6e 65 20 6f 66 20 70   discipline of p
64e0: 65 64 65 73 74 72 69 61 6e 20 61 72 65 61 73 20  edestrian areas 
64f0: 63 6f 75 6c 64 20 62 65 20 6d 6f 64 69 66 69 65  could be modifie
6500: 64 20 61 6e 64 20 73 6f 20 6f 6e 2e 3c 2f 6c 69  d and so on.</li
6510: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 3c 62 72  >..</ul></li><br
6520: 3e 0d 0a 41 20 56 69 72 74 75 61 6c 52 6f 75 74  >..A VirtualRout
6530: 69 6e 67 2d 54 61 62 6c 65 20 69 73 20 61 6c 77  ing-Table is alw
6540: 61 79 73 20 62 61 73 65 64 20 6f 6e 20 61 20 63  ays based on a c
6550: 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 44  ompanion BinaryD
6560: 61 74 61 2d 54 61 62 6c 65 2c 20 74 68 61 74 20  ata-Table, that 
6570: 69 73 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79  is intrinsically
6580: 20 3c 62 3e 73 74 61 74 69 63 3c 2f 62 3e 2c 20   <b>static</b>, 
6590: 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79  and consequently
65a0: 20 79 6f 75 20 61 72 65 20 72 65 71 75 69 72 65   you are require
65b0: 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62  d to re-create b
65c0: 6f 74 68 20 6f 66 20 74 68 65 6d 20 66 72 6f 6d  oth of them from
65d0: 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 6e   time to time in
65e0: 20 6f 72 64 65 72 20 74 6f 20 73 75 70 70 6f 72   order to suppor
65f0: 74 20 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 61  t all recent cha
6600: 6e 67 65 73 20 61 66 66 65 63 74 69 6e 67 20 74  nges affecting t
6610: 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e  he underlaying N
6620: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65  etwork.<br>..The
6630: 20 6f 70 74 69 6d 61 6c 20 66 72 65 71 75 65 6e   optimal frequen
6640: 63 79 20 66 6f 72 20 74 68 65 20 72 65 66 72 65  cy for the refre
6650: 73 68 69 6e 67 20 6f 66 20 74 68 65 20 74 68 65  shing of the the
6660: 20 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20   Routing Tables 
6670: 64 65 70 65 6e 64 73 20 20 73 74 72 69 63 74 6c  depends  strictl
6680: 79 20 6f 6e 20 74 68 65 20 73 70 65 63 69 66 69  y on the specifi
6690: 63 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20  c requirements, 
66a0: 62 75 74 20 74 68 65 73 65 20 74 77 6f 20 6f 76  but these two ov
66b0: 65 72 61 6c 6c 20 61 70 70 72 6f 61 63 68 65 73  erall approaches
66c0: 20 61 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61 64   are commonly ad
66d0: 6f 70 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c  opted:..<ol>..<l
66e0: 69 3e 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65 6e  i><b>low frequen
66f0: 63 79 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20  cy refresh</b>: 
6700: 62 65 73 74 20 66 69 74 20 66 6f 72 20 73 6c 6f  best fit for slo
6710: 77 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74  wly evolving Net
6720: 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74  works.<br>..In t
6730: 68 69 73 20 63 61 73 65 20 72 65 2d 63 72 65 61  his case re-crea
6740: 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b  ting the Network
6750: 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 61 20 6d   Tables once a m
6760: 6f 6e 74 68 20 2f 20 77 65 65 6b 20 2f 20 64 61  onth / week / da
6770: 79 20 63 6f 75 6c 64 20 62 65 20 72 65 61 73 6f  y could be reaso
6780: 6e 61 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a 52  nably enough...R
6790: 65 63 72 65 61 74 69 6e 67 20 74 68 65 20 54 61  ecreating the Ta
67a0: 62 6c 65 73 20 66 72 6f 6d 20 73 63 72 61 74 63  bles from scratc
67b0: 68 20 75 73 75 61 6c 6c 79 20 72 65 71 75 69 72  h usually requir
67c0: 65 73 20 73 65 76 65 72 61 6c 20 73 65 63 6f 6e  es several secon
67d0: 64 73 20 28 6f 72 20 65 76 65 6e 20 6c 65 73 73  ds (or even less
67e0: 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74  , depending on t
67f0: 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69 6e  he number of Lin
6800: 6b 73 29 2e 3c 62 72 3e 0d 0a 41 6e 20 6f 70 74  ks).<br>..An opt
6810: 69 6f 6e 61 6c 20 72 65 66 72 65 73 68 20 61 63  ional refresh ac
6820: 74 69 76 69 74 79 20 63 6f 75 6c 64 20 62 65 20  tivity could be 
6830: 70 6c 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74  planned at low t
6840: 72 61 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e  raffic hours (e.
6850: 67 2e 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69  g. during the ni
6860: 67 68 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65  ght), and <b>Cre
6870: 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e  ateRouting()</b>
6880: 20 63 6f 75 6c 64 20 62 65 20 6f 70 74 69 6f 6e   could be option
6890: 61 6c 6c 79 20 63 61 6c 6c 65 64 20 62 79 20 65  ally called by e
68a0: 6e 61 62 6c 69 6e 67 20 74 68 65 20 6f 76 65 72  nabling the over
68b0: 77 72 69 74 65 20 6f 70 74 69 6f 6e 2e 3c 2f 6c  write option.</l
68c0: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75  i>..<li><b>mediu
68d0: 6d 2d 68 69 67 68 20 66 72 65 71 75 65 6e 63 79  m-high frequency
68e0: 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65   refresh</b>: be
68f0: 73 74 20 66 69 74 20 66 6f 72 20 73 77 69 66 74  st fit for swift
6900: 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77  ly evolving Netw
6910: 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72  orks.<br>..Re-cr
6920: 65 61 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f  eating the Netwo
6930: 72 6b 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 70  rk Tables once p
6940: 65 72 20 68 6f 75 72 20 28 6f 72 20 65 76 65 6e  er hour (or even
6950: 20 6d 6f 72 65 20 66 72 65 71 75 65 6e 74 6c 79   more frequently
6960: 29 20 63 6f 75 6c 64 20 62 65 20 73 74 72 69 63  ) could be stric
6970: 74 6c 79 20 72 65 71 75 69 72 65 64 2c 20 61 6e  tly required, an
6980: 64 20 66 72 65 71 75 65 6e 74 20 3c 62 3e 6f 75  d frequent <b>ou
6990: 74 20 6f 66 20 73 65 72 76 69 63 65 3c 2f 62 3e  t of service</b>
69a0: 20 70 65 72 69 6f 64 73 20 77 68 69 6c 65 20 77   periods while w
69b0: 61 69 74 69 6e 67 20 66 6f 72 20 74 68 65 20 72  aiting for the r
69c0: 65 66 72 65 73 68 20 70 72 6f 63 65 73 73 20 74  efresh process t
69d0: 6f 20 63 6f 6d 70 6c 65 74 65 20 63 6f 75 6c 64  o complete could
69e0: 20 65 61 73 69 6c 79 20 62 65 63 6f 6d 65 20 75   easily become u
69f0: 6e 61 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 3e  nacceptable.<br>
6a00: 0d 0a 49 6e 20 73 75 63 68 20 63 61 73 65 73 20  ..In such cases 
6a10: 79 6f 75 20 63 6f 75 6c 64 20 61 64 6f 70 74 20  you could adopt 
6a20: 61 20 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65 61  a <b>multi-threa
6a30: 64 65 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e  ded strategy</b>
6a40: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
6a50: 74 68 72 65 61 64 20 23 31 3c 2f 62 3e 20 28 3c  thread #1</b> (<
6a60: 69 3e 74 68 65 20 72 65 61 64 65 72 3c 2f 69 3e  i>the reader</i>
6a70: 29 3a 20 74 68 69 73 20 66 69 72 73 74 20 74 68  ): this first th
6a80: 72 65 61 64 20 69 73 20 69 6e 74 65 6e 64 65 64  read is intended
6a90: 20 74 6f 20 73 65 72 76 69 63 65 20 61 6e 79 20   to service any 
6aa0: 69 6e 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e 67  incoming Routing
6ab0: 20 72 65 71 75 65 73 74 2e 20 49 74 20 77 69 6c   request. It wil
6ac0: 6c 20 62 65 20 61 6c 77 61 79 73 20 61 63 74 69  l be always acti
6ad0: 76 65 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61 72  ve, and will tar
6ae0: 67 65 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e  get a well known
6af0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d   VirtualRouting-
6b00: 54 61 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e 6d  Table (e.g. <b>m
6b10: 79 5f 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 61  y_routing</b> ba
6b20: 73 65 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f 75  sed on <b>my_rou
6b30: 74 69 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e 3c  ting_data</b>).<
6b40: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72  /li>..<li><b>thr
6b50: 65 61 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e 74  ead #2</b> (<i>t
6b60: 68 65 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a 20  he writer</i>): 
6b70: 74 68 69 73 20 73 65 63 6f 6e 64 20 74 68 72 65  this second thre
6b80: 61 64 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e  ad is just inten
6b90: 64 65 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65  ded to re-create
6ba0: 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61   both Network Ta
6bb0: 62 6c 65 73 20 61 74 20 70 72 65 64 65 66 69 6e  bles at predefin
6bc0: 65 64 20 69 6e 74 65 72 76 61 6c 73 2c 20 61 6e  ed intervals, an
6bd0: 64 20 69 74 20 77 69 6c 6c 20 73 6c 65 65 70 20  d it will sleep 
6be0: 75 6e 74 69 6c 20 74 68 65 20 6e 65 78 74 20 69  until the next i
6bf0: 6e 74 65 72 76 61 6c 2e 3c 62 72 3e 0d 0a 41 74  nterval.<br>..At
6c00: 20 65 61 63 68 20 69 6e 74 65 72 76 61 6c 20 61   each interval a
6c10: 20 63 6f 70 79 20 6f 66 20 62 6f 74 68 20 4e 65   copy of both Ne
6c20: 74 77 6f 72 6b 20 54 61 62 6c 65 73 2c 20 77 69  twork Tables, wi
6c30: 6c 6c 20 62 65 20 6d 61 64 65 20 61 6e 64 2c 20  ll be made and, 
6c40: 77 68 65 6e 20 63 6f 6d 70 6c 65 61 74 65 64 2c  when compleated,
6c50: 20 77 69 6c 6c 20 6f 76 65 72 77 72 69 74 65 20   will overwrite 
6c60: 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 54 61 62  the original Tab
6c70: 6c 65 73 20 28 61 63 74 69 76 61 74 69 6e 67 20  les (activating 
6c80: 61 20 73 65 6d 61 70 68 6f 72 65 20 64 75 72 69  a semaphore duri
6c90: 6e 67 20 74 68 69 73 20 73 68 6f 72 74 2d 74 69  ng this short-ti
6ca0: 6d 65 64 20 6c 61 73 74 20 73 74 65 70 20 69 73  med last step is
6cb0: 20 68 69 67 68 6c 79 20 72 65 63 6f 6d 6d 65 6e   highly recommen
6cc0: 64 65 64 29 2e 3c 62 72 3e 0d 0a 53 6f 6d 65 74  ded).<br>..Somet
6cd0: 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 20 70  hing like this p
6ce0: 73 65 75 64 6f 2d 63 6f 64 65 20 65 78 65 6d 70  seudo-code exemp
6cf0: 6c 69 66 69 65 73 3a 0d 0a 3c 76 65 72 62 61 74  lifies:..<verbat
6d00: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  im>..SELECT Crea
6d10: 74 65 52 6f 75 74 69 6e 67 28 27 6e 65 77 5f 6d  teRouting('new_m
6d20: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c  y_routing_data',
6d30: 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67   'new_my_routing
6d40: 27 2c 20 2e 2e 2e 29 3b 0d 0a 0d 0a 2d 2d 3e 20  ', ...);....--> 
6d50: 73 74 61 72 74 20 74 68 65 20 73 65 6d 61 70 68  start the semaph
6d60: 6f 72 65 20 73 6f 20 74 6f 20 6c 6f 63 6b 20 74  ore so to lock t
6d70: 68 65 20 6f 74 68 65 72 20 74 68 72 65 61 64 0d  he other thread.
6d80: 0a 0d 0a 42 45 47 49 4e 3b 0d 0a 44 52 4f 50 20  ...BEGIN;..DROP 
6d90: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67  TABLE my_routing
6da0: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d 79  ;..DROP TABLE my
6db0: 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 3b 0d 0a  _routing_data;..
6dc0: 53 45 4c 45 43 54 20 43 6c 6f 6e 65 54 61 62 6c  SELECT CloneTabl
6dd0: 65 28 27 4d 41 49 4e 27 2c 20 27 6e 65 77 5f 6d  e('MAIN', 'new_m
6de0: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 2c  y_routing_data',
6df0: 20 27 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74   'my_routing_dat
6e00: 61 27 2c 20 30 29 3b 0d 0a 43 52 45 41 54 45 20  a', 0);..CREATE 
6e10: 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 6d 79  VIRTUAL TABLE my
6e20: 5f 72 6f 75 74 69 6e 67 20 55 53 49 4e 47 20 56  _routing USING V
6e30: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 28 27 6d  irtualRouting('m
6e40: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27 29  y_routing_data')
6e50: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6e 65  ;..DROP TABLE ne
6e60: 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44  w_my_routing;..D
6e70: 52 4f 50 20 54 41 42 4c 45 20 6e 65 77 5f 6d 79  ROP TABLE new_my
6e80: 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 3b 0d 0a  _routing_data;..
6e90: 43 4f 4d 4d 49 54 3b 0d 0a 0d 0a 2d 2d 3e 20 72  COMMIT;....--> r
6ea0: 65 6d 6f 76 65 20 74 68 65 20 73 65 6d 61 70 68  emove the semaph
6eb0: 6f 72 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  ore..</verbatim>
6ec0: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 73  ..<u>Note</u>: s
6ed0: 74 72 69 63 74 6c 79 20 72 65 73 70 65 63 74 69  trictly respecti
6ee0: 6e 67 20 74 68 65 20 61 62 6f 76 65 20 73 65 71  ng the above seq
6ef0: 75 65 6e 63 65 20 6f 66 20 53 51 4c 20 6f 70 65  uence of SQL ope
6f00: 72 61 74 69 6f 6e 73 20 69 73 20 61 62 73 6f 6c  rations is absol
6f10: 75 74 65 6c 79 20 72 65 71 75 69 72 65 64 2e 3c  utely required.<
6f20: 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  /li> ..</ul></li
6f30: 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c  >..</ol>..</td><
6f40: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
6f50: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
6f60: 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63  olor="#ffb060" c
6f70: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
6f80: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
6f90: 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61  <tr><td>..<h3>Wa
6fa0: 72 6e 69 6e 67 3a 20 68 6f 77 20 74 6f 20 63 6f  rning: how to co
6fb0: 72 72 65 63 74 6c 79 20 64 72 6f 70 20 4e 65 74  rrectly drop Net
6fc0: 77 6f 72 6b 20 54 61 62 6c 65 73 3c 2f 68 33 3e  work Tables</h3>
6fd0: 0d 0a 57 68 65 6e 20 64 72 6f 70 70 69 6e 67 20  ..When dropping 
6fe0: 61 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  a VirtualRouting
6ff0: 2d 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20 63  -Table and its c
7000: 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 44  ompanion BinaryD
7010: 61 74 61 2d 54 61 62 6c 65 20 73 74 72 69 63 74  ata-Table strict
7020: 6c 79 20 72 65 73 70 65 63 74 69 6e 67 20 74 68  ly respecting th
7030: 65 20 63 6f 72 72 65 63 74 20 73 65 71 75 65 6e  e correct sequen
7040: 63 65 20 6f 66 20 53 51 4c 20 63 6f 6d 6d 61 6e  ce of SQL comman
7050: 64 73 20 69 73 20 65 73 73 65 6e 74 69 61 6c 2e  ds is essential.
7060: 3c 62 72 3e 0d 0a 46 61 69 6c 69 6e 67 20 74 6f  <br>..Failing to
7070: 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 65 63   strictly respec
7080: 74 20 74 68 69 73 20 65 78 70 65 63 74 65 64 20  t this expected 
7090: 73 65 71 75 65 6e 63 65 20 77 69 6c 6c 20 73 75  sequence will su
70a0: 72 65 6c 79 20 63 61 75 73 65 20 79 6f 75 20 73  rely cause you s
70b0: 65 76 65 72 61 6c 20 74 72 6f 75 62 6c 65 73 20  everal troubles 
70c0: 61 6e 64 20 73 65 76 65 72 65 20 68 65 61 64 61  and severe heada
70d0: 63 68 65 73 2c 20 61 6e 64 20 77 69 6c 6c 20 70  ches, and will p
70e0: 6f 73 73 69 62 6c 79 20 6c 65 61 64 20 74 6f 20  ossibly lead to 
70f0: 61 20 63 6f 6d 70 6c 65 74 65 6c 79 20 63 6f 72  a completely cor
7100: 72 75 70 74 65 64 20 64 61 74 61 62 61 73 65 2e  rupted database.
7110: 2e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 66 69 72  ...<ol>..<li>fir
7120: 73 74 20 44 52 4f 50 20 74 68 65 20 56 69 72 74  st DROP the Virt
7130: 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65  ualRouting-Table
7140: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  .</li>..<li>the 
7150: 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79  companion Binary
7160: 44 61 74 61 2d 54 61 62 6c 65 20 63 61 6e 20 6f  Data-Table can o
7170: 6e 6c 79 20 62 65 20 73 61 66 65 6c 79 20 44 52  nly be safely DR
7180: 4f 50 65 64 20 61 66 74 65 72 20 74 68 65 20 56  OPed after the V
7190: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61  irtualRouting-Ta
71a0: 62 6c 65 20 68 61 73 20 62 65 65 6e 20 72 65 6d  ble has been rem
71b0: 6f 76 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  oved.</li>..<li>
71c0: 3c 75 3e 42 65 20 77 61 72 6e 65 64 3c 2f 75 3e  <u>Be warned</u>
71d0: 3a 20 69 66 20 79 6f 75 20 44 52 4f 50 20 74 68  : if you DROP th
71e0: 65 20 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62  e BinaryData-Tab
71f0: 6c 65 20 66 69 72 73 74 2c 20 74 68 65 20 56 69  le first, the Vi
7200: 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62  rtualRouting-Tab
7210: 6c 65 20 77 69 6c 6c 20 62 65 20 3c 62 3e 6f 72  le will be <b>or
7220: 70 68 61 6e 65 64 3c 2f 62 3e 20 61 6e 64 20 63  phaned</b> and c
7230: 61 6e 20 6e 6f 20 6c 6f 6e 67 65 72 20 62 65 20  an no longer be 
7240: 44 52 4f 50 65 64 20 21 3c 62 72 3e 0d 0a 3c 62  DROPed !<br>..<b
7250: 3e 59 6f 75 20 68 61 76 65 20 62 65 65 6e 20 77  >You have been w
7260: 61 72 6e 65 64 20 21 21 3c 2f 62 3e 3c 2f 6c 69  arned !!</b></li
7270: 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c  >..</ol>..</td><
7280: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
7290: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62  <br><br>..<hr><b
72a0: 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d  r>..<h1><a name=
72b0: 22 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53 6f  "from_to">4 - So
72c0: 6c 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53 68  lving classic Sh
72d0: 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f 62  ortest Path prob
72e0: 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 54  lems</a></h1>..T
72f0: 68 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63 20  he most classic 
7300: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72  Shortest Path pr
7310: 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 74  oblem requires t
7320: 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 6f  o identify the o
7330: 70 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69 6f  ptimal connectio
7340: 6e 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62 3e  n between an <b>
7350: 4f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20  Origin Node</b> 
7360: 61 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e 61  and a <b>Destina
7370: 74 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 62  tion Node</b>.<b
7380: 72 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69 6c  r>..We can easil
7390: 79 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63 68  y translate such
73a0: 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f 20   a problem into 
73b0: 61 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75 65  a simple SQL que
73c0: 72 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f 6d  ry targeting som
73d0: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  e VirtualRouting
73e0: 2d 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61 74  -Table...<verbat
73f0: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d 0a  im>..SELECT * ..
7400: 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
7410: 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37  RE NodeFrom = 17
7420: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20  8731 AND NodeTo 
7430: 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72  = 183286;..</ver
7440: 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62  batim>..<table b
7450: 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f  order="1" bgcolo
7460: 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c  r="#ffffcf" cell
7470: 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c  spacing="4" cell
7480: 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74  padding="6">..<t
7490: 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  r><th bgcolor="#
74a0: 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68  d0d0a0">Algorith
74b0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
74c0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75  r="#d0d0a0">Requ
74d0: 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  est</th><th bgco
74e0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
74f0: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
7500: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
7510: 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74  Delimiter</th><t
7520: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
7530: 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e  a0">RouteId</th>
7540: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
7550: 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f  d0a0">RouteRow</
7560: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7570: 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74  #d0d0a0">Role</t
7580: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
7590: 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69  d0d0a0">LinkRowi
75a0: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
75b0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
75c0: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
75d0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
75e0: 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67  odeTo</th><th bg
75f0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
7600: 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c 74  PointFrom</th><t
7610: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
7620: 61 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 3e  a0">PointTo</th>
7630: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
7640: 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c  d0a0">Tolerance<
7650: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7660: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
7670: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7680: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
7690: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
76a0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
76b0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
76c0: 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f  ..<td>Dijkstra</
76d0: 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20  td><td>Shortest 
76e0: 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c  Path</td><td>Ful
76f0: 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31  l</td><td>, &#91
7700: 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26  ;dec=44, hex=2c&
7710: 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  #93;</td><td ali
7720: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
7730: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7740: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
7750: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
7760: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7770: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
7780: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7790: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
77a0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
77b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
77c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
77d0: 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30  right">300.91220
77e0: 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  8</td><td>BLOB s
77f0: 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f  z=272 GEOMETRY</
7800: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7810: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
7820: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7830: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7840: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
7850: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7860: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
7870: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
7880: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
7890: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
78a0: 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64  ">224014</td><td
78b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
78c0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
78d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
78e0: 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  85</td><td>NULL<
78f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7900: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7910: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
7920: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
7930: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
7940: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
7950: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
7960: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
7970: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
7980: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7990: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
79a0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
79b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
79c0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
79d0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
79e0: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
79f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7a00: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
7a10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7a20: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
7a30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
7a40: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
7a50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7a60: 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c  ight">69.727726<
7a70: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7a80: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49  ><td>VIA MARGARI
7a90: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TONE</td>..</tr>
7aa0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
7ab0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7ac0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
7ad0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
7ae0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
7af0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7b00: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e  ight">3</td><td>
7b10: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
7b20: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31  gn="right">22441
7b30: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
7b40: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
7b50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7b60: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
7b70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7b80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
7b90: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
7ba0: 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32  ="right">136.372
7bb0: 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  057</td><td>NULL
7bc0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
7bd0: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
7be0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
7bf0: 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63  <br>..Let's quic
7c00: 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20  kly examine the 
7c10: 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e  resultset return
7c20: 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20  ed by the above 
7c30: 52 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d 0a  Routing query:..
7c40: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  <ul>..<li>the <b
7c50: 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 28  >first row</b> (
7c60: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64 65  <i>aka</i> heade
7c70: 72 20 72 6f 77 29 20 68 61 73 20 61 20 73 70 65  r row) has a spe
7c80: 63 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61 74  cial interpretat
7c90: 69 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74 65  ion, and is inte
7ca0: 6e 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69 7a  nded to summariz
7cb0: 65 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f 6c  e the travel sol
7cc0: 75 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65  ution as a whole
7cd0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20  .</li>..<li>all 
7ce0: 74 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e 67  the <b>following
7cf0: 20 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65 73   rows</b> repres
7d00: 65 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69 6e  ent a single Lin
7d10: 6b 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 75  k required to bu
7d20: 69 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e  ild the solution
7d30: 20 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b 20   (optima path); 
7d40: 4c 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72 65  Links are ordere
7d50: 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f  d accordingly to
7d60: 20 74 68 65 20 74 72 61 76 65 6c 20 64 69 72 65   the travel dire
7d70: 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e 67  ction connecting
7d80: 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 20   the Origin and 
7d90: 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 2e  the Destination.
7da0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d  </li>..<li>colum
7db0: 6e 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c  ns <b>Algorithm<
7dc0: 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c  /b>, <b>Request<
7dd0: 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c  /b>, <b>Options<
7de0: 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65  /b>, <b>Delimite
7df0: 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46  r</b>, <b>PointF
7e00: 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e  rom</b>, <b>Poin
7e10: 74 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c 65  tTo</b>, <b>Tole
7e20: 72 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c 62  rance</b> and <b
7e30: 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61 72  >Geometry</b> ar
7e40: 65 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20  e always set to 
7e50: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 28 65 78 63  <b>NULL</b> (exc
7e60: 65 70 74 20 74 68 61 74 20 6f 66 20 74 68 65 20  ept that of the 
7e70: 66 69 72 73 74 20 72 6f 77 20 6f 66 20 74 68 65  first row of the
7e80: 20 72 65 73 75 6c 74 73 65 74 29 3a 0d 0a 3c 75   resultset):..<u
7e90: 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c  l>..<li>column <
7ea0: 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20  b>Algorithm</b> 
7eb0: 61 63 63 6f 75 6e 74 73 20 66 6f 72 20 74 68 65  accounts for the
7ec0: 20 52 6f 75 74 69 6e 67 20 41 6c 67 6f 72 69 74   Routing Algorit
7ed0: 68 6d 20 75 73 65 64 20 62 79 20 74 68 65 20 63  hm used by the c
7ee0: 75 72 72 65 6e 74 20 71 75 65 72 79 20 28 3c 69  urrent query (<i
7ef0: 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 69 3e 20  >Dijkstra's</i> 
7f00: 6f 72 20 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c 2f  or <i>A*</i>).</
7f10: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20  li>..<li>column 
7f20: 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 73  <b>Request</b> s
7f30: 70 65 63 69 66 69 65 73 20 74 68 65 20 65 78 61  pecifies the exa
7f40: 63 74 20 6e 61 74 75 72 65 20 6f 66 20 74 68 65  ct nature of the
7f50: 20 63 75 72 72 65 6e 74 20 71 75 65 72 79 20 28   current query (
7f60: 69 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63  in this specific
7f70: 20 63 61 73 65 20 3c 69 3e 53 68 6f 72 74 65 73   case <i>Shortes
7f80: 74 20 50 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c 69  t Path</i>).</li
7f90: 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 6e 6f 77 20 77  >..<li>for now w
7fa0: 65 27 6c 6c 20 69 67 6e 6f 72 65 20 74 68 65 20  e'll ignore the 
7fb0: 63 6f 6c 75 6d 6e 73 20 3c 62 3e 4f 70 74 69 6f  columns <b>Optio
7fc0: 6e 73 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d  ns</b>, <b>Delim
7fd0: 69 74 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69  iter</b>, <b>Poi
7fe0: 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50  ntFrom</b>, <b>P
7ff0: 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64 20 3c  ointTo</b> and <
8000: 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a  b>Tolerance</b>:
8010: 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69 76   their respectiv
8020: 65 20 6d 65 61 6e 69 6e 67 73 20 77 69 6c 6c 20  e meanings will 
8030: 62 65 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20  be explained in 
8040: 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 72 61 67 72  following paragr
8050: 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  aphs.</li>..<li>
8060: 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74  column <b>Geomet
8070: 72 79 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20  ry</b> contains 
8080: 61 20 3c 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c  a <b>LINESTRING<
8090: 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 61 74 69  /b> representati
80a0: 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65 20  on of the whole 
80b0: 52 6f 75 74 65 20 73 6f 6c 75 74 69 6f 6e 2e 3c  Route solution.<
80c0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
80d0: 3a 20 6f 6e 20 3c 62 3e 4c 6f 67 69 63 61 6c 20  : on <b>Logical 
80e0: 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 20 28 6e 6f  Networks</b> (no
80f0: 74 20 73 75 70 70 6f 72 74 69 6e 67 20 47 65 6f  t supporting Geo
8100: 6d 65 74 72 69 65 73 29 20 3c 62 3e 47 65 6f 6d  metries) <b>Geom
8110: 65 74 72 79 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c  etry</b> will al
8120: 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c  ways be <b>NULL<
8130: 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  /b>.</li>..</ul>
8140: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c  </li>..<li>we'll
8150: 20 69 67 6e 6f 72 65 20 66 6f 72 20 6e 6f 77 20   ignore for now 
8160: 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 49  column <b>RouteI
8170: 64 3c 2f 62 3e 3b 20 69 74 73 20 6d 65 61 6e 69  d</b>; its meani
8180: 6e 67 20 77 69 6c 6c 20 62 65 20 65 78 70 6c 61  ng will be expla
8190: 69 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e  ined in followin
81a0: 67 20 70 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c  g paragraphs.</l
81b0: 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c  i>..<li>column <
81c0: 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 73  b>RouteRow</b> s
81d0: 69 6d 70 6c 79 20 69 73 20 74 68 65 20 70 72 6f  imply is the pro
81e0: 67 72 65 73 73 69 76 65 20 6e 75 6d 62 65 72 20  gressive number 
81f0: 6f 66 20 74 68 65 20 72 6f 77 20 69 6e 20 74 68  of the row in th
8200: 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f  e travel solutio
8210: 6e 20 28 61 6c 77 61 79 73 20 3c 62 3e 30 3c 2f  n (always <b>0</
8220: 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65 72  b> in the header
8230: 20 72 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   row).</li>..<li
8240: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 6c 65 3c  >column <b>Role<
8250: 2f 62 3e 20 63 61 6e 20 62 65 20 3c 69 3e 52 6f  /b> can be <i>Ro
8260: 75 74 65 3c 2f 69 3e 20 28 68 65 61 64 65 72 20  ute</i> (header 
8270: 72 6f 77 29 20 6f 72 20 3c 69 3e 4c 69 6e 6b 3c  row) or <i>Link<
8280: 2f 69 3e 20 28 61 6c 6c 20 66 6f 6c 6c 6f 77 69  /i> (all followi
8290: 6e 67 20 72 6f 77 73 29 2e 3c 2f 6c 69 3e 0d 0a  ng rows).</li>..
82a0: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4c 69  <li>column <b>Li
82b0: 6e 6b 52 6f 77 69 64 3c 2f 62 3e 20 72 65 66 65  nkRowid</b> refe
82c0: 72 65 6e 63 65 73 20 74 68 65 20 3c 62 3e 52 4f  rences the <b>RO
82d0: 57 49 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20 63  WID</b> of the c
82e0: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e  orresponding Lin
82f0: 6b 20 28 61 6c 77 61 79 73 20 73 65 74 20 74 6f  k (always set to
8300: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20   <b>NULL</b> in 
8310: 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 29 2e  the header row).
8320: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d  </li>..<li>colum
8330: 6e 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62  n <b>NodeFrom</b
8340: 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c  > and <b>NodeTo<
8350: 2f 62 3e 20 68 61 76 65 20 74 68 65 20 66 6f 6c  /b> have the fol
8360: 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74  lowing interpret
8370: 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ation:..<ul>..<l
8380: 69 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72 20  i>in the header 
8390: 72 6f 77 20 74 68 65 79 20 63 6f 72 72 65 73 70  row they corresp
83a0: 6f 6e 64 20 74 6f 20 68 65 20 3c 62 3e 4f 72 69  ond to he <b>Ori
83b0: 67 69 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44  gin</b> and <b>D
83c0: 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 4e  estination</b> N
83d0: 6f 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  odes.</li>..<li>
83e0: 69 6e 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f  in all of the fo
83f0: 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20 74 68 65  llowing rows the
8400: 79 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74  y are intended t
8410: 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 64 69  o specify the di
8420: 72 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 63  rection of the c
8430: 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c 69  urrent Link.</li
8440: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
8450: 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73  li>column <b>Cos
8460: 74 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 66 6f  t</b> has the fo
8470: 6c 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65  llowing interpre
8480: 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  tation:..<ul>..<
8490: 6c 69 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72  li>in the header
84a0: 20 72 6f 77 20 69 74 20 63 6f 72 72 65 73 70 6f   row it correspo
84b0: 6e 64 73 20 74 6f 20 74 68 65 20 3c 62 3e 74 6f  nds to the <b>to
84c0: 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 20 6f 66 20  tal cost</b> of 
84d0: 74 68 65 20 72 6f 75 74 65 2e 3c 2f 6c 69 3e 0d  the route.</li>.
84e0: 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 6f 66 20 74  .<li>in all of t
84f0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77  he following row
8500: 73 20 69 74 20 72 65 70 72 65 73 65 6e 74 73 20  s it represents 
8510: 74 68 65 20 73 70 65 63 69 66 69 63 20 63 6f 73  the specific cos
8520: 74 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74  t of the current
8530: 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75   Link.</li>..</u
8540: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c  l></li>..<li>col
8550: 75 6d 6e 20 3c 62 3e 4e 61 6d 65 3c 2f 62 3e 20  umn <b>Name</b> 
8560: 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 64 65 73  contains the des
8570: 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20  cription of the 
8580: 63 75 72 72 65 6e 74 20 4c 69 6e 6b 20 28 75 73  current Link (us
8590: 75 61 6c 6c 79 20 61 20 72 6f 61 64 20 6e 61 6d  ually a road nam
85a0: 65 29 2c 20 61 6e 64 20 69 73 20 61 6c 77 61 79  e), and is alway
85b0: 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e  s <b>NULL</b> in
85c0: 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 2e   the header row.
85d0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
85e0: 3e 20 69 74 20 63 6f 75 6c 64 20 62 65 20 61 6c  > it could be al
85f0: 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c  ways be <b>NULL<
8600: 2f 62 3e 20 69 66 20 74 68 65 20 56 69 72 74 75  /b> if the Virtu
8610: 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 20  alRouting-Table 
8620: 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74  does not support
8630: 73 20 6e 61 6d 65 73 20 28 69 2e 65 2e 20 74 68  s names (i.e. th
8640: 65 20 3c 62 3e 72 6f 61 64 5f 6e 61 6d 65 5f 63  e <b>road_name_c
8650: 6f 6c 75 6d 6e 3c 2f 62 3e 20 70 61 72 6d 20 6f  olumn</b> parm o
8660: 66 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 20  f CreateRouting 
8670: 77 61 73 20 6e 6f 74 20 75 73 65 64 29 2e 3c 2f  was not used).</
8680: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
8690: 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  .</ul>..<br><br>
86a0: 0d 0a 54 65 73 74 69 6e 67 20 74 68 65 20 72 65  ..Testing the re
86b0: 74 75 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20  turn connection 
86c0: 6a 75 73 74 20 72 65 71 75 69 72 65 73 20 73 77  just requires sw
86d0: 61 70 70 69 6e 67 20 74 68 65 20 4f 72 69 67 69  apping the Origi
86e0: 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e  n and the Destin
86f0: 61 74 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20 65  ation; in this e
8700: 78 61 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a 75  xample you'll ju
8710: 73 74 20 71 75 65 72 79 20 74 68 65 20 6e 65 65  st query the nee
8720: 64 65 64 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 76  ded columns:..<v
8730: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
8740: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
8750: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
8760: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
8770: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
8780: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
8790: 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20  .WHERE NodeTo = 
87a0: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46  178731 AND NodeF
87b0: 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c  rom = 183286;..<
87c0: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62  /verbatim>..<tab
87d0: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67  le border="1" bg
87e0: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20  color="#ffffcf" 
87f0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20  cellspacing="4" 
8800: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
8810: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f  ..<tr><th bgcolo
8820: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
8830: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
8840: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
8850: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
8860: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
8870: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
8880: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
8890: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
88a0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
88b0: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
88c0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
88d0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
88e0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
88f0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
8900: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
8910: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
8920: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ></tr>..<tr>..<t
8930: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8940: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
8950: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
8960: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8970: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
8980: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8990: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
89a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30  lign="right">300
89b0: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e  .912208</td><td>
89c0: 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d  BLOB sz=272 GEOM
89d0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
89e0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
89f0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
8a00: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
8a10: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
8a20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
8a30: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
8a40: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
8a50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
8a60: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
8a70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
8a80: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74  t">136.372057</t
8a90: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
8aa0: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
8ab0: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
8ac0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8ad0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
8ae0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8af0: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74  right">224446</t
8b00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8b10: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
8b20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8b30: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20  >182885</td><td 
8b40: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39  align="right">69
8b50: 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e  .727726</td><td>
8b60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
8b70: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64   MARGARITONE</td
8b80: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
8b90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8ba0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
8bb0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8bc0: 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74  right">224014</t
8bd0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8be0: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
8bf0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8c00: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
8c10: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34  align="right">94
8c20: 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e  .812424</td><td>
8c30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
8c40: 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c   PIETRO ARETINO<
8c50: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74  /td>..</tr>..</t
8c60: 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20  able>..<br>..As 
8c70: 79 6f 75 27 6c 6c 20 72 65 6d 65 6d 62 65 72 2c  you'll remember,
8c80: 20 74 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f   the <b>byfoot</
8c90: 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  b> VirtualRoutin
8ca0: 67 2d 54 61 62 6c 65 20 68 61 73 20 6e 6f 20 3c  g-Table has no <
8cb0: 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 2c 20  b>one-ways</b>, 
8cc0: 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79  and consequently
8cd0: 20 74 68 65 20 72 65 74 75 72 6e 20 70 61 74 68   the return path
8ce0: 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20   corresponds to 
8cf0: 74 68 65 20 66 69 72 73 74 20 6f 6e 65 2c 20 65  the first one, e
8d00: 78 63 65 70 74 20 69 6e 20 74 68 61 74 20 61 6c  xcept in that al
8d10: 6c 20 64 69 72 65 63 74 69 6f 6e 73 20 61 72 65  l directions are
8d20: 20 6e 6f 77 20 72 65 76 65 72 73 65 64 2e 0d 0a   now reversed...
8d30: 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f  <br><br><br>..No
8d40: 77 20 79 6f 75 27 6c 6c 20 74 65 73 74 20 74 68  w you'll test th
8d50: 65 20 73 61 6d 65 20 63 6f 6e 6e 65 63 74 69 6f  e same connectio
8d60: 6e 73 2c 20 62 75 74 20 74 68 69 73 20 74 69 6d  ns, but this tim
8d70: 65 20 79 6f 75 27 6c 6c 20 74 61 72 67 65 74 20  e you'll target 
8d80: 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e  the <b>bycar</b>
8d90: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d   VirtualRouting-
8da0: 54 61 62 6c 65 20 74 68 61 74 20 66 75 6c 6c 79  Table that fully
8db0: 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 6f 6e 65   supports <b>one
8dc0: 2d 77 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76 65 72  -ways</b>:..<ver
8dd0: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52  batim>..SELECT R
8de0: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
8df0: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
8e00: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
8e10: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
8e20: 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48  ..FROM bycar..WH
8e30: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
8e40: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
8e50: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
8e60: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20  rbatim>..<table 
8e70: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
8e80: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
8e90: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
8ea0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
8eb0: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
8ec0: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f  #d0d0a0">RouteRo
8ed0: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  w</th><th bgcolo
8ee0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65  r="#d0d0a0">Role
8ef0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
8f00: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52  ="#d0d0a0">LinkR
8f10: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63  owid</th><th bgc
8f20: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
8f30: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20  odeFrom</th><th 
8f40: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
8f50: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68  ">NodeTo</th><th
8f60: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
8f70: 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20  0">Cost</th><th 
8f80: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
8f90: 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c  ">Geometry</th><
8fa0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
8fb0: 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f  0a0">Name</th></
8fc0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
8fd0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
8fe0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
8ff0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9000: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9010: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
9020: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9030: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
9040: 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e 38 31  n="right">101.81
9050: 35 35 35 32 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  5552</td><td>BLO
9060: 42 20 73 7a 3d 32 30 33 32 20 47 45 4f 4d 45 54  B sz=2032 GEOMET
9070: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
9080: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9090: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
90a0: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
90b0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
90c0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34  n="right">224014
90d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
90e0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
90f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9100: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
9110: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9120: 3e 31 33 2e 31 32 37 38 37 34 3c 2f 74 64 3e 3c  >13.127874</td><
9130: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9140: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
9150: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
9160: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9170: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
9180: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9190: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
91a0: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  446</td><td alig
91b0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
91c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
91d0: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
91e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
91f0: 68 74 22 3e 39 2e 36 35 34 36 30 38 3c 2f 74 64  ht">9.654608</td
9200: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9210: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
9220: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
9230: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
9240: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
9250: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
9260: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31  ign="right">2191
9270: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  71</td><td align
9280: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
9290: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
92a0: 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64  ight">178732</td
92b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
92c0: 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e  t">7.809952</td>
92d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
92e0: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43  >VIA FRANCESCO C
92f0: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RISPI</td>..</tr
9300: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9310: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
9320: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9330: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9340: 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61  219058</td><td a
9350: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
9360: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  732</td><td alig
9370: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
9380: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9390: 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36  right">12.445626
93a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
93b0: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45  d><td>VIA FRANCE
93c0: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d  SCO CRISPI</td>.
93d0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
93e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
93f0: 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  5</td><td>Link</
9400: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9410: 67 68 74 22 3e 32 32 35 38 38 38 3c 2f 74 64 3e  ght">225888</td>
9420: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9430: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
9440: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9450: 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  83461</td><td al
9460: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 35 39  ign="right">1.59
9470: 39 38 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  9865</td><td>NUL
9480: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
9490: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
94a0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
94b0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
94c0: 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">6</td><td>Li
94d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
94e0: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38 37 3c  ="right">225887<
94f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9500: 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f 74 64  ight">183461</td
9510: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9520: 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e 3c 74  t">182800</td><t
9530: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9540: 33 2e 33 30 30 35 39 30 3c 2f 74 64 3e 3c 74 64  3.300590</td><td
9550: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9560: 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
9570: 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
9580: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9590: 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74  "right">7</td><t
95a0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
95b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33  lign="right">223
95c0: 39 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  935</td><td alig
95d0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 30 30  n="right">182800
95e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
95f0: 72 69 67 68 74 22 3e 31 38 32 37 39 39 3c 2f 74  right">182799</t
9600: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9610: 68 74 22 3e 36 2e 36 38 38 37 38 36 3c 2f 74 64  ht">6.688786</td
9620: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
9630: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47  d>VIALE LUCA SIG
9640: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f  NORELLI</td>..</
9650: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
9660: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f  lign="right">8</
9670: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
9680: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9690: 22 3e 32 32 36 30 33 38 3c 2f 74 64 3e 3c 74 64  ">226038</td><td
96a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
96b0: 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  82799</td><td al
96c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34  ign="right">1834
96d0: 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  56</td><td align
96e0: 3d 22 72 69 67 68 74 22 3e 31 2e 32 39 34 30 31  ="right">1.29401
96f0: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
9700: 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43  td><td>VIALE LUC
9710: 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64  A SIGNORELLI</td
9720: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
9730: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9740: 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">9</td><td>Link
9750: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9760: 72 69 67 68 74 22 3e 32 32 35 38 33 32 3c 2f 74  right">225832</t
9770: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9780: 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c  ht">183456</td><
9790: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
97a0: 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20  >183444</td><td 
97b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e  align="right">2.
97c0: 33 38 35 34 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e  385486</td><td>N
97d0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c  ULL</td><td>VIAL
97e0: 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c  E LUCA SIGNORELL
97f0: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
9800: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
9810: 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74  right">10</td><t
9820: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9830: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
9840: 38 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  831</td><td alig
9850: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 34 34  n="right">183444
9860: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9870: 72 69 67 68 74 22 3e 31 38 33 35 35 34 3c 2f 74  right">183554</t
9880: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9890: 68 74 22 3e 33 2e 31 36 30 36 36 32 3c 2f 74 64  ht">3.160662</td
98a0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
98b0: 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47  d>VIALE LUCA SIG
98c0: 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f  NORELLI</td>..</
98d0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
98e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c  lign="right">11<
98f0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
9900: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9910: 74 22 3e 32 32 35 37 36 35 3c 2f 74 64 3e 3c 74  t">225765</td><t
9920: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9930: 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61  183554</td><td a
9940: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9950: 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  954</td><td alig
9960: 6e 3d 22 72 69 67 68 74 22 3e 37 2e 34 36 39 39  n="right">7.4699
9970: 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  17</td><td>NULL<
9980: 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55  /td><td>VIALE LU
9990: 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74  CA SIGNORELLI</t
99a0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
99b0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
99c0: 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  t">12</td><td>Li
99d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
99e0: 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36 36 3c  ="right">225766<
99f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9a00: 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f 74 64  ight">183954</td
9a10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9a20: 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74  t">183905</td><t
9a30: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9a40: 33 2e 32 33 36 33 38 39 3c 2f 74 64 3e 3c 74 64  3.236389</td><td
9a50: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9a60: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45  ALE LUCA SIGNORE
9a70: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LLI</td>..</tr>.
9a80: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9a90: 3d 22 72 69 67 68 74 22 3e 31 33 3c 2f 74 64 3e  ="right">13</td>
9aa0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9ab0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
9ac0: 32 35 39 37 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  25979</td><td al
9ad0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39  ign="right">1839
9ae0: 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  05</td><td align
9af0: 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32 36 3c  ="right">183626<
9b00: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9b10: 69 67 68 74 22 3e 31 33 2e 39 38 33 36 32 39 3c  ight">13.983629<
9b20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9b30: 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a  ><td>STRADA SENZ
9b40: 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  A NOME</td>..</t
9b50: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
9b60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 3c 2f  ign="right">14</
9b70: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
9b80: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9b90: 22 3e 32 32 34 39 30 35 3c 2f 74 64 3e 3c 74 64  ">224905</td><td
9ba0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9bb0: 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83626</td><td al
9bc0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31  ign="right">1831
9bd0: 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  28</td><td align
9be0: 3d 22 72 69 67 68 74 22 3e 35 2e 36 32 37 33 35  ="right">5.62735
9bf0: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
9c00: 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45  td><td>STRADA SE
9c10: 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c  NZA NOME</td>..<
9c20: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
9c30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35  align="right">15
9c40: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
9c50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9c60: 68 74 22 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c  ht">224897</td><
9c70: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9c80: 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20  >183128</td><td 
9c90: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9ca0: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
9cb0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 2e 30 33  gn="right">10.03
9cc0: 30 37 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  0792</td><td>NUL
9cd0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
9ce0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
9cf0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
9d00: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
9d10: 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  ECT RouteRow, Ro
9d20: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
9d30: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
9d40: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
9d50: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61   Name..FROM byca
9d60: 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20  r..WHERE NodeTo 
9d70: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
9d80: 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d  eFrom = 183286;.
9d90: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74  .</verbatim>..<t
9da0: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20  able border="1" 
9db0: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66  bgcolor="#ffffcf
9dc0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34  " cellspacing="4
9dd0: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
9de0: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f  ">..<tr><th bgco
9df0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
9e00: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
9e10: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
9e20: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
9e30: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
9e40: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
9e50: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
9e60: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
9e70: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
9e80: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
9e90: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
9ea0: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
9eb0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
9ec0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
9ed0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
9ee0: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
9ef0: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
9f00: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9f10: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
9f20: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
9f30: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9f40: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
9f50: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9f60: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
9f70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9f80: 30 33 2e 33 30 35 32 35 39 3c 2f 74 64 3e 3c 74  03.305259</td><t
9f90: 64 3e 42 4c 4f 42 20 73 7a 3d 39 34 34 20 47 45  d>BLOB sz=944 GE
9fa0: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
9fb0: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
9fc0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9fd0: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
9fe0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
9ff0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a000: 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4414</td><td ali
a010: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
a020: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
a030: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
a040: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a050: 67 68 74 22 3e 31 38 2e 38 38 32 32 38 35 3c 2f  ght">18.882285</
a060: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a070: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
a080: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
a090: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a0a0: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
a0b0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a0c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
a0d0: 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9171</td><td ali
a0e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
a0f0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
a100: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f  "right">178732</
a110: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a120: 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74  ght">7.809952</t
a130: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a140: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
a150: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
a160: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a170: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
a180: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
a190: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a1a0: 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64  ">219058</td><td
a1b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a1c0: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  78732</td><td al
a1d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
a1e0: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
a1f0: 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36  ="right">12.4456
a200: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  26</td><td>NULL<
a210: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e  /td><td>VIA FRAN
a220: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64  CESCO CRISPI</td
a230: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
a240: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a250: 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">4</td><td>Link
a260: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a270: 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74  right">224538</t
a280: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a290: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
a2a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a2b0: 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20  >181972</td><td 
a2c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e  align="right">7.
a2d0: 30 34 37 37 38 34 3c 2f 74 64 3e 3c 74 64 3e 4e  047784</td><td>N
a2e0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
a2f0: 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f  ANTONIO GUADAGNO
a300: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LI</td>..</tr>..
a310: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
a320: 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
a330: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
a340: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32  lign="right">222
a350: 35 37 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  575</td><td alig
a360: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32  n="right">181972
a370: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a380: 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74  right">181971</t
a390: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a3a0: 68 74 22 3e 31 2e 38 35 32 32 38 33 3c 2f 74 64  ht">1.852283</td
a3b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
a3c0: 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55  d>VIA ANTONIO GU
a3d0: 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c  ADAGNOLI</td>..<
a3e0: 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  /tr>..<td align=
a3f0: 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74  "right">6</td><t
a400: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
a410: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
a420: 39 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  967</td><td alig
a430: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 31  n="right">181971
a440: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a450: 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c 2f 74  right">182891</t
a460: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a470: 68 74 22 3e 31 34 2e 32 37 33 31 38 35 3c 2f 74  ht">14.273185</t
a480: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a490: 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47  td>VIA ANTONIO G
a4a0: 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a  UADAGNOLI</td>..
a4b0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
a4c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
a4d0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
a4e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a4f0: 68 74 22 3e 32 32 34 31 36 38 3c 2f 74 64 3e 3c  ht">224168</td><
a500: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a510: 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20  >182891</td><td 
a520: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
a530: 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3057</td><td ali
a540: 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36 34 33  gn="right">6.643
a550: 33 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  309</td><td>NULL
a560: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43  </td><td>VIA MAC
a570: 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ALLE'</td>..</tr
a580: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
a590: 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64  gn="right">8</td
a5a0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
a5b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a5c0: 32 32 34 31 36 37 3c 2f 74 64 3e 3c 74 64 20 61  224167</td><td a
a5d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
a5e0: 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  057</td><td alig
a5f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36  n="right">183056
a600: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a610: 72 69 67 68 74 22 3e 33 2e 31 35 31 32 37 32 3c  right">3.151272<
a620: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a630: 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45  ><td>VIA MACALLE
a640: 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  '</td>..</tr>..<
a650: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
a660: 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64  right">9</td><td
a670: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
a680: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31  ign="right">2241
a690: 37 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  74</td><td align
a6a0: 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c  ="right">183056<
a6b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a6c0: 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64  ight">182941</td
a6d0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a6e0: 74 22 3e 37 2e 39 36 36 38 37 30 3c 2f 74 64 3e  t">7.966870</td>
a6f0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
a700: 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a  >VIA RODI</td>..
a710: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
a720: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a730: 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  0</td><td>Link</
a740: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a750: 67 68 74 22 3e 32 32 34 30 35 39 3c 2f 74 64 3e  ght">224059</td>
a760: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a770: 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64  ">182941</td><td
a780: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a790: 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  82001</td><td al
a7a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 33 39  ign="right">6.39
a7b0: 33 37 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  3747</td><td>NUL
a7c0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f  L</td><td>VIA RO
a7d0: 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  DI</td>..</tr>..
a7e0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
a7f0: 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c  "right">11</td><
a800: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a810: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a820: 32 36 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2637</td><td ali
a830: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30  gn="right">18200
a840: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
a850: 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f  "right">182000</
a860: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a870: 67 68 74 22 3e 32 2e 34 37 35 35 33 38 3c 2f 74  ght">2.475538</t
a880: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a890: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52  td>VIA PIETRO AR
a8a0: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
a8b0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
a8c0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74  gn="right">12</t
a8d0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
a8e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a8f0: 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20  >222636</td><td 
a900: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
a910: 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2000</td><td ali
a920: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
a930: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
a940: 22 72 69 67 68 74 22 3e 31 34 2e 33 36 33 34 30  "right">14.36340
a950: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
a960: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52  td><td>VIA PIETR
a970: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  O ARETINO</td>..
a980: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
a990: 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 63 61  .<br>..As you ca
a9a0: 6e 20 73 65 65 2c 20 74 68 65 20 6f 70 74 69 6d  n see, the optim
a9b0: 61 6c 20 70 61 74 68 73 20 72 65 74 75 72 6e 65  al paths returne
a9c0: 64 20 62 79 20 74 68 65 20 3c 62 3e 62 79 63 61  d by the <b>byca
a9d0: 72 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75  r</b> VirtualRou
a9e0: 74 69 6e 67 2d 54 61 62 6c 65 20 69 6e 20 74 68  ting-Table in th
a9f0: 65 20 6f 70 70 6f 73 69 74 65 20 64 69 72 65 63  e opposite direc
aa00: 74 69 6f 6e 73 20 73 74 72 6f 6e 67 6c 79 20 64  tions strongly d
aa10: 69 66 66 65 72 2c 20 61 6e 64 20 62 6f 74 68 20  iffer, and both 
aa20: 61 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64  are completely d
aa30: 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68  ifferent from th
aa40: 65 20 70 61 74 68 73 20 72 65 74 75 72 6e 65 64  e paths returned
aa50: 20 62 79 20 71 75 65 72 79 69 6e 67 20 3c 62 3e   by querying <b>
aa60: 62 79 66 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d  byfoot</b>.<br>.
aa70: 0a 41 20 71 75 69 63 6b 20 67 6c 61 6e 63 65 20  .A quick glance 
aa80: 61 74 20 74 68 65 20 6d 61 70 20 62 65 6c 6f 77  at the map below
aa90: 20 77 69 6c 6c 20 68 65 6c 70 20 74 6f 20 75 6e   will help to un
aaa0: 64 65 72 73 74 61 6e 64 20 62 65 74 74 65 72 20  derstand better 
aab0: 77 68 61 74 27 73 20 72 65 61 6c 6c 79 20 68 61  what's really ha
aac0: 70 70 65 6e 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68  ppening.<br>..Th
aad0: 69 73 20 69 73 20 61 20 63 65 6e 74 72 61 6c 20  is is a central 
aae0: 61 72 65 61 20 6f 66 20 74 68 65 20 74 6f 77 6e  area of the town
aaf0: 20 6f 66 20 41 72 65 7a 7a 6f 20 61 72 6f 75 6e   of Arezzo aroun
ab00: 64 20 74 68 65 20 61 72 63 68 61 65 6f 6c 6f 67  d the archaeolog
ab10: 69 63 61 6c 20 72 75 69 6e 73 20 6f 66 20 74 68  ical ruins of th
ab20: 65 20 52 6f 6d 61 6e 20 41 6d 70 68 69 74 68 65  e Roman Amphithe
ab30: 61 74 65 72 3b 20 74 72 61 76 65 6c 69 6e 67 20  ater; traveling 
ab40: 62 79 20 63 61 72 20 73 68 6f 75 6c 64 20 62 65  by car should be
ab50: 20 61 76 6f 69 64 65 64 2c 20 64 75 65 20 74 6f   avoided, due to
ab60: 20 74 68 65 20 6d 61 6e 79 20 6f 6e 65 2d 77 61   the many one-wa
ab70: 79 20 72 65 73 74 72 69 63 74 69 6f 6e 73 2e 20  y restrictions. 
ab80: 4e 6f 74 20 73 75 72 70 72 69 73 69 6e 67 6c 79  Not surprisingly
ab90: 2c 20 67 6f 69 6e 67 20 62 79 20 66 6f 6f 74 20  , going by foot 
aba0: 69 73 20 74 68 65 20 66 61 73 74 65 72 20 6f 70  is the faster op
abb0: 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  tion...<br><br>.
abc0: 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73  .<img src="https
abd0: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
abe0: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75  it/gaia-sins/rou
abf0: 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e  ting-figs/routin
ac00: 67 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67  g1.jpg" alt="fig
ac10: 31 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79  1">..<ul>..<li>y
ac20: 65 6c 6c 6f 77 20 70 61 74 68 3a 20 70 65 64 65  ellow path: pede
ac30: 73 74 72 69 61 6e 73 3c 2f 6c 69 3e 0d 0a 3c 6c  strians</li>..<l
ac40: 69 3e 67 72 65 65 6e 20 70 61 74 68 3a 20 63 61  i>green path: ca
ac50: 72 2c 20 66 6f 72 77 61 72 64 20 64 69 72 65 63  r, forward direc
ac60: 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 72  tion</li>..<li>r
ac70: 65 64 20 70 61 74 68 3a 20 63 61 72 2c 20 72 65  ed path: car, re
ac80: 74 75 72 6e 20 64 69 72 65 63 74 69 6f 6e 3c 2f  turn direction</
ac90: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e  li>..</ul>..<br>
aca0: 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
acb0: 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73  ="#c0ffc0" cells
acc0: 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c  pacing="10" cell
acd0: 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e  padding="6"><tr>
ace0: 3c 74 64 3e 0d 0a 3c 68 33 3e 4c 69 6e 65 73 74  <td>..<h3>Linest
acf0: 72 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 62  rings returned b
ad00: 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  y VirtualRouting
ad10: 3c 2f 68 33 3e 0d 0a 41 6c 6c 20 4c 49 4e 45 53  </h3>..All LINES
ad20: 54 52 49 4e 47 20 47 65 6f 6d 65 74 72 69 65 73  TRING Geometries
ad30: 20 63 72 65 61 74 65 64 20 62 79 20 61 6e 79 20   created by any 
ad40: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 77  VirtualRouting w
ad50: 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f 6e 74 61  ill always conta
ad60: 69 6e 20 3c 62 3e 4d 20 76 61 6c 75 65 73 3c 2f  in <b>M values</
ad70: 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69  b>:..<ul>..<li>i
ad80: 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e  f the underlayin
ad90: 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d  g Network's Geom
ada0: 65 74 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59  etries are <b>XY
adb0: 3c 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58 59 4d  </b> then <b>XYM
adc0: 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73  </b> Linestrings
add0: 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65   will be returne
ade0: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20  d.</li>..<li>if 
adf0: 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20  the underlaying 
ae00: 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74  Network's Geomet
ae10: 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59 5a 3c  ries are <b>XYZ<
ae20: 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58 59 5a 4d  /b> then <b>XYZM
ae30: 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73  </b> Linestrings
ae40: 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65   will be returne
ae50: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20  d.</li>..<li>if 
ae60: 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20  the underlaying 
ae70: 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74  Network's Geomet
ae80: 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59 4d 3c  ries are <b>XYM<
ae90: 2f 62 3e 20 6f 72 20 3c 62 3e 58 59 5a 4d 3c 2f  /b> or <b>XYZM</
aea0: 62 3e 20 74 68 65 6e 20 20 4c 69 6e 65 73 74 72  b> then  Linestr
aeb0: 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 69 6e  ings returned in
aec0: 74 6f 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  to the resultset
aed0: 20 77 69 6c 6c 20 6d 61 69 6e 74 61 69 6e 20 74   will maintain t
aee0: 68 65 20 73 61 6d 65 20 64 69 6d 65 6e 73 69 6f  he same dimensio
aef0: 6e 73 20 61 73 20 69 6e 20 74 68 65 20 75 6e 64  ns as in the und
af00: 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b  erlaying Network
af10: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61  .</li>..<li>in a
af20: 6e 79 20 63 61 73 65 20 74 68 65 20 3c 62 3e 4d  ny case the <b>M
af30: 3c 2f 62 3e 20 76 61 6c 75 65 73 20 77 69 6c 6c  </b> values will
af40: 20 62 65 20 61 70 70 72 6f 70 72 69 61 74 65 6c   be appropriatel
af50: 79 20 73 65 74 20 73 6f 20 74 6f 20 72 65 70 72  y set so to repr
af60: 65 73 65 6e 74 20 74 68 65 20 3c 75 3e 70 61 72  esent the <u>par
af70: 74 69 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 63 6f  tial cost</u> co
af80: 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65  rresponding to e
af90: 61 63 68 20 76 65 72 74 65 78 2e 0d 0a 28 69 66  ach vertex...(if
afa0: 20 74 68 65 20 69 6e 70 75 74 20 4c 69 6e 65 73   the input Lines
afb0: 74 72 69 6e 67 73 20 61 6c 72 65 61 64 79 20 63  trings already c
afc0: 6f 6e 74 61 69 6e 73 20 4d 2d 76 61 6c 75 65 73  ontains M-values
afd0: 20 74 68 65 79 27 6c 6c 20 62 65 20 6f 76 65 72   they'll be over
afe0: 77 72 69 74 74 65 6e 29 2e 3c 2f 6c 69 3e 0d 0a  written).</li>..
aff0: 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 49 6e 20  </ul>..<br>..In 
b000: 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 61 6c 6c  other words, all
b010: 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 65 74   Linestrings ret
b020: 75 72 6e 65 64 20 62 79 20 56 69 72 74 75 61 6c  urned by Virtual
b030: 52 6f 75 74 69 6e 67 20 63 61 6e 20 65 66 66 65  Routing can effe
b040: 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 74 20  ctively support 
b050: 3c 62 3e 4c 52 3c 2f 62 3e 20 28 3c 69 3e 4c 69  <b>LR</b> (<i>Li
b060: 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e 67  near Referencing
b070: 3c 2f 69 3e 29 20 53 51 4c 20 66 75 6e 63 74 69  </i>) SQL functi
b080: 6f 6e 73 2c 20 61 73 20 69 6e 20 74 68 65 20 66  ons, as in the f
b090: 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65  ollowing example
b0a0: 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  s:..<verbatim>..
b0b0: 53 45 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74 65  SELECT ST_Locate
b0c0: 5f 42 65 74 77 65 65 6e 5f 4d 65 61 73 75 72 65  _Between_Measure
b0d0: 73 28 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 33 30  s(<geometry>, 30
b0e0: 2e 30 2c 20 34 35 2e 30 29 3b 0d 0a 0d 0a 53 45  .0, 45.0);....SE
b0f0: 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42  LECT ST_Locate_B
b100: 65 74 77 65 65 6e 5f 4d 65 61 73 75 72 65 73 28  etween_Measures(
b110: 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 38 30 2e 30  <geometry>, 80.0
b120: 2c 20 39 35 2e 30 29 3b 0d 0a 3c 2f 76 65 72 62  , 95.0);..</verb
b130: 61 74 69 6d 3e 0d 0a 54 68 65 20 73 69 64 65 20  atim>..The side 
b140: 6d 61 70 20 67 72 61 70 68 69 63 61 6c 6c 79 20  map graphically 
b150: 73 68 6f 77 73 20 74 68 65 20 65 73 74 69 6d 61  shows the estima
b160: 74 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 72 65  ted positions re
b170: 73 70 65 63 74 69 76 65 6c 79 20 3c 62 3e 33 30  spectively <b>30
b180: 3c 2f 62 3e 2d 3c 62 3e 34 35 3c 2f 62 3e 20 73  </b>-<b>45</b> s
b190: 65 63 6f 6e 64 73 20 61 66 74 65 72 20 73 74 61  econds after sta
b1a0: 72 74 69 6e 67 20 28 79 65 6c 6c 6f 77 20 64 6f  rting (yellow do
b1b0: 74 74 65 64 20 6c 69 6e 65 29 20 61 6e 64 20 3c  tted line) and <
b1c0: 62 3e 38 30 3c 2f 62 3e 2d 3c 62 3e 39 35 3c 2f  b>80</b>-<b>95</
b1d0: 62 3e 20 73 65 63 6f 6e 64 73 20 61 66 74 65 72  b> seconds after
b1e0: 20 73 74 61 72 74 69 6e 67 20 28 67 72 65 65 6e   starting (green
b1f0: 20 64 6f 74 74 65 64 20 6c 69 6e 65 29 2e 3c 62   dotted line).<b
b200: 72 3e 0d 0a 28 61 73 73 75 6d 69 6e 67 20 74 68  r>..(assuming th
b210: 65 20 73 61 6d 65 20 70 61 74 68 20 72 65 74 75  e same path retu
b220: 72 6e 65 64 20 62 79 20 74 68 65 20 6c 61 74 65  rned by the late
b230: 73 74 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20  st <b>bycar</b> 
b240: 71 75 65 72 79 29 2e 0d 0a 3c 2f 74 64 3e 0d 0a  query)...</td>..
b250: 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74  <td><img src="ht
b260: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
b270: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
b280: 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75  routing-figs/rou
b290: 74 69 6e 67 32 2e 6a 70 67 22 20 61 6c 74 3d 22  ting2.jpg" alt="
b2a0: 66 69 67 32 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74  fig2"></td>..</t
b2b0: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
b2c0: 72 3e 0d 0a 3c 68 32 3e 50 6c 61 79 69 6e 67 20  r>..<h2>Playing 
b2d0: 77 69 74 68 20 56 69 72 74 75 61 6c 52 6f 75 74  with VirtualRout
b2e0: 69 6e 67 20 63 6f 6e 66 69 67 75 72 61 62 6c 65  ing configurable
b2f0: 20 6f 70 74 69 6f 6e 73 3c 2f 68 32 3e 0d 0a 53   options</h2>..S
b300: 65 76 65 72 61 6c 20 61 73 70 65 63 74 73 20 6f  everal aspects o
b310: 66 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  f VirtualRouting
b320: 20 63 61 6e 20 62 65 20 66 72 65 65 6c 79 20 63   can be freely c
b330: 75 73 74 6f 6d 69 7a 65 64 2e 0d 0a 3c 76 65 72  ustomized...<ver
b340: 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62  batim>..UPDATE b
b350: 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72 69  yfoot SET Algori
b360: 74 68 6d 20 3d 20 27 41 2a 27 3b 0d 0a 0d 0a 53  thm = 'A*';....S
b370: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c  ELECT Algorithm,
b380: 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52   Options, RouteR
b390: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
b3a0: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
b3b0: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
b3c0: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
b3d0: 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
b3e0: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
b3f0: 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31  1 AND NodeTo = 1
b400: 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74  83286;..</verbat
b410: 69 6d 3e 0d 0a 41 73 20 79 6f 75 27 6c 6c 20 72  im>..As you'll r
b420: 65 6d 65 6d 62 65 72 20 69 6e 20 61 6c 6c 20 74  emember in all t
b430: 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d  he previous exam
b440: 70 6c 65 73 20 74 68 65 20 3c 62 3e 44 69 6a 6b  ples the <b>Dijk
b450: 73 74 72 61 27 73 3c 2f 62 3e 20 61 6c 67 6f 72  stra's</b> algor
b460: 69 74 68 6d 20 77 61 73 20 75 73 65 64 3b 20 6e  ithm was used; n
b470: 6f 77 20 28 61 66 74 65 72 20 65 78 65 63 75 74  ow (after execut
b480: 69 6e 67 20 74 68 65 20 61 62 6f 76 65 20 3c 62  ing the above <b
b490: 3e 55 50 44 41 54 45 3c 2f 62 3e 29 20 61 6c 6c  >UPDATE</b>) all
b4a0: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71   Shortest Path q
b4b0: 75 65 72 69 65 73 20 77 69 6c 6c 20 62 65 20 62  ueries will be b
b4c0: 61 73 65 64 20 6f 6e 20 74 68 65 20 61 6c 74 65  ased on the alte
b4d0: 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62  rnative <b>A*</b
b4e0: 3e 20 61 6c 67 6f 72 69 74 68 6d 2e 3c 62 72 3e  > algorithm.<br>
b4f0: 0d 0a 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f  ..If you wish to
b500: 20 73 77 69 74 63 68 20 62 61 63 6b 20 74 6f 20   switch back to 
b510: 74 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20 61  the Dijkstra's a
b520: 6c 67 6f 72 69 74 68 6d 20 79 6f 75 20 6a 75 73  lgorithm you jus
b530: 74 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74  t have to execut
b540: 65 3c 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20  e<br> <b>UPDATE 
b550: 62 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72  byfoot SET Algor
b560: 69 74 68 6d 20 3d 20 27 44 49 4a 4b 53 54 52 41  ithm = 'DIJKSTRA
b570: 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d  ';</b>.<br><br>.
b580: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  .The following t
b590: 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72  able shows the r
b5a0: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
b5b0: 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75  d by the previou
b5c0: 73 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  s Shortest Path 
b5d0: 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f  query; please no
b5e0: 74 69 63 65 20 74 68 65 20 76 61 6c 75 65 20 69  tice the value i
b5f0: 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74  n the <b>Algorit
b600: 68 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a  hm</b> column...
b610: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
b620: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
b630: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
b640: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
b650: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
b660: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
b670: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69  "#d0d0a0">Algori
b680: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  thm</th><th bgco
b690: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
b6a0: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
b6b0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
b6c0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
b6d0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
b6e0: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
b6f0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
b700: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
b710: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
b720: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
b730: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
b740: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
b750: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
b760: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
b770: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
b780: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
b790: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
b7a0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
b7b0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
b7c0: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 46  <td>A*</td><td>F
b7d0: 75 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ull</td><td alig
b7e0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
b7f0: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
b800: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
b810: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
b820: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
b830: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
b840: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b850: 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30  right">300.91220
b860: 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  8</td><td>BLOB s
b870: 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f  z=272 GEOMETRY</
b880: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
b890: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
b8a0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
b8b0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
b8c0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
b8d0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
b8e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
b8f0: 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224014</td><td a
b900: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
b910: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
b920: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
b930: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b940: 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34  right">94.812424
b950: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
b960: 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f  d><td>VIA PIETRO
b970: 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c   ARETINO</td>..<
b980: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
b990: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
b9a0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
b9b0: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
b9c0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
b9d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
b9e0: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  446</td><td alig
b9f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
ba00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
ba10: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
ba20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
ba30: 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74  ht">69.727726</t
ba40: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
ba50: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
ba60: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
ba70: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
ba80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ba90: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
baa0: 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
bab0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
bac0: 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74  right">224414</t
bad0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
bae0: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
baf0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
bb00: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
bb10: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33  align="right">13
bb20: 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64  6.372057</td><td
bb30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
bb40: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
bb50: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  d>..</tr>..</tab
bb60: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72  le>..<br><br><br
bb70: 3e 0d 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20  >..You can also 
bb80: 63 6f 6e 66 69 67 75 72 65 20 74 68 65 20 72 65  configure the re
bb90: 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64  sultset returned
bba0: 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74   the VirtualRout
bbb0: 69 6e 67 20 71 75 65 72 69 65 73 2e 0d 0a 3c 76  ing queries...<v
bbc0: 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45  erbatim>..UPDATE
bbd0: 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69   byfoot SET Opti
bbe0: 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49 4e 4b 53 27  ons = 'NO LINKS'
bbf0: 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f  ;....SELECT Algo
bc00: 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20  rithm, Options, 
bc10: 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
bc20: 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
bc30: 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
bc40: 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
bc50: 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a  e..FROM byfoot..
bc60: 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
bc70: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
bc80: 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f  To = 183286;..</
bc90: 76 65 72 62 61 74 69 6d 3e 0d 0a 41 66 74 65 72  verbatim>..After
bca0: 20 73 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69   setting <b>Opti
bcb0: 6f 6e 73 3d 27 4e 4f 20 4c 49 4e 4b 53 27 3c 2f  ons='NO LINKS'</
bcc0: 62 3e 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  b> the resultset
bcd0: 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20 63 6f 6e   will simply con
bce0: 74 61 69 6e 20 74 68 65 20 68 65 61 64 65 72 20  tain the header 
bcf0: 72 6f 77 2c 20 61 6e 64 20 61 6c 6c 20 6f 66 20  row, and all of 
bd00: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f  the following ro
bd10: 77 73 20 77 69 6c 6c 20 62 65 20 73 75 70 70 72  ws will be suppr
bd20: 65 73 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  essed.<br>..<u>N
bd30: 6f 74 65 3c 2f 75 3e 3a 20 70 72 6f 64 75 63 69  ote</u>: produci
bd40: 6e 67 20 61 20 72 65 64 75 63 65 64 20 72 65 73  ng a reduced res
bd50: 75 6c 74 73 65 74 20 69 73 20 65 78 70 65 63 74  ultset is expect
bd60: 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77 61 79  ed to be someway
bd70: 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54 68   faster.<br>..Th
bd80: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c  e following tabl
bd90: 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75  e shows the resu
bda0: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62  ltset returned b
bdb0: 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 53  y the previous S
bdc0: 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65  hortest Path que
bdd0: 72 79 2e 3c 62 72 3e 0d 0a 4e 6f 74 69 63 65 20  ry.<br>..Notice 
bde0: 74 68 61 74 20 76 61 6c 75 65 20 69 6e 20 74 68  that value in th
bdf0: 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e  e <b>Options</b>
be00: 20 63 6f 6c 75 6d 6e 20 73 68 6f 77 73 20 79 6f   column shows yo
be10: 75 20 77 68 69 63 68 20 74 79 70 65 20 6f 66 20  u which type of 
be20: 72 65 73 75 6c 74 73 65 74 20 79 6f 75 20 61 72  resultset you ar
be30: 65 20 75 73 69 6e 67 20 28 6a 75 73 74 20 61 73  e using (just as
be40: 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68   the <b>Algorith
be50: 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 73 68 6f  m</b> column sho
be60: 77 73 20 77 68 69 63 68 20 61 6c 67 6f 72 69 74  ws which algorit
be70: 68 6d 20 69 73 20 61 63 74 69 76 65 29 2e 0d 0a  hm is active)...
be80: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
be90: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
bea0: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
beb0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
bec0: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
bed0: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
bee0: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69  "#d0d0a0">Algori
bef0: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  thm</th><th bgco
bf00: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
bf10: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
bf20: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
bf30: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
bf40: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
bf50: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
bf60: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
bf70: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
bf80: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
bf90: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
bfa0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
bfb0: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
bfc0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
bfd0: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
bfe0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
bff0: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
c000: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
c010: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
c020: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
c030: 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64  ..<td>A*</td><td
c040: 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64 3e 3c 74  >No Links</td><t
c050: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c060: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
c070: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
c080: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c090: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
c0a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c0b0: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
c0c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30  lign="right">300
c0d0: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e  .912208</td><td>
c0e0: 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d  BLOB sz=272 GEOM
c0f0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
c100: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
c110: 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72  /table>..<br><br
c120: 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d  ><br>..<verbatim
c130: 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74  >..UPDATE byfoot
c140: 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27   SET Options = '
c150: 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3b 0d  NO GEOMETRIES';.
c160: 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69  ...SELECT Algori
c170: 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f  thm, Options, Ro
c180: 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
c190: 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
c1a0: 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
c1b0: 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
c1c0: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
c1d0: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
c1e0: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
c1f0: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
c200: 72 62 61 74 69 6d 3e 41 66 74 65 72 20 73 65 74  rbatim>After set
c210: 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d  ting <b>Options=
c220: 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3c  'NO GEOMETRIES'<
c230: 2f 62 3e 20 74 68 65 20 72 65 73 75 6c 74 73 65  /b> the resultse
c240: 74 20 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 20 61  t will contain a
c250: 6c 6c 20 72 6f 77 73 2c 20 62 75 74 20 61 6c 6c  ll rows, but all
c260: 20 47 65 6f 6d 65 74 72 69 65 73 20 77 69 6c 6c   Geometries will
c270: 20 62 65 20 73 75 70 70 72 65 73 73 65 64 2e 3c   be suppressed.<
c280: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
c290: 3a 20 74 68 69 73 20 74 6f 6f 20 69 73 20 65 78  : this too is ex
c2a0: 70 65 63 74 65 64 20 74 6f 20 62 65 20 73 6f 6d  pected to be som
c2b0: 65 77 68 61 74 20 66 61 73 74 65 72 2e 3c 62 72  ewhat faster.<br
c2c0: 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  >..The following
c2d0: 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65   table shows the
c2e0: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
c2f0: 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76 69  ned by the previ
c300: 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61 74  ous Shortest Pat
c310: 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20  h query; please 
c320: 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75 65  notice the value
c330: 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f   in the <b>Optio
c340: 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a  ns</b> column...
c350: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
c360: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
c370: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
c380: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
c390: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
c3a0: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
c3b0: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69  "#d0d0a0">Algori
c3c0: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  thm</th><th bgco
c3d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
c3e0: 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
c3f0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
c400: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
c410: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
c420: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
c430: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c440: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
c450: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c460: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
c470: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
c480: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
c490: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
c4a0: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
c4b0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
c4c0: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
c4d0: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
c4e0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
c4f0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
c500: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e  <td>A*</td><td>N
c510: 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f 74 64  o Geometries</td
c520: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c530: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
c540: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
c550: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c560: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</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 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
c590: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c5a0: 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c  300.912208</td><
c5b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
c5c0: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
c5d0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
c5e0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
c5f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
c600: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
c610: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
c620: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c  ="right">224014<
c630: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c640: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
c650: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c660: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
c670: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c680: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
c690: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
c6a0: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
c6b0: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
c6c0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
c6d0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
c6e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c6f0: 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >2</td><td>Link<
c700: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c710: 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64  ight">224446</td
c720: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c730: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
c740: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c750: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61  178880</td><td a
c760: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e  lign="right">69.
c770: 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e  727726</td><td>N
c780: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
c790: 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
c7a0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
c7b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
c7c0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
c7d0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
c7e0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
c7f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c800: 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224414</td><td a
c810: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
c820: 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  880</td><td alig
c830: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
c840: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
c850: 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35  right">136.37205
c860: 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
c870: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41  td><td>VIA MARGA
c880: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  RITONE</td>..</t
c890: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
c8a0: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72  r><br><br>..<ver
c8b0: 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62  batim>..UPDATE b
c8c0: 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e  yfoot SET Option
c8d0: 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d  s = 'SIMPLE';...
c8e0: 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68  .SELECT Algorith
c8f0: 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74  m, Options, Rout
c900: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
c910: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
c920: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
c930: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
c940: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
c950: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
c960: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
c970: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62   183286;..</verb
c980: 61 74 69 6d 3e 53 65 74 74 69 6e 67 20 3c 62 3e  atim>Setting <b>
c990: 4f 70 74 69 6f 6e 73 3d 27 53 49 4d 50 4c 45 27  Options='SIMPLE'
c9a0: 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 73 61 6d  </b> has the sam
c9b0: 65 20 65 66 66 65 63 74 20 74 68 61 6e 20 73 65  e effect than se
c9c0: 74 74 69 6e 67 20 62 6f 74 68 20 3c 62 3e 4e 4f  tting both <b>NO
c9d0: 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c   LINKS</b> and <
c9e0: 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c  b>NO GEOMETRIES<
c9f0: 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65 20  /b> at the same 
ca00: 74 69 6d 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  time.<br>..<u>No
ca10: 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 69 73 20  te</u>: this is 
ca20: 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 74  expected to be t
ca30: 68 65 20 66 61 73 74 65 73 74 20 73 65 74 74 69  he fastest setti
ca40: 6e 67 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c  ng.<br>..The fol
ca50: 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f  lowing table sho
ca60: 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  ws the resultset
ca70: 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
ca80: 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74 65   previous Shorte
ca90: 73 74 20 50 61 74 68 20 71 75 65 72 79 3b 20 70  st Path query; p
caa0: 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74 68 65  lease notice the
cab0: 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62   value in the <b
cac0: 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c  >Options</b> col
cad0: 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  umn...<br><br>..
cae0: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
caf0: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
cb00: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
cb10: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
cb20: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
cb30: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
cb40: 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74  Algorithm</th><t
cb50: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
cb60: 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e  a0">Options</th>
cb70: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
cb80: 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f  d0a0">RouteRow</
cb90: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
cba0: 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74  #d0d0a0">Role</t
cbb0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
cbc0: 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69  d0d0a0">LinkRowi
cbd0: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
cbe0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
cbf0: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
cc00: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
cc10: 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67  odeTo</th><th bg
cc20: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
cc30: 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Cost</th><th bgc
cc40: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47  olor="#d0d0a0">G
cc50: 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20  eometry</th><th 
cc60: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
cc70: 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e  ">Name</th></tr>
cc80: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f  ..<tr>..<td>A*</
cc90: 74 64 3e 3c 74 64 3e 53 69 6d 70 6c 65 3c 2f 74  td><td>Simple</t
cca0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
ccb0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
ccc0: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
ccd0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
cce0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
ccf0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
cd00: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
cd10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
cd20: 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e  >300.912208</td>
cd30: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
cd40: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
cd50: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  >..</table>..<br
cd60: 3e 0d 0a 46 69 6e 61 6c 6c 79 2c 20 69 66 20 79  >..Finally, if y
cd70: 6f 75 20 77 69 73 68 20 74 6f 20 72 65 76 65 72  ou wish to rever
cd80: 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20 69 6e  t back to the in
cd90: 69 74 69 61 6c 20 73 65 74 74 69 6e 67 2c 20 79  itial setting, y
cda0: 6f 75 20 64 6f 20 74 68 69 73 20 77 69 74 68 20  ou do this with 
cdb0: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 71 75  the following qu
cdc0: 65 72 79 3c 62 72 3e 20 3c 62 3e 55 50 44 41 54  ery<br> <b>UPDAT
cdd0: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74  E byfoot SET Opt
cde0: 69 6f 6e 73 20 3d 20 27 46 55 4c 4c 27 3b 3c 2f  ions = 'FULL';</
cdf0: 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72  b>.<br><br>..<hr
ce00: 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61  ><br>..<h1><a na
ce10: 6d 65 3d 22 6d 75 6c 74 69 22 3e 35 20 2d 20 53  me="multi">5 - S
ce20: 6f 6c 76 69 6e 67 20 6d 75 6c 74 69 2d 64 65 73  olving multi-des
ce30: 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73  tination Shortes
ce40: 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 73 3c  t Path problems<
ce50: 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6e 20 69 6e 74  /a></h1>..An int
ce60: 65 72 65 73 74 69 6e 67 20 66 65 61 74 75 72 65  eresting feature
ce70: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68   supported by th
ce80: 65 20 44 69 6a 6b 73 74 72 61 27 73 20 41 6c 67  e Dijkstra's Alg
ce90: 6f 72 69 74 68 6d 20 69 73 3a 20 77 68 65 6e 20  orithm is: when 
cea0: 61 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 69 73  a destination is
ceb0: 20 62 65 65 6e 20 72 65 61 63 68 65 64 2c 20 61   been reached, a
cec0: 6c 6c 20 6f 66 20 74 68 65 20 3c 62 3e 6c 65 73  ll of the <b>les
ced0: 73 65 72 20 63 6f 73 74 3c 2f 62 3e 20 64 65 73  ser cost</b> des
cee0: 74 69 6e 61 74 69 6f 6e 73 20 68 61 76 65 20 61  tinations have a
cef0: 6c 73 6f 20 62 65 65 6e 20 66 6f 75 6e 64 2e 3c  lso been found.<
cf00: 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f 77 73  br>..This allows
cf10: 20 74 68 65 20 73 75 70 70 6f 72 74 20 6f 66 20   the support of 
cf20: 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61  multiple destina
cf30: 74 69 6f 6e 73 20 53 68 6f 72 74 65 73 74 20 50  tions Shortest P
cf40: 61 74 68 20 71 75 65 72 69 65 73 2e 3c 62 72 3e  ath queries.<br>
cf50: 0d 0a 41 6c 6c 20 79 6f 75 20 68 61 76 65 20 74  ..All you have t
cf60: 6f 20 64 6f 20 69 73 20 73 70 65 63 69 66 79 20  o do is specify 
cf70: 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69 67  a <b>single orig
cf80: 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 77 69 74 68  in Node</b> with
cf90: 20 61 6e 20 3c 62 3e 61 72 62 69 74 72 61 72 79   an <b>arbitrary
cfa0: 20 6c 69 73 74 20 6f 66 20 64 65 73 74 69 6e 61   list of destina
cfb0: 74 69 6f 6e 20 4e 6f 64 65 73 3c 2f 62 3e 20 69  tion Nodes</b> i
cfc0: 6e 20 6f 6e 65 20 44 69 6a 6b 73 74 72 61 27 73  n one Dijkstra's
cfd0: 20 71 75 65 72 79 2e 3c 62 72 3e 3c 62 72 3e 0d   query.<br><br>.
cfe0: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65 78  .<u>Note</u>: ex
cff0: 65 63 75 74 69 6e 67 20 61 20 6d 75 6c 74 69 2d  ecuting a multi-
d000: 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72  destination Shor
d010: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 20  test Path query 
d020: 72 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70 72  requires a <b>pr
d030: 6f 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f 62  ocessing time</b
d040: 3e 20 74 68 61 74 20 3c 62 3e 69 73 6e 27 74 3c  > that <b>isn't<
d050: 2f 62 3e 20 74 68 65 20 3c 75 3e 73 75 6d 20 6f  /b> the <u>sum o
d060: 66 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c  f all individual
d070: 20 74 69 6d 69 6e 67 73 20 74 6f 20 65 61 63 68   timings to each
d080: 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e   destination</u>
d090: 2c 20 62 75 74 20 73 69 6d 70 6c 79 20 74 68 65  , but simply the
d0a0: 20 74 69 6d 65 20 72 65 71 75 69 72 65 64 20 74   time required t
d0b0: 6f 20 72 65 61 63 68 20 74 68 65 20 3c 75 3e 6d  o reach the <u>m
d0c0: 6f 73 74 20 63 6f 73 74 6c 79 20 64 65 73 74 69  ost costly desti
d0d0: 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6c 69  nation of the li
d0e0: 73 74 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 54 68 69  st</u>.<br>..Thi
d0f0: 73 20 69 73 6e 27 74 20 73 74 72 69 63 74 6c 79  s isn't strictly
d100: 20 74 72 75 65 20 69 6e 20 74 68 65 20 63 61 73   true in the cas
d110: 65 20 6f 66 20 74 68 69 73 20 56 69 72 74 75 61  e of this Virtua
d120: 6c 52 6f 75 74 69 6e 67 20 73 70 65 63 69 66 69  lRouting specifi
d130: 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  c implementation
d140: 2c 20 73 69 6e 63 65 20 74 68 65 20 61 72 72 61  , since the arra
d150: 6e 67 6d 65 6e 74 20 74 68 65 20 72 65 73 75 6c  ngment the resul
d160: 74 73 65 74 20 74 6f 20 62 65 20 72 65 74 75 72  tset to be retur
d170: 6e 65 64 20 61 6e 64 20 63 72 65 61 74 69 6f 6e  ned and creation
d180: 20 61 6c 6c 20 74 68 65 20 69 6e 64 69 76 69 64   all the individ
d190: 75 61 6c 20 4c 69 6e 65 73 74 72 69 6e 67 73 20  ual Linestrings 
d1a0: 66 6f 72 20 65 61 63 68 20 64 65 73 74 69 6e 61  for each destina
d1b0: 74 69 6f 6e 20 77 69 6c 6c 20 73 75 72 65 6c 79  tion will surely
d1c0: 20 69 6d 70 6f 73 65 20 73 6f 6d 65 20 66 75 72   impose some fur
d1d0: 74 68 65 72 20 6f 76 65 72 68 65 61 64 2e 3c 62  ther overhead.<b
d1e0: 72 3e 0d 0a 4e 65 76 65 72 74 68 65 6c 65 73 73  r>..Nevertheless
d1f0: 20 74 68 65 20 74 69 6d 65 20 6e 65 65 64 65 64   the time needed
d200: 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 6d 75   for a single mu
d210: 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20  lti-destination 
d220: 71 75 65 72 79 20 77 69 6c 6c 20 62 65 20 6c 65  query will be le
d230: 73 73 20 74 68 61 6e 20 74 68 65 20 74 69 6d 65  ss than the time
d240: 20 6e 65 65 64 65 64 20 66 6f 72 20 6d 75 6c 74   needed for mult
d250: 69 70 6c 65 20 73 69 6e 67 6c 65 2d 64 65 73 74  iple single-dest
d260: 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 2e  ination queries.
d270: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45  ..<verbatim>..SE
d280: 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20  LECT Algorithm, 
d290: 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73  Request, Options
d2a0: 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75  , Delimiter, Rou
d2b0: 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20  teId, RouteRow, 
d2c0: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
d2d0: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
d2e0: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
d2f0: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
d300: 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65  foot..WHERE Node
d310: 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e  From = 178731 AN
d320: 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32  D NodeTo = '1832
d330: 38 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 39  86,290458,181999
d340: 2c 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 31  ,184030,124622,1
d350: 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a  83882,178754';..
d360: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 73 20  </verbatim>..As 
d370: 79 6f 75 20 63 61 6e 20 73 65 65 2c 20 61 20 3c  you can see, a <
d380: 62 3e 6d 75 6c 74 69 70 6c 65 2d 64 65 73 74 69  b>multiple-desti
d390: 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72  nations</b> quer
d3a0: 79 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69  y has the same i
d3b0: 64 65 6e 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66  dentical form of
d3c0: 20 61 6e 79 20 6e 6f 72 6d 61 6c 20 53 68 6f 72   any normal Shor
d3d0: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 2c  test Path query,
d3e0: 20 74 68 65 20 6f 6e 6c 79 20 64 69 66 66 65 72   the only differ
d3f0: 65 6e 63 65 20 62 65 69 6e 67 20 61 20 63 6f 6d  ence being a com
d400: 6d 61 2d 73 65 70 61 72 61 74 65 64 20 6c 69 73  ma-separated lis
d410: 74 20 28 69 6e 73 74 65 61 64 20 6f 66 20 61 20  t (instead of a 
d420: 73 69 6e 67 6c 65 2d 65 6e 74 72 79 29 20 66 6f  single-entry) fo
d430: 72 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2e  r <b>NodeTo</b>.
d440: 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77  <br>..The follow
d450: 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20  ing table shows 
d460: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
d470: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72  turned by the pr
d480: 65 76 69 6f 75 73 20 6d 75 6c 74 69 2d 64 65 73  evious multi-des
d490: 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73  tination Shortes
d4a0: 74 20 50 61 74 68 20 71 75 65 72 79 3a 0d 0a 3c  t Path query:..<
d4b0: 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  br><br>..<table 
d4c0: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
d4d0: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
d4e0: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
d4f0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
d500: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
d510: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
d520: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
d530: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
d540: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
d550: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
d560: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
d570: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
d580: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c  >Delimiter</th><
d590: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
d5a0: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68  0a0">RouteId</th
d5b0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
d5c0: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
d5d0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d5e0: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
d5f0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
d600: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
d610: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
d620: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
d630: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
d640: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d650: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
d660: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
d670: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  >Cost</th><th bg
d680: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d690: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68  Geometry</th><th
d6a0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
d6b0: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72  0">Name</th></tr
d6c0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a  >..<tr>..<td>Dij
d6d0: 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68  kstra</td><td>Sh
d6e0: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64 3e  ortest Path</td>
d6f0: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
d700: 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20  >, &#91;dec=44, 
d710: 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e  hex=2c&#93;</td>
d720: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d730: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
d740: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
d750: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
d760: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
d770: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
d780: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
d790: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32  n="right">183882
d7a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d7b0: 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33  right">154.75083
d7c0: 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  9</td><td>BLOB s
d7d0: 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f  z=240 GEOMETRY</
d7e0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
d7f0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
d800: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
d810: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
d820: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
d830: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d840: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
d850: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
d860: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
d870: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d880: 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64  ">222636</td><td
d890: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
d8a0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
d8b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
d8c0: 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
d8d0: 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 37 33 35  ="right">103.735
d8e0: 37 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  722</td><td>NULL
d8f0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45  </td><td>VIA PIE
d900: 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e  TRO ARETINO</td>
d910: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
d920: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
d930: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
d940: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
d950: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d960: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
d970: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
d980: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
d990: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d9a0: 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74 64  ">225527</td><td
d9b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
d9c0: 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  82000</td><td al
d9d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38  ign="right">1838
d9e0: 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  82</td><td align
d9f0: 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35 31  ="right">51.0151
da00: 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  17</td><td>NULL<
da10: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43 49  /td><td>VIA LICI
da20: 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e 0d  O NENCETTI</td>.
da30: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
da40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
da50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
da60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
da70: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
da80: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">1</td><td al
da90: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
daa0: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
dab0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dac0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
dad0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
dae0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30  ign="right">1840
daf0: 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  30</td><td align
db00: 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36 34  ="right">176.364
db10: 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  755</td><td>BLOB
db20: 20 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52 59   sz=304 GEOMETRY
db30: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
db40: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
db50: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
db60: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
db70: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
db80: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
db90: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
dba0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
dbb0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
dbc0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dbd0: 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c  ht">224014</td><
dbe0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
dbf0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
dc00: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
dc10: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2885</td><td ali
dc20: 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31  gn="right">94.81
dc30: 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2424</td><td>NUL
dc40: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49  L</td><td>VIA PI
dc50: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64  ETRO ARETINO</td
dc60: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
dc70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dc80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dc90: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
dca0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dcb0: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20  ight">1</td><td 
dcc0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
dcd0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
dce0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
dcf0: 74 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c 74  t">224862</td><t
dd00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
dd10: 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61  182885</td><td a
dd20: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
dd30: 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  043</td><td alig
dd40: 6e 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 39 35  n="right">37.095
dd50: 32 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  287</td><td>NULL
dd60: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
dd70: 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
dd80: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
dd90: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
dda0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
ddb0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ddc0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
ddd0: 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">1</td><td alig
dde0: 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
ddf0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
de00: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
de10: 32 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  26070</td><td al
de20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
de30: 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  43</td><td align
de40: 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c  ="right">184030<
de50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
de60: 69 67 68 74 22 3e 34 34 2e 34 35 37 30 34 34 3c  ight">44.457044<
de70: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
de80: 3e 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e 54  ><td>PIAZZA SANT
de90: 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  'AGOSTINO</td>..
dea0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
deb0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dec0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
ded0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
dee0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
def0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">2</td><td ali
df00: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
df10: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
df20: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
df30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
df40: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
df50: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35  gn="right">17875
df60: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
df70: 22 72 69 67 68 74 22 3e 32 32 34 2e 36 37 37 30  "right">224.6770
df80: 39 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  95</td><td>BLOB 
df90: 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c  sz=240 GEOMETRY<
dfa0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
dfb0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
dfc0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dfd0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dfe0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
dff0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e000: 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >2</td><td align
e010: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
e020: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
e030: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
e040: 39 30 34 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9045</td><td ali
e050: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
e060: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
e070: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f  "right">178732</
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 37 36 2e 30 32 31 30 30 37 3c 2f  ght">76.021007</
e0a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e0b0: 3c 74 64 3e 56 49 41 20 41 53 53 41 42 3c 2f 74  <td>VIA ASSAB</t
e0c0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
e0d0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
e0e0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e0f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e100: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e110: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
e120: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
e130: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
e140: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e150: 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c  ht">219058</td><
e160: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e170: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
e180: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
e190: 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
e1a0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36  gn="right">148.6
e1b0: 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  56089</td><td>NU
e1c0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46  LL</td><td>VIA F
e1d0: 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c  RANCESCO CRISPI<
e1e0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
e1f0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
e200: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e210: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e220: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
e230: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
e240: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e250: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
e260: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e270: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e280: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
e290: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e2a0: 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20  >181999</td><td 
e2b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 36  align="right">26
e2c0: 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e 3c 74 64  0.132354</td><td
e2d0: 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f  >BLOB sz=240 GEO
e2e0: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
e2f0: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
e300: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
e310: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e320: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e330: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e340: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
e350: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e360: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
e370: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
e380: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c  ="right">224014<
e390: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e3a0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
e3b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e3c0: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
e3d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e3e0: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
e3f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
e400: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
e410: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
e420: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
e430: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e440: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e450: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
e460: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
e470: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e480: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
e490: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
e4a0: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
e4b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e4c0: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
e4d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e4e0: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
e4f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
e500: 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64  9.727726</td><td
e510: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
e520: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
e530: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
e540: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
e550: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e560: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e570: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e580: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
e590: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
e5a0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
e5b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e5c0: 68 74 22 3e 32 32 35 38 30 30 3c 2f 74 64 3e 3c  ht">225800</td><
e5d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e5e0: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
e5f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
e600: 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
e610: 67 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 35 39  gn="right">95.59
e620: 32 32 30 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2204</td><td>NUL
e630: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
e640: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
e650: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
e660: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
e670: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e680: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e690: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
e6a0: 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74  "right">4</td><t
e6b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e6c0: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
e6d0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e6e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e6f0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
e700: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e710: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
e720: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30  lign="right">300
e730: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e  .912208</td><td>
e740: 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d  BLOB sz=272 GEOM
e750: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
e760: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
e770: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
e780: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e790: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e7a0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
e7b0: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
e7c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e7d0: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">1</td><td>Lin
e7e0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
e7f0: 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f  "right">224014</
e800: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e810: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
e820: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e830: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
e840: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
e850: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64  4.812424</td><td
e860: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
e870: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
e880: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
e890: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
e8a0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e8b0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e8c0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
e8d0: 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e  n="right">4</td>
e8e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e8f0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
e900: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e910: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74  right">224446</t
e920: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e930: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
e940: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e950: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
e960: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39  align="right">69
e970: 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e  .727726</td><td>
e980: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
e990: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64   MARGARITONE</td
e9a0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
e9b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e9c0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e9d0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e9e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e9f0: 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20  ight">4</td><td 
ea00: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
ea10: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
ea20: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
ea30: 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74  t">224414</td><t
ea40: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
ea50: 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61  178880</td><td a
ea60: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
ea70: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
ea80: 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37  n="right">136.37
ea90: 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2057</td><td>NUL
eaa0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
eab0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
eac0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
ead0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
eae0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
eaf0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
eb00: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
eb10: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55  d>NULL</td><td>U
eb20: 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54  nreachable NodeT
eb30: 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  o</td><td>NULL</
eb40: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
eb50: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
eb60: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
eb70: 22 3e 32 39 30 34 35 38 3c 2f 74 64 3e 3c 74 64  ">290458</td><td
eb80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
eb90: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
eba0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
ebb0: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
ebc0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ebd0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
ebe0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
ebf0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ec00: 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65  ><td>Unreachable
ec10: 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e   NodeTo</td><td>
ec20: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
ec30: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
ec40: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
ec50: 22 72 69 67 68 74 22 3e 31 32 34 36 32 32 3c 2f  "right">124622</
ec60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ec70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ec80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
ec90: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  >..</table>..<br
eca0: 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b 6c 79  >..Let's quickly
ecb0: 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73   examine the res
ecc0: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
ecd0: 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e  by the above <b>
ece0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
ecf0: 6e 73 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a 3c  ns</b> query...<
ed00: 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 76 65  ul>..<li>the ove
ed10: 72 61 6c 6c 20 6c 61 79 6f 75 74 20 69 73 20 61  rall layout is a
ed20: 6c 6d 6f 73 74 20 65 78 61 63 74 6c 79 20 74 68  lmost exactly th
ed30: 65 20 73 61 6d 65 20 61 73 20 79 6f 75 27 76 65  e same as you've
ed40: 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e   already seen in
ed50: 20 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e   the case of <b>
ed60: 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69  single-destinati
ed70: 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 65 73 2c 20  on</b> queries, 
ed80: 62 75 74 20 69 6e 20 74 68 69 73 20 63 61 73 65  but in this case
ed90: 20 6d 6f 72 65 20 69 6e 64 69 76 69 64 75 61 6c   more individual
eda0: 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e   travel solution
edb0: 73 20 61 72 65 20 67 72 6f 75 70 65 64 20 61 6c  s are grouped al
edc0: 74 6f 67 65 74 68 65 72 2e 20 28 45 61 63 68 20  together. (Each 
edd0: 61 6c 74 65 72 6e 61 74 69 76 65 20 72 6f 75 74  alternative rout
ede0: 65 20 68 61 76 69 6e 67 20 61 20 64 69 66 66 65  e having a diffe
edf0: 72 65 6e 74 20 3c 62 3e 52 6f 75 74 65 49 64 3c  rent <b>RouteId<
ee00: 2f 62 3e 20 61 6e 64 20 73 74 61 72 74 69 6e 67  /b> and starting
ee10: 20 77 69 74 68 20 3c 62 3e 27 52 6f 75 74 65 27   with <b>'Route'
ee20: 3c 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52  </b> in the <b>R
ee30: 6f 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 29 2e  ole</b> column).
ee40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  </li>..<li>the <
ee50: 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20  b>first row</b> 
ee60: 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  of the resultset
ee70: 20 69 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65   is someway exce
ee80: 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20  ptional, and is 
ee90: 74 68 65 20 6f 6e 6c 79 20 72 6f 77 20 6f 66 20  the only row of 
eea0: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 70 72  the resultset pr
eeb0: 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20  esenting <b>NOT 
eec0: 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20  NULL</b> values 
eed0: 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69  in the <b>Algori
eee0: 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75  thm</b>, <b>Requ
eef0: 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69  est</b>, <b>Opti
ef00: 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44  ons</b> and <b>D
ef10: 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 63 6f 6c  elimiter</b> col
ef20: 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  umns.</li>..<li>
ef30: 74 68 65 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f  the <b>RouteId</
ef40: 62 3e 20 63 6f 6c 75 6d 6e 20 69 73 20 69 6e 74  b> column is int
ef50: 65 6e 64 65 64 20 74 6f 20 67 72 6f 75 70 20 74  ended to group t
ef60: 6f 67 65 74 68 65 72 20 61 6c 6c 20 72 6f 77 73  ogether all rows
ef70: 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 73 61   belonging to sa
ef80: 6d 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69  me travel soluti
ef90: 6f 6e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c  on (<i>aka</i> <
efa0: 62 3e 52 6f 75 74 65 3c 2f 62 3e 29 2e 3c 62 72  b>Route</b>).<br
efb0: 3e 0d 0a 52 6f 75 74 65 73 20 61 72 65 20 70 72  >..Routes are pr
efc0: 6f 67 72 65 73 73 69 76 65 6c 79 20 6e 75 6d 62  ogressively numb
efd0: 65 72 65 64 20 61 6e 64 20 61 72 65 20 6f 72 64  ered and are ord
efe0: 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79  ered accordingly
eff0: 20 74 6f 20 74 68 65 69 72 20 3c 62 3e 74 6f 74   to their <b>tot
f000: 61 6c 20 63 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c 69  al cost</b>.</li
f010: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f  >..<li>the <b>Ro
f020: 75 74 65 52 6f 77 3c 2f 62 3e 20 63 6f 6c 75 6d  uteRow</b> colum
f030: 6e 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69  n has the same i
f040: 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61 73  nterpretation as
f050: 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 74 69   in single-desti
f060: 6e 61 74 69 6f 6e 20 72 65 73 75 6c 74 73 65 74  nation resultset
f070: 73 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e 64  s, and is intend
f080: 65 64 20 74 6f 20 70 72 6f 67 72 65 73 73 69 76  ed to progressiv
f090: 65 6c 79 20 6f 72 64 65 72 20 69 6e 20 74 68 65  ely order in the
f0a0: 20 63 6f 72 72 65 63 74 20 73 65 71 75 65 6e 63   correct sequenc
f0b0: 65 20 61 6c 6c 20 4c 69 6e 6b 73 20 63 6f 6e 6e  e all Links conn
f0c0: 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67 69  ecting the Origi
f0d0: 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e  n and the Destin
f0e0: 61 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 52 6f  ation of each Ro
f0f0: 75 74 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 52 6f 75  ute.<br>..<b>Rou
f100: 74 65 52 6f 77 3d 30 3c 2f 62 3e 20 61 6c 77 61  teRow=0</b> alwa
f110: 79 73 20 69 64 65 6e 74 69 66 69 65 73 20 74 68  ys identifies th
f120: 65 20 68 65 61 64 65 72 20 72 6f 77 20 6f 66 20  e header row of 
f130: 65 61 63 68 20 3c 62 3e 52 6f 75 74 65 3c 2f 62  each <b>Route</b
f140: 3e 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e  > solution.</li>
f150: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c  ..</ul>..<br>..<
f160: 75 3e 4e 6f 74 69 63 65 3c 2f 75 3e 3a 20 74 68  u>Notice</u>: th
f170: 65 20 6c 61 73 74 20 74 77 6f 20 72 6f 77 73 20  e last two rows 
f180: 69 6e 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  in the resultset
f190: 20 72 65 70 6f 72 74 73 20 3c 62 3e 55 6e 72 65   reports <b>Unre
f1a0: 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 09 3c  achable NodeTo.<
f1b0: 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52 6f  /b> in the <b>Ro
f1c0: 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2c 20 74  le</b> column, t
f1d0: 68 75 73 20 69 6d 70 6c 79 69 6e 67 20 61 20 3c  hus implying a <
f1e0: 62 3e 66 6f 72 62 69 64 64 65 6e 20 63 6f 6e 6e  b>forbidden conn
f1f0: 65 63 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d  ection</b>.<br>.
f200: 0a 54 68 65 72 65 20 69 73 20 61 20 76 61 6c 69  .There is a vali
f210: 64 20 72 65 61 73 6f 6e 20 66 6f 72 20 74 68 69  d reason for thi
f220: 73 3a 20 4e 6f 64 65 73 20 3c 62 3e 32 39 30 34  s: Nodes <b>2904
f230: 35 38 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 31 32  58</b> and <b>12
f240: 34 36 32 32 3c 2f 62 3e 20 61 72 65 20 6c 6f 63  4622</b> are loc
f250: 61 74 65 64 20 6f 6e 20 45 6c 62 61 20 61 6e 64  ated on Elba and
f260: 20 47 69 67 6c 69 6f 20 69 73 6c 61 6e 64 73 2e   Giglio islands.
f270: 20 54 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67   The underlaying
f280: 20 4e 65 74 77 6f 72 6b 20 69 73 20 62 61 73 65   Network is base
f290: 64 20 6f 6e 20 3c 62 3e 49 74 65 72 2e 4e 65 74  d on <b>Iter.Net
f2a0: 3c 2f 62 3e 20 74 68 61 74 20 64 6f 6e 27 74 20  </b> that don't 
f2b0: 73 75 70 70 6f 72 74 73 20 66 65 72 72 79 20 63  supports ferry c
f2c0: 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 73 6f 20 61  onnections, so a
f2d0: 6e 79 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69  ny travel soluti
f2e0: 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 69  on between the i
f2f0: 73 6c 61 6e 64 73 20 61 6e 64 20 74 68 65 20 6d  slands and the m
f300: 61 69 6e 6c 61 6e 64 20 77 69 6c 6c 20 61 6c 77  ainland will alw
f310: 61 79 73 20 66 61 69 6c 2e 0d 0a 3c 62 72 3e 3c  ays fail...<br><
f320: 62 72 3e 3c 62 72 3e 0d 0a 41 6c 73 6f 20 3c 62  br><br>..Also <b
f330: 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
f340: 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73 20  ons</b> queries 
f350: 63 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65  can be customize
f360: 64 2c 20 62 75 74 20 74 68 65 20 63 6f 6e 66 69  d, but the confi
f370: 67 75 72 61 74 69 6f 6e 20 72 75 6c 65 73 20 64  guration rules d
f380: 69 66 66 65 72 20 73 6c 69 67 68 74 6c 79 20 66  iffer slightly f
f390: 72 6f 6d 20 77 68 61 74 20 79 6f 75 20 68 61 76  rom what you hav
f3a0: 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69  e already seen i
f3b0: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 73 69  n the case of si
f3c0: 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ngle-destination
f3d0: 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  ...<ul>..<li><b>
f3e0: 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20 6f  Algorithm</b>: o
f3f0: 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61 3c  nly <b>Dijkstra<
f400: 2f 62 3e 20 69 73 20 73 75 70 70 6f 72 74 65 64  /b> is supported
f410: 20 62 79 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e   by multi-destin
f420: 61 74 69 6f 6e 2c 20 61 6e 64 20 77 69 6c 6c 20  ation, and will 
f430: 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 73  be implicitly as
f440: 73 75 6d 65 64 20 65 76 65 6e 20 77 68 65 6e 20  sumed even when 
f450: 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20  the alternative 
f460: 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69  <b>A*</b> algori
f470: 74 68 6d 20 69 73 20 63 75 72 72 65 6e 74 6c 79  thm is currently
f480: 20 73 65 6c 65 63 74 65 64 2e 3c 2f 6c 69 3e 0d   selected.</li>.
f490: 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e 73 3c  .<li><b>Options<
f4a0: 2f 62 3e 3a 20 74 68 65 20 75 73 75 61 6c 20 3c  /b>: the usual <
f4b0: 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 3e 53  b>FULL</b>, <b>S
f4c0: 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f  IMPLE</b>, <b>NO
f4d0: 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c   LINKS</b> and <
f4e0: 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c  b>NO GEOMETRIES<
f4f0: 2f 62 3e 20 61 72 65 20 73 75 70 70 6f 72 74 65  /b> are supporte
f500: 64 20 61 6e 64 20 77 69 6c 6c 20 68 61 76 65 20  d and will have 
f510: 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74 20  the same effect 
f520: 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73  as in single-des
f530: 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73  tination queries
f540: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
f550: 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
f560: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74  E byfoot SET Opt
f570: 69 6f 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b  ions = 'SIMPLE';
f580: 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72  ....SELECT Algor
f590: 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f  ithm, Request, O
f5a0: 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65  ptions, Delimite
f5b0: 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74  r, RouteId, Rout
f5c0: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
f5d0: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
f5e0: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
f5f0: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
f600: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
f610: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
f620: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
f630: 20 27 31 38 33 32 38 36 2c 32 39 30 34 35 38 2c   '183286,290458,
f640: 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 32  181999,184030,12
f650: 34 36 32 32 2c 31 38 33 38 38 32 2c 31 37 38 37  4622,183882,1787
f660: 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  54';..</verbatim
f670: 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  >..The following
f680: 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65   table shows the
f690: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
f6a0: 6e 65 64 20 62 79 20 74 68 65 20 73 61 6d 65 20  ned by the same 
f6b0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
f6c0: 6e 20 71 75 65 72 79 20 75 73 65 64 20 69 6e 20  n query used in 
f6d0: 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61  the previous exa
f6e0: 6d 70 6c 65 20 61 66 74 65 72 20 65 6e 61 62 6c  mple after enabl
f6f0: 69 6e 67 20 74 68 65 20 3c 62 3e 53 49 4d 50 4c  ing the <b>SIMPL
f700: 45 3c 2f 62 3e 20 6f 70 74 69 6f 6e 2e 0d 0a 3c  E</b> option...<
f710: 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  br><br>..<table 
f720: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
f730: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
f740: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
f750: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
f760: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
f770: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
f780: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
f790: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
f7a0: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
f7b0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
f7c0: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
f7d0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f7e0: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c  >Delimiter</th><
f7f0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f800: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68  0a0">RouteId</th
f810: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
f820: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
f830: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
f840: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
f850: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
f860: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
f870: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
f880: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
f890: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
f8a0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f8b0: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
f8c0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f8d0: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  >Cost</th><th bg
f8e0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f8f0: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68  Geometry</th><th
f900: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
f910: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72  0">Name</th></tr
f920: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a  >..<tr>..<td>Dij
f930: 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68  kstra</td><td>Sh
f940: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64 3e  ortest Path</td>
f950: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
f960: 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20  >, &#91;dec=44, 
f970: 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e  hex=2c&#93;</td>
f980: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
f990: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
f9a0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
f9b0: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
f9c0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
f9d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
f9e0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
f9f0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32  n="right">183882
fa00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fa10: 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33  right">154.75083
fa20: 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
fa30: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fa40: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
fa50: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fa60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fa70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fa80: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
fa90: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61  ght">1</td><td a
faa0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
fab0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
fac0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fad0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fae0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
faf0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
fb00: 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
fb10: 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36  n="right">176.36
fb20: 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  4755</td><td>NUL
fb30: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fb40: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
fb50: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
fb60: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fb70: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fb80: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
fb90: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
fba0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fbb0: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
fbc0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fbd0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fbe0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
fbf0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fc00: 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
fc10: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
fc20: 2e 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74 64 3e  .677095</td><td>
fc30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fc40: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
fc50: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
fc60: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fc70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fc80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
fc90: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
fca0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fcb0: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
fcc0: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
fcd0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fce0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
fcf0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fd00: 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
fd10: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fd20: 32 36 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e 3c  260.132354</td><
fd30: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fd40: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
fd50: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
fd60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fd70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fd80: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
fd90: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
fda0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fdb0: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
fdc0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
fdd0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
fde0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
fdf0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fe00: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
fe10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fe20: 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74  t">300.912208</t
fe30: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fe40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
fe50: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
fe60: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fe70: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fe80: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fe90: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fea0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72  NULL</td><td>Unr
feb0: 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c  eachable NodeTo<
fec0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fed0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fee0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
fef0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
ff00: 32 39 30 34 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e  290458</td><td>N
ff10: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
ff20: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ff30: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
ff40: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
ff50: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
ff60: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
ff70: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ff80: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
ff90: 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e  td>Unreachable N
ffa0: 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55  odeTo</td><td>NU
ffb0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
ffc0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
ffd0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
ffe0: 69 67 68 74 22 3e 31 32 34 36 32 32 3c 2f 74 64  ight">124622</td
fff0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
10000 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
10010 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
10020 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  .</table>..<br>.
10030 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 67  .The map below g
10040 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73  raphically shows
10050 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c 62   the previous <b
10060 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
10070 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e  ons</b> queries.
10080 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67  ..<br><br>..<img
10090 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
100a0 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
100b0 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
100c0 66 69 67 73 2f 72 6f 75 74 69 6e 67 33 2e 6a 70  figs/routing3.jp
100d0 67 22 20 61 6c 74 3d 22 66 69 67 33 22 3e 0d 0a  g" alt="fig3">..
100e0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65 64 20 73 74  <ul>..<li>Red st
100f0 61 72 3a 20 74 68 65 20 4f 72 69 67 69 6e 20 4e  ar: the Origin N
10100 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47  ode.</li>..<li>G
10110 72 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 44  reen dots: the D
10120 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73  estination Nodes
10130 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c  .</li>..<li>Yell
10140 6f 77 20 6c 69 6e 65 73 3a 20 61 6c 6c 20 69 6e  ow lines: all in
10150 64 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c 20  dividual travel 
10160 73 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d  solutions.</li>.
10170 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74  .</ul>..<br>..<t
10180 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66  able bgcolor="#f
10190 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69  fb060" cellspaci
101a0 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
101b0 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
101c0 0d 0a 3c 68 33 3e 44 61 6e 67 65 72 6f 75 73 20  ..<h3>Dangerous 
101d0 70 69 74 66 61 6c 6c 73 20 72 65 6c 61 74 65 64  pitfalls related
101e0 20 74 6f 20 6d 75 6c 74 69 70 6c 65 20 64 65 73   to multiple des
101f0 74 69 6e 61 74 69 6f 6e 20 6c 69 73 74 73 3c 2f  tination lists</
10200 68 33 3e 0d 0a 53 51 4c 20 73 79 6e 74 61 78 20  h3>..SQL syntax 
10210 64 69 72 65 63 74 6c 79 20 61 6c 6c 6f 77 73 20  directly allows 
10220 74 6f 20 73 70 65 63 69 66 79 20 6c 69 73 74 73  to specify lists
10230 20 6f 66 20 20 6d 75 6c 74 69 70 6c 65 20 76 61   of  multiple va
10240 6c 75 65 73 2c 20 73 6f 20 6d 61 79 20 62 65 20  lues, so may be 
10250 79 6f 75 20 61 72 65 20 6e 6f 77 20 77 6f 6e 64  you are now wond
10260 65 72 69 6e 67 20 61 62 6f 75 74 20 77 72 69 74  ering about writ
10270 69 6e 67 20 74 68 65 20 3c 62 3e 6d 75 6c 74 69  ing the <b>multi
10280 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73  ple destinations
10290 3c 2f 62 3e 20 71 75 65 72 79 20 74 65 73 74 65  </b> query teste
102a0 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75  d in the previou
102b0 73 20 65 78 61 6d 70 6c 65 73 20 74 68 69 73 20  s examples this 
102c0 77 61 79 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  way:..<verbatim>
102d0 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74  ..SELECT Algorit
102e0 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74  hm, Request, Opt
102f0 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c  ions, Delimiter,
10300 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52   RouteId, RouteR
10310 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
10320 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
10330 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
10340 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
10350 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
10360 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
10370 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 49 4e 20  1 AND NodeTo IN 
10380 28 31 38 33 32 38 36 2c 20 32 39 30 34 35 38 2c  (183286, 290458,
10390 20 31 38 31 39 39 39 2c 20 31 38 34 30 33 30 2c   181999, 184030,
103a0 20 31 32 34 36 32 32 2c 20 31 38 33 38 38 32 2c   124622, 183882,
103b0 20 31 37 38 37 35 34 29 3b 0d 0a 3c 2f 76 65 72   178754);..</ver
103c0 62 61 74 69 6d 3e 0d 0a 54 68 65 72 65 20 69 73  batim>..There is
103d0 20 61 20 76 65 72 79 20 67 6f 6f 64 20 72 65 61   a very good rea
103e0 73 6f 6e 20 74 6f 20 64 69 73 63 6f 75 72 61 67  son to discourag
103f0 65 20 79 6f 75 20 66 72 6f 6d 20 64 6f 69 6e 67  e you from doing
10400 20 73 75 63 68 20 61 20 74 68 69 6e 67 2c 20 6c   such a thing, l
10410 65 74 27 73 20 73 65 65 20 77 68 79 3a 3c 62 72  et's see why:<br
10420 3e 3c 62 72 3e 0d 0a 46 6f 72 20 53 51 4c 69 74  ><br>..For SQLit
10430 65 3a 20 3c 62 3e 4e 6f 64 65 54 6f 20 49 4e 20  e: <b>NodeTo IN 
10440 28 31 38 33 32 38 36 2c 20 32 39 30 34 35 38 2c  (183286, 290458,
10450 20 31 38 31 39 39 39 2c 20 31 38 34 30 33 30 2c   181999, 184030,
10460 20 31 32 34 36 32 32 2c 20 31 38 33 38 38 32 2c   124622, 183882,
10470 20 31 37 38 37 35 34 29 3c 2f 62 3e 20 69 73 20   178754)</b> is 
10480 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65  considered to be
10490 20 37 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f   7 parameters fo
104a0 72 20 77 68 69 63 68 20 56 69 72 74 75 61 6c 52  r which VirtualR
104b0 6f 75 74 69 6e 67 20 77 69 6c 6c 20 62 65 20 63  outing will be c
104c0 61 6c 6c 65 64 20 66 6f 72 20 65 61 63 68 2e 3c  alled for each.<
104d0 62 72 3e 0d 0a 57 68 65 72 65 61 73 3a 20 3c 62  br>..Whereas: <b
104e0 3e 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38  >NodeTo = '18328
104f0 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 39 2c  6,290458,181999,
10500 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 31 38  184030,124622,18
10510 33 38 38 32 2c 31 37 38 37 35 34 27 3c 2f 62 3e  3882,178754'</b>
10520 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 74   is considered t
10530 6f 20 62 65 20 31 20 70 61 72 61 6d 65 74 65 72  o be 1 parameter
10540 20 66 6f 72 20 77 68 69 63 68 20 56 69 72 74 75   for which Virtu
10550 61 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c 20 62  alRouting will b
10560 65 20 63 61 6c 6c 65 64 20 3c 62 3e 6f 6e 63 65  e called <b>once
10570 3c 2f 62 3e 20 61 6e 64 20 73 65 61 72 63 68 20  </b> and search 
10580 66 6f 72 20 74 68 65 20 37 20 69 74 65 6d 73 2e  for the 7 items.
10590 0d 0a 3c 68 33 3e 42 65 77 61 72 65 3c 2f 68 33  ..<h3>Beware</h3
105a0 3e 0d 0a 3c 62 3e 4e 65 76 65 72 20 65 76 65 72  >..<b>Never ever
105b0 3c 2f 62 3e 20 61 74 74 65 6d 70 74 20 74 6f 20  </b> attempt to 
105c0 64 65 66 69 6e 65 20 61 20 6c 69 73 74 20 6f 66  define a list of
105d0 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e   multiple destin
105e0 61 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68 65  ations using the
105f0 20 73 74 61 6e 64 61 72 64 20 53 51 4c 20 73 79   standard SQL sy
10600 6e 74 61 78 20 3c 62 3e 3c 69 3e 57 48 45 52 45  ntax <b><i>WHERE
10610 20 4e 6f 64 65 54 6f 20 49 4e 20 28 2e 2e 2e 2e   NodeTo IN (....
10620 2e 2e 29 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65 63  ..)</i></b>, bec
10630 61 75 73 65 20 74 68 69 73 20 77 69 6c 6c 20 63  ause this will c
10640 65 72 74 61 69 6e 6c 79 20 63 61 75 73 65 20 6d  ertainly cause m
10650 61 6e 79 20 75 6e 65 78 70 65 63 74 65 64 20 20  any unexpected  
10660 27 3c 69 3e 72 65 73 75 6c 74 73 3c 2f 69 3e 27  '<i>results</i>'
10670 2e 3c 62 72 3e 0d 0a 42 61 64 6c 79 20 66 6f 72  .<br>..Badly for
10680 6d 61 74 74 65 64 20 72 65 73 75 6c 74 73 65 74  matted resultset
10690 73 20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20 72  s will be then r
106a0 65 74 75 72 6e 65 64 2c 20 6d 61 6e 79 20 6f 66  eturned, many of
106b0 20 77 68 69 63 68 20 6d 61 79 20 62 65 20 77 72   which may be wr
106c0 6f 6e 67 2e 20 3c 62 3e 59 6f 75 20 61 72 65 20  ong. <b>You are 
106d0 77 61 72 6e 65 64 3c 2f 62 3e 2e 3c 62 72 3e 3c  warned</b>.<br><
106e0 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c  br>..</td></tr><
106f0 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c  /table>..<br>..<
10700 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
10710 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63  c0ffc0" cellspac
10720 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
10730 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
10740 3e 0d 0a 3c 68 33 3e 48 6f 77 20 74 6f 20 63 6f  >..<h3>How to co
10750 72 72 65 63 74 6c 79 20 66 6f 72 6d 61 74 20 6d  rrectly format m
10760 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74  ultiple destinat
10770 69 6f 6e 73 20 6c 69 73 74 73 3c 2f 68 33 3e 0d  ions lists</h3>.
10780 0a 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20  .VirtualRouting 
10790 61 6c 77 61 79 73 20 65 78 70 65 63 74 73 20 74  always expects t
107a0 6f 20 72 65 63 65 69 76 65 20 61 20 3c 62 3e 6d  o receive a <b>m
107b0 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ulti-destination
107c0 73 3c 2f 62 3e 20 6c 69 73 74 20 61 73 20 61 20  s</b> list as a 
107d0 3c 62 3e 54 45 58 54 3c 2f 62 3e 20 73 74 72 69  <b>TEXT</b> stri
107e0 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 69  ng containing ti
107f0 67 68 74 6c 79 20 70 61 63 6b 65 64 20 76 61 6c  ghtly packed val
10800 75 65 73 20 73 65 70 61 72 61 74 65 64 20 62 79  ues separated by
10810 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 20   a conventional 
10820 3c 62 3e 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e  <b>delimiter</b>
10830 20 28 75 73 75 61 6c 6c 79 20 72 65 70 72 65 73   (usually repres
10840 65 6e 74 65 64 20 62 79 20 61 20 3c 62 3e 63 6f  ented by a <b>co
10850 6d 6d 61 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 45  mma</b>).<br>..E
10860 78 61 6d 70 6c 65 73 20 6f 66 20 3c 62 3e 77 65  xamples of <b>we
10870 6c 6c 20 66 6f 72 6d 61 74 74 65 64 3c 2f 62 3e  ll formatted</b>
10880 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69   multi-destinati
10890 6f 6e 73 20 6c 69 73 74 73 3a 0d 0a 3c 76 65 72  ons lists:..<ver
108a0 62 61 74 69 6d 3e 0d 0a 27 31 2c 32 2c 33 2c 34  batim>..'1,2,3,4
108b0 2c 35 2c 31 30 2c 31 30 30 2c 31 30 30 30 2c 31  ,5,10,100,1000,1
108c0 30 30 30 30 30 27 20 20 20 2d 2d 20 69 6e 74 65  00000'   -- inte
108d0 67 65 72 20 4e 6f 64 65 20 49 44 73 0d 0a 0d 0a  ger Node IDs....
108e0 27 41 31 30 30 42 2c 41 31 30 30 46 2c 42 32 35  'A100B,A100F,B25
108f0 30 5a 2c 43 30 31 30 4d 2c 5a 39 39 39 41 27 20  0Z,C010M,Z999A' 
10900 20 2d 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69 63   -- alphanumeric
10910 20 4e 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76   Node Codes..</v
10920 65 72 62 61 74 69 6d 3e 0d 0a 45 78 61 6d 70 6c  erbatim>..Exampl
10930 65 73 20 6f 66 20 3c 62 3e 62 61 64 6c 79 20 66  es of <b>badly f
10940 6f 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d 75 6c  ormatted</b> mul
10950 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 20  ti-destinations 
10960 6c 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69  lists:..<verbati
10970 6d 3e 0d 0a 27 20 20 31 2c 20 32 2c 20 33 2c 20  m>..'  1, 2, 3, 
10980 34 20 2c 20 35 20 2c 20 31 30 2c 20 31 30 30 2c  4 , 5 , 10, 100,
10990 20 31 30 30 30 2c 20 31 30 30 30 30 30 20 20 27   1000, 100000  '
109a0 20 20 20 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f     -- integer No
109b0 64 65 20 49 44 73 0d 0a 0d 0a 27 20 20 41 31 30  de IDs....'  A10
109c0 30 42 2c 20 41 31 30 30 46 20 2c 20 42 32 35 30  0B, A100F , B250
109d0 5a 20 2c 20 43 30 31 30 4d 2c 20 5a 39 39 39 41  Z , C010M, Z999A
109e0 20 20 27 20 20 20 20 20 20 2d 2d 20 61 6c 70 68    '      -- alph
109f0 61 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f  anumeric Node Co
10a00 64 65 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  des..</verbatim>
10a10 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61  ..<u>Note</u>: a
10a20 6c 6c 20 77 68 69 74 65 73 70 61 63 65 73 20 69  ll whitespaces i
10a30 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65  mmediately prece
10a40 64 69 6e 67 20 6f 72 20 66 6f 6c 6c 6f 77 69 6e  ding or followin
10a50 67 20 74 68 65 20 3c 62 3e 64 65 6c 69 6d 69 74  g the <b>delimit
10a60 65 72 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63  er</b> will be c
10a70 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20  onsidered to be 
10a80 69 6e 74 65 67 72 61 6c 20 70 61 72 74 20 6f 66  integral part of
10a90 20 74 68 65 20 76 61 6c 75 65 20 69 74 73 65 6c   the value itsel
10aa0 66 20 28 61 6e 64 20 74 68 75 73 20 77 69 6c 6c  f (and thus will
10ab0 20 3c 62 3e 61 6c 73 6f 3c 2f 62 3e 20 62 65 20   <b>also</b> be 
10ac0 73 65 61 72 63 68 65 64 20 66 6f 72 29 2e 3c 62  searched for).<b
10ad0 72 3e 0d 0a 54 68 69 73 20 77 69 6c 6c 20 68 61  r>..This will ha
10ae0 76 65 20 6e 6f 20 61 64 76 65 72 73 65 20 63 6f  ve no adverse co
10af0 6e 73 65 71 75 65 6e 63 65 73 20 69 6e 20 74 68  nsequences in th
10b00 65 20 63 61 73 65 20 6f 66 20 69 6e 74 65 67 65  e case of intege
10b10 72 20 76 61 6c 75 65 73 2c 20 62 75 74 20 63 61  r values, but ca
10b20 6e 20 65 61 73 69 6c 79 20 68 61 76 65 20 63 61  n easily have ca
10b30 74 61 73 74 72 6f 70 68 69 63 20 65 66 66 65 63  tastrophic effec
10b40 74 73 20 6f 6e 20 61 6c 70 68 61 6e 75 6d 65 72  ts on alphanumer
10b50 69 63 20 76 61 6c 75 65 73 2e 0d 0a 3c 68 33 3e  ic values...<h3>
10b60 44 65 66 69 6e 69 6e 67 20 61 20 63 75 73 74 6f  Defining a custo
10b70 6d 20 64 65 6c 69 6d 69 74 65 72 3c 2f 68 33 3e  m delimiter</h3>
10b80 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20 63  ..Sometimes it c
10b90 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c 20 73  ould be useful s
10ba0 65 74 74 69 6e 67 20 75 70 20 61 20 64 65 6c 69  etting up a deli
10bb0 6d 69 74 65 72 20 6f 74 68 65 72 20 74 68 61 6e  miter other than
10bc0 20 61 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 2e   a <b>comma</b>.
10bd0 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50  ..<verbatim>..UP
10be0 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20  DATE byfoot SET 
10bf0 44 65 6c 69 6d 69 74 65 72 20 3d 20 27 2a 27 3b  Delimiter = '*';
10c00 0d 0a 0d 0a 53 45 4c 45 43 54 20 44 65 6c 69 6d  ....SELECT Delim
10c10 69 74 65 72 20 46 52 4f 4d 20 62 79 66 6f 6f 74  iter FROM byfoot
10c20 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ;..-------------
10c30 2d 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65 63 3d 34 32  -----..* [dec=42
10c40 2c 20 68 65 78 3d 32 61 5d 0d 0a 3c 2f 76 65 72  , hex=2a]..</ver
10c50 62 61 74 69 6d 3e 20 0d 0a 59 6f 75 20 73 69 6d  batim> ..You sim
10c60 70 6c 79 20 68 61 76 65 20 74 6f 20 65 78 65 63  ply have to exec
10c70 75 74 65 20 61 6e 20 3c 62 3e 55 50 44 41 54 45  ute an <b>UPDATE
10c80 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 20 62  </b> statement b
10c90 79 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65  y specifying the
10ca0 20 6e 65 77 20 64 65 6c 69 6d 69 74 65 72 20 76   new delimiter v
10cb0 61 6c 75 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  alue.<br><br>..<
10cc0 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65  /td></tr></table
10cd0 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72  >..<br><br>..<hr
10ce0 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61  ><br>..<h1><a na
10cf0 6d 65 3d 22 69 73 6f 63 68 72 6f 6e 65 22 3e 36  me="isochrone">6
10d00 20 2d 20 53 6f 6c 76 69 6e 67 20 49 73 6f 63 68   - Solving Isoch
10d10 72 6f 6e 65 20 70 72 6f 62 6c 65 6d 73 3c 2f 61  rone problems</a
10d20 3e 3c 2f 68 31 3e 0d 0a 3c 61 20 68 72 65 66 3d  ></h1>..<a href=
10d30 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69  "https://en.wiki
10d40 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 49  pedia.org/wiki/I
10d50 73 6f 63 68 72 6f 6e 65 5f 6d 61 70 22 3e 49 73  sochrone_map">Is
10d60 6f 63 68 72 6f 6e 65 73 3c 2f 61 3e 20 61 72 65  ochrones</a> are
10d70 20 61 72 65 61 73 20 28 6f 72 20 63 75 72 76 65   areas (or curve
10d80 73 29 20 63 6f 6e 6e 65 63 74 69 6e 67 20 70 6f  s) connecting po
10d90 69 6e 74 73 20 61 74 20 77 68 69 63 68 20 73 6f  ints at which so
10da0 6d 65 74 68 69 6e 67 20 6f 63 63 75 72 73 20 6f  mething occurs o
10db0 72 20 61 72 72 69 76 65 73 20 61 74 20 74 68 65  r arrives at the
10dc0 20 73 61 6d 65 20 74 69 6d 65 2e 3c 62 72 3e 0d   same time.<br>.
10dd0 0a 49 73 6f 63 68 72 6f 6e 65 73 20 61 72 65 20  .Isochrones are 
10de0 75 73 75 61 6c 6c 79 20 72 65 6c 61 74 65 64 20  usually related 
10df0 74 6f 20 4e 65 74 77 6f 72 6b 20 41 6e 61 6c 79  to Network Analy
10e00 73 69 73 20 61 6e 64 20 52 6f 75 74 69 6e 67 20  sis and Routing 
10e10 62 65 63 61 75 73 65 20 74 68 65 79 20 61 6c 6c  because they all
10e20 6f 77 20 74 6f 20 65 61 73 69 6c 79 20 69 64 65  ow to easily ide
10e30 6e 74 69 66 79 20 77 68 69 63 68 20 73 70 65 63  ntify which spec
10e40 69 66 69 63 20 70 6f 72 74 69 6f 6e 20 6f 66 20  ific portion of 
10e50 74 68 65 20 4e 65 74 77 6f 72 6b 20 63 61 6e 20  the Network can 
10e60 62 65 20 72 65 61 63 68 65 64 20 73 74 61 72 74  be reached start
10e70 69 6e 67 20 62 79 20 73 6f 6d 65 20 3c 62 3e 6f  ing by some <b>o
10e80 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 73  rigin Node</b> s
10e90 70 65 6e 64 69 6e 67 20 6e 6f 20 6d 6f 72 65 20  pending no more 
10ea0 74 68 61 6e 20 61 20 67 69 76 65 6e 20 3c 62 3e  than a given <b>
10eb0 43 6f 73 74 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72  Cost</b>.<br><br
10ec0 3e 0d 0a 41 73 20 79 6f 75 20 68 61 76 65 20 61  >..As you have a
10ed0 6c 72 65 61 64 79 20 73 65 65 6e 20 77 69 74 68  lready seen with
10ee0 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e   <b>multi-destin
10ef0 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 65  ation</b> querie
10f00 73 2c 20 74 68 65 20 44 69 6a 6b 73 74 72 61 27  s, the Dijkstra'
10f10 73 20 41 6c 67 6f 72 69 74 68 6d 20 72 6f 62 75  s Algorithm robu
10f20 73 74 6c 79 20 65 6e 73 75 72 65 73 20 74 68 61  stly ensures tha
10f30 74 20 77 68 65 6e 20 61 20 64 65 73 74 69 6e 61  t when a destina
10f40 74 69 6f 6e 20 69 73 20 72 65 61 63 68 65 64 2c  tion is reached,
10f50 20 61 6c 6c 20 74 68 65 20 64 65 73 74 69 6e 61   all the destina
10f60 74 69 6f 6e 73 20 70 72 65 73 65 6e 74 69 6e 67  tions presenting
10f70 20 61 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f 73   a <b>lesser cos
10f80 74 3c 2f 62 3e 20 68 61 76 65 20 61 6c 73 6f 20  t</b> have also 
10f90 62 65 65 6e 20 63 6f 6c 6c 65 63 74 65 64 2e 3c  been collected.<
10fa0 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f 77 73  br>..This allows
10fb0 20 74 6f 20 65 66 66 69 63 69 65 6e 74 6c 79 20   to efficiently 
10fc0 73 75 70 70 6f 72 74 20 3c 62 3e 49 73 6f 63 68  support <b>Isoch
10fd0 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 69 65 73  rone</b> queries
10fe0 2e 0d 0a 59 6f 75 20 73 69 6d 70 6c 79 20 68 61  ...You simply ha
10ff0 76 65 20 74 6f 20 73 70 65 63 69 66 79 20 61 20  ve to specify a 
11000 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69 67 69 6e  <b>single origin
11010 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 20 61 20   Node</b> and a 
11020 3c 62 3e 43 6f 73 74 20 74 68 72 65 73 68 6f 6c  <b>Cost threshol
11030 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  d</b>.<br><br>..
11040 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65 78 65  <u>Note</u>: exe
11050 63 75 74 69 6e 67 20 61 6e 20 49 73 6f 63 68 72  cuting an Isochr
11060 6f 6e 65 20 71 75 65 72 79 20 72 65 71 75 69 72  one query requir
11070 65 73 20 61 20 3c 62 3e 70 72 6f 63 65 73 73 69  es a <b>processi
11080 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 74 68 61 74  ng time</b> that
11090 20 3c 62 3e 69 73 6e 27 74 3c 2f 62 3e 20 74 68   <b>isn't</b> th
110a0 65 20 3c 75 3e 73 75 6d 20 6f 66 20 61 6c 6c 20  e <u>sum of all 
110b0 69 6e 64 69 76 69 64 75 61 6c 20 74 69 6d 69 6e  individual timin
110c0 67 73 20 66 6f 72 20 65 61 63 68 20 64 65 73 74  gs for each dest
110d0 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c 20 62 75 74  ination</u>, but
110e0 20 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20 3c   simply is the <
110f0 75 3e 74 69 6d 65 20 72 65 71 75 69 72 65 64 20  u>time required 
11100 74 6f 20 72 65 61 63 68 20 74 68 65 20 6d 6f 73  to reach the mos
11110 74 20 63 6f 73 74 6c 79 20 64 65 73 74 69 6e 61  t costly destina
11120 74 69 6f 6e 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 3c  tion</u>.<br>..<
11130 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43  verbatim>..SELEC
11140 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71  T Algorithm, Req
11150 75 65 73 74 2c 20 52 6f 6c 65 2c 20 4e 6f 64 65  uest, Role, Node
11160 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
11170 73 74 2c 20 47 65 6f 6d 65 74 72 79 0d 0a 46 52  st, Geometry..FR
11180 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45  OM byfoot..WHERE
11190 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 31 39   NodeFrom = 1819
111a0 39 39 20 41 4e 44 20 43 6f 73 74 20 3c 3d 20 31  99 AND Cost <= 1
111b0 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62 61 74  000.0;..</verbat
111c0 69 6d 3e 0d 0a 59 6f 75 20 63 61 6e 20 63 61 6c  im>..You can cal
111d0 6c 20 61 6e 20 3c 62 3e 49 73 6f 63 68 72 6f 6e  l an <b>Isochron
111e0 65 3c 2f 62 3e 20 71 75 65 72 79 20 61 73 20 73  e</b> query as s
111f0 75 70 70 6f 72 74 65 64 20 62 79 20 3c 62 3e 56  upported by <b>V
11200 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62  irtualRouting</b
11210 3e 20 62 79 20 73 70 65 63 69 66 79 69 6e 67 3a  > by specifying:
11220 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4e  ..<ul>..<li><b>N
11230 6f 64 65 46 72 6f 6d 3c 2f 62 3e 3a 20 74 68 65  odeFrom</b>: the
11240 20 3c 62 3e 3c 69 3e 49 44 3c 2f 69 3e 3c 2f 62   <b><i>ID</i></b
11250 3e 20 6f 72 20 3c 62 3e 3c 69 3e 43 6f 64 65 3c  > or <b><i>Code<
11260 2f 69 3e 3c 2f 62 3e 20 75 6e 69 71 75 65 6c 79  /i></b> uniquely
11270 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65   identifying the
11280 20 3c 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65 3c   <b>origin Node<
11290 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  /b>.</li>..<li><
112a0 62 3e 43 6f 73 74 3c 2f 62 3e 3a 20 74 68 65 20  b>Cost</b>: the 
112b0 6d 61 78 69 6d 75 6d 20 3c 62 3e 43 6f 73 74 20  maximum <b>Cost 
112c0 74 68 72 65 73 68 6f 6c 64 3c 2f 62 3e 20 6e 6f  threshold</b> no
112d0 74 20 74 6f 20 62 65 20 65 78 63 65 65 64 65 64  t to be exceeded
112e0 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
112f0 75 3e 3a 20 61 6e 79 20 76 61 6c 69 64 20 49 73  u>: any valid Is
11300 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 20 3c 62  ochrone query <b
11310 3e 6d 75 73 74 3c 2f 62 3e 20 6e 65 63 65 73 73  >must</b> necess
11320 61 72 69 6c 79 20 73 70 65 63 69 66 79 20 61 20  arily specify a 
11330 3c 62 3e 3c 3d 3c 2f 62 3e 20 28 3c 75 3e 3c 69  <b><=</b> (<u><i
11340 3e 6c 65 73 73 65 72 20 74 68 61 6e 20 6f 72 20  >lesser than or 
11350 65 71 75 61 6c 20 74 6f 3c 2f 69 3e 3c 2f 75 3e  equal to</i></u>
11360 29 20 63 6f 6d 70 61 72 69 73 6f 6e 20 6f 70 65  ) comparison ope
11370 72 61 74 6f 72 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  rator.</li>..</u
11380 6c 3e 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 66 6f  l>..<br>..The fo
11390 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68  llowing table sh
113a0 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65  ows the resultse
113b0 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  t returned by th
113c0 65 20 61 62 6f 76 65 20 49 73 6f 63 68 72 6f 6e  e above Isochron
113d0 65 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62  e query...<br><b
113e0 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  r>..<table borde
113f0 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
11400 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
11410 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
11420 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><t
11430 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
11440 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74  a0">Algorithm</t
11450 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
11460 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
11470 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
11480 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
11490 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
114a0 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
114b0 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
114c0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
114d0 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
114e0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73  or="#d0d0a0">Cos
114f0 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
11500 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d  r="#d0d0a0">Geom
11510 65 74 72 79 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a  etry</th></tr>..
11520 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  <tr>..<tr>..<td>
11530 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64  Dijkstra</td><td
11540 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 74 64 3e 3c  >Isochrone</td><
11550 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e  td>Solution</td>
11560 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
11570 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64  ">181999</td><td
11580 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
11590 37 38 37 31 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  78717</td><td al
115a0 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 37 32 2e  ign="right">572.
115b0 34 35 35 31 34 33 3c 2f 74 64 3e 3c 74 64 3e 42  455143</td><td>B
115c0 4c 4f 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45 54  LOB sz=60 GEOMET
115d0 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  RY</td>..</tr>..
115e0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
115f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
11600 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 74 64 20  <td>Solution<td 
11610 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
11620 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
11630 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 31  gn="right">17871
11640 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  8</td><td align=
11650 22 72 69 67 68 74 22 3e 35 38 37 2e 33 30 33 37  "right">587.3037
11660 37 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  79</td><td>BLOB 
11670 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f  sz=60 GEOMETRY</
11680 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
11690 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e  ..<td align="cen
116a0 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d 22 37 22  ter" colspan="7"
116b0 3e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 3c 2f  >.............</
116c0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
116d0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
116e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
116f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 53 6f  align="right">So
11700 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61  lution</td><td a
11710 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
11720 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  999</td><td alig
11730 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 35  n="right">184035
11740 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
11750 72 69 67 68 74 22 3e 35 37 39 2e 37 38 36 37 32  right">579.78672
11760 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  4</td><td>BLOB s
11770 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74  z=60 GEOMETRY</t
11780 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
11790 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
117a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53  d>NULL</td><td>S
117b0 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20  olution</td><td 
117c0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
117d0 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
117e0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33  gn="right">18403
117f0 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
11800 22 72 69 67 68 74 22 3e 36 34 32 2e 36 39 31 35  "right">642.6915
11810 39 37 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  97</td><td>BLOB 
11820 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f  sz=60 GEOMETRY</
11830 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
11840 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27  ble>..<br>..Let'
11850 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e  s quickly examin
11860 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  e the resultset 
11870 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
11880 61 62 6f 76 65 20 3c 62 3e 69 73 6f 63 68 72 6f  above <b>isochro
11890 6e 65 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a 3c  ne</b> query...<
118a0 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  ul>..<li>the <b>
118b0 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66  first row</b> of
118c0 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 69   the resultset i
118d0 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65 70 74  s someway except
118e0 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74 68  ional, and is th
118f0 65 20 6f 6e 6c 79 20 72 6f 77 20 6f 66 20 74 68  e only row of th
11900 65 20 72 65 73 75 6c 74 73 65 74 20 70 72 65 73  e resultset pres
11910 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e 55  enting <b>NOT NU
11920 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 69 6e  LL</b> values in
11930 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68   the <b>Algorith
11940 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73  m</b>, <b>Reques
11950 74 3c 2f 62 3e 2c 20 3c 2f 62 3e 4f 70 74 69 6f  t</b>, </b>Optio
11960 6e 73 3c 2f 62 3e 20 28 61 6e 64 20 3c 2f 62 3e  ns</b> (and </b>
11970 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 29 20 63  Delimiter</b>) c
11980 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  olumns.</li>..<l
11990 69 3e 61 6c 6c 20 72 6f 77 73 20 28 69 6e 63 6c  i>all rows (incl
119a0 75 64 69 6e 67 20 74 68 65 20 66 69 72 73 74 20  uding the first 
119b0 6f 6e 65 29 20 68 61 76 65 20 3c 62 3e 52 6f 6c  one) have <b>Rol
119c0 65 20 3d 20 53 6f 6c 75 74 69 6f 6e 3c 2f 62 3e  e = Solution</b>
119d0 2c 20 61 6e 64 20 72 65 70 72 65 73 65 6e 74 73  , and represents
119e0 20 61 20 73 69 6e 67 6c 65 20 63 6f 6e 6e 65 63   a single connec
119f0 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 3c 62 3e  tion between <b>
11a00 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64  NodeFrom</b> and
11a10 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2c 20   <b>NodeTo</b>, 
11a20 77 69 74 68 20 74 68 65 20 63 6f 72 72 65 73 70  with the corresp
11a30 6f 6e 64 69 6e 67 20 3c 62 3e 43 6f 73 74 3c 2f  onding <b>Cost</
11a40 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68  b>.</li>..<li>th
11a50 65 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62  e <b>Geometry</b
11a60 3e 20 63 6f 6c 75 6d 6e 20 61 6c 77 61 79 73 20  > column always 
11a70 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74  corresponds to t
11a80 68 65 20 3c 62 3e 32 44 20 50 6f 69 6e 74 3c 2f  he <b>2D Point</
11a90 62 3e 20 77 68 65 72 65 20 3c 62 3e 4e 6f 64 65  b> where <b>Node
11aa0 54 6f 3c 2f 62 3e 20 69 73 20 6c 6f 63 61 74 65  To</b> is locate
11ab0 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  d.</li>..</ul>..
11ac0 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
11ad0 3e 3a 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 3c  >: <b>isochrone<
11ae0 2f 62 3e 20 71 75 65 72 69 65 73 20 61 72 65 20  /b> queries are 
11af0 6e 6f 74 20 61 66 66 65 63 74 65 64 20 62 79 20  not affected by 
11b00 63 6f 6e 66 69 67 75 72 61 62 6c 65 20 6f 70 74  configurable opt
11b10 69 6f 6e 73 2e 0d 0a 3c 62 3e 41 6c 67 6f 72 69  ions...<b>Algori
11b20 74 68 6d 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20  thm</b> will be 
11b30 61 6c 77 61 79 73 20 61 73 73 75 6d 65 64 20 74  always assumed t
11b40 6f 20 62 65 20 3c 62 3e 44 69 6a 73 6b 74 72 61  o be <b>Dijsktra
11b50 3c 2f 62 3e 2c 20 61 6e 64 20 74 68 65 20 63 75  </b>, and the cu
11b60 72 72 65 6e 74 20 3c 62 3e 4f 70 74 69 6f 6e 73  rrent <b>Options
11b70 3c 2f 62 3e 20 73 65 74 74 69 6e 67 73 20 77 69  </b> settings wi
11b80 6c 6c 20 62 65 20 73 69 6d 70 6c 79 20 69 67 6e  ll be simply ign
11b90 6f 72 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d  ored...<verbatim
11ba0 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 43 6f 6e  >..SELECT ST_Con
11bb0 63 61 76 65 48 75 6c 6c 28 53 54 5f 43 6f 6c 6c  caveHull(ST_Coll
11bc0 65 63 74 28 47 65 6f 6d 65 74 72 79 29 29 0d 0a  ect(Geometry))..
11bd0 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
11be0 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38  RE NodeFrom = 18
11bf0 31 39 39 39 20 41 4e 44 20 43 6f 73 74 20 3c 3d  1999 AND Cost <=
11c00 20 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62   1000.0;..</verb
11c10 61 74 69 6d 3e 0d 0a 41 6e 79 20 69 73 6f 63 68  atim>..Any isoch
11c20 72 6f 6e 65 20 71 75 65 72 79 20 77 69 6c 6c 20  rone query will 
11c30 6a 75 73 74 20 72 65 74 75 72 6e 20 61 20 50 6f  just return a Po
11c40 69 6e 74 2d 73 65 74 3b 20 69 66 20 79 6f 75 20  int-set; if you 
11c50 61 6c 73 6f 20 77 69 73 68 20 74 6f 20 6f 62 74  also wish to obt
11c60 61 69 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f  ain the correspo
11c70 6e 64 69 6e 67 20 61 72 65 61 6c 20 72 65 70 72  nding areal repr
11c80 65 73 65 6e 74 61 74 69 6f 6e 20 79 6f 75 20 6a  esentation you j
11c90 75 73 74 20 68 61 76 65 20 74 6f 20 63 61 6c 6c  ust have to call
11ca0 20 3c 62 3e 53 54 5f 43 6f 6c 6c 65 63 74 28 29   <b>ST_Collect()
11cb0 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f  </b> in order to
11cc0 20 67 65 74 20 61 20 6d 6f 6e 6f 6c 69 74 68 69   get a monolithi
11cd0 63 20 4d 75 6c 74 69 50 6f 69 6e 74 2c 20 74 68  c MultiPoint, th
11ce0 65 6e 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53 54  en calling <b>ST
11cf0 5f 43 6f 6e 63 61 76 65 48 75 6c 6c 28 29 3c 2f  _ConcaveHull()</
11d00 62 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 67  b> in order to g
11d10 65 74 20 61 20 50 6f 6c 79 67 6f 6e 2e 0d 0a 3c  et a Polygon...<
11d20 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65  br><br><br>..The
11d30 20 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68   map below graph
11d40 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65  ically shows the
11d50 20 72 65 73 75 6c 74 73 20 6f 66 20 74 68 65 20   results of the 
11d60 70 72 65 76 69 6f 75 73 20 3c 62 3e 69 73 6f 63  previous <b>isoc
11d70 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79 2e  hrone</b> query.
11d80 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67  ..<br><br>..<img
11d90 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
11da0 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
11db0 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
11dc0 66 69 67 73 2f 69 73 6f 63 68 72 6f 6e 65 2e 6a  figs/isochrone.j
11dd0 70 67 22 20 61 6c 74 3d 22 69 73 6f 63 68 72 6f  pg" alt="isochro
11de0 6e 65 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ne">..<ul>..<li>
11df0 59 65 6c 6c 6f 77 20 73 74 61 72 3a 20 74 68 65  Yellow star: the
11e00 20 4f 72 69 67 69 6e 20 4e 6f 64 65 2e 3c 2f 6c   Origin Node.</l
11e10 69 3e 0d 0a 3c 6c 69 3e 42 6c 75 65 20 64 6f 74  i>..<li>Blue dot
11e20 73 3a 20 61 6c 6c 20 44 65 73 74 69 6e 61 74 69  s: all Destinati
11e30 6f 6e 20 4e 6f 64 65 73 20 77 69 74 68 69 6e 20  on Nodes within 
11e40 74 68 65 20 67 69 76 65 6e 20 43 6f 73 74 2e 3c  the given Cost.<
11e50 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68 69 74 65 20  /li>..<li>White 
11e60 6c 69 6e 65 3a 20 74 68 65 20 62 6f 75 6e 64 61  line: the bounda
11e70 72 79 20 6f 66 20 74 68 65 20 49 73 6f 63 68 72  ry of the Isochr
11e80 6f 6e 65 2e 20 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  one. ..<br><br>.
11e90 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d  .<table bgcolor=
11ea0 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70  "#c0ffc0" cellsp
11eb0 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70  acing="10" cellp
11ec0 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c  adding="6"><tr><
11ed0 74 64 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  td>..<br><br>..<
11ee0 75 3e 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3c 2f 75  u><b>Note</b></u
11ef0 3e 3a 20 69 6e 20 74 68 69 73 20 65 78 61 6d 70  >: in this examp
11f00 6c 65 20 79 6f 75 27 76 65 20 75 73 65 64 20 74  le you've used t
11f10 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e  he <b>byfoot</b>
11f20 20 4e 65 74 77 6f 72 6b 2c 20 74 68 61 74 20 69   Network, that i
11f30 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 43 6f  s based on <b>Co
11f40 73 74 73 3c 2f 62 3e 20 65 78 70 72 65 73 73 65  sts</b> expresse
11f50 64 20 69 6e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f  d in <b>meters</
11f60 62 3e 20 28 67 65 6f 6d 65 74 72 69 63 20 6c 65  b> (geometric le
11f70 6e 67 74 68 20 6f 66 20 65 61 63 68 20 4c 69 6e  ngth of each Lin
11f80 6b 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 4e 65  k).<br>..This Ne
11f90 74 77 6f 72 6b 20 69 73 20 6d 61 69 6e 6c 79 20  twork is mainly 
11fa0 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e  intended for <b>
11fb0 70 65 64 65 73 74 72 69 61 6e 73 3c 2f 62 3e 2c  pedestrians</b>,
11fc0 20 73 6f 20 77 65 20 63 61 6e 20 73 61 66 65 6c   so we can safel
11fd0 79 20 61 73 73 75 6d 65 20 61 20 3c 75 3e 3c 69  y assume a <u><i
11fe0 3e 63 6f 6e 73 74 61 6e 74 20 73 70 65 65 64 3c  >constant speed<
11ff0 2f 69 3e 3c 2f 75 3e 20 6f 66 20 61 62 6f 75 74  /i></u> of about
12000 20 3c 62 3e 34 3c 2f 62 3e 20 74 6f 20 3c 62 3e   <b>4</b> to <b>
12010 36 20 6b 6d 2f 68 3c 2f 62 3e 2c 20 61 6e 64 20  6 km/h</b>, and 
12020 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68 65  consequently the
12030 20 3c 62 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 62   <b>Isochrone</b
12040 3e 20 65 66 66 65 63 74 69 76 65 6c 79 20 72 65  > effectively re
12050 73 70 65 63 74 73 20 74 68 65 20 3c 75 3e 3c 69  spects the <u><i
12060 3e 73 61 6d 65 20 74 69 6d 65 3c 2f 69 3e 3c 2f  >same time</i></
12070 75 3e 20 72 65 71 75 69 73 69 74 65 2e 3c 62 72  u> requisite.<br
12080 3e 3c 62 72 3e 0d 0a 53 70 65 61 6b 69 6e 67 20  ><br>..Speaking 
12090 69 6e 20 6d 6f 72 65 20 67 65 6e 65 72 61 6c 20  in more general 
120a0 74 65 72 6d 73 2c 20 61 6e 20 49 73 6f 63 68 72  terms, an Isochr
120b0 6f 6e 65 20 63 61 6e 20 62 65 20 69 6e 74 65 6e  one can be inten
120c0 64 65 64 20 61 73 20 61 20 67 65 6e 65 72 69 63  ded as a generic
120d0 20 73 79 6e 6f 6e 79 6d 20 66 6f 72 20 3c 75 3e   synonym for <u>
120e0 3c 69 3e 73 61 6d 65 20 43 6f 73 74 3c 2f 69 3e  <i>same Cost</i>
120f0 3c 2f 75 3e 2c 20 65 76 65 6e 20 77 68 65 6e 20  </u>, even when 
12100 74 68 65 72 65 20 69 73 20 6e 6f 20 6f 62 76 69  there is no obvi
12110 6f 75 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77  ous connection w
12120 69 74 68 20 3c 62 3e 54 69 6d 65 2e 3c 2f 62 3e  ith <b>Time.</b>
12130 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e  .<br><br>..</td>
12140 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  </tr></table>..<
12150 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20  hr><br>..<h1><a 
12160 6e 61 6d 65 3d 22 74 73 70 22 3e 37 20 2d 20 53  name="tsp">7 - S
12170 6f 6c 76 69 6e 67 20 54 53 50 20 28 74 72 61 76  olving TSP (trav
12180 65 6c 69 6e 67 20 73 61 6c 65 73 6d 61 6e 29 20  eling salesman) 
12190 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31  problems</a></h1
121a0 3e 0d 0a 3c 62 3e 54 53 50 3c 2f 62 3e 20 28 3c  >..<b>TSP</b> (<
121b0 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
121c0 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67  en.wikipedia.org
121d0 2f 77 69 6b 69 2f 54 72 61 76 65 6c 6c 69 6e 67  /wiki/Travelling
121e0 5f 73 61 6c 65 73 6d 61 6e 5f 70 72 6f 62 6c 65  _salesman_proble
121f0 6d 22 3e 54 72 61 76 65 6c 69 6e 67 20 53 61 6c  m">Traveling Sal
12200 65 73 6d 61 6e 20 50 72 6f 62 6c 65 6d 3c 2f 61  esman Problem</a
12210 3e 29 20 69 73 20 61 20 77 65 6c 6c 20 6b 6e 6f  >) is a well kno
12220 77 6e 20 4f 70 65 72 61 74 69 6f 6e 73 20 52 65  wn Operations Re
12230 73 65 61 72 63 68 20 70 72 6f 62 6c 65 6d 2e 0d  search problem..
12240 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  .<br><br>..<tabl
12250 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66  e bgcolor="#c0ff
12260 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  c0" cellspacing=
12270 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  "10" cellpadding
12280 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c  ="6"><tr><td>..<
12290 68 33 3e 54 68 65 20 54 72 61 76 65 6c 69 6e 67  h3>The Traveling
122a0 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62 6c 65   Salesman Proble
122b0 6d 3c 2f 68 33 3e 0d 0a 3c 62 3e 3c 69 3e 47 69  m</h3>..<b><i>Gi
122c0 76 65 6e 20 61 20 6c 69 73 74 20 6f 66 20 63 69  ven a list of ci
122d0 74 69 65 73 20 61 6e 64 20 74 68 65 20 64 69 73  ties and the dis
122e0 74 61 6e 63 65 73 20 62 65 74 77 65 65 6e 20 65  tances between e
122f0 61 63 68 20 70 61 69 72 20 6f 66 20 63 69 74 69  ach pair of citi
12300 65 73 2c 20 77 68 61 74 20 69 73 20 74 68 65 20  es, what is the 
12310 73 68 6f 72 74 65 73 74 20 70 6f 73 73 69 62 6c  shortest possibl
12320 65 20 72 6f 75 74 65 20 74 68 61 74 20 76 69 73  e route that vis
12330 69 74 73 20 65 61 63 68 20 63 69 74 79 20 61 6e  its each city an
12340 64 20 72 65 74 75 72 6e 73 20 74 6f 20 74 68 65  d returns to the
12350 20 6f 72 69 67 69 6e 20 63 69 74 79 20 3f 3c 2f   origin city ?</
12360 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  i></b>..<br><br>
12370 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61  ..</td></tr></ta
12380 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e  ble>..<br>..<u>N
12390 6f 74 65 3a 3c 2f 75 3e 20 74 68 65 20 74 65 72  ote:</u> the ter
123a0 6d 73 20 3c 69 3e 3c 75 3e 73 61 6c 65 73 6d 61  ms <i><u>salesma
123b0 6e 3c 2f 75 3e 3c 2f 69 3e 20 61 6e 64 20 3c 69  n</u></i> and <i
123c0 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e  ><u>city</u></i>
123d0 20 61 72 65 20 75 6e 69 76 65 72 73 61 6c 6c 79   are universally
123e0 20 75 73 65 64 20 66 6f 72 20 68 69 73 74 6f 72   used for histor
123f0 69 63 61 6c 20 72 65 61 73 6f 6e 73 2c 20 73 6f  ical reasons, so
12400 20 79 6f 75 20 73 68 6f 75 6c 64 20 61 76 6f 69   you should avoi
12410 64 20 74 61 6b 69 6e 67 20 74 68 65 6d 20 6c 69  d taking them li
12420 74 65 72 61 6c 6c 79 20 61 6e 64 20 74 61 6b 65  terally and take
12430 20 74 68 65 6d 20 69 6e 20 63 6f 6e 74 65 78 74   them in context
12440 2e 3c 62 72 3e 0d 0a 54 68 65 20 74 65 72 6d 20  .<br>..The term 
12450 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f  <u><i>salesman</
12460 69 3e 3c 2f 75 3e 20 69 6e 20 74 68 69 73 20 73  i></u> in this s
12470 70 65 63 69 66 69 63 20 63 6f 6e 74 65 78 74 20  pecific context 
12480 69 6e 74 65 6e 64 73 20 61 6e 79 20 70 6f 73 73  intends any poss
12490 69 62 6c 65 20 6b 69 6e 64 20 6f 66 20 3c 75 3e  ible kind of <u>
124a0 3c 69 3e 6d 6f 76 69 6e 67 20 61 67 65 6e 74 3c  <i>moving agent<
124b0 2f 69 3e 3c 2f 75 3e 20 28 70 65 64 65 73 74 72  /i></u> (pedestr
124c0 69 61 6e 2c 20 76 65 68 69 63 6c 65 2c 20 70 61  ian, vehicle, pa
124d0 73 73 65 6e 67 65 72 20 6f 72 20 77 68 61 74 65  ssenger or whate
124e0 76 65 72 20 65 6c 73 65 29 2c 20 65 78 61 63 74  ver else), exact
124f0 6c 79 20 61 73 20 3c 69 3e 3c 75 3e 63 69 74 79  ly as <i><u>city
12500 3c 2f 75 3e 3c 2f 69 3e 20 73 69 6d 70 6c 79 20  </u></i> simply 
12510 73 74 61 6e 64 73 20 66 6f 72 20 61 6e 79 20 3c  stands for any <
12520 69 3e 3c 75 3e 67 65 6e 65 72 69 63 20 64 65 73  i><u>generic des
12530 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e  tination</u></i>
12540 20 6f 6e 20 61 20 67 69 76 65 6e 20 4e 65 74 77   on a given Netw
12550 6f 72 6b 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ork...<br><br>..
12560 57 65 20 63 61 6e 20 63 6f 6e 63 65 70 74 75 61  We can conceptua
12570 6c 79 20 73 70 6c 69 74 20 54 50 53 20 69 6e 20  ly split TPS in 
12580 74 77 6f 20 68 61 6c 76 65 73 3a 0d 0a 3c 6f 6c  two halves:..<ol
12590 3e 0d 0a 3c 6c 69 3e 63 6f 6d 70 75 74 69 6e 67  >..<li>computing
125a0 20 61 6c 6c 20 64 69 73 74 61 6e 63 65 73 20 62   all distances b
125b0 65 74 77 65 65 6e 20 70 61 69 72 73 20 6f 66 20  etween pairs of 
125c0 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 2e 20 54  <i>cities</i>. T
125d0 68 69 73 20 69 73 20 61 20 74 79 70 69 63 61 6c  his is a typical
125e0 20 3c 62 3e 53 68 6f 72 74 65 73 74 50 61 74 68   <b>ShortestPath
125f0 3c 2f 62 3e 20 70 72 6f 62 6c 65 6d 2c 20 61 6e  </b> problem, an
12600 64 20 77 65 20 63 61 6e 20 64 75 6c 79 20 75 73  d we can duly us
12610 65 20 74 68 65 20 44 69 6a 6b 73 74 72 61 27 73  e the Dijkstra's
12620 20 61 6c 67 6f 72 69 74 68 6d 20 66 6f 72 20 74   algorithm for t
12630 68 69 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  his.</li>..<li>t
12640 68 65 6e 20 77 65 20 68 61 76 65 20 74 6f 20 63  hen we have to c
12650 68 65 63 6b 20 66 6f 72 20 61 6c 6c 20 70 6f 73  heck for all pos
12660 73 69 62 6c 65 20 3c 62 3e 70 65 72 6d 75 74 61  sible <b>permuta
12670 74 69 6f 6e 73 3c 2f 62 3e 20 2f 20 3c 62 3e 63  tions</b> / <b>c
12680 6f 6d 62 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20  ombinations</b> 
12690 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20  to identify the 
126a0 6f 70 74 69 6d 61 6c 20 54 53 50 20 73 6f 6c 75  optimal TSP solu
126b0 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c  tion.</li>..</ol
126c0 3e 0d 0a 55 6e 68 61 70 70 69 6c 79 20 74 68 65  >..Unhappily the
126d0 72 65 20 69 73 20 61 20 70 72 61 63 74 69 63 61  re is a practica
126e0 6c 20 64 69 66 66 69 63 75 6c 74 79 20 69 6e 20  l difficulty in 
126f0 73 75 63 68 20 61 20 73 74 72 61 69 67 68 74 66  such a straightf
12700 6f 72 77 61 72 64 20 61 70 70 72 6f 61 63 68 3b  orward approach;
12710 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63   the number of c
12720 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 77 69 6c 6c  ombinations will
12730 20 67 72 6f 77 20 65 78 74 72 65 6d 65 6c 79 20   grow extremely 
12740 66 61 73 74 20 61 73 20 74 68 65 20 6e 75 6d 62  fast as the numb
12750 65 72 20 6f 66 20 3c 62 3e 3c 69 3e 63 69 74 69  er of <b><i>citi
12760 65 73 3c 2f 69 3e 3c 2f 62 3e 20 69 6e 63 72 65  es</i></b> incre
12770 61 73 65 73 2e 3c 62 72 3e 0d 0a 53 69 6d 70 6c  ases.<br>..Simpl
12780 79 20 63 6f 6d 70 75 74 69 6e 67 20 74 68 65 20  y computing the 
12790 63 6f 6d 70 6c 65 74 65 20 54 53 50 20 73 6f 6c  complete TSP sol
127a0 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20  ution for about 
127b0 74 65 6e 20 63 69 74 69 65 73 20 77 69 6c 6c 20  ten cities will 
127c0 72 65 71 75 69 72 65 20 61 20 3c 62 3e 76 65 72  require a <b>ver
127d0 79 20 6c 6f 6e 67 20 74 69 6d 65 3c 2f 62 3e 20  y long time</b> 
127e0 65 76 65 6e 20 75 73 69 6e 67 20 61 20 73 75 70  even using a sup
127f0 65 72 63 6f 6d 70 75 74 65 72 2e 3c 62 72 3e 0d  ercomputer.<br>.
12800 0a 41 6e 64 20 61 74 74 65 6d 70 74 69 6e 67 20  .And attempting 
12810 74 6f 20 63 6f 6d 70 75 74 65 20 61 20 54 53 50  to compute a TSP
12820 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 61 62   solution for ab
12830 6f 75 74 20 68 75 6e 64 72 65 64 20 63 69 74 69  out hundred citi
12840 65 73 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20  es will require 
12850 61 20 3c 62 3e 70 72 61 63 74 69 63 61 6c 6c 79  a <b>practically
12860 20 69 6e 66 69 6e 69 74 65 3c 2f 62 3e 20 74 69   infinite</b> ti
12870 6d 65 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4e  me...<br><br>..N
12880 65 76 65 72 74 68 65 6c 65 73 73 2c 20 73 6f 6c  evertheless, sol
12890 76 69 6e 67 20 54 53 50 20 69 73 20 68 69 67 68  ving TSP is high
128a0 6c 79 20 64 65 73 69 72 61 62 6c 65 20 66 6f 72  ly desirable for
128b0 20 6d 61 6e 79 20 61 70 70 6c 69 63 61 74 69 6f   many applicatio
128c0 6e 20 66 69 65 6c 64 73 3a 20 3c 62 3e 6c 6f 67  n fields: <b>log
128d0 69 73 74 69 63 73 3c 2f 62 3e 20 28 6a 75 73 74  istics</b> (just
128e0 20 74 68 69 6e 6b 20 61 62 6f 75 74 20 63 6f 75   think about cou
128f0 72 69 65 72 20 63 6f 6d 70 61 6e 69 65 73 20 61  rier companies a
12900 73 20 44 48 4c 2c 20 46 65 64 45 58 2c 20 55 50  s DHL, FedEX, UP
12910 53 20 6f 72 20 54 4e 54 29 2c 20 3c 62 3e 66 69  S or TNT), <b>fi
12920 65 6c 64 20 6d 61 69 6e 74 65 6e 61 6e 63 65 3c  eld maintenance<
12930 2f 62 3e 20 2f 20 3c 62 3e 61 73 73 69 73 74 61  /b> / <b>assista
12940 6e 63 65 3c 2f 62 3e 2c 20 3c 62 3e 77 61 73 74  nce</b>, <b>wast
12950 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 3c 2f 62 3e  e collection</b>
12960 2c 20 3c 62 3e 73 63 68 6f 6f 6c 62 75 73 3c 2f  , <b>schoolbus</
12970 62 3e 20 2f 20 3c 62 3e 73 68 61 72 65 64 20 74  b> / <b>shared t
12980 61 78 69 20 73 65 72 76 69 63 65 73 3c 2f 62 3e  axi services</b>
12990 20 65 74 63 2e 3c 62 72 3e 0d 0a 4d 61 6e 79 20   etc.<br>..Many 
129a0 61 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65 20  algorithms have 
129b0 62 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64 75  been invented du
129c0 72 69 6e 67 20 6c 61 73 74 20 64 65 63 61 64 65  ring last decade
129d0 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 70 72  s intended to pr
129e0 6f 64 75 63 65 20 70 72 61 63 74 69 63 61 6c 2c  oduce practical,
129f0 20 61 6c 74 68 6f 75 67 68 20 61 70 70 72 6f 78   although approx
12a00 69 6d 61 74 65 20 2f 20 69 6d 70 65 72 66 65 63  imate / imperfec
12a10 74 2c 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 73  t, TSP solutions
12a20 20 69 6e 20 61 20 72 65 61 73 6f 6e 61 62 6c 79   in a reasonably
12a30 20 73 68 6f 72 74 20 74 69 6d 65 2e 0d 0a 4d 61   short time...Ma
12a40 6e 79 20 6f 66 20 74 68 65 6d 20 73 74 72 6f 6e  ny of them stron
12a50 67 6c 79 20 64 65 70 65 6e 64 20 6f 6e 20 3c 61  gly depend on <a
12a60 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65   href="https://e
12a70 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f  n.wikipedia.org/
12a80 77 69 6b 69 2f 48 65 75 72 69 73 74 69 63 22 3e  wiki/Heuristic">
12a90 68 65 75 72 69 73 74 69 63 3c 2f 61 3e 20 61 6e  heuristic</a> an
12aa0 64 20 2f 20 6f 72 20 3c 61 20 68 72 65 66 3d 22  d / or <a href="
12ab0 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70  https://en.wikip
12ac0 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 52 61  edia.org/wiki/Ra
12ad0 6e 64 6f 6d 6e 65 73 73 22 3e 72 61 6e 64 6f 6d  ndomness">random
12ae0 6e 65 73 73 3c 2f 61 3e 2e 0d 0a 3c 62 72 3e 3c  ness</a>...<br><
12af0 62 72 3e 0d 0a 3c 62 3e 56 69 72 74 75 61 6c 52  br>..<b>VirtualR
12b00 6f 75 74 69 6e 67 3c 2f 62 3e 20 73 75 70 70 6f  outing</b> suppo
12b10 72 74 73 20 74 77 6f 20 64 69 66 66 65 72 65 6e  rts two differen
12b20 74 20 54 53 50 20 61 6c 67 6f 72 69 74 68 6d 73  t TSP algorithms
12b30 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
12b40 54 53 50 20 4e 4e 3c 2f 62 3e 20 28 3c 69 3e 61  TSP NN</b> (<i>a
12b50 6b 61 3c 2f 69 3e 20 3c 62 3e 3c 69 3e 4e 65 61  ka</i> <b><i>Nea
12b60 72 65 73 74 20 4e 65 69 67 68 62 6f 75 72 3c 2f  rest Neighbour</
12b70 69 3e 3c 2f 62 3e 29 3c 62 72 3e 0d 0a 54 68 69  i></b>)<br>..Thi
12b80 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73  s <a href="https
12b90 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e  ://en.wikipedia.
12ba0 6f 72 67 2f 77 69 6b 69 2f 4e 65 61 72 65 73 74  org/wiki/Nearest
12bb0 5f 6e 65 69 67 68 62 6f 75 72 5f 61 6c 67 6f 72  _neighbour_algor
12bc0 69 74 68 6d 22 3e 66 69 72 73 74 20 61 6c 67 6f  ithm">first algo
12bd0 72 69 74 68 6d 3c 2f 61 3e 20 69 73 20 73 74 72  rithm</a> is str
12be0 61 69 67 68 74 66 6f 72 77 61 72 64 2c 20 73 69  aightforward, si
12bf0 6d 70 6c 65 20 61 6e 64 20 76 65 72 79 20 66 61  mple and very fa
12c00 73 74 3b 20 69 74 20 63 61 6e 20 65 66 66 65 63  st; it can effec
12c10 74 69 76 65 6c 79 20 73 6f 6c 76 65 20 68 75 67  tively solve hug
12c20 65 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 73 20  e TSP solutions 
12c30 28 61 20 74 68 6f 75 73 61 6e 64 20 3c 69 3e 63  (a thousand <i>c
12c40 69 74 69 65 73 3c 2f 69 3e 20 6f 72 20 65 76 65  ities</i> or eve
12c50 6e 20 6d 6f 72 65 29 20 69 6e 20 61 20 76 65 72  n more) in a ver
12c60 79 20 73 68 6f 72 74 20 74 69 6d 65 2e 3c 62 72  y short time.<br
12c70 3e 0d 0a 3c 75 3e 53 68 6f 72 74 20 64 65 73 63  >..<u>Short desc
12c80 72 69 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c 75  ription</u>:..<u
12c90 6c 3e 0d 0a 3c 6c 69 3e 73 74 61 72 74 69 6e 67  l>..<li>starting
12ca0 20 66 72 6f 6d 20 74 68 65 20 3c 75 3e 3c 69 3e   from the <u><i>
12cb0 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75  base city</i></u
12cc0 3e 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65  > the <u><i>sale
12cd0 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67 6f 65  sman</i></u> goe
12ce0 73 20 74 6f 20 74 68 65 20 3c 75 3e 3c 69 3e 63  s to the <u><i>c
12cf0 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 73  ity</i></u> pres
12d00 65 6e 74 69 6e 67 20 74 68 65 20 3c 69 3e 3c 75  enting the <i><u
12d10 3e 6c 65 73 73 65 72 20 63 6f 6e 6e 65 63 74 69  >lesser connecti
12d20 6f 6e 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e  on cost</u></i>.
12d30 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 61  </li>..<li>the a
12d40 6c 72 65 61 64 79 20 76 69 73 69 74 65 64 20 3c  lready visited <
12d50 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69  i><u>city</u></i
12d60 3e 20 69 73 20 72 65 6d 6f 76 65 64 20 66 72 6f  > is removed fro
12d70 6d 20 74 68 65 20 6c 69 73 74 2c 20 61 6e 64 20  m the list, and 
12d80 74 68 65 6e 20 74 68 65 20 3c 75 3e 3c 69 3e 73  then the <u><i>s
12d90 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20  alesman</i></u> 
12da0 67 6f 65 73 20 74 6f 20 74 68 65 20 6e 65 78 74  goes to the next
12db0 20 3c 75 3e 3c 69 3e 63 69 74 79 3c 2f 69 3e 3c   <u><i>city</i><
12dc0 2f 75 3e 20 70 72 65 73 65 6e 74 69 6e 67 2c 20  /u> presenting, 
12dd0 61 67 61 69 6e 2c 20 74 68 65 20 6e 65 78 74 20  again, the next 
12de0 3c 69 3e 3c 75 3e 6c 65 73 73 65 72 20 63 6f 6e  <i><u>lesser con
12df0 6e 65 63 74 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e  nection cost</u>
12e00 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </i>.</li>..<li>
12e10 74 68 65 20 63 79 63 6c 65 20 63 6f 6e 74 69 6e  the cycle contin
12e20 75 65 73 20 75 6e 74 69 6c 20 61 6c 6c 20 20 3c  ues until all  <
12e30 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c  i><u>cities</u><
12e40 2f 69 3e 20 69 6e 20 74 68 65 20 6c 69 73 74 20  /i> in the list 
12e50 68 61 76 65 20 62 65 65 6e 20 76 69 73 69 74 65  have been visite
12e60 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 66 69 6e  d.</li>..<li>fin
12e70 61 6c 6c 79 2c 20 74 68 65 20 3c 75 3e 3c 69 3e  ally, the <u><i>
12e80 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e  salesman</i></u>
12e90 20 72 65 74 75 72 6e 73 20 74 6f 20 68 69 73 2f   returns to his/
12ea0 68 65 72 20 69 6e 69 74 69 61 6c 20 3c 75 3e 3c  her initial <u><
12eb0 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c  i>base city</i><
12ec0 2f 75 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  /u></li>..</ul>.
12ed0 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 20 69 74 27  .<u>Note</u> it'
12ee0 73 20 76 65 72 79 20 75 6e 6c 69 6b 65 6c 79 20  s very unlikely 
12ef0 74 68 61 74 20 54 53 50 20 4e 4e 20 77 69 6c 6c  that TSP NN will
12f00 20 66 69 6e 64 20 74 68 65 20 3c 62 3e 6f 70 74   find the <b>opt
12f10 69 6d 61 6c 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f  imal</b> solutio
12f20 6e 2c 20 62 75 74 20 69 74 20 63 61 6e 20 71 75  n, but it can qu
12f30 69 63 6b 6c 79 20 66 69 6e 64 20 73 6f 6d 65 20  ickly find some 
12f40 72 65 61 73 6f 6e 61 62 6c 65 20 3c 62 3e 61 70  reasonable <b>ap
12f50 70 72 6f 78 69 6d 61 74 65 3c 2f 62 3e 20 73 6f  proximate</b> so
12f60 6c 75 74 69 6f 6e 20 28 3c 69 3e 66 65 77 20 69  lution (<i>few i
12f70 73 20 73 75 72 65 6c 79 20 62 65 74 74 65 72 20  s surely better 
12f80 74 68 61 6e 20 6e 6f 74 68 69 6e 67 3c 2f 69 3e  than nothing</i>
12f90 29 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 65 20 6d  ).<br>..In the m
12fa0 6f 73 74 20 75 6e 6c 75 63 6b 79 20 63 61 73 65  ost unlucky case
12fb0 20 54 53 50 20 4e 4e 20 63 6f 75 6c 64 20 70 6f   TSP NN could po
12fc0 73 73 69 62 6c 79 20 72 65 74 75 72 6e 20 74 68  ssibly return th
12fd0 65 20 3c 62 3e 77 6f 72 73 74 20 70 6f 73 73 69  e <b>worst possi
12fe0 62 6c 65 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e  ble solution</b>
12ff0 2c 20 62 75 74 20 74 68 65 20 73 70 65 63 69 66  , but the specif
13000 69 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ic implementatio
13010 6e 20 61 64 6f 70 74 65 64 20 62 79 20 56 69 72  n adopted by Vir
13020 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 68 65 63  tualRouting chec
13030 6b 73 20 61 67 61 69 6e 73 74 20 74 68 69 73 20  ks against this 
13040 70 6f 73 73 69 62 69 6c 69 74 79 3a 0d 0a 3c 75  possibility:..<u
13050 6c 3e 0d 0a 3c 6c 69 3e 65 61 63 68 20 54 53 50  l>..<li>each TSP
13060 20 4e 4e 20 69 73 20 61 6c 77 61 79 73 20 63 6f   NN is always co
13070 6d 70 75 74 65 64 20 74 77 69 63 65 20 62 79 20  mputed twice by 
13080 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e  randomly choosin
13090 67 20 61 20 64 69 66 66 65 72 65 6e 74 20 3c 75  g a different <u
130a0 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69  ><i>base city</i
130b0 3e 3c 2f 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e  ></u> and then n
130c0 6f 72 6d 61 6c 69 7a 69 6e 67 20 74 68 65 20 73  ormalizing the s
130d0 6f 6c 75 74 69 6f 6e 3b 20 74 68 65 20 62 65 73  olution; the bes
130e0 74 20 6f 66 20 74 68 65 20 74 77 6f 20 73 6f 6c  t of the two sol
130f0 75 74 69 6f 6e 73 20 69 73 20 74 68 65 6e 20 72  utions is then r
13100 65 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c  eturned.</li>..<
13110 6c 69 3e 74 68 69 73 20 73 69 6d 70 6c 65 2c 20  li>this simple, 
13120 62 75 74 20 65 66 66 65 63 74 69 76 65 2c 20 70  but effective, p
13130 72 65 63 61 75 74 69 6f 6e 20 65 6e 73 75 72 65  recaution ensure
13140 73 20 74 68 61 74 20 74 68 65 20 3c 62 3e 77 6f  s that the <b>wo
13150 72 73 74 20 70 6f 73 73 69 62 6c 65 20 73 6f 6c  rst possible sol
13160 75 74 69 6f 6e 3c 2f 62 3e 20 77 69 6c 6c 20 6e  ution</b> will n
13170 65 76 65 72 20 62 65 20 72 65 74 75 72 6e 65 64  ever be returned
13180 2c 20 77 69 74 68 20 61 20 6d 6f 64 65 72 61 74  , with a moderat
13190 65 6c 79 20 69 6e 63 72 65 61 73 65 64 20 65 78  ely increased ex
131a0 65 63 75 74 69 6f 6e 20 74 69 6d 65 2e 3c 2f 6c  ecution time.</l
131b0 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
131c0 3c 6c 69 3e 3c 62 3e 54 53 50 20 47 41 3c 2f 62  <li><b>TSP GA</b
131d0 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62  > (<i>aka</i> <b
131e0 3e 3c 69 3e 47 65 6e 65 74 69 63 20 41 6c 67 6f  ><i>Genetic Algo
131f0 72 69 74 68 6d 3c 2f 69 3e 3c 2f 62 3e 29 2e 3c  rithm</i></b>).<
13200 62 72 3e 0d 0a 54 68 69 73 20 3c 61 20 68 72 65  br>..This <a hre
13210 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69  f="https://en.wi
13220 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69  kipedia.org/wiki
13230 2f 47 65 6e 65 74 69 63 5f 61 6c 67 6f 72 69 74  /Genetic_algorit
13240 68 6d 22 3e 61 6c 74 65 72 6e 61 74 69 76 65 20  hm">alternative 
13250 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69 73  algorithm</a> is
13260 20 6d 75 63 68 20 6d 6f 72 65 20 63 6f 6d 70 6c   much more compl
13270 65 78 20 61 6e 64 20 73 6f 70 68 69 73 74 69 63  ex and sophistic
13280 61 74 65 64 2c 20 61 6e 64 20 69 73 20 64 69 72  ated, and is dir
13290 65 63 74 6c 79 20 69 6e 73 70 69 72 65 64 20 62  ectly inspired b
132a0 79 20 62 69 6f 6c 6f 67 69 63 61 6c 20 63 6f 6e  y biological con
132b0 63 65 70 74 73 20 73 75 63 68 20 61 73 20 3c 62  cepts such as <b
132c0 3e 73 65 78 75 61 6c 20 72 65 70 72 6f 64 75 63  >sexual reproduc
132d0 74 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e 67 65 6e  tion</b>, <b>gen
132e0 65 74 69 63 20 6d 75 74 61 74 69 6f 6e 73 3c 2f  etic mutations</
132f0 62 3e 20 61 6e 64 20 3c 62 3e 6e 61 74 75 72 61  b> and <b>natura
13300 6c 20 73 65 6c 65 63 74 69 6f 6e 3c 2f 62 3e 2e  l selection</b>.
13310 3c 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74 20 64  <br>..<u>Short d
13320 65 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e 3a 0d  escription</u>:.
13330 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 20 66 69 72  .<ul>..<li>a fir
13340 73 74 20 69 6e 69 74 69 61 6c 20 73 65 74 20 6f  st initial set o
13350 66 20 73 6f 6c 75 74 69 6f 6e 73 20 28 3c 69 3e  f solutions (<i>
13360 3c 75 3e 74 68 65 20 70 6f 70 75 6c 61 74 69 6f  <u>the populatio
13370 6e 3c 2f 75 3e 3c 2f 69 3e 29 20 69 73 20 63 72  n</u></i>) is cr
13380 65 61 74 65 64 20 62 79 20 75 73 69 6e 67 20 54  eated by using T
13390 53 50 20 4e 4e 20 61 66 74 65 72 20 72 61 6e 64  SP NN after rand
133a0 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67 20 74 68  omly choosing th
133b0 65 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69 74  e <u><i>base cit
133c0 79 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 74 68  y</i></u> and th
133d0 65 6e 20 6e 6f 72 6d 61 6c 69 7a 69 6e 67 20 65  en normalizing e
133e0 61 63 68 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c  ach solution.</l
133f0 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 64 75 72  i>..<li>then dur
13400 69 6e 67 20 65 61 63 68 20 73 74 65 70 20 6f 66  ing each step of
13410 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6c   the execution l
13420 6f 6f 70 20 28 3c 69 3e 3c 75 3e 67 65 6e 65 72  oop (<i><u>gener
13430 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29 20 70  ation</u></i>) p
13440 61 69 72 73 20 6f 66 20 73 6f 6c 75 74 69 6f 6e  airs of solution
13450 73 20 3c 69 3e 3c 75 3e 73 65 78 75 61 6c 6c 79  s <i><u>sexually
13460 20 72 65 70 72 6f 64 75 63 65 3c 2f 69 3e 3c 2f   reproduce</i></
13470 75 3e 20 67 69 76 69 6e 67 20 62 69 72 74 68 20  u> giving birth 
13480 74 6f 20 3c 75 3e 3c 69 3e 63 68 69 6c 64 72 65  to <u><i>childre
13490 6e 20 73 6f 6c 75 74 69 6f 6e 73 3c 2f 69 3e 3c  n solutions</i><
134a0 2f 75 3e 3b 20 72 65 70 72 6f 64 75 63 74 69 6f  /u>; reproductio
134b0 6e 20 69 73 20 73 75 62 6a 65 63 74 20 74 6f 20  n is subject to 
134c0 3c 75 3e 3c 69 3e 63 68 72 6f 6d 6f 73 6f 6d 65  <u><i>chromosome
134d0 20 63 72 6f 73 73 6f 76 65 72 73 3c 2f 69 3e 3c   crossovers</i><
134e0 2f 75 3e 20 61 6e 64 20 3c 69 3e 3c 75 3e 72 61  /u> and <i><u>ra
134f0 6e 64 6f 6d 20 6d 75 74 61 74 69 6f 6e 73 3c 2f  ndom mutations</
13500 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  u></i>.</li>..<l
13510 69 3e 66 6f 72 20 65 61 63 68 20 3c 69 3e 3c 75  i>for each <i><u
13520 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 75 3e 3c  >generation</u><
13530 2f 69 3e 20 61 20 3c 69 3e 3c 75 3e 6e 61 74 75  /i> a <i><u>natu
13540 72 61 6c 20 73 65 6c 65 63 74 69 6f 6e 3c 2f 75  ral selection</u
13550 3e 3c 2f 69 3e 20 28 3c 69 3e 61 6b 61 20 3c 75  ></i> (<i>aka <u
13560 3e 65 6c 69 74 69 73 74 20 73 65 6c 65 63 74 69  >elitist selecti
13570 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29 20 70 72 6f 63  on</u></i>) proc
13580 65 73 73 20 65 6e 73 75 72 65 73 20 74 68 61 74  ess ensures that
13590 20 6f 6e 6c 79 20 74 68 65 20 3c 69 3e 3c 75 3e   only the <i><u>
135a0 62 65 73 74 20 66 69 74 3c 2f 75 3e 3c 2f 69 3e  best fit</u></i>
135b0 20 73 6f 6c 75 74 69 6f 6e 73 20 63 61 6e 20 66   solutions can f
135c0 75 72 74 68 65 72 20 70 72 6f 70 61 67 61 74 65  urther propagate
135d0 20 74 68 65 69 72 20 3c 75 3e 3c 69 3e 67 65 6e   their <u><i>gen
135e0 65 73 3c 2f 69 3e 3c 2f 75 3e 20 74 6f 20 74 68  es</i></u> to th
135f0 65 20 6e 65 78 74 20 3c 75 3e 3c 69 3e 67 65 6e  e next <u><i>gen
13600 65 72 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e  eration</i></u>.
13610 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 66 74 65 72  </li>..<li>after
13620 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65   a certain numbe
13630 72 20 6f 66 20 3c 69 3e 3c 75 3e 67 65 6e 65 72  r of <i><u>gener
13640 61 74 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 20 28  ations</i></u> (
13650 6c 65 74 27 73 20 73 61 79 20 61 62 6f 75 74 20  let's say about 
13660 73 6f 6d 65 20 68 75 6e 64 72 65 64 74 68 20 69  some hundredth i
13670 74 65 72 61 74 69 6f 6e 73 29 20 74 68 65 20 3c  terations) the <
13680 62 3e 6f 70 74 69 6d 61 6c 20 73 6f 6c 75 74 69  b>optimal soluti
13690 6f 6e 3c 2f 62 3e 20 28 6f 72 20 61 74 20 6c 65  on</b> (or at le
136a0 61 73 74 20 61 20 3c 62 3e 66 61 69 72 6c 79 20  ast a <b>fairly 
136b0 67 6f 6f 64 20 73 75 62 2d 6f 70 74 69 6d 61 6c  good sub-optimal
136c0 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 29 20 73   solution</b>) s
136d0 68 6f 75 6c 64 20 66 69 6e 61 6c 6c 79 20 65 6d  hould finally em
136e0 65 72 67 65 2c 20 61 6e 64 20 73 6f 20 74 68 65  erge, and so the
136f0 20 6c 6f 6f 70 20 63 61 6e 20 65 78 69 74 2e 3c   loop can exit.<
13700 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
13710 0d 0a 3c 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75  ..<li><u>Note</u
13720 3e 3a 20 54 53 50 20 47 41 20 69 73 20 75 73 75  >: TSP GA is usu
13730 61 6c 6c 79 20 65 78 70 65 63 74 65 64 20 74 6f  ally expected to
13740 20 69 64 65 6e 74 69 66 79 20 62 65 74 74 65 72   identify better
13750 20 73 6f 6c 75 74 69 6f 6e 73 20 74 68 61 6e 20   solutions than 
13760 54 53 50 20 4e 4e 20 63 61 6e 20 64 6f 2c 20 62  TSP NN can do, b
13770 75 74 20 69 74 20 77 69 6c 6c 20 73 75 72 65 6c  ut it will surel
13780 79 20 72 65 71 75 69 72 65 20 6d 75 63 68 20 6d  y require much m
13790 6f 72 65 20 74 69 6d 65 20 74 6f 20 63 6f 6d 70  ore time to comp
137a0 6c 65 74 65 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75  lete.</li> ..</u
137b0 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65  l>..<br><br>..Le
137c0 74 27 73 20 6e 6f 77 20 65 78 61 6d 69 6e 65 20  t's now examine 
137d0 61 20 70 72 61 63 74 69 63 61 6c 20 65 78 61 6d  a practical exam
137e0 70 6c 65 20 6f 66 20 54 53 50 20 73 6f 6c 76 69  ple of TSP solvi
137f0 6e 67 20 75 73 69 6e 67 20 56 69 72 74 75 61 6c  ng using Virtual
13800 52 6f 75 74 69 6e 67 2e 20 0d 0a 3c 76 65 72 62  Routing. ..<verb
13810 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79  atim>..UPDATE by
13820 66 6f 6f 74 20 53 45 54 20 52 65 71 75 65 73 74  foot SET Request
13830 20 3d 20 27 54 53 50 27 3b 0d 0a 0d 0a 53 45 4c   = 'TSP';....SEL
13840 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52  ECT Algorithm, R
13850 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c  equest, Options,
13860 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74   Delimiter, Rout
13870 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52  eId, RouteRow, R
13880 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20  ole, LinkRowid, 
13890 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f  NodeFrom, NodeTo
138a0 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79  , Cost, Geometry
138b0 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66  , Name..FROM byf
138c0 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46  oot..WHERE NodeF
138d0 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44  rom = 178731 AND
138e0 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38   NodeTo = '18328
138f0 36 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c  6,181999,184030,
13900 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d  183882,178754';.
13910 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 20  .</verbatim>..A 
13920 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 3c  VirtualRouting <
13930 62 3e 54 53 50 3c 2f 62 3e 20 71 75 65 72 79 20  b>TSP</b> query 
13940 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 64 65  has the same ide
13950 6e 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66 20 61  ntical form of a
13960 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e   <b>multi-destin
13970 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 79 3b  ation</b> query;
13980 20 74 68 65 20 3c 69 3e 3c 75 3e 62 61 73 65 20   the <i><u>base 
13990 63 69 74 79 3c 75 3e 3c 2f 69 3e 20 69 73 20 61  city<u></i> is a
139a0 6c 77 61 79 73 20 65 78 70 65 63 74 65 64 20 74  lways expected t
139b0 6f 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20  o correspond to 
139c0 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
139d0 61 6e 64 20 61 6c 6c 20 6f 74 68 65 72 20 3c 69  and all other <i
139e0 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f  ><u>cities</u></
139f0 69 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65 64  i> to be visited
13a00 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f   are expected to
13a10 20 62 65 20 65 6e 75 6d 65 72 61 74 65 64 20 69   be enumerated i
13a20 6e 74 6f 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64  nto a <b>multi-d
13a30 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 6c  estination</b> l
13a40 69 73 74 20 61 73 73 69 67 6e 65 64 20 74 6f 20  ist assigned to 
13a50 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2e 0d 0a  <b>NodeTo</b>...
13a60 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75  <u>Note</u>: you
13a70 20 6d 75 73 74 20 65 78 70 6c 69 63 69 74 6c 79   must explicitly
13a80 20 73 65 74 20 74 68 65 20 63 75 72 72 65 6e 74   set the current
13a90 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20   <b>Request</b> 
13aa0 61 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 2c 20 3c  as <b>TSP</b>, <
13ab0 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 6f 72 20  b>TSP NN</b> or 
13ac0 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 28 54  <b>TSP GA</b> (T
13ad0 53 50 20 61 6e 64 20 54 53 50 20 4e 4e 20 61 72  SP and TSP NN ar
13ae0 65 20 73 79 6e 6f 6e 79 6d 73 29 2e 0d 0a 3c 62  e synonyms)...<b
13af0 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  r><br>..<table b
13b00 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f  order="1" bgcolo
13b10 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c  r="#ffffcf" cell
13b20 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c  spacing="4" cell
13b30 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74  padding="6">..<t
13b40 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  r><th bgcolor="#
13b50 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68  d0d0a0">Algorith
13b60 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
13b70 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75  r="#d0d0a0">Requ
13b80 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  est</th><th bgco
13b90 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70  lor="#d0d0a0">Op
13ba0 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67  tions</th><th bg
13bb0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
13bc0 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74  Delimiter</th><t
13bd0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
13be0 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e  a0">RouteId</th>
13bf0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
13c00 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f  d0a0">RouteRow</
13c10 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
13c20 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74  #d0d0a0">Role</t
13c30 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
13c40 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69  d0d0a0">LinkRowi
13c50 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
13c60 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
13c70 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
13c80 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
13c90 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67  odeTo</th><th bg
13ca0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
13cb0 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Cost</th><th bgc
13cc0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47  olor="#d0d0a0">G
13cd0 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20  eometry</th><th 
13ce0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
13cf0 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e  ">Name</th></tr>
13d00 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b  ..<tr>..<td>Dijk
13d10 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50  stra</td><td>TSP
13d20 20 4e 4e 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c   NN</td><td>Full
13d30 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b  </td><td>, &#91;
13d40 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23  dec=44, hex=2c&#
13d50 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  93;</td><td alig
13d60 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
13d70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13d80 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20  ">0</td><td>TSP 
13d90 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64  Solution</td><td
13da0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
13db0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
13dc0 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
13dd0 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
13de0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13df0 69 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33  ight">1254.43393
13e00 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  3</td><td>BLOB s
13e10 7a 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c  z=2000 GEOMETRY<
13e20 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13e30 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
13e40 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
13e50 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
13e60 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
13e70 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13e80 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >1</td><td align
13e90 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
13ea0 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
13eb0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
13ec0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
13ed0 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
13ee0 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c  ="right">184030<
13ef0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13f00 69 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35  ight">176.364755
13f10 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
13f20 3d 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =304 GEOMETRY</t
13f30 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
13f40 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
13f50 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13f60 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13f70 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13f80 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13f90 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">2</td><td al
13fa0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
13fb0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
13fc0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13fd0 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20  >224014</td><td 
13fe0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
13ff0 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
14000 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
14010 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
14020 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32  "right">94.81242
14030 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
14040 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52  td><td>VIA PIETR
14050 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  O ARETINO</td>..
14060 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72  </tr>..<tr>..<tr
14070 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
14080 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14090 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
140a0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
140b0 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
140c0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
140d0 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >2</td><td>Link<
140e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
140f0 69 67 68 74 22 3e 32 32 34 38 36 32 3c 2f 74 64  ight">224862</td
14100 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14110 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
14120 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14130 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61  182043</td><td a
14140 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 2e  lign="right">37.
14150 30 39 35 32 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e  095287</td><td>N
14160 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
14170 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
14180 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
14190 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
141a0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
141b0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
141c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
141d0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61  ght">2</td><td a
141e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
141f0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
14200 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14210 22 3e 32 32 36 30 37 30 3c 2f 74 64 3e 3c 74 64  ">226070</td><td
14220 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14230 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  82043</td><td al
14240 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30  ign="right">1840
14250 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  30</td><td align
14260 3d 22 72 69 67 68 74 22 3e 34 34 2e 34 35 37 30  ="right">44.4570
14270 34 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  44</td><td>NULL<
14280 2f 74 64 3e 3c 74 64 3e 50 49 41 5a 5a 41 20 53  /td><td>PIAZZA S
14290 41 4e 54 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 64  ANT'AGOSTINO</td
142a0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
142b0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
142c0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
142d0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
142e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
142f0 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20  ight">2</td><td 
14300 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
14310 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
14320 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14330 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14340 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20  >184030</td><td 
14350 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14360 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
14370 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 39 2e 31  gn="right">139.1
14380 31 34 39 33 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c  14938</td><td>BL
14390 4f 42 20 73 7a 3d 34 39 36 20 47 45 4f 4d 45 54  OB sz=496 GEOMET
143a0 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
143b0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
143c0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
143d0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
143e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
143f0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
14400 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
14410 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14420 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >1</td><td>Link<
14430 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14440 69 67 68 74 22 3e 32 32 36 30 37 31 3c 2f 74 64  ight">226071</td
14450 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14460 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74  t">184030</td><t
14470 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14480 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61  182629</td><td a
14490 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 35 2e  lign="right">55.
144a0 36 38 39 30 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e  689009</td><td>N
144b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
144c0 47 49 55 53 45 50 50 45 20 47 41 52 49 42 41 4c  GIUSEPPE GARIBAL
144d0 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  DI</td>..</tr>..
144e0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
144f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14500 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14510 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
14520 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
14530 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14540 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
14550 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
14560 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c  ="right">225512<
14570 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14580 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64  ight">182629</td
14590 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
145a0 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74  t">182933</td><t
145b0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
145c0 33 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74  34.184194</td><t
145d0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43  d>NULL</td><td>C
145e0 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e  ORSO ITALIA</td>
145f0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
14600 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14610 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14620 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14630 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14640 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61  ght">3</td><td a
14650 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
14660 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
14670 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14680 22 3e 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74 64  ">225511</td><td
14690 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
146a0 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  82933</td><td al
146b0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
146c0 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
146d0 3d 22 72 69 67 68 74 22 3e 34 39 2e 32 34 31 37  ="right">49.2417
146e0 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  35</td><td>NULL<
146f0 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54  /td><td>CORSO IT
14700 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ALIA</td>..</tr>
14710 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
14720 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14730 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14740 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
14750 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
14760 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14770 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
14780 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
14790 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
147a0 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
147b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
147c0 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
147d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
147e0 74 22 3e 32 31 37 2e 36 37 32 38 38 35 3c 2f 74  t">217.672885</t
147f0 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38  d><td>BLOB sz=68
14800 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  8 GEOMETRY</td><
14810 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
14820 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
14830 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14840 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14850 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14860 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14870 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >4</td><td align
14880 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
14890 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
148a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
148b0 32 36 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2635</td><td ali
148c0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39  gn="right">18199
148d0 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
148e0 22 72 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f  "right">181998</
148f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14900 67 68 74 22 3e 31 30 31 2e 36 32 39 37 35 30 3c  ght">101.629750<
14910 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14920 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49  ><td>CORSO ITALI
14930 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  A</td>..</tr>..<
14940 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
14950 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14960 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14970 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
14980 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
14990 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
149a0 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
149b0 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
149c0 22 72 69 67 68 74 22 3e 32 32 34 37 38 30 3c 2f  "right">224780</
149d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
149e0 67 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e  ght">181998</td>
149f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14a00 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64  ">183560</td><td
14a10 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
14a20 33 2e 37 33 33 35 37 32 3c 2f 74 64 3e 3c 74 64  3.733572</td><td
14a30 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
14a40 41 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54 52  A DELL'ANFITEATR
14a50 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
14a60 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
14a70 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14a80 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14a90 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72  NULL<td align="r
14aa0 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20  ight">4</td><td 
14ab0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
14ac0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
14ad0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14ae0 74 22 3e 32 32 35 38 32 37 3c 2f 74 64 3e 3c 74  t">225827</td><t
14af0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14b00 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61  183560</td><td a
14b10 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
14b20 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
14b30 6e 3d 22 72 69 67 68 74 22 3e 34 32 2e 33 30 39  n="right">42.309
14b40 35 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  564</td><td>NULL
14b50 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c  </td><td>VIA DEL
14b60 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64  L'ANFITEATRO</td
14b70 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
14b80 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14b90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14ba0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14bb0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14bc0 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20  ight">4</td><td 
14bd0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
14be0 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
14bf0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14c00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14c10 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
14c20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
14c30 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
14c40 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33  gn="right">378.3
14c50 31 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c  13684</td><td>BL
14c60 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54  OB sz=272 GEOMET
14c70 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
14c80 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
14c90 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
14ca0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14cb0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14cc0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
14cd0 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c  ="right">5</td><
14ce0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14cf0 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >1</td><td>Link<
14d00 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14d10 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64  ight">224414</td
14d20 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14d30 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
14d40 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14d50 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61  178880</td><td a
14d60 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36  lign="right">136
14d70 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e  .372057</td><td>
14d80 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
14d90 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64   MARGARITONE</td
14da0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
14db0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14dc0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14dd0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14de0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14df0 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20  ight">5</td><td 
14e00 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
14e10 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
14e20 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14e30 74 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74  t">219171</td><t
14e40 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14e50 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61  178880</td><td a
14e60 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
14e70 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  732</td><td alig
14e80 6e 3d 22 72 69 67 68 74 22 3e 39 33 2e 32 38 35  n="right">93.285
14e90 35 33 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  538</td><td>NULL
14ea0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41  </td><td>VIA FRA
14eb0 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74  NCESCO CRISPI</t
14ec0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
14ed0 0a 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 3e 4e  d>NULL</td><td>N
14ef0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14f00 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14f10 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64  right">5</td><td
14f20 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
14f30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
14f40 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14f50 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c  ht">219058</td><
14f60 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14f70 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
14f80 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
14f90 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
14fa0 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36  gn="right">148.6
14fb0 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  56089</td><td>NU
14fc0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46  LL</td><td>VIA F
14fd0 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c  RANCESCO CRISPI<
14fe0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
14ff0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
15000 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
15010 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
15020 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
15030 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c  ="right">5</td><
15040 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15050 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
15060 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
15070 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15080 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
15090 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
150a0 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20  >183882</td><td 
150b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
150c0 38 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64  8.216831</td><td
150d0 3e 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f  >BLOB sz=400 GEO
150e0 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
150f0 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
15100 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
15110 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
15120 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
15130 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
15140 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74  ign="right">6</t
15150 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15160 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
15170 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
15180 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c  ="right">224538<
15190 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
151a0 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64  ight">178754</td
151b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
151c0 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74  t">181972</td><t
151d0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
151e0 35 30 2e 39 30 30 36 36 33 3c 2f 74 64 3e 3c 74  50.900663</td><t
151f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
15200 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41  IA ANTONIO GUADA
15210 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  GNOLI</td>..</tr
15220 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
15230 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
15240 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
15250 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
15260 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15270 3e 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >6</td><td align
15280 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
15290 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
152a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
152b0 34 35 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4537</td><td ali
152c0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37  gn="right">18197
152d0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
152e0 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f  "right">182000</
152f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15300 67 68 74 22 3e 38 36 2e 33 30 31 30 35 31 3c 2f  ght">86.301051</
15310 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
15320 3c 74 64 3e 56 49 41 20 44 45 4c 20 4e 49 4e 46  <td>VIA DEL NINF
15330 45 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  EO</td>..</tr>..
15340 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
15350 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
15360 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
15370 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
15380 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74  ign="right">6</t
15390 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
153a0 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">3</td><td>Li
153b0 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
153c0 3d 22 72 69 67 68 74 22 3e 32 32 35 35 32 37 3c  ="right">225527<
153d0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
153e0 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64  ight">182000</td
153f0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15400 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74  t">183882</td><t
15410 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15420 35 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74  51.015117</td><t
15430 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
15440 49 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54  IA LICIO NENCETT
15450 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
15460 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
15470 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15480 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
15490 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
154a0 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64  gn="right">6</td
154b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
154c0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
154d0 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
154e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
154f0 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20  >183882</td><td 
15500 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
15510 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
15520 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e 37  gn="right">154.7
15530 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c  50839</td><td>BL
15540 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54  OB sz=240 GEOMET
15550 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
15560 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
15570 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
15580 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
15590 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
155a0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
155b0 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c  ="right">7</td><
155c0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
155d0 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >1</td><td>Link<
155e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
155f0 69 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64  ight">225527</td
15600 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15610 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74  t">183882</td><t
15620 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15630 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61  182000</td><td a
15640 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e  lign="right">51.
15650 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e  015117</td><td>N
15660 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
15670 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f  LICIO NENCETTI</
15680 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
15690 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
156a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
156b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
156c0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
156d0 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74  "right">7</td><t
156e0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
156f0 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
15700 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15710 67 68 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e  ght">222636</td>
15720 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15730 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64  ">182000</td><td
15740 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
15750 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
15760 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e  ign="right">103.
15770 37 33 35 37 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e  735722</td><td>N
15780 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
15790 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f  PIETRO ARETINO</
157a0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
157b0 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27  ble>..<br>..Let'
157c0 73 20 6e 6f 77 20 71 75 69 63 6b 6c 79 20 65 78  s now quickly ex
157d0 61 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c 74  amine the result
157e0 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20  set returned by 
157f0 61 6e 79 20 54 53 50 20 71 75 65 72 79 3a 0d 0a  any TSP query:..
15800 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 65  <ul>..<li>the ge
15810 6e 65 72 61 6c 20 6c 61 79 6f 75 74 20 69 73 20  neral layout is 
15820 6d 6f 72 65 20 6f 72 20 6c 65 73 73 20 74 68 65  more or less the
15830 20 73 61 6d 65 20 61 73 20 79 6f 75 27 76 65 20   same as you've 
15840 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20  already seen in 
15850 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e 53  the case of <b>S
15860 68 6f 72 74 65 73 74 50 61 74 68 3c 2f 62 3e 20  hortestPath</b> 
15870 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c  queries.</li>..<
15880 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20  li>the <b>first 
15890 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72  row</b> of the r
158a0 65 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d 65  esultset is some
158b0 77 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c 2c  way exceptional,
158c0 20 61 6e 64 20 69 73 20 74 68 65 20 6f 6e 6c 79   and is the only
158d0 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75   row of the resu
158e0 6c 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e 67  ltset presenting
158f0 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e   <b>NOT NULL</b>
15900 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c   values in the <
15910 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c  b>Algorithm</b>,
15920 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c   <b>Request</b>,
15930 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20   <b>Options</b> 
15940 61 6e 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72  and <b>Delimiter
15950 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 62 72  </b> columns.<br
15960 3e 0d 0a 49 74 20 63 6f 6e 74 61 69 6e 73 20 74  >..It contains t
15970 68 65 20 3c 62 3e 54 53 50 20 73 6f 6c 75 74 69  he <b>TSP soluti
15980 6f 6e 3c 2f 62 3e 20 61 73 20 61 20 77 68 6f 6c  on</b> as a whol
15990 65 3a 20 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73  e: column <b>Cos
159a0 74 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c 75 3e  t</b> is the <u>
159b0 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 61  total cost</u> a
159c0 6e 64 20 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f  nd column <b>Geo
159d0 6d 65 74 72 79 3c 2f 62 3e 20 69 73 20 74 68 65  metry</b> is the
159e0 20 3c 75 3e 6f 76 65 72 61 6c 6c 20 73 6f 6c 75   <u>overall solu
159f0 74 69 6f 6e 20 70 61 74 68 3c 2f 75 3e 2e 3c 2f  tion path</u>.</
15a00 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73  li>..<li>columns
15a10 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20   <b>RouteId</b> 
15a20 61 6e 64 20 3c 62 3e 52 6f 75 74 65 52 6f 77 3c  and <b>RouteRow<
15a30 2f 62 3e 20 68 61 76 65 20 74 68 65 20 73 61 6d  /b> have the sam
15a40 65 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e  e interpretation
15a50 20 61 73 20 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d   as in <b>multi-
15a60 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72  destination Shor
15a70 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75 65  testPath</b> que
15a80 72 69 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69  ries, but in thi
15a90 73 20 73 70 65 63 69 66 69 63 20 63 61 73 65 20  s specific case 
15aa0 65 61 63 68 20 3c 75 3e 3c 69 3e 72 6f 75 74 65  each <u><i>route
15ab0 3c 2f 69 3e 3c 2f 75 3e 20 63 6f 72 72 65 73 70  </i></u> corresp
15ac0 6f 6e 64 73 20 74 6f 20 61 20 63 6f 6e 6e 65 63  onds to a connec
15ad0 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 77 6f  tion between two
15ae0 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75   <i><u>cities</u
15af0 3e 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20  ></i>.<br>..All 
15b00 3c 69 3e 3c 75 3e 72 6f 75 74 65 73 3c 2f 75 3e  <i><u>routes</u>
15b10 3c 2f 69 3e 20 61 72 65 20 6f 72 64 65 72 65 64  </i> are ordered
15b20 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20   accordingly to 
15b30 74 68 65 20 72 75 6e 6e 69 6e 67 20 73 65 71 75  the running sequ
15b40 65 6e 63 65 20 6f 66 20 74 68 65 20 54 53 50 20  ence of the TSP 
15b50 73 6f 6c 75 74 69 6f 6e 2e 20 3c 62 3e 52 6f 75  solution. <b>Rou
15b60 74 65 49 64 3d 30 3c 2f 62 3e 20 69 64 65 6e 74  teId=0</b> ident
15b70 69 66 69 65 73 20 74 68 65 20 6f 76 65 72 61 6c  ifies the overal
15b80 6c 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c  l TSP solution.<
15b90 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c  /li>..</ul><br><
15ba0 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  br>..<verbatim>.
15bb0 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53  .UPDATE byfoot S
15bc0 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53  ET Request = 'TS
15bd0 50 20 47 41 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54  P GA';....SELECT
15be0 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75   Algorithm, Requ
15bf0 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65  est, Options, De
15c00 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64  limiter, RouteId
15c10 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65  , RouteRow, Role
15c20 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64  , LinkRowid, Nod
15c30 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43  eFrom, NodeTo, C
15c40 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e  ost, Geometry, N
15c50 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74  ame..FROM byfoot
15c60 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d  ..WHERE NodeFrom
15c70 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f   = 178731 AND No
15c80 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31  deTo = '183286,1
15c90 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33  81999,184030,183
15ca0 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f  882,178754';..</
15cb0 76 65 72 62 61 74 69 6d 3e 0d 0a 49 66 20 79 6f  verbatim>..If yo
15cc0 75 20 77 69 73 68 20 74 6f 20 67 65 74 20 61 20  u wish to get a 
15cd0 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 73 6f  <b>TSP GA</b> so
15ce0 6c 75 74 69 6f 6e 20 79 6f 75 20 73 69 6d 70 6c  lution you simpl
15cf0 65 20 68 61 76 65 20 74 6f 20 73 65 74 20 3c 62  e have to set <b
15d00 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20  >Request</b> as 
15d10 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 3b 20 61  <b>TSP GA</b>; a
15d20 6e 64 20 79 6f 75 20 63 61 6e 20 73 65 74 20 61  nd you can set a
15d30 67 61 69 6e 20 3c 62 3e 52 65 71 75 65 73 74 3c  gain <b>Request<
15d40 2f 62 3e 20 61 73 20 3c 62 3e 54 53 50 3c 2f 62  /b> as <b>TSP</b
15d50 3e 20 6f 72 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f  > or <b>TSP NN</
15d60 62 3e 20 74 6f 20 72 65 76 65 72 74 20 62 61 63  b> to revert bac
15d70 6b 20 74 6f 20 74 68 65 20 73 69 6d 70 6c 65 72  k to the simpler
15d80 20 2f 20 66 61 73 74 65 72 20 61 6c 67 6f 72 69   / faster algori
15d90 74 68 6d 2e 0d 0a 3c 62 72 3e 0d 0a 41 6c 73 6f  thm...<br>..Also
15da0 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20   in the case of 
15db0 54 53 50 20 79 6f 75 20 63 61 6e 20 65 76 65 6e  TSP you can even
15dc0 74 75 61 6c 6c 79 20 61 63 74 69 76 61 74 65 20  tually activate 
15dd0 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f  the <b>Options</
15de0 62 3e 20 61 6c 72 65 61 64 79 20 65 78 70 6c 61  b> already expla
15df0 69 6e 65 64 20 69 6e 20 74 68 65 20 53 68 6f 72  ined in the Shor
15e00 74 65 73 74 50 61 74 68 20 65 78 61 6d 70 6c 65  testPath example
15e10 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  s.<br>..<u>Note<
15e20 2f 75 3e 3a 54 53 50 20 70 72 6f 62 6c 65 6d 73  /u>:TSP problems
15e30 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 69 6d 70   will always imp
15e40 6c 79 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e  ly using the <b>
15e50 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 3e 20 61  Dijkstra's</b> a
15e60 6c 67 6f 72 69 74 68 6d 2c 20 65 76 65 6e 20 77  lgorithm, even w
15e70 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 74  hen the alternat
15e80 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c  ive <b>A*</b> al
15e90 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72 65  gorithm is curre
15ea0 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 0d 0a  ntly selected...
15eb0 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41  <verbatim>..UPDA
15ec0 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65  TE byfoot SET Re
15ed0 71 75 65 73 74 20 3d 20 27 54 53 50 27 2c 20 4f  quest = 'TSP', O
15ee0 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49 4e  ptions = 'NO LIN
15ef0 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41  KS';....SELECT A
15f00 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73  lgorithm, Reques
15f10 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69  t, Options, Deli
15f20 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20  miter, RouteId, 
15f30 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
15f40 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
15f50 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
15f60 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
15f70 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a  e..FROM byfoot..
15f80 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
15f90 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
15fa0 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31  To = '183286,181
15fb0 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38  999,184030,18388
15fc0 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65  2,178754';..</ve
15fd0 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c  rbatim>..The fol
15fe0 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f  lowing table sho
15ff0 77 73 20 61 20 70 61 72 74 69 61 6c 20 72 65 73  ws a partial res
16000 75 6c 74 73 65 74 20 74 68 61 74 20 69 73 20 72  ultset that is r
16010 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 73  eturned by the s
16020 61 6d 65 20 54 53 50 20 71 75 65 72 79 20 75 73  ame TSP query us
16030 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f  ed in the previo
16040 75 73 20 65 78 61 6d 70 6c 65 20 61 66 74 65 72  us example after
16050 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 3c 62   enabling the <b
16060 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 6f 70  >NO LINKS</b> op
16070 74 69 6f 6e 2e 20 3c 62 72 3e 3c 62 72 3e 0d 0a  tion. <br><br>..
16080 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
16090 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
160a0 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
160b0 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
160c0 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
160d0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
160e0 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74  Algorithm</th><t
160f0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
16100 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e  a0">Request</th>
16110 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
16120 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
16130 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
16140 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65  d0d0a0">Delimite
16150 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  r</th><th bgcolo
16160 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
16170 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  eId</th><th bgco
16180 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
16190 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
161a0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
161b0 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
161c0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
161d0 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
161e0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
161f0 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
16200 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
16210 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
16220 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
16230 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
16240 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
16250 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
16260 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
16270 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
16280 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
16290 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64  <td>Dijkstra</td
162a0 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c 2f 74 64 3e  ><td>TSP NN</td>
162b0 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64  <td>No Links</td
162c0 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d  ><td>, &#91;dec=
162d0 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c  44, hex=2c&#93;<
162e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
162f0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
16300 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
16310 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f 6c 75  /td><td>TSP Solu
16320 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  tion</td><td>NUL
16330 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
16340 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
16350 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16360 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
16370 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16380 22 3e 31 32 35 34 2e 34 33 33 39 33 33 3c 2f 74  ">1254.433933</t
16390 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 30  d><td>BLOB sz=20
163a0 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  00 GEOMETRY</td>
163b0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
163c0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
163d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
163e0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
163f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61  td><td>NULL<td a
16400 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
16410 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16420 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
16430 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
16440 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
16450 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
16460 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16470 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e  ght">184030</td>
16480 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16490 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64  ">176.364755</td
164a0 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34  ><td>BLOB sz=304
164b0 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
164c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
164d0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
164e0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
164f0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
16500 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69  ><td>NULL<td ali
16510 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
16520 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16530 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
16540 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
16550 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16560 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64  ight">184030</td
16570 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16580 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
16590 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
165a0 31 33 39 2e 31 31 34 39 33 38 3c 2f 74 64 3e 3c  139.114938</td><
165b0 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 39 36 20 47  td>BLOB sz=496 G
165c0 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
165d0 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
165e0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
165f0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16600 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
16610 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
16620 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
16630 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16640 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
16650 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
16660 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
16670 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
16680 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16690 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
166a0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
166b0 74 22 3e 32 31 37 2e 36 37 32 38 38 35 3c 2f 74  t">217.672885</t
166c0 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38  d><td>BLOB sz=68
166d0 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  8 GEOMETRY</td><
166e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
166f0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
16700 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16710 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16720 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
16730 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
16740 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >4</td><td align
16750 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
16760 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
16770 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
16780 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
16790 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
167a0 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c  ="right">178754<
167b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
167c0 69 67 68 74 22 3e 33 37 38 2e 33 31 33 36 38 34  ight">378.313684
167d0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
167e0 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =272 GEOMETRY</t
167f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
16800 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
16810 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
16820 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16830 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16840 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
16850 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">5</td><td al
16860 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
16870 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
16880 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
16890 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
168a0 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  78754</td><td al
168b0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38  ign="right">1838
168c0 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  82</td><td align
168d0 3d 22 72 69 67 68 74 22 3e 31 38 38 2e 32 31 36  ="right">188.216
168e0 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  831</td><td>BLOB
168f0 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 54 52 59   sz=400 GEOMETRY
16900 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16910 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
16920 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
16930 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
16940 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16950 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16960 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64  right">6</td><td
16970 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
16980 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
16990 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
169a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
169b0 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64  ">183882</td><td
169c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
169d0 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
169e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e  ign="right">154.
169f0 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42  750839</td><td>B
16a00 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45  LOB sz=240 GEOME
16a10 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
16a20 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f  </td>..</tr>..</
16a30 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  table>..<br><br>
16a40 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65  <br>..The map be
16a50 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20  low graphically 
16a60 73 68 6f 77 73 20 74 68 65 20 70 72 65 76 69 6f  shows the previo
16a70 75 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 71 75  us <b>TSP</b> qu
16a80 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  eries...<br><br>
16a90 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70  ..<img src="http
16aa0 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73  s://www.gaia-gis
16ab0 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f  .it/gaia-sins/ro
16ac0 75 74 69 6e 67 2d 66 69 67 73 2f 74 73 70 31 2e  uting-figs/tsp1.
16ad0 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 34 22 3e  jpg" alt="fig4">
16ae0 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65 64 20  ..<ul>..<li>Red 
16af0 73 74 61 72 3a 20 74 68 65 20 3c 75 3e 3c 69 3e  star: the <u><i>
16b00 62 61 73 65 2d 63 69 74 79 3c 2f 69 3e 3c 2f 75  base-city</i></u
16b10 3e 20 28 66 72 6f 6d 20 77 68 65 72 65 20 74 68  > (from where th
16b20 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e  e <u><i>salesman
16b30 3c 2f 69 3e 3c 2f 75 3e 29 20 62 65 67 69 6e 73  </i></u>) begins
16b40 20 68 69 73 2f 68 65 72 20 74 72 69 70 2e 3c 2f   his/her trip.</
16b50 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65 65 6e 20 64  li>..<li>Green d
16b60 6f 74 73 3a 20 74 68 65 20 3c 75 3e 3c 69 3e 63  ots: the <u><i>c
16b70 69 74 69 65 73 3c 2f 69 3e 3c 2f 75 3e 20 74 6f  ities</i></u> to
16b80 20 62 65 20 76 69 73 69 74 65 64 2e 3c 2f 6c 69   be visited.</li
16b90 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 6c 69  >..<li>Yellow li
16ba0 6e 65 3a 20 74 68 65 20 54 53 50 20 73 6f 6c 75  ne: the TSP solu
16bb0 74 69 6f 6e 20 28 74 68 61 74 20 69 73 20 61 6c  tion (that is al
16bc0 77 61 79 73 20 61 20 63 69 72 63 75 6c 61 72 20  ways a circular 
16bd0 70 61 74 68 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  path).</li>..</u
16be0 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  l><br>..<table b
16bf0 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22  gcolor="#ffb060"
16c00 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30   cellspacing="10
16c10 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
16c20 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e  "><tr><td>..<h3>
16c30 57 61 72 6e 69 6e 67 3a 20 68 6f 77 20 74 6f 20  Warning: how to 
16c40 63 6f 72 72 65 63 74 6c 79 20 68 61 6e 64 6c 69  correctly handli
16c50 6e 67 20 54 53 50 20 72 65 73 75 6c 74 73 65 74  ng TSP resultset
16c60 73 20 77 69 74 68 20 73 70 61 74 69 61 6c 69 74  s with spatialit
16c70 65 5f 67 75 69 3c 2f 68 33 3e 0d 0a 59 6f 75 20  e_gui</h3>..You 
16c80 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 66 6f 72  should never for
16c90 67 65 74 20 6f 72 20 6f 76 65 72 6c 6f 6f 6b 20  get or overlook 
16ca0 74 68 61 74 20 62 6f 74 68 20 3c 62 3e 54 53 50  that both <b>TSP
16cb0 20 4e 4e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54   NN</b> and <b>T
16cc0 53 50 20 47 41 3c 2f 62 3e 20 61 72 65 20 3c 75  SP GA</b> are <u
16cd0 3e 3c 69 3e 68 65 75 72 69 73 74 69 63 20 61 6c  ><i>heuristic al
16ce0 67 6f 72 69 74 68 6d 73 3c 2f 69 3e 3c 2f 75 3e  gorithms</i></u>
16cf0 20 68 65 61 76 69 6c 79 20 72 65 6c 79 69 6e 67   heavily relying
16d00 20 6f 6e 20 3c 75 3e 3c 69 3e 72 61 6e 64 6f 6d   on <u><i>random
16d10 3c 69 3e 3c 2f 75 3e 20 63 68 6f 69 63 65 73 2e  <i></u> choices.
16d20 3c 62 72 3e 0d 0a 54 68 69 73 20 63 6f 75 6c 64  <br>..This could
16d30 20 65 61 73 69 6c 79 20 68 61 76 65 20 74 68 65   easily have the
16d40 20 70 72 61 63 74 69 63 61 6c 20 63 6f 6e 73 65   practical conse
16d50 71 75 65 6e 63 65 20 74 68 61 74 20 72 65 73 6f  quence that reso
16d60 6c 76 69 6e 67 20 74 77 69 63 65 20 28 6f 72 20  lving twice (or 
16d70 65 76 65 6e 20 6d 6f 72 65 20 74 69 6d 65 73 29  even more times)
16d80 20 74 68 65 20 73 61 6d 65 20 69 64 65 6e 74 69   the same identi
16d90 63 61 6c 20 54 53 50 20 71 75 65 72 79 20 63 6f  cal TSP query co
16da0 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79 20 72  uld eventually r
16db0 65 74 75 72 6e 20 64 69 66 66 65 72 65 6e 74 20  eturn different 
16dc0 72 65 73 75 6c 74 73 65 74 73 2e 3c 62 72 3e 0d  resultsets.<br>.
16dd0 0a 54 68 65 72 65 20 69 73 20 6e 6f 74 68 69 6e  .There is nothin
16de0 67 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79 20  g intrinsically 
16df0 77 72 6f 6e 67 20 69 6e 20 74 68 69 73 2c 20 69  wrong in this, i
16e00 74 20 73 69 6d 70 6c 79 20 69 73 20 61 20 64 69  t simply is a di
16e10 72 65 63 74 20 63 6f 6e 73 65 71 75 65 6e 63 65  rect consequence
16e20 20 6f 66 20 75 73 69 6e 67 20 3c 75 3e 3c 69 3e   of using <u><i>
16e30 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f 69 3e 3c 2f  randomness</i></
16e40 75 3e 3b 20 77 65 20 61 72 65 20 73 69 6d 70 6c  u>; we are simpl
16e50 79 20 62 61 72 67 61 69 6e 69 6e 67 20 3c 62 3e  y bargaining <b>
16e60 65 78 61 63 74 6e 65 73 73 3c 2f 62 3e 20 61 6e  exactness</b> an
16e70 64 20 3c 62 3e 72 65 70 72 6f 64 75 63 69 62 69  d <b>reproducibi
16e80 6c 69 74 79 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e  lity</b> for <b>
16e90 71 75 69 63 6b 6e 65 73 73 3c 2f 62 3e 2e 3c 62  quickness</b>.<b
16ea0 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 73 70 61 74 69  r><br>..<b>spati
16eb0 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 6f 6e  alite_gui</b> on
16ec0 20 69 74 73 20 6f 77 6e 20 61 64 6f 70 74 73 20   its own adopts 
16ed0 61 20 3c 62 3e 70 61 67 65 64 20 73 74 72 61 74  a <b>paged strat
16ee0 65 67 79 3c 2f 62 3e 20 77 68 65 6e 20 73 68 6f  egy</b> when sho
16ef0 77 69 6e 67 20 68 75 67 65 20 72 65 73 75 6c 74  wing huge result
16f00 73 65 74 73 3b 20 74 68 69 73 20 72 65 71 75 69  sets; this requi
16f10 72 65 73 20 72 65 70 65 61 74 69 6e 67 20 74 68  res repeating th
16f20 65 20 69 6e 69 74 69 61 6c 20 53 51 4c 20 71 75  e initial SQL qu
16f30 65 72 79 20 65 61 63 68 20 74 69 6d 65 20 74 68  ery each time th
16f40 61 74 20 61 20 3c 62 3e 6e 65 77 20 70 61 67 65  at a <b>new page
16f50 20 6f 66 20 35 30 30 20 72 6f 77 73 3c 2f 62 3e   of 500 rows</b>
16f60 20 68 61 73 20 74 6f 20 62 65 20 73 68 6f 77 6e   has to be shown
16f70 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20   on the current 
16f80 77 69 6e 64 6f 77 20 70 61 6e 65 6c 2e 3c 62 72  window panel.<br
16f90 3e 0d 0a 54 68 65 73 65 20 74 77 6f 20 74 68 69  >..These two thi
16fa0 6e 67 73 20 64 6f 6e 27 74 20 67 6f 20 74 6f 67  ngs don't go tog
16fb0 65 74 68 65 72 20 77 65 6c 6c 3b 20 73 6f 20 64  ether well; so d
16fc0 6f 6e 27 74 20 62 65 20 73 75 72 70 72 69 73 65  on't be surprise
16fd0 64 20 77 68 65 6e 20 65 76 65 6e 74 75 61 6c 6c  d when eventuall
16fe0 79 20 64 69 73 63 6f 76 65 72 69 6e 67 20 74 68  y discovering th
16ff0 61 74 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65  at <b>spatialite
17000 5f 67 75 69 3c 2f 62 3e 20 77 69 6c 6c 20 62 65  _gui</b> will be
17010 68 61 76 65 20 62 69 7a 61 72 72 65 6c 79 20 77  have bizarrely w
17020 68 69 6c 65 20 70 72 65 73 65 6e 74 69 6e 67 20  hile presenting 
17030 73 6f 6d 65 20 72 65 73 75 6c 74 73 65 74 20 72  some resultset r
17040 65 74 75 72 6e 65 64 20 62 79 20 61 20 54 53 50  eturned by a TSP
17050 20 71 75 65 72 79 2e 20 0d 0a 3c 76 65 72 62 61   query. ..<verba
17060 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66  tim>..UPDATE byf
17070 6f 6f 74 20 53 45 54 20 52 65 71 75 65 73 74 20  oot SET Request 
17080 3d 20 27 54 53 50 27 3b 0d 0a 0d 0a 43 52 45 41  = 'TSP';....CREA
17090 54 45 20 54 41 42 4c 45 20 6d 79 5f 74 73 70 5f  TE TABLE my_tsp_
170a0 73 6f 6c 75 74 69 6f 6e 20 41 53 0d 0a 53 45 4c  solution AS..SEL
170b0 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52  ECT Algorithm, R
170c0 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c  equest, Options,
170d0 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74   Delimiter, Rout
170e0 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52  eId, RouteRow, R
170f0 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20  ole, LinkRowid, 
17100 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f  NodeFrom, NodeTo
17110 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79  , Cost, Geometry
17120 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66  , Name..FROM byf
17130 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46  oot..WHERE NodeF
17140 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44  rom = 178731 AND
17150 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38   NodeTo = '18328
17160 36 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c  6,181999,184030,
17170 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d  183882,178754';.
17180 0a 0d 0a 2e 2e 2e 20 20 3c 6e 6f 77 20 71 75 65  ......  <now que
17190 72 79 20 22 6d 79 5f 74 73 70 5f 73 6f 6c 75 74  ry "my_tsp_solut
171a0 69 6f 6e 22 20 75 73 69 6e 67 20 73 70 61 74 69  ion" using spati
171b0 61 6c 69 74 65 5f 67 75 69 3e 20 20 2e 2e 2e 0d  alite_gui>  ....
171c0 0a 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d 79  ...DROP TABLE my
171d0 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 3b 0d 0a  _tsp_solution;..
171e0 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e  </verbatim>..<u>
171f0 48 69 6e 74 3c 2f 75 3e 3a 20 72 65 73 6f 6c 76  Hint</u>: resolv
17200 69 6e 67 20 74 68 69 73 20 70 75 7a 7a 6c 69 6e  ing this puzzlin
17210 67 20 69 73 73 75 65 20 69 73 20 68 6f 77 65 76  g issue is howev
17220 65 72 20 62 61 73 69 63 61 6c 6c 79 20 73 69 6d  er basically sim
17230 70 6c 65 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e  ple:..<ol>..<li>
17240 79 6f 75 20 73 69 6d 70 6c 79 20 68 61 76 65 20  you simply have 
17250 74 6f 20 74 61 6b 65 20 61 20 3c 62 3e 73 74 61  to take a <b>sta
17260 74 69 63 20 73 6e 61 70 73 68 6f 74 3c 2f 62 3e  tic snapshot</b>
17270 20 6f 66 20 79 6f 75 72 20 54 53 50 20 72 65 73   of your TSP res
17280 75 6c 74 73 65 74 20 62 79 20 75 73 69 6e 67 20  ultset by using 
17290 74 68 65 20 3c 62 3e 43 52 45 41 54 45 20 54 41  the <b>CREATE TA
172a0 42 4c 45 20 3c 69 3e 6e 61 6d 65 3c 2f 69 3e 20  BLE <i>name</i> 
172b0 41 53 20 3c 69 3e 54 53 50 20 71 75 65 72 79 3c  AS <i>TSP query<
172c0 69 3e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  i></b>.</li>..<l
172d0 69 3e 74 68 65 6e 20 79 6f 75 20 63 61 6e 20 66  i>then you can f
172e0 72 65 65 6c 79 20 65 78 61 6d 69 6e 65 20 74 68  reely examine th
172f0 65 20 61 62 6f 76 65 20 73 6e 61 70 73 68 6f 74  e above snapshot
17300 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20  .</li>..<li>and 
17310 66 69 6e 61 6c 6c 79 20 79 6f 75 20 63 61 6e 20  finally you can 
17320 64 75 6c 79 20 3c 62 3e 44 52 4f 50 3c 2f 62 3e  duly <b>DROP</b>
17330 20 74 68 65 20 73 6e 61 70 73 68 6f 74 20 6f 6e   the snapshot on
17340 63 65 20 69 74 27 73 20 6e 6f 20 6c 6f 6e 67 65  ce it's no longe
17350 72 20 75 73 65 66 75 6c 2e 20 28 6f 72 20 75 73  r useful. (or us
17360 65 20 3c 62 3e 43 52 45 41 54 45 20 54 45 4d 50  e <b>CREATE TEMP
17370 4f 52 41 52 59 20 54 41 42 4c 45 20 6e 61 6d 65  ORARY TABLE name
17380 20 41 53 20 3c 69 3e 54 53 50 20 71 75 65 72 79   AS <i>TSP query
17390 3c 2f 69 3e 3c 2f 62 3e 2c 20 77 68 65 72 65 20  </i></b>, where 
173a0 74 68 65 20 54 41 42 4c 45 20 77 69 6c 6c 20 62  the TABLE will b
173b0 65 20 72 65 6d 6f 76 65 64 20 61 74 20 74 68 65  e removed at the
173c0 20 73 65 73 73 69 6f 6e 20 65 6e 64 29 3c 2f 6c   session end)</l
173d0 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e  i>..</ol>..</td>
173e0 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
173f0 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  .<br>..<table bg
17400 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20  color="#c0ffc0" 
17410 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
17420 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
17430 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 4d  ><tr><td>..<h3>M
17440 6f 72 65 20 61 62 6f 75 74 20 4c 69 6e 65 61 72  ore about Linear
17450 20 52 65 66 65 72 65 6e 63 69 6e 67 20 61 6e 64   Referencing and
17460 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
17470 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 68 33 3e  Linestrings</h3>
17480 20 0d 0a 59 6f 75 20 68 61 76 65 20 61 6c 72 65   ..You have alre
17490 61 64 79 20 73 65 65 6e 20 69 6e 20 61 20 70 72  ady seen in a pr
174a0 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 74  evious example t
174b0 68 61 74 20 61 6c 6c 20 4c 49 4e 45 53 54 52 49  hat all LINESTRI
174c0 4e 47 73 20 63 72 65 61 74 65 64 20 62 79 20 56  NGs created by V
174d0 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 73 75  irtualRouting su
174e0 70 70 6f 72 74 20 74 68 65 20 3c 62 3e 4d 3c 2f  pport the <b>M</
174f0 62 3e 20 28 3c 62 3e 3c 69 3e 6d 65 61 73 75 72  b> (<b><i>measur
17500 65 3c 2f 69 3e 3c 2f 62 3e 29 20 63 6f 6f 72 64  e</i></b>) coord
17510 69 6e 61 74 65 20 69 6e 74 65 6e 64 65 64 20 61  inate intended a
17520 73 20 61 20 3c 62 3e 70 72 6f 67 72 65 73 73 69  s a <b>progressi
17530 76 65 20 63 6f 73 74 3c 2f 62 3e 20 66 6f 72 20  ve cost</b> for 
17540 65 61 63 68 20 76 65 72 74 65 78 2e 20 41 6e 64  each vertex. And
17550 20 79 6f 75 20 61 6c 72 65 61 64 79 20 6b 6e 6f   you already kno
17560 77 20 74 68 65 20 74 68 65 79 20 63 61 6e 20 73  w the they can s
17570 75 70 70 6f 72 74 20 3c 62 3e 3c 69 3e 6c 69 6e  upport <b><i>lin
17580 65 61 72 20 72 65 66 65 72 65 6e 63 69 6e 67 3c  ear referencing<
17590 2f 69 3e 3c 2f 62 3e 20 28 3c 62 3e 4c 52 3c 2f  /i></b> (<b>LR</
175a0 62 3e 29 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  b>) SQL function
175b0 73 2e 3c 62 72 3e 0d 0a 4e 6f 77 20 6c 65 74 27  s.<br>..Now let'
175c0 73 20 64 69 67 20 69 6e 20 66 75 72 74 68 65 72  s dig in further
175d0 2e 0d 0a 3c 68 33 3e 54 72 61 6a 65 63 74 6f 72  ...<h3>Trajector
175e0 79 20 6f 62 6a 65 63 74 73 3c 2f 68 33 3e 0d 0a  y objects</h3>..
175f0 41 20 3c 62 3e 54 72 61 6a 65 63 74 6f 72 79 3c  A <b>Trajectory<
17600 2f 62 3e 20 69 73 20 61 6e 79 20 4c 69 6e 65 73  /b> is any Lines
17610 74 72 69 6e 67 20 73 75 70 70 6f 72 74 69 6e 67  tring supporting
17620 20 3c 62 3e 4d 20 63 6f 6f 72 64 69 6e 61 74 65   <b>M coordinate
17630 73 3c 2f 62 3e 20 77 69 74 68 20 61 20 63 6f 6e  s</b> with a con
17640 74 69 6e 75 6f 75 73 6c 79 20 69 6e 63 72 65 61  tinuously increa
17650 73 69 6e 67 20 74 72 65 6e 64 2e 3c 62 72 3e 0d  sing trend.<br>.
17660 0a 49 6e 20 73 69 6d 70 6c 65 72 20 77 6f 72 64  .In simpler word
17670 73 2c 20 74 68 65 20 3c 62 3e 4d 2d 76 61 6c 75  s, the <b>M-valu
17680 65 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 76 65  e</b> of each ve
17690 72 74 65 78 20 28 65 78 63 65 70 74 20 74 68 65  rtex (except the
176a0 20 6c 61 73 74 20 6f 6e 65 29 20 6d 75 73 74 20   last one) must 
176b0 62 65 20 3c 62 3e 6c 65 73 73 65 72 3c 2f 62 3e  be <b>lesser</b>
176c0 20 74 68 61 6e 20 74 68 65 20 4d 2d 56 61 6c 75   than the M-Valu
176d0 65 20 6f 66 20 74 68 65 20 6e 65 78 74 20 76 65  e of the next ve
176e0 72 74 65 78 2e 0d 0a 3c 76 65 72 62 61 74 69 6d  rtex...<verbatim
176f0 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d  >..SELECT * FROM
17700 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e   my_tsp_solution
17710 20 57 48 45 52 45 20 53 54 5f 49 73 56 61 6c 69   WHERE ST_IsVali
17720 64 54 72 61 6a 65 63 74 6f 72 79 28 67 65 6f 6d  dTrajectory(geom
17730 65 74 72 79 29 20 3d 20 31 3b 0d 0a 2d 2d 2d 2d  etry) = 1;..----
17740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d  ---------------.
17750 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  .1..</verbatim>.
17760 0a 41 73 20 79 6f 75 20 63 61 6e 20 65 61 73 69  .As you can easi
17770 6c 79 20 63 68 65 63 6b 20 62 79 20 63 61 6c 6c  ly check by call
17780 69 6e 67 20 3c 62 3e 53 54 5f 49 73 56 61 6c 69  ing <b>ST_IsVali
17790 64 54 72 61 6a 65 63 74 6f 72 79 28 29 3c 2f 62  dTrajectory()</b
177a0 3e 20 65 76 65 72 79 20 4c 69 6e 65 73 74 72 69  > every Linestri
177b0 6e 67 20 63 72 65 61 74 65 64 20 62 79 20 56 69  ng created by Vi
177c0 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 69 73 20  rtualRouting is 
177d0 61 20 3c 62 3e 76 61 6c 69 64 20 54 72 61 6a 65  a <b>valid Traje
177e0 63 74 6f 72 79 3c 2f 62 3e 2e 0d 0a 3c 76 65 72  ctory</b>...<ver
177f0 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 53  batim>..SELECT S
17800 54 5f 54 72 61 6a 65 63 74 6f 72 79 49 6e 74 65  T_TrajectoryInte
17810 72 70 6f 6c 61 74 65 50 6f 69 6e 74 28 47 65 6f  rpolatePoint(Geo
17820 6d 65 74 72 79 2c 20 31 30 30 2e 30 29 0d 0a 46  metry, 100.0)..F
17830 52 4f 4d 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74  ROM my_tsp_solut
17840 69 6f 6e 0d 0a 57 48 45 52 45 20 52 6f 75 74 65  ion..WHERE Route
17850 49 64 20 3d 20 30 3b 0d 0a 3c 2f 76 65 72 62 61  Id = 0;..</verba
17860 74 69 6d 3e 0d 0a 53 6f 20 79 6f 75 20 6a 75 73  tim>..So you jus
17870 74 20 68 61 76 65 20 74 6f 20 63 61 6c 6c 20 3c  t have to call <
17880 62 3e 53 54 5f 54 72 61 6a 65 63 74 6f 72 79 49  b>ST_TrajectoryI
17890 6e 74 65 72 70 6f 6c 61 74 65 50 6f 69 6e 74 28  nterpolatePoint(
178a0 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72 20 74  )</b> in order t
178b0 6f 20 63 72 65 61 74 65 20 61 20 50 4f 49 4e 54  o create a POINT
178c0 20 70 72 65 63 69 73 65 6c 79 20 6c 6f 63 61 74   precisely locat
178d0 65 64 20 6f 6e 20 74 68 65 20 4c 69 6e 65 73 74  ed on the Linest
178e0 72 69 6e 67 20 61 74 20 74 68 65 20 67 69 76 65  ring at the give
178f0 6e 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 2e 0d 0a  n <b>cost</b>...
17900 3c 62 72 3e 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e  <br><br><hr><br>
17910 3c 62 72 3e 0d 0a 54 68 65 20 73 69 64 65 20 6d  <br>..The side m
17920 61 70 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73  ap graphically s
17930 68 6f 77 73 20 74 68 65 20 65 73 74 69 6d 61 74  hows the estimat
17940 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 65 76 65  ed positions eve
17950 72 79 20 31 30 30 6d 20 61 73 73 75 6d 69 6e 67  ry 100m assuming
17960 20 74 68 65 20 73 61 6d 65 20 70 61 74 68 20 72   the same path r
17970 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 6c  eturned by the l
17980 61 74 65 73 74 20 54 53 50 20 71 75 65 72 79 2e  atest TSP query.
17990 0d 0a 3c 2f 74 64 3e 3c 74 64 3e 20 20 20 20 20  ..</td><td>     
179a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ada0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1add0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ade0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1baf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1beb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1caa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1caf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ceb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ced0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1daa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1daf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1deb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ded0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1def0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ead0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ede0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1faf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1feb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200e0 20 20 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74    ..<img src="ht
200f0 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
20100 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
20110 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 74 73 70  routing-figs/tsp
20120 32 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 35  2.jpg" alt="fig5
20130 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f  ">..</td></tr></
20140 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  table>..<br><br>
20150 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e  ..<hr><br>..<h1>
20160 3c 61 20 6e 61 6d 65 3d 22 70 32 70 22 3e 38 20  <a name="p2p">8 
20170 2d 20 53 6f 6c 76 69 6e 67 20 50 6f 69 6e 74 2d  - Solving Point-
20180 74 6f 2d 50 6f 69 6e 74 20 70 72 6f 62 6c 65 6d  to-Point problem
20190 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 20 3c 62  s</a></h1>..A <b
201a0 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c  >Point-to-Point<
201b0 2f 62 3e 20 71 75 65 72 79 20 69 73 20 76 65 72  /b> query is ver
201c0 79 20 73 69 6d 69 6c 61 72 20 74 6f 20 61 20 6d  y similar to a m
201d0 6f 73 74 20 75 73 75 61 6c 20 3c 62 3e 73 69 6e  ost usual <b>sin
201e0 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20  gle-destination 
201f0 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 62  Shortest Path</b
20200 3e 20 71 75 65 72 79 2c 20 65 78 63 65 70 74 20  > query, except 
20210 74 68 61 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  that:..<ul>..<li
20220 3e 41 20 63 6c 61 73 73 69 63 20 53 68 6f 72 74  >A classic Short
20230 65 73 74 20 50 61 74 68 20 71 75 65 72 79 20 72  est Path query r
20240 65 71 75 69 72 65 73 20 74 6f 20 73 70 65 63 69  equires to speci
20250 66 79 20 61 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d  fy a <b>NodeFrom
20260 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6f 72 69 67  </b> (<u><i>orig
20270 69 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 61 6e 64 20  in</i></u>) and 
20280 61 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20  a <b>NodeTo</b> 
20290 28 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 69  (<u><i>destinati
202a0 6f 6e 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c 2f 6c 69  on</i></u>).</li
202b0 3e 0d 0a 3c 6c 69 3e 41 20 50 6f 69 6e 74 2d 74  >..<li>A Point-t
202c0 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79 20 68 61  o-Point query ha
202d0 73 20 61 20 6d 6f 72 65 20 72 65 6c 61 78 65 64  s a more relaxed
202e0 20 72 65 71 75 69 72 65 6d 65 6e 74 2c 20 61 6e   requirement, an
202f0 64 20 6a 75 73 74 20 72 65 71 75 69 72 65 73 20  d just requires 
20300 74 6f 20 73 70 65 63 69 66 79 20 61 20 3c 62 3e  to specify a <b>
20310 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 28 3c  PointFrom</b> (<
20320 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c  u><i>origin</i><
20330 2f 75 3e 29 20 61 6e 64 20 61 20 3c 62 3e 50 6f  /u>) and a <b>Po
20340 69 6e 74 54 6f 3c 2f 62 3e 20 28 3c 75 3e 3c 69  intTo</b> (<u><i
20350 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e  >destination</i>
20360 3c 2f 75 3e 29 2e 3c 62 72 3e 0d 0a 42 6f 74 68  </u>).<br>..Both
20370 20 3c 62 3e 50 6f 69 6e 74 73 3c 2f 62 3e 20 63   <b>Points</b> c
20380 61 6e 20 62 65 20 66 72 65 65 6c 79 20 70 6f 73  an be freely pos
20390 69 74 69 6f 6e 65 64 20 65 76 65 72 79 77 68 65  itioned everywhe
203a0 72 65 20 6f 6e 20 61 20 6d 61 70 2c 20 61 6e 64  re on a map, and
203b0 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 65   are not require
203c0 64 20 74 6f 20 70 72 65 63 69 73 65 6c 79 20 69  d to precisely i
203d0 6e 74 65 72 73 65 63 74 20 65 69 74 68 65 72 20  ntersect either 
203e0 61 20 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 20 6e 6f  a <b>Node</b> no
203f0 72 20 61 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20  r a <b>Link</b> 
20400 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69  of the underlayi
20410 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d  ng Network.<br>.
20420 0a 54 68 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  .The Point-to-Po
20430 69 6e 74 27 73 20 3c 75 3e 3c 69 3e 69 6e 74 65  int's <u><i>inte
20440 72 6e 61 6c 20 6c 6f 67 69 63 3c 2f 69 3e 3c 2f  rnal logic</i></
20450 75 3e 20 77 69 6c 6c 20 74 68 65 6e 20 61 75 74  u> will then aut
20460 6f 6d 61 74 69 63 61 6c 6c 79 20 69 64 65 6e 74  omatically ident
20470 69 66 79 20 28 69 66 20 70 6f 73 73 69 62 6c 65  ify (if possible
20480 29 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74  ) the appropriat
20490 65 20 4e 6f 64 65 73 20 66 6f 72 20 63 6f 6d 70  e Nodes for comp
204a0 75 74 69 6e 67 20 61 20 53 68 6f 72 74 65 73 74  uting a Shortest
204b0 20 50 61 74 68 20 73 6f 6c 75 74 69 6f 6e 2e 3c   Path solution.<
204c0 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
204d0 3a 20 74 68 65 20 74 77 6f 20 50 6f 69 6e 74 73  : the two Points
204e0 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20 75 73 65   <b>must</b> use
204f0 20 74 68 65 20 73 61 6d 65 20 3c 62 3e 53 52 49   the same <b>SRI
20500 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20 75 6e 64  D</b> of the und
20510 65 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e  erlying Network.
20520 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68  </li>..</ul>..<h
20530 33 3e 48 6f 77 20 69 74 20 77 6f 72 6b 73 20 69  3>How it works i
20540 6e 20 70 72 61 63 74 69 63 65 3c 2f 68 33 3e 0d  n practice</h3>.
20550 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 61 20 66 69 72  .<ol>..<li>a fir
20560 73 74 20 3c 75 3e 3c 69 3e 73 70 61 74 69 61 6c  st <u><i>spatial
20570 20 73 65 61 72 63 68 3c 2f 69 3e 3c 2f 75 3e 20   search</i></u> 
20580 62 61 73 65 64 20 6f 6e 20 74 68 65 20 3c 62 3e  based on the <b>
20590 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 77 69  PointFrom</b> wi
205a0 6c 6c 20 61 74 74 65 6d 70 74 20 74 6f 20 69 64  ll attempt to id
205b0 65 6e 74 69 66 79 20 61 6c 6c 20 3c 62 3e 4c 69  entify all <b>Li
205c0 6e 6b 73 3c 2f 62 3e 20 66 61 6c 6c 69 6e 67 20  nks</b> falling 
205d0 77 69 74 68 69 6e 20 61 20 67 69 76 65 6e 20 3c  within a given <
205e0 62 3e 74 6f 6c 65 72 61 6e 63 65 20 72 61 64 69  b>tolerance radi
205f0 75 73 3c 2f 62 3e 20 66 72 6f 6d 20 74 68 65 20  us</b> from the 
20600 50 6f 69 6e 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  Point.</li>..<li
20610 3e 61 20 73 65 63 6f 6e 64 20 73 69 6d 69 6c 61  >a second simila
20620 72 20 73 70 61 74 69 61 6c 20 73 65 61 72 63 68  r spatial search
20630 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 20 74 6f   will attempt to
20640 20 69 64 65 6e 74 69 66 79 20 61 6c 6c 20 3c 62   identify all <b
20650 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 72 65 6c 61 74  >Links</b> relat
20660 65 64 20 74 6f 20 74 68 65 20 3c 62 3e 50 6f 69  ed to the <b>Poi
20670 6e 74 54 6f 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  ntTo</b>.</li>..
20680 3c 6c 69 3e 61 6c 6c 20 3c 62 3e 4e 6f 64 65 73  <li>all <b>Nodes
20690 3c 2f 62 3e 20 62 65 6c 6f 6e 67 69 6e 67 20 74  </b> belonging t
206a0 6f 20 61 6e 79 20 3c 62 3e 4c 69 6e 6b 3c 2f 62  o any <b>Link</b
206b0 3e 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20  > identified by 
206c0 74 68 65 20 66 69 72 73 74 20 73 70 61 74 69 61  the first spatia
206d0 6c 20 73 65 61 72 63 68 20 77 69 6c 6c 20 62 65  l search will be
206e0 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 70   considered as p
206f0 6f 73 73 69 62 6c 65 20 3c 62 3e 4e 6f 64 65 46  ossible <b>NodeF
20700 72 6f 6d 20 63 61 6e 64 69 64 61 74 65 73 3c 2f  rom candidates</
20710 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6e  b>.</li>..<li>an
20720 64 20 73 79 6d 6d 65 74 72 69 63 61 6c 6c 79 2c  d symmetrically,
20730 20 61 6c 6c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62   all <b>Nodes</b
20740 3e 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61  > belonging to a
20750 6e 79 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 69  ny <b>Link</b> i
20760 64 65 6e 74 69 66 69 65 64 20 62 79 20 74 68 65  dentified by the
20770 20 73 65 63 6f 6e 64 20 73 70 61 74 69 61 6c 20   second spatial 
20780 73 65 61 72 63 68 20 77 69 6c 6c 20 62 65 20 63  search will be c
20790 6f 6e 73 69 64 65 72 65 64 20 61 73 20 70 6f 73  onsidered as pos
207a0 73 69 62 6c 65 20 3c 62 3e 4e 6f 64 65 54 6f 20  sible <b>NodeTo 
207b0 63 61 6e 64 69 64 61 74 65 73 3c 2f 62 3e 2e 3c  candidates</b>.<
207c0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 66 75 6c 6c  /li>..<li>a full
207d0 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 6f 66 20   permutation of 
207e0 61 6c 6c 20 53 68 6f 72 74 65 73 74 20 50 61 74  all Shortest Pat
207f0 68 20 73 6f 6c 75 74 69 6f 6e 73 20 63 6f 6e 6e  h solutions conn
20800 65 63 74 69 6e 67 20 6f 6e 65 20 74 68 65 20 46  ecting one the F
20810 72 6f 6d 20 63 61 6e 64 69 64 61 74 65 73 20 74  rom candidates t
20820 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 54 6f 20  o one of the To 
20830 63 61 6e 64 69 64 61 74 65 73 20 77 69 6c 6c 20  candidates will 
20840 62 65 20 74 68 65 6e 20 63 6f 6d 70 75 74 65 64  be then computed
20850 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20  .</li>..<li>and 
20860 66 69 6e 61 6c 6c 79 20 74 68 65 20 3c 62 3e 6f  finally the <b>o
20870 70 74 69 6d 61 6c 20 50 6f 69 6e 74 2d 74 6f 2d  ptimal Point-to-
20880 50 6f 69 6e 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f  Point solution</
20890 62 3e 20 77 69 6c 6c 20 62 65 20 73 65 6c 65 63  b> will be selec
208a0 74 65 64 20 62 79 20 69 64 65 6e 74 69 66 79 69  ted by identifyi
208b0 6e 67 20 77 68 69 63 68 20 73 70 65 63 69 66 69  ng which specifi
208c0 63 20 63 61 6e 64 69 64 61 74 65 20 70 72 65 73  c candidate pres
208d0 65 6e 74 73 20 74 68 65 20 3c 62 3e 6c 65 73 73  ents the <b>less
208e0 65 72 20 43 6f 73 74 3c 2f 62 3e 20 6f 66 20 74  er Cost</b> of t
208f0 68 65 6d 20 61 6c 6c 2e 3c 2f 6c 69 3e 0d 0a 3c  hem all.</li>..<
20900 2f 6f 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  /ol><br>..<table
20910 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36   bgcolor="#ffb06
20920 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  0" cellspacing="
20930 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  10" cellpadding=
20940 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68  "6"><tr><td>..<h
20950 33 3e 42 65 20 61 77 61 72 65 3c 2f 68 33 3e 0d  3>Be aware</h3>.
20960 0a 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 73  .Attempting to s
20970 6f 6c 76 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  olve Point-to-Po
20980 69 6e 74 20 71 75 65 72 69 65 73 20 73 74 72 69  int queries stri
20990 63 74 6c 79 20 72 65 71 75 69 72 65 73 20 74 68  ctly requires th
209a0 61 74 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74  at an appropriat
209b0 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 49 6e 64  e <b>Spatial Ind
209c0 65 78 3c 2f 62 3e 20 74 6f 20 65 66 66 65 63 74  ex</b> to effect
209d0 69 76 65 6c 79 20 73 75 70 70 6f 72 74 20 61 6c  ively support al
209e0 6c 20 4c 69 6e 6b 73 20 6f 66 20 74 68 65 20 75  l Links of the u
209f0 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f  nderlaying Netwo
20a00 72 6b 2e 3c 62 72 3e 0d 0a 49 66 20 73 75 63 68  rk.<br>..If such
20a10 20 61 20 70 72 65 2d 72 65 71 75 69 72 65 6d 65   a pre-requireme
20a20 6e 74 20 69 73 20 6e 6f 74 20 66 75 6c 66 69 6c  nt is not fulfil
20a30 6c 65 64 20 74 68 65 20 61 62 6f 76 65 20 6d 65  led the above me
20a40 6e 74 69 6f 6e 65 64 20 3c 75 3e 3c 69 3e 73 70  ntioned <u><i>sp
20a50 61 74 69 61 6c 20 73 65 61 72 63 68 65 73 3c 2f  atial searches</
20a60 69 3e 3c 2f 75 3e 20 77 69 6c 6c 20 66 61 69 6c  i></u> will fail
20a70 20 6d 69 73 65 72 61 62 6c 79 2c 20 61 6e 64 20   miserably, and 
20a80 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 61 6c 6c  consequently all
20a90 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20   Point-to-Point 
20aa0 71 75 65 72 69 65 73 20 77 69 6c 6c 20 62 65 20  queries will be 
20ab0 75 6e 61 62 6c 65 20 74 6f 20 69 64 65 6e 74 69  unable to identi
20ac0 66 79 20 61 6e 79 20 70 6f 73 73 69 62 6c 65 20  fy any possible 
20ad0 43 61 6e 64 69 64 61 74 65 20 74 6f 20 62 65 20  Candidate to be 
20ae0 65 76 61 6c 75 61 74 65 64 2e 0d 0a 3c 68 33 3e  evaluated...<h3>
20af0 41 6c 77 61 79 73 20 72 65 6d 65 6d 62 65 72 3c  Always remember<
20b00 2f 68 33 3e 0d 0a 43 61 72 65 66 75 6c 6c 79 20  /h3>..Carefully 
20b10 63 68 65 63 6b 20 69 66 20 61 6e 20 61 70 70 72  check if an appr
20b20 6f 70 72 69 61 74 65 20 53 70 61 74 69 61 6c 20  opriate Spatial 
20b30 49 6e 64 65 78 20 61 6c 6c 72 65 61 64 79 20 65  Index allready e
20b40 78 69 73 74 73 20 62 65 66 6f 72 65 20 61 74 74  xists before att
20b50 65 6d 70 74 69 6e 67 20 74 6f 20 65 78 65 63 75  empting to execu
20b60 74 65 20 61 6e 79 20 50 6f 69 6e 74 2d 74 6f 2d  te any Point-to-
20b70 50 6f 69 6e 74 20 71 75 65 72 79 2e 0d 0a 3c 62  Point query...<b
20b80 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74  r><br>..</td></t
20b90 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  r></table>..<br>
20ba0 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
20bb0 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73  ="#c0ffc0" cells
20bc0 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c  pacing="10" cell
20bd0 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e  padding="6"><tr>
20be0 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65  <td align="cente
20bf0 72 22 20 63 6f 6c 73 70 61 6e 3d 22 32 22 3e 0d  r" colspan="2">.
20c00 0a 3c 68 32 3e 42 61 73 69 63 20 63 6f 6e 63 65  .<h2>Basic conce
20c10 70 74 73 2c 20 74 65 63 68 6e 69 63 61 6c 20 64  pts, technical d
20c20 65 74 61 69 6c 73 20 61 6e 64 20 72 65 6c 61 74  etails and relat
20c30 65 64 20 67 6c 6f 73 73 61 72 79 3c 2f 68 32 3e  ed glossary</h2>
20c40 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74  ..</td></tr>..<t
20c50 72 3e 3c 74 64 3e 0d 0a 54 68 65 20 73 69 64 65  r><td>..The side
20c60 20 66 69 67 75 72 65 20 73 68 6f 77 73 20 61 20   figure shows a 
20c70 68 79 70 6f 74 68 65 74 69 63 61 6c 20 50 6f 69  hypothetical Poi
20c80 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f 6c 75  nt-to-Point solu
20c90 74 69 6f 6e 20 61 6c 6d 6f 73 74 20 70 72 65 63  tion almost prec
20ca0 69 73 65 6c 79 20 62 61 73 65 64 20 6f 6e 20 74  isely based on t
20cb0 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 71  he following seq
20cc0 75 65 6e 63 65 20 6f 66 20 4e 6f 64 65 73 3a 3c  uence of Nodes:<
20cd0 62 72 3e 0d 0a 3c 62 3e 3c 69 3e 4e 31 2d 4e 32  br>..<b><i>N1-N2
20ce0 2d 4e 33 2d 4e 34 2d 4e 35 2d 4e 36 2d 4e 37 2d  -N3-N4-N5-N6-N7-
20cf0 4e 38 2d 4e 39 2d 4e 31 30 2d 4e 31 31 2d 4e 31  N8-N9-N10-N11-N1
20d00 32 2d 4e 31 33 2d 4e 31 34 2d 4e 31 35 3c 2f 69  2-N13-N14-N15</i
20d10 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  ></b>..<br><br>.
20d20 0a 48 6f 77 65 76 65 72 2c 20 61 73 20 79 6f 75  .However, as you
20d30 20 63 61 6e 20 73 65 65 2c 20 74 68 65 72 65 20   can see, there 
20d40 61 72 65 20 74 77 6f 20 6e 6f 74 69 63 65 61 62  are two noticeab
20d50 6c 65 20 65 78 63 65 70 74 69 6f 6e 73 3a 0d 0a  le exceptions:..
20d60 3c 75 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20 3c 62  <ul>..<li>The <b
20d70 3e 66 69 72 73 74 3c 2f 62 3e 20 4c 69 6e 6b 20  >first</b> Link 
20d80 28 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 4e  (connecting <b>N
20d90 31 3c 2f 62 3e 20 74 6f 20 3c 62 3e 4e 32 3c 2f  1</b> to <b>N2</
20da0 62 3e 29 20 69 73 20 6e 6f 74 20 63 6f 6d 70 6c  b>) is not compl
20db0 65 74 65 6c 79 20 72 65 71 75 69 72 65 64 20 62  etely required b
20dc0 79 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e 2e 3c  y the Solution.<
20dd0 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 6d 61 6c  br>..Just a smal
20de0 6c 20 70 6f 72 74 69 6f 6e 20 28 64 72 61 77 6e  l portion (drawn
20df0 20 69 6e 20 72 65 64 29 20 6f 66 20 74 68 69 73   in red) of this
20e00 20 4c 69 6e 6b 20 69 73 20 65 66 66 65 63 74 69   Link is effecti
20e10 76 65 6c 79 20 72 65 71 75 69 72 65 64 2e 3c 62  vely required.<b
20e20 72 3e 0d 0a 54 68 65 20 72 65 6d 61 69 6e 69 6e  r>..The remainin
20e30 67 20 70 61 72 74 20 28 64 72 61 77 6e 20 69 6e  g part (drawn in
20e40 20 67 72 61 79 29 20 69 73 6e 27 74 20 63 6f 76   gray) isn't cov
20e50 65 72 65 64 20 62 79 20 74 68 65 20 53 6f 6c 75  ered by the Solu
20e60 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  tion.</li>..<li>
20e70 45 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65  Exactly the same
20e80 20 69 73 20 74 72 75 65 20 66 6f 72 20 74 68 65   is true for the
20e90 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e 20 4c 69 6e   <b>last</b> Lin
20ea0 6b 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e  k connecting <b>
20eb0 4e 31 34 3c 2f 62 3e 20 74 6f 20 3c 62 3e 4e 31  N14</b> to <b>N1
20ec0 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  5</b>.</li>..<li
20ed0 3e 54 68 61 74 27 73 20 6e 6f 74 20 61 6c 6c 3a  >That's not all:
20ee0 20 74 68 65 72 65 20 61 72 65 20 74 77 6f 20 73   there are two s
20ef0 68 6f 72 74 20 73 65 67 6d 65 6e 74 73 20 28 64  hort segments (d
20f00 72 61 77 6e 20 69 6e 20 67 72 65 65 6e 29 20 63  rawn in green) c
20f10 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 50 66 72  onnecting <b>Pfr
20f20 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 50 74  om</b> and <b>Pt
20f30 6f 3c 2f 62 3e 20 28 3c 69 3e 6f 72 69 67 69 6e  o</b> (<i>origin
20f40 3c 2f 69 3e 20 61 6e 64 20 3c 69 3e 64 65 73 74  </i> and <i>dest
20f50 69 6e 61 74 69 6f 6e 3c 2f 69 3e 20 50 6f 69 6e  ination</i> Poin
20f60 74 73 29 20 72 65 73 70 65 63 74 69 76 65 6c 79  ts) respectively
20f70 20 74 6f 20 74 68 65 20 3c 62 3e 66 69 72 73 74   to the <b>first
20f80 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 73 74  </b> and <b>last
20f90 3c 2f 62 3e 20 70 61 72 74 69 61 6c 20 4c 69 6e  </b> partial Lin
20fa0 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  ks.</li>..</ul>.
20fb0 0a 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 69 73 20  .<br>..All this 
20fc0 69 73 6e 27 74 20 73 75 72 70 72 69 73 69 6e 67  isn't surprising
20fd0 2c 20 73 69 6e 63 65 20 69 74 20 73 69 6d 70 6c  , since it simpl
20fe0 79 20 69 73 20 74 68 65 20 6d 6f 73 74 20 6f 62  y is the most ob
20ff0 76 69 6f 75 73 20 64 69 72 65 63 74 20 63 6f 6e  vious direct con
21000 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20  sequence of the 
21010 76 65 72 79 20 62 61 73 69 63 20 61 73 73 75 6d  very basic assum
21020 70 74 69 6f 6e 73 20 61 74 20 74 68 65 20 62 61  ptions at the ba
21030 73 69 73 20 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d  sis of Point-to-
21040 50 6f 69 6e 74 20 71 75 65 72 69 65 73 3a 0d 0a  Point queries:..
21050 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4e 65 69 74 68 65  <ul>..<li>Neithe
21060 72 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 46 72  r the <b>PointFr
21070 6f 6d 3c 2f 62 3e 20 6e 6f 72 20 74 68 65 20 3c  om</b> nor the <
21080 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 72  b>PointTo</b> ar
21090 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 65 78  e required to ex
210a0 61 63 74 6c 79 20 69 6e 74 65 72 73 65 63 74 20  actly intersect 
210b0 61 20 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 2e 3c 62  a <b>Node</b>.<b
210c0 72 3e 0d 0a 43 6f 6e 73 65 71 75 65 6e 74 6c 79  r>..Consequently
210d0 20 74 68 65 20 3c 62 3e 66 69 72 73 74 3c 2f 62   the <b>first</b
210e0 3e 20 61 6e 64 20 3c 62 3e 6c 61 73 74 3c 2f 62  > and <b>last</b
210f0 3e 20 4c 69 6e 6b 73 20 6f 66 20 74 68 65 20 6f  > Links of the o
21100 76 65 72 61 6c 6c 20 50 6f 69 6e 74 2d 74 6f 2d  verall Point-to-
21110 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 20 63  Point Solution c
21120 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 70 61 72  ould only be par
21130 74 69 61 6c 6c 79 20 69 6e 76 6f 6c 76 65 64 2e  tially involved.
21140 3c 62 72 3e 0d 0a 49 6e 20 56 69 72 74 75 61 6c  <br>..In Virtual
21150 52 6f 75 74 69 6e 67 20 6a 61 72 67 6f 6e 20 74  Routing jargon t
21160 68 65 73 65 20 74 77 6f 20 3c 75 3e 3c 69 3e 73  hese two <u><i>s
21170 70 65 63 69 61 6c 20 69 74 65 6d 73 3c 2f 69 3e  pecial items</i>
21180 3c 2f 75 3e 20 61 72 65 20 72 65 73 70 65 63 74  </u> are respect
21190 69 76 65 6c 79 20 63 61 6c 6c 65 64 3a 0d 0a 3c  ively called:..<
211a0 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74  ul>..<li><b>Part
211b0 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72 74 29  ial Link (Start)
211c0 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  </b></li>..<li><
211d0 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28  b>Partial Link (
211e0 45 6e 64 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c  End)</b></li>..<
211f0 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e  /ul></li> ..<li>
21200 42 6f 74 68 20 74 68 65 20 3c 62 3e 50 6f 69 6e  Both the <b>Poin
21210 74 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 74 68  tFrom</b> and th
21220 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e  e <b>PointTo</b>
21230 20 63 61 6e 20 6c 65 67 69 74 69 6d 61 74 65 6c   can legitimatel
21240 79 20 68 61 76 65 20 62 65 65 6e 20 61 74 20 61  y have been at a
21250 6e 79 20 61 72 62 69 74 72 61 72 79 20 70 6f 73  ny arbitrary pos
21260 69 74 69 6f 6e 20 61 6e 64 20 61 72 65 20 6e 65  ition and are ne
21270 76 65 72 20 72 65 71 75 69 72 65 64 20 74 6f 20  ver required to 
21280 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73 65 63  exactly intersec
21290 74 20 61 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 2e  t a <b>Link</b>.
212a0 3c 62 72 3e 0d 0a 54 68 69 73 20 63 61 6e 20 65  <br>..This can e
212b0 61 73 69 6c 79 20 69 6d 70 6c 79 20 74 68 61 74  asily imply that
212c0 20 61 6e 20 3c 75 3e 3c 69 3e 65 78 74 72 61 20   an <u><i>extra 
212d0 73 68 6f 72 74 20 6c 65 67 3c 2f 69 3e 3c 2f 75  short leg</i></u
212e0 3e 20 63 6f 75 6c 64 20 62 65 20 72 65 71 75 69  > could be requi
212f0 72 65 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  red in order to 
21300 63 6f 6e 6e 65 63 74 20 74 68 65 20 46 72 6f 6d  connect the From
21310 2f 54 6f 20 50 6f 69 6e 74 73 20 74 6f 20 74 68  /To Points to th
21320 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding 
21330 4c 69 6e 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 56  Links.<br>..In V
21340 69 72 75 74 61 6c 52 6f 75 74 69 6e 67 20 6a 61  irutalRouting ja
21350 72 67 6f 6e 20 74 68 65 73 65 20 74 77 6f 20 3c  rgon these two <
21360 75 3e 3c 69 3e 73 70 65 63 69 61 6c 20 69 74 65  u><i>special ite
21370 6d 73 3c 2f 69 3e 3c 2f 75 3e 20 61 72 65 20 72  ms</i></u> are r
21380 65 73 70 65 63 74 69 76 65 6c 79 20 63 61 6c 6c  espectively call
21390 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c  ed:..<ul>..<li><
213a0 62 3e 49 6e 67 72 65 73 73 20 50 61 74 68 3c 2f  b>Ingress Path</
213b0 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  b></li>..<li><b>
213c0 45 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 3c  Egress Path</b><
213d0 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
213e0 20 0d 0a 3c 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f   ..<li><u>Note</
213f0 75 3e 3a 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d  u>: none of them
21400 20 61 72 65 20 73 74 72 69 63 74 6c 79 20 6d 61   are strictly ma
21410 6e 64 61 74 6f 72 79 20 69 74 65 6d 73 3a 0d 0a  ndatory items:..
21420 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  <ul>..<li>the <b
21430 3e 49 6e 67 72 65 73 73 3c 2f 62 3e 20 61 6e 64  >Ingress</b> and
21440 2f 6f 72 20 3c 62 3e 45 67 72 65 73 73 20 50 61  /or <b>Egress Pa
21450 74 68 73 3c 2f 62 3e 20 61 72 65 20 6e 6f 74 20  ths</b> are not 
21460 72 65 71 75 69 72 65 64 20 77 68 65 6e 20 74 68  required when th
21470 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding 
21480 50 6f 69 6e 74 20 65 78 61 63 74 6c 79 20 69 6e  Point exactly in
21490 74 65 72 73 65 63 74 73 20 61 20 4c 69 6e 6b 2e  tersects a Link.
214a0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61  </li>..<li><b>Pa
214b0 72 74 69 61 6c 20 4c 69 6e 6b 73 3c 2f 62 3e 20  rtial Links</b> 
214c0 28 65 69 74 68 65 72 20 3c 62 3e 28 53 74 61 72  (either <b>(Star
214d0 74 29 3c 2f 62 3e 20 6f 72 20 3c 62 3e 28 45 6e  t)</b> or <b>(En
214e0 64 29 3c 2f 62 3e 29 20 61 72 65 20 6e 65 76 65  d)</b>) are neve
214f0 72 20 72 65 71 75 69 72 65 64 20 77 68 65 6e 20  r required when 
21500 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
21510 67 20 50 6f 69 6e 74 20 65 78 61 63 74 6c 79 20  g Point exactly 
21520 6d 61 74 63 68 65 73 20 61 20 4e 6f 64 65 2e 3c  matches a Node.<
21530 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
21540 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e 0d 0a  ..</ul>..</td>..
21550 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22  <td>..<img src="
21560 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
21570 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e  -gis.it/gaia-sin
21580 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 70  s/routing-figs/p
21590 32 70 2d 73 74 72 75 63 74 2e 70 6e 67 22 20 61  2p-struct.png" a
215a0 6c 74 3d 22 70 32 70 2d 73 74 72 75 63 74 22 3e  lt="p2p-struct">
215b0 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74  ..</td></tr>..<t
215c0 72 3e 3c 74 64 3e 0d 0a 41 20 6d 6f 72 65 20 63  r><td>..A more c
215d0 6f 6d 70 72 65 68 65 6e 73 69 76 65 20 61 6e 64  omprehensive and
215e0 20 64 65 74 61 69 6c 65 64 20 65 78 70 6c 61 6e   detailed explan
215f0 61 74 69 6f 6e 20 62 61 73 65 64 20 6f 6e 20 74  ation based on t
21600 68 65 20 73 69 64 65 20 66 69 67 75 72 65 3a 0d  he side figure:.
21610 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 31  .<ul>..<li><b>L1
21620 3c 2f 62 3e 20 69 73 20 61 20 4c 69 6e 6b 20 63  </b> is a Link c
21630 6f 6e 6e 65 63 74 69 6e 67 20 4e 6f 64 65 73 20  onnecting Nodes 
21640 3c 62 3e 4e 31 3c 2f 62 3e 20 61 6e 64 20 3c 62  <b>N1</b> and <b
21650 3e 4e 32 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  >N2</b>.</li>..<
21660 6c 69 3e 3c 62 3e 50 74 3c 2f 62 3e 20 69 73 20  li><b>Pt</b> is 
21670 6f 6e 65 20 62 65 74 77 65 65 6e 20 50 6f 69 6e  one between Poin
21680 74 46 72 6f 6d 20 6f 72 20 50 6f 69 6e 74 54 6f  tFrom or PointTo
21690 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
216a0 62 72 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 54  br>..<ol>..<li>T
216b0 68 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e  he Point-to-Poin
216c0 74 20 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69 63  t internal logic
216d0 20 77 69 6c 6c 20 73 74 61 72 74 20 62 79 20 69   will start by i
216e0 64 65 6e 74 69 66 79 69 6e 67 20 3c 62 3e 69 3c  dentifying <b>i<
216f0 2f 62 3e 2c 0d 0a 74 68 61 74 20 69 73 20 74 68  /b>,..that is th
21700 65 20 50 6f 69 6e 74 20 69 6e 74 65 72 73 65 63  e Point intersec
21710 74 69 6e 67 20 3c 62 3e 4c 31 3c 2f 62 3e 20 61  ting <b>L1</b> a
21720 6e 64 20 70 72 65 73 65 6e 74 69 6e 67 20 74 68  nd presenting th
21730 65 20 6d 69 6e 69 6d 75 6d 20 64 69 73 74 61 6e  e minimum distan
21740 63 65 20 62 65 74 77 65 65 6e 20 74 68 65 20 4c  ce between the L
21750 69 6e 6b 20 61 6e 64 20 3c 62 3e 50 74 3c 2f 62  ink and <b>Pt</b
21760 3e 0d 0a 28 63 6f 72 72 65 73 70 6f 6e 64 69 6e  >..(correspondin
21770 67 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20  g to the result 
21780 72 65 74 75 72 6e 65 64 20 62 79 20 63 61 6c 6c  returned by call
21790 69 6e 67 20 74 68 65 20 3c 62 3e 53 54 5f 4c 69  ing the <b>ST_Li
217a0 6e 65 5f 4c 6f 63 61 74 65 5f 50 6f 69 6e 74 28  ne_Locate_Point(
217b0 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69  )</b> SQL functi
217c0 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4e  on).</li>..<li>N
217d0 6f 77 20 74 68 65 20 4c 69 6e 6b 20 3c 62 3e 4c  ow the Link <b>L
217e0 31 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 73 70  1</b> will be sp
217f0 6c 69 74 20 69 6e 20 74 77 6f 20 68 61 6c 76 65  lit in two halve
21800 73 20 3c 62 3e 4c 31 2d 61 3c 2f 62 3e 20 61 6e  s <b>L1-a</b> an
21810 64 20 3c 62 3e 4c 31 2d 62 3c 2f 62 3e 20 61 63  d <b>L1-b</b> ac
21820 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65  cordingly to the
21830 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 3c 62 3e   position of <b>
21840 69 3c 2f 62 3e 0d 0a 28 63 6f 72 72 65 73 70 6f  i</b>..(correspo
21850 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 72 65 73  nding to the res
21860 75 6c 74 73 20 72 65 74 75 72 6e 65 64 20 62 79  ults returned by
21870 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 3c 62 3e   calling the <b>
21880 53 54 5f 4c 69 6e 65 5f 53 75 62 73 74 72 69 6e  ST_Line_Substrin
21890 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63  g()</b> SQL func
218a0 74 69 6f 6e 29 2e 3c 62 72 3e 0d 0a 42 6f 74 68  tion).<br>..Both
218b0 20 68 61 6c 76 65 73 20 77 69 6c 6c 20 6e 6f 77   halves will now
218c0 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 61   be considered a
218d0 73 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 50 61  s possible <b>Pa
218e0 72 74 69 61 6c 20 4c 69 6e 6b 73 20 28 53 74 61  rtial Links (Sta
218f0 72 74 29 20 63 61 6e 64 69 64 61 74 65 73 3c 2f  rt) candidates</
21900 62 3e 20 6c 65 61 64 69 6e 67 20 72 65 73 70 65  b> leading respe
21910 63 74 69 76 65 6c 79 20 74 6f 20 3c 62 3e 4e 31  ctively to <b>N1
21920 3c 2f 62 3e 20 6f 72 20 3c 62 3e 4e 32 3c 2f 62  </b> or <b>N2</b
21930 3e 3b 0d 0a 64 69 72 65 63 74 69 6f 6e 73 20 77  >;..directions w
21940 69 6c 6c 20 62 65 20 61 75 74 6f 6d 61 74 69 63  ill be automatic
21950 61 6c 6c 79 20 69 6e 76 65 72 74 65 64 20 61 73  ally inverted as
21960 20 72 65 71 75 69 72 65 64 2c 20 62 75 74 20 6f   required, but o
21970 6e 6c 79 20 69 66 20 74 68 65 72 65 20 61 72 65  nly if there are
21980 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f   no <b>one-way</
21990 62 3e 20 72 65 73 74 72 69 63 74 69 6f 6e 73 2e  b> restrictions.
219a0 3c 62 72 3e 0d 0a 28 74 68 65 20 64 69 72 65 63  <br>..(the direc
219b0 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 6f 62  tions will be ob
219c0 76 69 6f 75 73 6c 79 20 69 6e 76 65 72 74 65 64  viously inverted
219d0 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20   in the case of 
219e0 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73  <b>Partial Links
219f0 20 28 45 6e 64 29 3c 2f 62 3e 20 2f 20 3c 62 3e   (End)</b> / <b>
21a00 4e 6f 64 65 54 6f 3c 2f 62 3e 29 3c 2f 6c 69 3e  NodeTo</b>)</li>
21a10 0d 0a 3c 6c 69 3e 41 6e 64 20 66 69 6e 61 6c 6c  ..<li>And finall
21a20 79 20 61 20 73 74 72 61 69 67 68 74 20 73 65 67  y a straight seg
21a30 6d 65 6e 74 20 3c 62 3e 70 3c 2f 62 3e 20 63 6f  ment <b>p</b> co
21a40 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 50 74 3c 2f  nnecting <b>Pt</
21a50 62 3e 20 74 6f 20 3c 62 3e 69 3c 2f 62 3e 20 77  b> to <b>i</b> w
21a60 69 6c 6c 20 62 65 20 63 6f 6e 73 74 72 75 63 74  ill be construct
21a70 65 64 2e 0d 0a 53 6f 20 3c 62 3e 70 3c 2f 62 3e  ed...So <b>p</b>
21a80 20 65 78 61 63 74 6c 79 20 63 6f 72 72 65 73 70   exactly corresp
21a90 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c 62 3e 49  onds to the <b>I
21aa0 6e 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 20  ngress Path</b> 
21ab0 69 66 20 3c 62 3e 50 74 3c 2f 62 3e 20 69 73 20  if <b>Pt</b> is 
21ac0 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e  <b>PointFrom</b>
21ad0 2e 3c 62 72 3e 0d 0a 28 74 68 65 20 64 69 72 65  .<br>..(the dire
21ae0 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20  ction should be 
21af0 6f 62 76 69 6f 75 73 6c 79 20 69 6e 76 65 72 74  obviously invert
21b00 65 64 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f  ed in the case o
21b10 66 20 74 68 65 20 3c 62 3e 45 67 72 65 73 73 20  f the <b>Egress 
21b20 50 61 74 68 3c 2f 62 3e 20 2f 20 3c 62 3e 50 6f  Path</b> / <b>Po
21b30 69 6e 74 54 6f 3c 2f 62 3e 29 3c 2f 6c 69 3e 0d  intTo</b>)</li>.
21b40 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c  .</ol>..</td>..<
21b50 74 64 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68  td>..<img src="h
21b60 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
21b70 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73  gis.it/gaia-sins
21b80 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 73 70  /routing-figs/sp
21b90 6c 69 74 2d 6c 69 6e 6b 2e 70 6e 67 22 20 61 6c  lit-link.png" al
21ba0 74 3d 22 70 32 70 2d 73 74 72 75 63 74 22 3e 0d  t="p2p-struct">.
21bb0 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74  .</td></tr>..</t
21bc0 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61  able>..<br>..<ta
21bd0 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  ble bgcolor="#ff
21be0 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e  b060" cellspacin
21bf0 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69  g="10" cellpaddi
21c00 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d  ng="6"><tr><td>.
21c10 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3c 2f 68 33  .<h3>Warning</h3
21c20 3e 0d 0a 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  >..VirtualRoutin
21c30 67 20 77 68 65 6e 20 73 6f 6c 76 69 6e 67 20 61  g when solving a
21c40 20 50 6f 69 6e 74 2d 74 6f 2d 50 72 6f 62 6c 65   Point-to-Proble
21c50 6d 20 72 65 71 75 69 72 65 73 20 61 20 70 72 65  m requires a pre
21c60 63 69 73 65 20 65 73 74 69 6d 61 74 69 6f 6e 20  cise estimation 
21c70 6f 66 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20  of <b>Costs</b> 
21c80 72 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e 49 6e  related to <b>In
21c90 67 72 65 73 73 3c 2f 62 3e 20 61 6e 64 20 3c 62  gress</b> and <b
21ca0 3e 45 67 72 65 73 73 20 50 61 74 68 73 3c 2f 62  >Egress Paths</b
21cb0 3e 20 61 6e 64 20 74 6f 20 3c 62 3e 50 61 72 74  > and to <b>Part
21cc0 69 61 6c 20 4c 69 6e 6b 73 3c 2f 62 3e 2e 3c 62  ial Links</b>.<b
21cd0 72 3e 0d 0a 42 75 74 20 56 69 72 74 75 61 6c 52  r>..But VirtualR
21ce0 6f 75 74 69 6e 67 20 69 73 20 63 6f 6d 70 6c 65  outing is comple
21cf0 74 65 6c 79 20 75 6e 61 62 6c 65 20 74 6f 20 63  tely unable to c
21d00 6f 6d 70 75 74 65 20 63 6f 6d 70 6c 65 78 20 28  ompute complex (
21d10 61 6e 64 20 75 6e 73 70 65 63 69 66 69 65 64 29  and unspecified)
21d20 20 43 6f 73 74 20 66 6f 72 6d 75 6c 61 73 2c 20   Cost formulas, 
21d30 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79  and consequently
21d40 20 69 74 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20   it will simply 
21d50 61 73 73 75 6d 65 20 61 20 43 6f 73 74 20 63 6f  assume a Cost co
21d60 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74  rresponding to t
21d70 68 65 20 47 65 6f 6d 65 74 72 69 63 20 4c 65 6e  he Geometric Len
21d80 67 74 68 20 6f 66 20 73 75 63 68 20 69 74 65 6d  gth of such item
21d90 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 43  s.<br><br>..<b>C
21da0 6f 6e 63 6c 75 73 69 6f 6e 3c 2f 62 3e 3a 20 6f  onclusion</b>: o
21db0 6e 6c 79 20 4e 65 74 77 6f 72 6b 73 20 62 61 73  nly Networks bas
21dc0 65 64 20 6f 6e 20 3c 62 3e 43 6f 73 74 73 3c 2f  ed on <b>Costs</
21dd0 62 3e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  b> corresponding
21de0 20 74 6f 20 3c 62 3e 47 65 6f 6d 65 74 72 69 63   to <b>Geometric
21df0 20 4c 65 6e 67 74 68 73 3c 2f 62 3e 20 63 61 6e   Lengths</b> can
21e00 20 65 66 66 65 63 74 69 76 65 6c 79 20 73 75 70   effectively sup
21e10 70 6f 72 74 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  port Point-to-Po
21e20 69 6e 74 20 71 75 65 72 69 65 73 2e 3c 62 72 3e  int queries.<br>
21e30 0d 0a 41 6e 79 20 64 69 66 66 65 72 65 6e 74 20  ..Any different 
21e40 4e 65 74 77 6f 72 6b 20 63 6f 6e 66 69 67 75 72  Network configur
21e50 61 74 69 6f 6e 20 77 69 6c 6c 20 73 75 72 65 6c  ation will surel
21e60 79 20 6c 65 61 64 20 74 6f 20 77 72 6f 6e 67 20  y lead to wrong 
21e70 61 6e 64 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74  and inconsistent
21e80 20 72 65 73 75 6c 74 73 2e 0d 0a 3c 62 72 3e 3c   results...<br><
21e90 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c  br>..</td></tr><
21ea0 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72  /table>..<br><br
21eb0 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20 65 78 61  >..Let's now exa
21ec0 6d 69 6e 65 20 61 20 70 72 61 63 74 69 63 61 6c  mine a practical
21ed0 20 65 78 61 6d 70 6c 65 20 6f 66 20 50 6f 69 6e   example of Poin
21ee0 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f 6c 76 69  t-to-Point solvi
21ef0 6e 67 20 75 73 69 6e 67 20 56 69 72 74 75 61 6c  ng using Virtual
21f00 52 6f 75 74 69 6e 67 2e 0d 0a 3c 76 65 72 62 61  Routing...<verba
21f10 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67  tim>..SELECT Alg
21f20 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c  orithm, Request,
21f30 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 49   Options, RouteI
21f40 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c  d, RouteRow, Rol
21f50 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f  e, LinkRowid, No
21f60 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20  deFrom, NodeTo, 
21f70 50 6f 69 6e 74 46 72 6f 6d 2c 20 50 6f 69 6e 74  PointFrom, Point
21f80 54 6f 2c 20 54 6f 6c 65 72 61 6e 63 65 2c 20 43  To, Tolerance, C
21f90 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e  ost, Geometry, N
21fa0 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74  ame..FROM byfoot
21fb0 0d 0a 57 48 45 52 45 20 50 6f 69 6e 74 46 72 6f  ..WHERE PointFro
21fc0 6d 20 3d 20 28 53 45 4c 45 43 54 20 67 65 6f 6d  m = (SELECT geom
21fd0 20 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76   FROM house_nr_v
21fe0 77 20 57 48 45 52 45 20 6d 75 6e 69 63 69 70 61  w WHERE municipa
21ff0 6c 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20  lity = 'AREZZO' 
22000 41 4e 44 20 61 64 64 72 65 73 73 20 3d 20 27 56  AND address = 'V
22010 49 41 20 44 45 27 27 20 43 45 4e 43 49 20 31 33  IA DE'' CENCI 13
22020 27 29 0d 0a 20 20 20 20 41 4e 44 20 50 6f 69 6e  ')..    AND Poin
22030 74 54 6f 20 3d 20 28 53 45 4c 45 43 54 20 67 65  tTo = (SELECT ge
22040 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72  om FROM house_nr
22050 5f 76 77 20 57 48 45 52 45 20 6d 75 6e 69 63 69  _vw WHERE munici
22060 70 61 6c 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f  pality = 'AREZZO
22070 27 20 41 4e 44 20 61 64 64 72 65 73 73 20 3d 20  ' AND address = 
22080 27 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41  'VIA ANTONIO GUA
22090 44 41 47 4e 4f 4c 49 20 31 39 2f 42 27 29 3b 0d  DAGNOLI 19/B');.
220a0 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 20  .</verbatim>..A 
220b0 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e  <b>Point-to-Poin
220c0 74 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20  t</b> query has 
220d0 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 20 6f 66  the same form of
220e0 20 61 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 73   a <b>single-des
220f0 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73  tination Shortes
22100 74 20 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 79  t Path</b> query
22110 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 3c 62  , except that <b
22120 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e  >NodeFrom</b> an
22130 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20  d <b>NodeTo</b> 
22140 61 72 65 20 6e 6f 77 20 72 65 70 6c 61 63 65 64  are now replaced
22150 20 62 79 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d   by <b>PointFrom
22160 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 50 6f 69 6e  </b> and <b>Poin
22170 74 54 6f 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75  tTo</b>.<br>..<u
22180 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 65 20 73  >Note</u>: the s
22190 61 6d 70 6c 65 20 44 42 2d 66 69 6c 65 20 73 75  ample DB-file su
221a0 70 70 6f 72 74 73 20 3c 62 3e 48 6f 75 73 65 20  pports <b>House 
221b0 4e 75 6d 62 65 72 73 3c 2f 62 3e 2c 20 73 6f 20  Numbers</b>, so 
221c0 79 6f 75 20 63 61 6e 20 64 69 72 65 63 74 6c 79  you can directly
221d0 20 75 73 65 20 48 6f 75 73 65 20 4e 75 6d 62 65   use House Numbe
221e0 72 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 61 73  r coordinates as
221f0 20 72 65 66 65 72 65 6e 63 65 20 50 6f 69 6e 74   reference Point
22200 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68  s...<br><br>..Th
22210 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c  e following tabl
22220 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75  e shows the resu
22230 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62  ltset returned b
22240 79 20 74 68 65 20 61 62 6f 76 65 20 50 6f 69 6e  y the above Poin
22250 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79  t-to-Point query
22260 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  .<br><br>..<tabl
22270 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63  e border="1" bgc
22280 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63  olor="#ffffcf" c
22290 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63  ellspacing="4" c
222a0 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d  ellpadding="6">.
222b0 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
222c0 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72  ="#d0d0a0">Algor
222d0 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ithm</th><th bgc
222e0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
222f0 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62  equest</th><th b
22300 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
22310 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68  >Options</th><th
22320 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
22330 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c  0">RouteId</th><
22340 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
22350 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74  0a0">RouteRow</t
22360 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
22370 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68  d0d0a0">Role</th
22380 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
22390 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64  0d0a0">LinkRowid
223a0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
223b0 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46  ="#d0d0a0">NodeF
223c0 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  rom</th><th bgco
223d0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
223e0 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63  deTo</th><th bgc
223f0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50  olor="#d0d0a0">P
22400 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  ointFrom</th><th
22410 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
22420 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c  0">PointTo</th><
22430 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
22440 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f  0a0">Tolerance</
22450 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
22460 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74  #d0d0a0">Cost</t
22470 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
22480 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79  d0d0a0">Geometry
22490 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
224a0 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c  ="#d0d0a0">Name<
224b0 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  /th></tr>..<tr>.
224c0 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74  .<td>Dijkstra</t
224d0 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f 69 6e  d><td>Point2Poin
224e0 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46  t Path</td><td>F
224f0 75 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ull</td><td alig
22500 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
22510 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22520 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e  ">0</td><td>Poin
22530 74 32 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e  t2Point Solution
22540 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22550 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22560 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22570 42 4c 4f 42 20 73 7a 3d 36 38 20 47 45 4f 4d 45  BLOB sz=68 GEOME
22580 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  TRY</td><td>BLOB
22590 20 73 7a 3d 36 38 20 47 45 4f 4d 45 54 52 59 3c   sz=68 GEOMETRY<
225a0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
225b0 69 67 68 74 22 3e 32 30 2e 30 30 30 30 30 30 3c  ight">20.000000<
225c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
225d0 69 67 68 74 22 3e 36 35 32 2e 38 31 35 31 33 39  ight">652.815139
225e0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
225f0 3d 31 35 35 32 20 47 45 4f 4d 45 54 52 59 3c 2f  =1552 GEOMETRY</
22600 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22610 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
22620 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22630 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22640 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
22650 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
22660 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22670 31 3c 2f 74 64 3e 3c 74 64 3e 49 6e 67 72 65 73  1</td><td>Ingres
22680 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e  s Path</td><td>N
22690 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
226a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
226b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
226c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
226d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
226e0 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33 30 31  gn="right">2.301
226f0 36 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  687</td><td>NULL
22700 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22710 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
22720 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
22730 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22740 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
22750 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
22760 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22770 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74  ">2</td><td>Part
22780 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72 74 29  ial Link (Start)
22790 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
227a0 72 69 67 68 74 22 3e 32 32 34 32 36 34 3c 2f 74  right">224264</t
227b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
227c0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
227d0 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74 64 3e  >182630</td><td>
227e0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
227f0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22800 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22810 67 68 74 22 3e 34 36 2e 30 38 32 37 36 31 3c 2f  ght">46.082761</
22820 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22830 3c 74 64 3e 56 49 41 20 44 45 27 20 43 45 4e 43  <td>VIA DE' CENC
22840 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
22850 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
22860 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22870 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
22880 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
22890 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
228a0 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e  ight">3</td><td>
228b0 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
228c0 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33 37 35  gn="right">22375
228d0 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  8</td><td align=
228e0 22 72 69 67 68 74 22 3e 31 38 32 36 33 30 3c 2f  "right">182630</
228f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22900 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e  ght">182629</td>
22910 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22920 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22930 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
22940 3d 22 72 69 67 68 74 22 3e 32 34 2e 31 39 38 31  ="right">24.1981
22950 31 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  15</td><td>NULL<
22960 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54  /td><td>CORSO IT
22970 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ALIA</td>..</tr>
22980 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
22990 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
229a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
229b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
229c0 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >0</td><td align
229d0 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c  ="right">4</td><
229e0 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
229f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
22a00 35 35 31 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  5512</td><td ali
22a10 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32  gn="right">18262
22a20 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
22a30 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 3c 2f  "right">182933</
22a40 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22a50 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22a60 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
22a70 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31  ign="right">34.1
22a80 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  84194</td><td>NU
22a90 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f  LL</td><td>CORSO
22aa0 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f   ITALIA</td>..</
22ab0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
22ac0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22ad0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22ae0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22af0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
22b00 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74  ign="right">5</t
22b10 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
22b20 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22b30 3e 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20  >225511</td><td 
22b40 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
22b50 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2933</td><td ali
22b60 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39  gn="right">18199
22b70 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
22b80 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22b90 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22ba0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
22bb0 39 2e 32 34 31 37 33 35 3c 2f 74 64 3e 3c 74 64  9.241735</td><td
22bc0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f  >NULL</td><td>CO
22bd0 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d  RSO ITALIA</td>.
22be0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
22bf0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22c00 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22c10 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22c20 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
22c30 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
22c40 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
22c50 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22c60 68 74 22 3e 32 32 32 36 33 35 3c 2f 74 64 3e 3c  ht">222635</td><
22c70 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22c80 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20  >181999</td><td 
22c90 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
22ca0 31 39 39 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  1998</td><td>NUL
22cb0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22cc0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22cd0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22ce0 22 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f 74 64  ">101.629750</td
22cf0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22d00 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f  d>CORSO ITALIA</
22d10 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
22d20 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
22d30 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22d40 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
22d50 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
22d60 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22d70 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">7</td><td>Lin
22d80 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
22d90 22 72 69 67 68 74 22 3e 32 32 34 37 38 30 3c 2f  "right">224780</
22da0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22db0 67 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e  ght">181998</td>
22dc0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22dd0 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64  ">183560</td><td
22de0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22df0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22e00 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22e10 69 67 68 74 22 3e 37 33 2e 37 33 33 35 37 32 3c  ight">73.733572<
22e20 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22e30 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e  ><td>VIA DELL'AN
22e40 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c  FITEATRO</td>..<
22e50 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
22e60 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22e70 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22e80 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22e90 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
22ea0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f  lign="right">8</
22eb0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
22ec0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22ed0 22 3e 32 32 35 38 32 37 3c 2f 74 64 3e 3c 74 64  ">225827</td><td
22ee0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
22ef0 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  83560</td><td al
22f00 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
22f10 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  86</td><td>NULL<
22f20 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22f30 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22f40 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22f50 34 32 2e 33 30 39 35 36 34 3c 2f 74 64 3e 3c 74  42.309564</td><t
22f60 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
22f70 49 41 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54  IA DELL'ANFITEAT
22f80 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  RO</td>..</tr>..
22f90 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
22fa0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22fb0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22fc0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
22fd0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22fe0 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64  right">9</td><td
22ff0 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
23000 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38  ign="right">2248
23010 39 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  97</td><td align
23020 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
23030 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
23040 69 67 68 74 22 3e 31 38 33 31 32 38 3c 2f 74 64  ight">183128</td
23050 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
23060 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
23070 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
23080 6e 3d 22 72 69 67 68 74 22 3e 37 32 2e 34 34 34  n="right">72.444
23090 36 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  609</td><td>NULL
230a0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52  </td><td>VIA MAR
230b0 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c  GARITONE</td>..<
230c0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
230d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
230e0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
230f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
23100 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
23110 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c  lign="right">10<
23120 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
23130 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
23140 74 22 3e 32 32 34 32 33 32 3c 2f 74 64 3e 3c 74  t">224232</td><t
23150 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
23160 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61  183128</td><td a
23170 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
23180 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  890</td><td>NULL
23190 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
231a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
231b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
231c0 3e 31 30 33 2e 36 31 32 32 32 31 3c 2f 74 64 3e  >103.612221</td>
231d0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
231e0 3e 56 49 41 20 4e 49 43 43 4f 4c 4f 27 20 41 52  >VIA NICCOLO' AR
231f0 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
23200 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
23210 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
23220 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23230 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
23240 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
23250 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64  n="right">11</td
23260 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c 69 6e  ><td>Partial Lin
23270 6b 20 28 45 6e 64 29 3c 2f 74 64 3e 3c 74 64 20  k (End)</td><td 
23280 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
23290 34 30 31 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4019</td><td ali
232a0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39  gn="right">18289
232b0 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  0</td><td>NULL</
232c0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
232d0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
232e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20  >NULL</td>..<td 
232f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 35  align="right">95
23300 2e 37 36 30 32 32 32 3c 2f 74 64 3e 3c 74 64 3e  .760222</td><td>
23310 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
23320 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e   ANTONIO GUADAGN
23330 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  OLI</td>..</tr>.
23340 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
23350 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
23360 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
23370 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
23380 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
23390 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 64 3e 3c  "right">12</td><
233a0 74 64 3e 45 67 72 65 73 73 20 50 61 74 68 3c 2f  td>Egress Path</
233b0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
233c0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
233d0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
233e0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
233f0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
23400 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
23410 74 22 3e 37 2e 33 31 36 37 30 39 3c 2f 74 64 3e  t">7.316709</td>
23420 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
23430 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
23440 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  >..</table>..<br
23450 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20 71 75 69  >..Let's now qui
23460 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65  ckly examine the
23470 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
23480 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65  ned by the above
23490 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69   <b>Point-to-Poi
234a0 6e 74 3c 2f 62 3e 20 71 75 65 72 79 3a 0d 0a 3c  nt</b> query:..<
234b0 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 65 6e  ul>..<li>the gen
234c0 65 72 61 6c 20 6c 61 79 6f 75 74 20 69 73 20 61  eral layout is a
234d0 6c 6d 6f 73 74 20 65 78 61 63 74 6c 79 20 74 68  lmost exactly th
234e0 65 20 73 61 6d 65 20 61 73 20 79 6f 75 27 76 65  e same as you've
234f0 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e   already seen in
23500 20 74 68 65 20 63 61 73 65 20 6f 66 20 53 68 6f   the case of Sho
23510 72 74 65 73 74 50 61 74 68 20 71 75 65 72 69 65  rtestPath querie
23520 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20  s.</li>..<li>in 
23530 74 68 65 20 73 70 65 63 69 66 69 63 20 63 61 73  the specific cas
23540 65 20 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  e of Point-to-Po
23550 69 6e 74 20 74 68 65 20 3c 62 3e 66 69 72 73 74  int the <b>first
23560 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20   row</b> of the 
23570 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c 20 61  resultset will a
23580 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 20 74 68  lways contain th
23590 65 20 66 6f 6c 6c 6f 77 69 6e 67 73 20 3c 62 3e  e followings <b>
235a0 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 63 6f 6c  NOT NULL</b> col
235b0 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  umns:..<ul>..<li
235c0 3e 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e  ><b>NodeFrom</b>
235d0 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f   and <b>NodeTo</
235e0 62 3e 3a 20 74 68 65 20 74 77 6f 20 47 65 6f 6d  b>: the two Geom
235f0 65 74 72 69 65 73 20 64 65 66 69 6e 69 6e 67 20  etries defining 
23600 74 68 65 20 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e  the <u><i>origin
23610 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 3c 75 3e  </i></u> and <u>
23620 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f  <i>destination</
23630 69 3e 3c 2f 75 3e 20 50 6f 69 6e 74 73 2e 3c 2f  i></u> Points.</
23640 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 6f 6c 65  li>..<li><b>Tole
23650 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 65 20 6d  rance</b>: the m
23660 61 78 69 6d 75 6d 20 64 69 73 74 61 6e 63 65 20  aximum distance 
23670 61 6c 6c 6f 77 65 64 20 62 65 74 77 65 65 6e 20  allowed between 
23680 74 68 65 20 72 65 66 65 72 65 6e 63 65 64 20 50  the referenced P
23690 6f 69 6e 74 73 20 61 6e 64 20 43 61 6e 64 69 64  oints and Candid
236a0 61 74 65 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d  ate Links.</li>.
236b0 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  .</ul></li>..<li
236c0 3e 74 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e  >the <b>Role</b>
236d0 20 63 6f 6c 75 6d 6e 20 63 61 6e 20 61 73 73 75   column can assu
236e0 6d 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f  me one of the fo
236f0 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a 0d  llowing values:.
23700 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 6f  .<ul>..<li><b>Po
23710 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c 75 74 69  int2Point Soluti
23720 6f 6e 3c 2f 62 3e 3a 20 74 68 65 20 68 65 61 64  on</b>: the head
23730 65 72 20 72 6f 77 20 73 75 6d 6d 61 72 69 7a 69  er row summarizi
23740 6e 67 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e 20  ng the Solution 
23750 61 73 20 61 20 77 68 6f 6c 65 2e 0d 0a 3c 75 6c  as a whole...<ul
23760 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 6f 69 6e 74 46  >..<li><b>PointF
23770 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e  rom</b>, <b>Poin
23780 74 54 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54  tTo</b> and <b>T
23790 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 20 63 6f 6c  olerance</b> col
237a0 75 6d 6e 73 20 77 69 6c 6c 20 68 61 76 65 20 3c  umns will have <
237b0 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76  b>NOT NULL</b> v
237c0 61 6c 75 65 73 20 6f 6e 6c 79 20 69 6e 20 74 68  alues only in th
237d0 65 20 68 65 61 64 65 72 20 72 6f 77 2e 3c 2f 6c  e header row.</l
237e0 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
237f0 3c 6c 69 3e 3c 62 3e 49 6e 67 72 65 73 73 20 50  <li><b>Ingress P
23800 61 74 68 3c 2f 62 3e 3a 20 61 20 73 74 72 61 69  ath</b>: a strai
23810 67 68 74 20 73 65 67 6d 65 6e 74 20 63 6f 6e 6e  ght segment conn
23820 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67 69  ecting the Origi
23830 6e 20 50 6f 69 6e 74 20 74 6f 20 74 68 65 20 66  n Point to the f
23840 69 72 73 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d  irst Link.</li>.
23850 0a 3c 6c 69 3e 3c 62 3e 45 67 72 65 73 73 20 50  .<li><b>Egress P
23860 61 74 68 3c 2f 62 3e 3a 20 61 20 73 74 72 61 69  ath</b>: a strai
23870 67 68 74 20 73 65 67 6d 65 6e 74 20 63 6f 6e 6e  ght segment conn
23880 65 63 74 69 6e 67 20 74 68 65 20 6c 61 73 74 20  ecting the last 
23890 4c 69 6e 6b 20 74 6f 20 74 68 65 20 44 65 73 74  Link to the Dest
238a0 69 6e 61 74 69 6f 6e 20 50 6f 69 6e 74 2e 0d 0a  ination Point...
238b0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 62 6f 74 68 20 74  <ul>..<li>both t
238c0 68 65 20 49 6e 67 72 65 73 73 20 61 6e 64 20 74  he Ingress and t
238d0 68 65 20 45 67 72 65 73 73 20 50 61 74 68 20 72  he Egress Path r
238e0 6f 77 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20  ows will always 
238f0 68 61 76 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e  have <b>NULL</b>
23900 20 76 61 6c 75 65 73 20 6f 6e 20 3c 62 3e 4c 69   values on <b>Li
23910 6e 6b 52 6f 77 69 64 3c 2f 62 3e 2c 20 3c 62 3e  nkRowid</b>, <b>
23920 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64  NodeFrom</b> and
23930 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63   <b>NodeTo</b> c
23940 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  olumns.</li>..</
23950 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  ul></li>..<li><b
23960 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53  >Partial Link (S
23970 74 61 72 74 29 3c 2f 62 3e 3a 20 74 68 65 20 70  tart)</b>: the p
23980 61 72 74 69 61 6c 20 73 65 63 74 69 6f 6e 20 6f  artial section o
23990 66 20 74 68 65 20 66 69 72 73 74 20 4c 69 6e 6b  f the first Link
239a0 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 69  ...<ul>..<li>thi
239b0 73 20 73 70 65 63 69 66 69 63 20 72 6f 77 20 77  s specific row w
239c0 69 6c 6c 20 61 6c 77 61 79 73 20 68 61 76 65 20  ill always have 
239d0 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61  a <b>NULL</b> va
239e0 6c 75 65 20 6f 6e 20 74 68 65 20 3c 62 3e 4e 6f  lue on the <b>No
239f0 64 65 46 72 6f 6d 3c 2f 62 3e 20 63 6f 6c 75 6d  deFrom</b> colum
23a00 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  n.</li>..</ul></
23a10 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74  li>..<li><b>Part
23a20 69 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f  ial Link (End)</
23a30 62 3e 3a 20 74 68 65 20 70 61 72 74 69 61 6c 20  b>: the partial 
23a40 73 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 6c  section of the l
23a50 61 73 74 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e 0d  ast Link...<ul>.
23a60 0a 3c 6c 69 3e 74 68 69 73 20 73 70 65 63 69 66  .<li>this specif
23a70 69 63 20 72 6f 77 20 77 69 6c 6c 20 61 6c 77 61  ic row will alwa
23a80 79 73 20 68 61 76 65 20 61 20 3c 62 3e 4e 55 4c  ys have a <b>NUL
23a90 4c 3c 2f 62 3e 20 76 61 6c 75 65 20 6f 6e 20 74  L</b> value on t
23aa0 68 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e  he <b>NodeTo</b>
23ab0 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a 3c   column.</li>..<
23ac0 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  /ul></li>..<li><
23ad0 62 3e 4c 69 6e 6b 3c 2f 62 3e 3a 20 61 6e 79 20  b>Link</b>: any 
23ae0 6f 74 68 65 72 20 4c 69 6e 6b 20 72 65 71 75 69  other Link requi
23af0 72 65 64 20 62 79 20 74 68 65 20 50 6f 69 6e 74  red by the Point
23b00 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69  -to-Point Soluti
23b10 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61  on...<ul>..<li>a
23b20 6c 6c 20 74 68 65 73 65 20 72 6f 77 73 20 77 69  ll these rows wi
23b30 6c 6c 20 61 6c 77 61 79 73 20 68 61 76 65 20 3c  ll always have <
23b40 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76  b>NOT NULL</b> v
23b50 61 6c 75 65 73 20 6f 6e 20 3c 62 3e 4c 69 6e 6b  alues on <b>Link
23b60 52 6f 77 69 64 3c 2f 62 3e 2c 20 3c 62 3e 4e 6f  Rowid</b>, <b>No
23b70 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c  deFrom</b> and <
23b80 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c  b>NodeTo</b> col
23b90 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  umns.</li>..</ul
23ba0 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  ></li>..</ul></l
23bb0 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c  i>..</ul>..<br><
23bc0 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 50 6f 69 6e  br><br>..<b>Poin
23bd0 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71  t-to-Point</b> q
23be0 75 65 72 69 65 73 20 63 61 6e 20 62 65 20 63 75  ueries can be cu
23bf0 73 74 6f 6d 69 7a 65 64 2c 20 62 75 74 20 74 68  stomized, but th
23c00 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20  e configuration 
23c10 72 75 6c 65 73 20 64 69 66 66 65 72 20 73 6c 69  rules differ sli
23c20 67 68 74 6c 79 20 66 72 6f 6d 20 77 68 61 74 20  ghtly from what 
23c30 79 6f 75 20 68 61 76 65 20 61 6c 72 65 61 64 79  you have already
23c40 20 73 65 65 6e 20 69 6e 20 74 68 65 20 70 72 65   seen in the pre
23c50 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 73 2e 0d  vious examples..
23c60 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 41 6c  .<ul>..<li><b>Al
23c70 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20 6f 6e 6c  gorithm</b>: onl
23c80 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61 3c 2f 62  y <b>Dijkstra</b
23c90 3e 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 62  > is supported b
23ca0 79 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f  y <b>Point-to-Po
23cb0 69 6e 74 3c 2f 62 3e 2c 20 61 6e 64 20 77 69 6c  int</b>, and wil
23cc0 6c 20 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 20  l be implicitly 
23cd0 61 73 73 75 6d 65 64 20 65 76 65 6e 20 77 68 65  assumed even whe
23ce0 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76  n the alternativ
23cf0 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f  e <b>A*</b> algo
23d00 72 69 74 68 6d 20 69 73 20 63 75 72 72 65 6e 74  rithm is current
23d10 6c 79 20 73 65 6c 65 63 74 65 64 2e 3c 62 72 3e  ly selected.<br>
23d20 0d 0a 54 68 69 73 20 69 73 20 62 65 63 61 75 73  ..This is becaus
23d30 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 6c  e the internal l
23d40 6f 67 69 63 20 6f 66 20 50 6f 69 6e 74 2d 74 6f  ogic of Point-to
23d50 2d 50 6f 69 6e 74 20 72 65 71 75 69 72 65 73 20  -Point requires 
23d60 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
23d70 6e 20 71 75 65 72 69 65 73 20 69 6e 20 6f 72 64  n queries in ord
23d80 65 72 20 74 6f 20 65 76 61 6c 75 61 74 65 20 61  er to evaluate a
23d90 6c 6c 20 70 6f 73 73 69 62 6c 65 20 43 61 6e 64  ll possible Cand
23da0 69 64 61 74 65 20 53 6f 6c 75 74 69 6f 6e 73 2e  idate Solutions.
23db0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4f 70  </li>..<li><b>Op
23dc0 74 69 6f 6e 73 3c 2f 62 3e 3a 20 74 68 65 20 75  tions</b>: the u
23dd0 73 75 61 6c 20 3c 62 3e 46 55 4c 4c 3c 2f 62 3e  sual <b>FULL</b>
23de0 2c 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e 2c  , <b>SIMPLE</b>,
23df0 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e   <b>NO LINKS</b>
23e00 20 61 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45   and <b>NO GEOME
23e10 54 52 49 45 53 3c 2f 62 3e 20 61 72 65 20 73 75  TRIES</b> are su
23e20 70 70 6f 72 74 65 64 20 61 6e 64 20 77 69 6c 6c  pported and will
23e30 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 65   have the same e
23e40 66 66 65 63 74 20 61 73 20 69 6e 20 73 69 6e 67  ffect as in sing
23e50 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71  le-destination q
23e60 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  ueries.</li>..<l
23e70 69 3e 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f  i><b>Tolerance</
23e80 62 3e 3a 20 74 68 69 73 20 73 65 74 74 69 6e 67  b>: this setting
23e90 20 69 73 20 73 70 65 63 69 66 69 63 20 74 6f 20   is specific to 
23ea0 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 2c 20  Point-to-Point, 
23eb0 61 6e 64 20 64 65 66 69 6e 65 73 20 74 68 65 20  and defines the 
23ec0 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 61 62 6c  maximum allowabl
23ed0 65 20 64 69 73 74 61 6e 63 65 20 62 65 74 77 65  e distance betwe
23ee0 65 6e 20 61 20 72 65 66 65 72 65 6e 63 65 20 50  en a reference P
23ef0 6f 69 6e 74 20 61 6e 64 20 43 61 6e 64 69 64 61  oint and Candida
23f00 74 65 20 4c 69 6e 6b 73 2e 3c 62 72 3e 0d 0a 49  te Links.<br>..I
23f10 74 20 64 65 66 61 75 6c 74 73 20 74 6f 20 3c 62  t defaults to <b
23f20 3e 32 30 2e 30 6d 3c 2f 62 3e 20 69 66 20 6e 6f  >20.0m</b> if no
23f30 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 74  t explicitly set
23f40 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
23f50 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
23f60 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74  E byfoot SET Opt
23f70 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 45 4f 4d 45  ions = 'NO GEOME
23f80 54 52 49 45 53 27 2c 20 54 6f 6c 65 72 61 6e 63  TRIES', Toleranc
23f90 65 20 3d 20 32 35 2e 35 3b 0d 0a 0d 0a 53 45 4c  e = 25.5;....SEL
23fa0 45 43 54 20 52 65 71 75 65 73 74 2c 20 4f 70 74  ECT Request, Opt
23fb0 69 6f 6e 73 2c 20 54 6f 6c 65 72 61 6e 63 65 2c  ions, Tolerance,
23fc0 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
23fd0 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
23fe0 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
23ff0 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
24000 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
24010 0a 57 48 45 52 45 20 50 6f 69 6e 74 46 72 6f 6d  .WHERE PointFrom
24020 20 3d 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20   = (SELECT geom 
24030 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77  FROM house_nr_vw
24040 20 57 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c   WHERE municipal
24050 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41  ity = 'AREZZO' A
24060 4e 44 20 61 64 64 72 65 73 73 20 3d 20 27 56 49  ND address = 'VI
24070 41 20 44 45 27 27 20 43 45 4e 43 49 20 31 33 27  A DE'' CENCI 13'
24080 29 0d 0a 20 20 20 20 41 4e 44 20 50 6f 69 6e 74  )..    AND Point
24090 54 6f 20 3d 20 28 53 45 4c 45 43 54 20 67 65 6f  To = (SELECT geo
240a0 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f  m FROM house_nr_
240b0 76 77 20 57 48 45 52 45 20 6d 75 6e 69 63 69 70  vw WHERE municip
240c0 61 6c 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f 27  ality = 'AREZZO'
240d0 20 41 4e 44 20 61 64 64 72 65 73 73 20 3d 20 27   AND address = '
240e0 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44  VIA ANTONIO GUAD
240f0 41 47 4e 4f 4c 49 20 31 39 2f 43 27 29 3b 0d 0a  AGNOLI 19/C');..
24100 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65  </verbatim>..The
24110 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65   following table
24120 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c   shows the resul
24130 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79  tset returned by
24140 20 74 68 65 20 61 62 6f 76 65 20 50 6f 69 6e 74   the above Point
24150 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79 20  -to-Point query 
24160 61 66 74 65 72 20 73 65 6c 65 63 74 69 6e 67 20  after selecting 
24170 3c 62 3e 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f  <b>Options = 'NO
24180 20 47 45 4f 4d 45 54 52 49 45 53 27 3c 2f 62 3e   GEOMETRIES'</b>
24190 20 61 6e 64 20 3c 62 3e 54 6f 6c 65 72 61 6e 63   and <b>Toleranc
241a0 65 20 3d 20 32 35 2e 35 3c 2f 62 3e 3c 62 72 3e  e = 25.5</b><br>
241b0 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72  <br>..<table bor
241c0 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d  der="1" bgcolor=
241d0 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70  "#ffffcf" cellsp
241e0 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61  acing="4" cellpa
241f0 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e  dding="6">..<tr>
24200 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
24210 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74  d0a0">Request</t
24220 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
24230 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c  d0d0a0">Options<
24240 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
24250 22 23 64 30 64 30 61 30 22 3e 54 6f 6c 65 72 61  "#d0d0a0">Tolera
24260 6e 63 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  nce</th><th bgco
24270 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
24280 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
24290 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
242a0 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
242b0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
242c0 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
242d0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
242e0 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
242f0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
24300 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
24310 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
24320 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
24330 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
24340 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
24350 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
24360 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
24370 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
24380 3c 74 64 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20  <td>Point2Point 
24390 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20  Path</td><td>No 
243a0 47 65 6f 6d 65 74 72 69 65 73 3c 2f 74 64 3e 3c  Geometries</td><
243b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
243c0 3e 32 35 2e 35 30 30 30 30 30 3c 2f 74 64 3e 3c  >25.500000</td><
243d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
243e0 3e 30 3c 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74  >0</td><td>Point
243f0 32 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 3c  2Point Solution<
24400 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24410 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24420 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
24430 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 35 31  lign="right">651
24440 2e 30 36 37 30 38 32 3c 2f 74 64 3e 3c 74 64 3e  .067082</td><td>
24450 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
24460 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
24470 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
24480 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24490 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
244a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
244b0 2f 74 64 3e 3c 74 64 3e 49 6e 67 72 65 73 73 20  /td><td>Ingress 
244c0 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  Path</td><td>NUL
244d0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
244e0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
244f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24500 22 3e 32 2e 33 30 31 36 38 37 3c 2f 74 64 3e 3c  ">2.301687</td><
24510 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24520 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
24530 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
24540 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24550 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24560 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24570 3e 32 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69  >2</td><td>Parti
24580 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72 74 29 3c  al Link (Start)<
24590 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
245a0 69 67 68 74 22 3e 32 32 34 32 36 34 3c 2f 74 64  ight">224264</td
245b0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
245c0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
245d0 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74 64 20 61  182630</td><td a
245e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 36 2e  lign="right">46.
245f0 30 38 32 37 36 31 3c 2f 74 64 3e 3c 74 64 3e 4e  082761</td><td>N
24600 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
24610 44 45 27 20 43 45 4e 43 49 3c 2f 74 64 3e 0d 0a  DE' CENCI</td>..
24620 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
24630 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24640 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24650 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24660 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e  ight">3</td><td>
24670 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
24680 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33 37 35  gn="right">22375
24690 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  8</td><td align=
246a0 22 72 69 67 68 74 22 3e 31 38 32 36 33 30 3c 2f  "right">182630</
246b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
246c0 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e  ght">182629</td>
246d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
246e0 22 3e 32 34 2e 31 39 38 31 31 35 3c 2f 74 64 3e  ">24.198115</td>
246f0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24700 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74  >CORSO ITALIA</t
24710 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
24720 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
24730 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24740 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
24750 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e  n="right">4</td>
24760 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
24770 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
24780 32 35 35 31 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  25512</td><td al
24790 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36  ign="right">1826
247a0 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  29</td><td align
247b0 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 3c  ="right">182933<
247c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
247d0 69 67 68 74 22 3e 33 34 2e 31 38 34 31 39 34 3c  ight">34.184194<
247e0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
247f0 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49  ><td>CORSO ITALI
24800 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  A</td>..</tr>..<
24810 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
24820 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24830 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
24840 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c  align="right">5<
24850 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
24860 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24870 74 22 3e 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74  t">225511</td><t
24880 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24890 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61  182933</td><td a
248a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
248b0 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  999</td><td alig
248c0 6e 3d 22 72 69 67 68 74 22 3e 34 39 2e 32 34 31  n="right">49.241
248d0 37 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  735</td><td>NULL
248e0 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49  </td><td>CORSO I
248f0 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  TALIA</td>..</tr
24900 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
24910 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24920 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24930 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24940 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">6</td><td>Link
24950 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24960 72 69 67 68 74 22 3e 32 32 35 38 30 30 3c 2f 74  right">225800</t
24970 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24980 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c  ht">181999</td><
24990 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
249a0 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
249b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 35  align="right">95
249c0 2e 35 39 32 32 30 34 3c 2f 74 64 3e 3c 74 64 3e  .592204</td><td>
249d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
249e0 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50   FRANCESCO CRISP
249f0 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
24a00 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
24a10 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24a20 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
24a30 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c  align="right">7<
24a40 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
24a50 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24a60 74 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74  t">219171</td><t
24a70 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24a80 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61  178880</td><td a
24a90 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
24aa0 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  732</td><td alig
24ab0 6e 3d 22 72 69 67 68 74 22 3e 39 33 2e 32 38 35  n="right">93.285
24ac0 35 33 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  538</td><td>NULL
24ad0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41  </td><td>VIA FRA
24ae0 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74  NCESCO CRISPI</t
24af0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
24b00 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
24b10 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24b20 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
24b30 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e  n="right">8</td>
24b40 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
24b50 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
24b60 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  19058</td><td al
24b70 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
24b80 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  32</td><td align
24b90 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c  ="right">178754<
24ba0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24bb0 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38 39  ight">148.656089
24bc0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24bd0 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45  d><td>VIA FRANCE
24be0 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d  SCO CRISPI</td>.
24bf0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
24c00 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24c10 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
24c20 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24c30 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64  right">9</td><td
24c40 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45  >Partial Link (E
24c50 6e 64 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  nd)</td><td alig
24c60 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 39  n="right">224019
24c70 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24c80 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c 2f 74  right">182890</t
24c90 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24ca0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24cb0 3e 31 35 30 2e 32 36 30 36 34 31 3c 2f 74 64 3e  >150.260641</td>
24cc0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24cd0 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41  >VIA ANTONIO GUA
24ce0 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f  DAGNOLI</td>..</
24cf0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
24d00 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
24d10 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24d20 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24d30 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 45  ht">10</td><td>E
24d40 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c  gress Path</td><
24d50 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24d60 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
24d70 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
24d80 22 72 69 67 68 74 22 3e 37 2e 32 36 34 31 31 38  "right">7.264118
24d90 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24da0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
24db0 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
24dc0 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20  ..<br><br>..The 
24dd0 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69  map below graphi
24de0 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20  cally shows the 
24df0 74 77 6f 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69  two Point-to-Poi
24e00 6e 74 20 53 6f 6c 75 74 69 6f 6e 73 20 72 65 74  nt Solutions ret
24e10 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65  urned by the pre
24e20 76 69 6f 75 73 20 71 75 65 72 69 65 73 2e 0d 0a  vious queries...
24e30 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73  <br><br>..<img s
24e40 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
24e50 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
24e60 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69  -sins/routing-fi
24e70 67 73 2f 70 6f 69 6e 74 2d 74 6f 2d 70 6f 69 6e  gs/point-to-poin
24e80 74 2e 6a 70 67 22 20 61 6c 74 3d 22 70 6f 69 6e  t.jpg" alt="poin
24e90 74 2d 74 6f 2d 70 6f 69 6e 74 22 3e 0d 0a 3c 75  t-to-point">..<u
24ea0 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 72 65 65  l>..<li>the gree
24eb0 6e 20 6c 69 6e 65 20 63 6f 72 72 65 73 70 6f 6e  n line correspon
24ec0 64 73 20 74 6f 20 74 68 65 20 66 69 72 73 74 20  ds to the first 
24ed0 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 50 6f 69  solution (<i>Poi
24ee0 6e 74 54 6f 20 3d 20 56 49 41 20 47 55 41 44 41  ntTo = VIA GUADA
24ef0 47 4e 4f 4c 49 20 31 39 2f 42 3c 2f 69 3e 29 2e  GNOLI 19/B</i>).
24f00 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 79  </li>..<li>the y
24f10 65 6c 6c 6f 77 20 6c 69 6e 65 20 63 6f 72 72 65  ellow line corre
24f20 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 73 65  sponds to the se
24f30 63 6f 6e 64 20 73 6f 6c 75 74 69 6f 6e 20 28 3c  cond solution (<
24f40 69 3e 50 6f 69 6e 74 54 6f 20 3d 20 56 49 41 20  i>PointTo = VIA 
24f50 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 43 3c  GUADAGNOLI 19/C<
24f60 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  /i>).</li>..</ul
24f70 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  >..<br>..<u>Note
24f80 3c 2f 75 3e 3a 20 50 6f 69 6e 74 2d 74 6f 2d 50  </u>: Point-to-P
24f90 6f 69 6e 74 20 71 75 65 72 69 65 73 20 61 72 65  oint queries are
24fa0 20 76 65 72 79 20 73 65 6e 73 69 74 69 76 65 2c   very sensitive,
24fb0 20 61 6e 64 20 61 20 76 65 72 79 20 62 6c 61 6e   and a very blan
24fc0 64 20 73 68 69 66 74 20 61 66 66 65 63 74 69 6e  d shift affectin
24fd0 67 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f  g the position o
24fe0 66 20 61 20 72 65 66 65 72 65 6e 63 65 20 50 6f  f a reference Po
24ff0 69 6e 74 20 63 6f 75 6c 64 20 65 61 73 69 6c 79  int could easily
25000 20 63 61 75 73 65 20 64 72 61 6d 61 74 69 63 20   cause dramatic 
25010 63 68 61 6e 67 65 73 20 69 6e 20 74 68 65 20 53  changes in the S
25020 6f 6c 75 74 69 6f 6e 27 73 20 50 61 74 68 20 28  olution's Path (
25030 61 73 20 69 73 20 69 6e 20 74 68 69 73 20 63 61  as is in this ca
25040 73 65 29 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  se)...<br><br>..
25050 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72 65  <hr><br>..<a hre
25060 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  f="https://www.g
25070 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69  aia-gis.it/fossi
25080 6c 2f 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f  l/libspatialite/
25090 77 69 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d  wiki?name=4.3.0-
250a0 64 6f 63 22 3e 62 61 63 6b 3c 2f 61 3e 0a 5a 20  doc">back</a>.Z 
250b0 65 33 31 65 31 62 37 61 33 38 62 37 34 65 31 32  e31e1b7a38b74e12
250c0 39 64 30 61 36 62 66 39 62 62 38 35 33 61 62 33  9d0a6bf9bb853ab3
250d0 0a                                               .