Hex Artifact Content
Not logged in

Artifact d1adad5857fa26b5cf0b78cddef20979f1371bd1:

Wiki page [VirtualRouting] by sandro 2018-04-26 11:50:04.
0000: 44 20 32 30 31 38 2d 30 34 2d 32 36 54 31 31 3a  D 2018-04-26T11:
0010: 35 30 3a 30 34 2e 35 35 33 0a 4c 20 56 69 72 74  50:04.553.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 64 32 35  ualRouting.P d25
0030: 31 61 33 33 35 35 30 30 62 66 61 32 33 30 35 33  1a335500bfa23053
0040: 33 32 39 64 33 36 38 66 32 33 30 37 39 32 38 64  329d368f2307928d
0050: 63 31 64 35 63 0a 55 20 73 61 6e 64 72 6f 0a 57  c1d5c.U sandro.W
0060: 20 31 35 31 36 33 39 0a 3c 61 20 68 72 65 66 3d   151639.<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 6e 64 20 74 6f 20 73 70 65 63  ntendend to spec
1870: 69 66 79 20 69 66 20 74 68 65 20 4c 69 6e 6b 20  ify if the Link 
1880: 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64  can be traversed
1890: 20 6f 6e 20 62 6f 74 68 20 64 69 72 65 63 74 69   on both directi
18a0: 6f 6e 73 20 6f 72 20 6a 75 73 74 20 69 6e 20 6f  ons or just in o
18b0: 6e 65 20 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f  ne (<b>one-way</
18c0: 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  b>).</li>..</ul>
18d0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 53 70  </li>..<li><u>Sp
18e0: 65 63 69 61 6c 20 63 61 73 65 3c 2f 75 3e 3a 20  ecial case</u>: 
18f0: 61 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 20 4c  a <b>forbidden L
1900: 69 6e 6b 3c 2f 62 3e 20 69 73 20 61 6e 79 20 70  ink</b> is any p
1910: 65 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 4c  erfectly valid L
1920: 69 6e 6b 20 74 68 61 74 20 66 6f 72 20 61 6e 79  ink that for any
1930: 20 67 6f 6f 64 20 72 65 61 73 6f 6e 20 63 61 6e   good reason can
1940: 20 6e 65 76 65 72 20 62 65 20 74 72 61 76 65 72   never be traver
1950: 73 65 64 20 69 6e 20 62 6f 74 68 20 64 69 72 65  sed in both dire
1960: 63 74 69 6f 6e 73 2e 20 50 72 61 63 74 69 63 61  ctions. Practica
1970: 6c 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 75 6c  l examples:..<ul
1980: 3e 0d 0a 3c 6c 69 3e 52 6f 61 64 20 4e 65 74 77  >..<li>Road Netw
1990: 6f 72 6b 73 3a 20 69 74 20 63 6f 75 6c 64 20 62  orks: it could b
19a0: 65 20 75 73 65 66 75 6c 20 72 65 70 72 65 73 65  e useful represe
19b0: 6e 74 69 6e 67 20 3c 62 3e 70 65 64 65 73 74 72  nting <b>pedestr
19c0: 69 61 6e 20 73 74 72 65 65 74 73 3c 2f 62 3e 20  ian streets</b> 
19d0: 61 6e 64 20 3c 62 3e 62 69 63 79 63 6c 65 20 6c  and <b>bicycle l
19e0: 61 6e 65 73 3c 2f 62 3e 2c 20 62 75 74 20 74 68  anes</b>, but th
19f0: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding 
1a00: 4c 69 6e 6b 73 20 77 69 6c 6c 20 62 65 20 61 6c  Links will be al
1a10: 77 61 79 73 20 66 6f 72 62 69 64 64 65 6e 20 74  ways forbidden t
1a20: 6f 20 63 61 72 20 63 69 72 63 75 6c 61 74 69 6f  o car circulatio
1a30: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c  n.</li>..<li>Tel
1a40: 63 6f 6d 20 2f 20 45 6c 65 63 74 72 69 63 61 6c  com / Electrical
1a50: 20 4e 65 74 77 6f 72 6b 73 3a 20 73 65 76 65 72   Networks: sever
1a60: 61 6c 20 4c 69 6e 6b 73 20 28 3c 62 3e 77 69 72  al Links (<b>wir
1a70: 65 73 3c 2f 62 3e 29 20 63 6f 75 6c 64 20 62 65  es</b>) could be
1a80: 20 70 68 79 73 69 63 61 6c 6c 79 20 69 6e 73 74   physically inst
1a90: 61 6c 6c 65 64 20 62 75 74 20 74 65 6d 70 6f 72  alled but tempor
1aa0: 61 72 69 6c 79 20 3c 62 3e 6f 75 74 2d 6f 66 2d  arily <b>out-of-
1ab0: 73 65 72 76 69 63 65 3c 2f 62 3e 20 66 6f 72 20  service</b> for 
1ac0: 74 65 63 68 6e 69 63 61 6c 20 72 65 61 73 6f 6e  technical reason
1ad0: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  s.</li>..</ul></
1ae0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e  li>..</ul>..<h4>
1af0: 4c 6f 67 69 63 61 6c 20 63 6f 6e 63 6c 75 73 69  Logical conclusi
1b00: 6f 6e 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f  ons</h4>..Any to
1b10: 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69  pologically vali
1b20: 64 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e  d <b>Network</b>
1b30: 20 28 69 72 72 65 73 70 65 63 74 69 76 65 20 6f   (irrespective o
1b40: 66 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20  f whether it is 
1b50: 61 20 3c 62 3e 53 70 61 74 69 61 6c 3c 2f 62 3e  a <b>Spatial</b>
1b60: 20 6f 72 20 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f   or <b>Logical</
1b70: 62 3e 20 74 79 70 65 29 20 69 73 20 61 20 76 61  b> type) is a va
1b80: 6c 69 64 20 3c 62 3e 47 72 61 70 68 3c 2f 62 3e  lid <b>Graph</b>
1b90: 2e 3c 62 72 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b  .<br>..A Network
1ba0: 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 75   allowing the su
1bb0: 70 70 6f 72 74 20 28 64 69 72 65 63 74 20 6f 72  pport (direct or
1bc0: 20 69 6e 64 69 72 65 63 74 29 20 6f 66 20 73 6f   indirect) of so
1bd0: 6d 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c  me appropriate <
1be0: 62 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e  b>cost value</b>
1bf0: 20 69 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 57   is a valid <b>W
1c00: 65 69 67 68 74 65 64 20 47 72 61 70 68 3c 2f 62  eighted Graph</b
1c10: 3e 2c 20 61 6e 64 20 63 61 6e 20 63 6f 6e 73 65  >, and can conse
1c20: 71 75 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20  quently support 
1c30: 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72  <b>Routing algor
1c40: 69 74 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  ithms</b>.<br>..
1c50: 41 6c 6c 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f  All Routing algo
1c60: 72 69 74 68 6d 73 20 61 72 65 20 69 6e 74 65 6e  rithms are inten
1c70: 64 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20  ded to identify 
1c80: 74 68 65 20 3c 62 3e 53 68 6f 72 74 65 73 74 20  the <b>Shortest 
1c90: 50 61 74 68 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f  Path</b> solutio
1ca0: 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 77 6f  n connecting two
1cb0: 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e   <b>Nodes</b> in
1cc0: 20 61 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67   a <b>weighted g
1cd0: 72 61 70 68 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61  raph</b> (<i>aka
1ce0: 3c 2f 69 3e 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c  </i> <b>Network<
1cf0: 2f 62 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  /b>).<br><br>..<
1d00: 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62  b><u>Note</u></b
1d10: 3e 3a 20 74 68 65 20 74 65 72 6d 20 3c 62 3e 3c  >: the term <b><
1d20: 69 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c  i>Shortest Path<
1d30: 2f 69 3e 3c 2f 62 3e 20 63 61 6e 20 62 65 20 65  /i></b> can be e
1d40: 61 73 69 6c 79 20 6d 69 73 75 6e 64 65 72 73 74  asily misunderst
1d50: 6f 6f 64 2e 3c 62 72 3e 0d 0a 44 75 65 20 74 6f  ood.<br>..Due to
1d60: 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73   historical reas
1d70: 6f 6e 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d  ons the most com
1d80: 6d 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20  mon application 
1d90: 66 69 65 6c 64 20 66 6f 72 20 52 6f 75 74 69 6e  field for Routin
1da0: 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 69 73 20  g algorithms is 
1db0: 72 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e 52 6f  related to <b>Ro
1dc0: 61 64 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c  ad Networks</b>,
1dd0: 20 62 75 74 20 61 6c 73 6f 20 6d 61 6e 79 20 6f   but also many o
1de0: 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 4e 65  ther kinds of Ne
1df0: 74 77 6f 72 6b 73 20 65 78 69 73 74 3a 0d 0a 3c  tworks exist:..<
1e00: 75 6c 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f 67 72  ul>..<li>Hydrogr
1e10: 61 70 68 69 63 20 4e 65 74 77 6f 72 6b 73 2e 3c  aphic Networks.<
1e20: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20  /li>..<li>Gas / 
1e30: 57 61 74 65 72 20 2f 20 4f 69 6c 20 4e 65 74 77  Water / Oil Netw
1e40: 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  orks.</li>..<li>
1e50: 45 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f  Electrical Netwo
1e60: 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54  rks.</li>..<li>T
1e70: 65 6c 65 63 6f 6d 75 6e 69 63 61 74 69 6f 6e 20  elecomunication 
1e80: 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a  Networks.</li>..
1e90: 3c 6c 69 3e 53 6f 63 69 61 6c 20 6f 72 20 45 63  <li>Social or Ec
1ea0: 6f 6e 6f 6d 69 63 61 6c 20 4e 65 74 77 6f 72 6b  onomical Network
1eb0: 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 72  s representing r
1ec0: 65 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74  elationships bet
1ed0: 77 65 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73  ween individuals
1ee0: 20 6f 72 20 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f   or companies.</
1ef0: 6c 69 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65 6d 69  li>..<li>Epidemi
1f00: 6f 6c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b  ological Network
1f10: 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74  s representing t
1f20: 68 65 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f  he propagation o
1f30: 66 20 69 6e 66 65 63 74 69 76 65 20 64 69 73 65  f infective dise
1f40: 61 73 65 73 20 62 65 74 77 65 65 6e 20 69 6e 64  ases between ind
1f50: 69 76 69 64 75 61 6c 73 20 6f 72 20 67 72 6f 75  ividuals or grou
1f60: 70 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  ps.</li>..</ul><
1f70: 2f 6c 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20  /li> ..<br>..In 
1f80: 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 63 61  all the above ca
1f90: 73 65 73 20 77 65 20 63 65 72 74 61 69 6e 6c 79  ses we certainly
1fa0: 20 68 61 76 65 20 76 61 6c 69 64 20 4e 65 74 77   have valid Netw
1fb0: 6f 72 6b 73 20 73 75 70 70 6f 72 74 69 6e 67 20  orks supporting 
1fc0: 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68  Routing algorith
1fd0: 6e 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20  ns, but not all 
1fe0: 6f 66 20 74 68 65 6d 20 63 61 6e 20 69 6d 70 6c  of them can impl
1ff0: 79 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65  y something like
2000: 20 61 20 3c 69 3e 73 70 61 74 69 61 6c 20 64 69   a <i>spatial di
2010: 73 74 61 6e 63 65 3c 2f 69 3e 20 28 3c 69 3e 67  stance</i> (<i>g
2020: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c  eometric length<
2030: 2f 69 3e 29 20 6f 72 20 61 20 3c 69 3e 74 72 61  /i>) or a <i>tra
2040: 76 65 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72  vel time</i>.<br
2050: 3e 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 67  >..In the most g
2060: 65 6e 65 72 61 6c 20 61 63 63 65 70 74 69 6f 6e  eneral acception
2070: 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 63 61   <b>costs</b> ca
2080: 6e 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64  n be represented
2090: 20 62 79 20 61 6e 79 20 72 65 61 73 6f 6e 61 62   by any reasonab
20a0: 6c 65 20 70 68 79 73 69 63 61 6c 20 71 75 61 6e  le physical quan
20b0: 74 69 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20  tity.<br>..So a 
20c0: 6d 6f 72 65 20 67 65 6e 65 72 61 6c 69 7a 65 64  more generalized
20d0: 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 61   definition is a
20e0: 73 73 75 6d 69 6e 67 20 74 68 61 74 20 52 6f 75  ssuming that Rou
20f0: 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20  ting algorithms 
2100: 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20  are intended to 
2110: 69 64 65 6e 74 69 66 79 20 3c 62 3e 6c 65 73 73  identify <b>less
2120: 65 72 20 63 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75  er cost</b> solu
2130: 74 69 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e 77 65  tions on a <b>we
2140: 69 67 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e  ighted graph</b>
2150: 2e 3c 62 72 3e 0d 0a 54 68 65 20 65 78 61 63 74  .<br>..The exact
2160: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20   interpretation 
2170: 6f 66 20 74 68 65 20 69 6e 76 6f 6c 76 65 64 20  of the involved 
2180: 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 28 3c 69  <b>costs</b> (<i
2190: 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65 69 67  >aka</i> <b>weig
21a0: 68 74 73 3c 2f 62 3e 29 20 73 74 72 69 63 74 6c  hts</b>) strictl
21b0: 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65  y depends on the
21c0: 20 76 65 72 79 20 73 70 65 63 69 66 69 63 20 6e   very specific n
21d0: 61 74 75 72 65 20 6f 66 20 65 61 63 68 20 4e 65  ature of each Ne
21e0: 74 77 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20  twork...<h3>The 
21f0: 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72  Dijkstra's algor
2200: 69 74 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69 73 20  ithm</h3>..This 
2210: 77 65 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20 68 72  well known <a hr
2220: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77  ef="https://en.w
2230: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b  ikipedia.org/wik
2240: 69 2f 44 69 6a 6b 73 74 72 61 25 32 37 73 5f 61  i/Dijkstra%27s_a
2250: 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 67 6f 72 69  lgorithm">algori
2260: 74 68 6d 3c 2f 61 3e 20 69 73 6e 27 74 20 6e 65  thm</a> isn't ne
2270: 63 65 73 73 61 72 69 6c 79 20 74 68 65 20 66 61  cessarily the fa
2280: 73 74 65 73 74 20 6f 6e 65 2c 20 62 75 74 20 69  stest one, but i
2290: 74 20 61 6c 77 61 79 73 20 65 6e 73 75 72 65 73  t always ensures
22a0: 20 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74   <b>full correct
22b0: 6e 65 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d  ness</b>:..<ul>.
22c0: 0a 3c 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f  .<li>Any Node-to
22d0: 2d 4e 6f 64 65 20 63 6f 6e 6e 65 63 74 69 6f 6e  -Node connection
22e0: 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 44   identified by D
22f0: 69 6a 6b 73 74 72 61 27 73 20 69 73 20 63 65 72  ijkstra's is cer
2300: 74 61 69 6e 6c 79 20 65 6e 73 75 72 65 64 20 74  tainly ensured t
2310: 6f 20 62 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c  o be <b>optimal<
2320: 2f 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68  /b>.<br>..In oth
2330: 65 72 20 77 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e  er words, no con
2340: 6e 65 63 74 69 6f 6e 20 70 72 65 73 65 6e 74 69  nection presenti
2350: 6e 67 20 61 20 6c 6f 77 65 72 20 63 6f 73 74 20  ng a lower cost 
2360: 63 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79  can conceptually
2370: 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c   exist.</li>..<l
2380: 69 3e 57 68 65 6e 20 44 69 6a 73 6a 74 72 61 27  i>When Dijsjtra'
2390: 73 20 66 61 69 6c 73 20 74 6f 20 69 64 65 6e 74  s fails to ident
23a0: 69 66 79 20 61 20 73 6f 6c 75 74 69 6f 6e 20 74  ify a solution t
23b0: 68 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e 73  his surely means
23c0: 20 74 68 61 74 20 6e 6f 20 73 6f 6c 75 74 69 6f   that no solutio
23d0: 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 3c 2f  n is possible.</
23e0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e  li>..</ul>..<h3>
23f0: 54 68 65 20 41 2a 20 61 6c 67 6f 72 69 74 68 6d  The A* algorithm
2400: 3c 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74 65  </h3>..Many alte
2410: 72 6e 61 74 69 76 65 20 52 6f 75 74 69 6e 67 20  rnative Routing 
2420: 61 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65 20  algorithms have 
2430: 62 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64 75  been invented du
2440: 72 69 6e 67 20 74 68 65 20 79 65 61 72 73 2e 3c  ring the years.<
2450: 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d 20 61 72  br>..All them ar
2460: 65 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 69  e based on heuri
2470: 73 74 69 63 20 61 73 73 75 6d 70 74 69 6f 6e 73  stic assumptions
2480: 20 61 6e 64 20 61 72 65 20 69 6e 74 65 6e 64 65   and are intende
2490: 64 20 74 6f 20 62 65 20 66 61 73 74 65 72 20 74  d to be faster t
24a0: 68 61 6e 20 44 69 6a 6b 73 74 72 61 27 73 2c 20  han Dijkstra's, 
24b0: 62 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d  but none of them
24c0: 20 63 61 6e 20 65 6e 73 75 72 65 20 3c 62 3e 66   can ensure <b>f
24d0: 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73 3c  ull correctness<
24e0: 2f 62 3e 20 61 73 20 44 69 6a 6b 73 74 72 61 27  /b> as Dijkstra'
24f0: 73 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68 65  s does.<br>..The
2500: 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a   <a href="https:
2510: 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f  //en.wikipedia.o
2520: 72 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 61 72 63  rg/wiki/A*_searc
2530: 68 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 41 2a 20  h_algorithm">A* 
2540: 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 61 70  algorithm</a> ap
2550: 70 6c 69 65 73 20 61 20 6d 69 6c 64 20 68 65 75  plies a mild heu
2560: 72 69 73 74 69 63 20 6f 70 74 69 6d 69 7a 61 74  ristic optimizat
2570: 69 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 62 65 20  ion, and can be 
2580: 61 20 72 65 61 6c 69 73 74 69 63 20 61 6c 74 65  a realistic alte
2590: 72 6e 61 74 69 76 65 20 74 6f 20 44 69 6a 6b 73  rnative to Dijks
25a0: 74 72 61 27 73 20 69 6e 20 6d 61 6e 79 20 63 61  tra's in many ca
25b0: 73 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68  ses.<br><br>..<h
25c0: 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d  r>..<h1><a name=
25d0: 22 73 61 6d 70 6c 65 22 3e 32 20 2d 20 54 68 65  "sample">2 - The
25e0: 20 73 61 6d 70 6c 65 2f 74 65 73 74 20 44 42 3c   sample/test DB<
25f0: 2f 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61 72  /a></h1>..You ar
2600: 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 66 6f  e expected to fo
2610: 6c 6c 6f 77 20 74 68 65 20 63 75 72 72 65 6e 74  llow the current
2620: 20 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 74 20   tutorial about 
2630: 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  <b>VirtualRoutin
2640: 67 3c 2f 62 3e 20 62 79 20 64 69 72 65 63 74 6c  g</b> by directl
2650: 79 20 74 65 73 74 69 6e 67 20 61 6c 6c 20 53 51  y testing all SQ
2660: 4c 20 71 75 65 72 69 65 73 20 64 69 73 63 75 73  L queries discus
2670: 73 65 64 20 20 62 65 6c 6f 77 20 77 69 74 68 20  sed  below with 
2680: 74 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74  the <a href="htt
2690: 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69  ps://www.gaia-gi
26a0: 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72  s.it/gaia-sins/r
26b0: 6f 75 74 69 6e 67 2d 73 61 6d 70 6c 65 2d 35 2e  outing-sample-5.
26c0: 30 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c 65 2f 74  0.0.7z">sample/t
26d0: 65 73 74 20 44 42 20 74 68 61 74 20 79 6f 75 20  est DB that you 
26e0: 63 61 6e 20 64 6f 77 6e 6c 6f 61 64 20 66 72 6f  can download fro
26f0: 6d 20 68 65 72 65 3c 2f 61 3e 3c 62 72 3e 3c 62  m here</a><br><b
2700: 72 3e 0d 0a 54 68 65 20 73 61 6d 70 6c 65 20 44  r>..The sample D
2710: 42 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66  B contains the f
2720: 75 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e 65 74 77  ull <b>road netw
2730: 6f 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62 3e 54 75  ork</b> of <b>Tu
2740: 73 63 61 6e 79 20 52 65 67 69 6f 6e 20 28 49 74  scany Region (It
2750: 61 6c 79 29 3c 2f 62 3e 20 28 3c 61 20 68 72 65  aly)</b> (<a hre
2760: 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32  f="http://www502
2770: 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61  .regione.toscana
2780: 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f  .it/geoscopio/do
2790: 77 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f 73 74 72  wnload/grafo_str
27a0: 61 64 61 6c 65 2f 69 74 65 72 6e 65 74 2e 7a 69  adale/iternet.zi
27b0: 70 22 3e 49 74 65 72 2e 4e 65 74 20 64 61 74 61  p">Iter.Net data
27c0: 73 65 74 3c 2f 61 3e 29 20 6b 69 6e 64 6c 79 20  set</a>) kindly 
27d0: 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74  released under t
27e0: 68 65 20 3c 62 3e 43 43 2d 42 59 2d 53 41 20 34  he <b>CC-BY-SA 4
27f0: 2e 30 3c 2f 62 3e 20 6c 69 63 65 6e 63 65 20 74  .0</b> licence t
2800: 65 72 6d 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 74 68  erms.<br>..Allth
2810: 6f 75 67 68 20 74 68 65 20 63 6f 6e 74 65 6e 74  ough the content
2820: 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20  s stored in the 
2830: 73 61 6d 70 6c 65 20 64 61 74 61 62 61 73 65 20  sample database 
2840: 68 61 76 65 20 62 65 65 6e 20 72 65 61 72 72 61  have been rearra
2850: 6e 67 65 64 2c 20 69 74 20 69 73 20 73 74 69 6c  nged, it is stil
2860: 6c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65  l subject to the
2870: 20 69 6e 69 74 69 61 6c 20 3c 62 3e 43 43 2d 42   initial <b>CC-B
2880: 59 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 63 6c 61  Y-SA 4.0</b> cla
2890: 75 73 65 73 20 28 3c 69 3e 64 65 72 69 76 65 64  uses (<i>derived
28a0: 20 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a 3c 62 72   work</i>)...<br
28b0: 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  ><br>..<ul>..<li
28c0: 3e 61 6c 6c 20 72 6f 61 64 20 6e 61 6d 65 73 20  >all road names 
28d0: 61 72 65 20 73 74 6f 72 65 64 20 77 69 74 68 69  are stored withi
28e0: 6e 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79 6d  n the <b>toponym
28f0: 73 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c 62 72 3e  s</b> Table.<br>
2900: 0d 0a 73 69 6e 63 65 20 74 68 65 20 73 61 6d 65  ..since the same
2910: 20 72 6f 61 64 20 6e 61 6d 65 73 20 63 6f 75 6c   road names coul
2920: 64 20 62 65 20 75 73 65 64 20 69 6e 20 64 69 66  d be used in dif
2930: 66 65 72 65 6e 74 20 4d 75 6e 69 63 69 70 61 6c  ferent Municipal
2940: 69 74 69 65 73 2c 20 74 68 65 20 3c 62 3e 74 6f  ities, the <b>to
2950: 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c 65  ponyms</b> Table
2960: 20 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72 65   relationally re
2970: 66 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62 3e  ferences the <b>
2980: 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c 2f  municipalities</
2990: 62 3e 20 54 61 62 6c 65 20 28 76 69 61 20 3c 62  b> Table (via <b
29a0: 3e 50 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20 3c  >PRIMARY</b> / <
29b0: 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f 62  b>FOREIGN KEY</b
29c0: 3e 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 29  > relationships)
29d0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  .</li>..<li>the 
29e0: 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70 61  <b>roads</b> Spa
29f0: 74 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74 61  tial Table conta
2a00: 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e 33 38 30  ins about <b>380
2a10: 2c 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c 20  ,000</b> Links, 
2a20: 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c 6c  and has the foll
2a30: 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d 0a  owing columns:..
2a40: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 3c  <ul>..<li><b>id<
2a50: 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65 6e  /b>: unique iden
2a60: 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20 4c  tifier of each L
2a70: 69 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59 20  ink (<b>PRIMARY 
2a80: 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a  KEY</b>).</li>..
2a90: 3c 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f 6d  <li><b>node_from
2aa0: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64 65  </b> and <b>node
2ab0: 5f 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69 64  _to</b>: Node id
2ac0: 65 6e 74 69 66 69 65 72 73 2e 0d 0a 54 68 65 20  entifiers...The 
2ad0: 6f 72 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e 65  original Iter.Ne
2ae0: 74 20 64 61 74 61 73 65 74 20 61 64 6f 70 74 73  t dataset adopts
2af0: 20 76 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63 6f   very long an co
2b00: 6d 70 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65 72  mplex alphanumer
2b10: 69 63 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20 74  ic Node codes; t
2b20: 68 65 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20  he integer Node 
2b30: 49 44 73 20 77 65 72 65 20 6f 62 74 61 69 6e 65  IDs were obtaine
2b40: 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65  d by calling the
2b50: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e   <b>CreateRoutin
2b60: 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51 4c  gNodes()</b> SQL
2b70: 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 75 73   function discus
2b80: 73 65 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77 69  sed in a followi
2b90: 6e 67 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69 3e  ng section.</li>
2ba0: 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70 6f  ..<li><b>id_topo
2bb0: 6e 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69 6f  nym</b>: relatio
2bc0: 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74 6f  nal reference to
2bd0: 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69   the correspondi
2be0: 6e 67 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f 6e  ng road name con
2bf0: 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20  tained into the 
2c00: 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20  <b>toponyms</b> 
2c10: 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47  Table (<b>FOREIG
2c20: 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e  N KEY</b>).</li>
2c30: 0d 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f 6b  ..<li><b>speed_k
2c40: 6d 68 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74 69  mh</b>: the esti
2c50: 6d 61 74 65 64 20 61 76 65 72 61 67 65 20 73 70  mated average sp
2c60: 65 65 64 20 73 75 70 70 6f 72 74 65 64 20 62 79  eed supported by
2c70: 20 74 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72 65   the Link, expre
2c80: 73 73 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68 3c  ssed in <b>km/h<
2c90: 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  /b>.<br>..<u>Not
2ca0: 65 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74 69  e</u>: <b>negati
2cb0: 76 65 3c 2f 62 3e 20 73 70 65 65 64 73 20 69 6e  ve</b> speeds in
2cc0: 74 65 6e 64 20 61 20 66 6f 72 62 69 64 64 65 6e  tend a forbidden
2cd0: 20 4c 69 6e 6b 20 28 61 73 20 69 74 20 63 6f 75   Link (as it cou
2ce0: 6c 64 20 62 65 20 74 68 65 20 63 61 73 65 20 6f  ld be the case o
2cf0: 66 20 70 65 64 65 73 74 72 69 61 6e 20 73 74 72  f pedestrian str
2d00: 65 65 74 73 20 6f 72 20 62 69 63 79 63 6c 65 20  eets or bicycle 
2d10: 6c 61 6e 65 73 20 65 78 6c 75 64 69 6e 67 20 6d  lanes exluding m
2d20: 6f 74 6f 72 20 76 65 68 69 63 6c 65 73 29 2e 3c  otor vehicles).<
2d30: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6f 6e 65  /li>..<li><b>one
2d40: 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 3e 20 61  way_fromto</b> a
2d50: 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66  nd <b>oneway_tof
2d60: 72 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c 65 61 6e  rom</b>: boolean
2d70: 20 66 6c 61 67 73 20 64 65 74 65 72 6d 69 6e 65   flags determine
2d80: 20 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e 20 62   if a Link can b
2d90: 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20 62  e traversed in b
2da0: 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20 6f  oth directions o
2db0: 72 20 6a 75 73 74 20 69 6e 20 61 20 73 69 6e 67  r just in a sing
2dc0: 6c 65 20 64 69 72 65 63 74 69 6f 6e 20 28 3c 62  le direction (<b
2dd0: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c 62  >one-way</b>).<b
2de0: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a  r>..<u>Note</u>:
2df0: 20 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63 6c 61   all Links decla
2e00: 72 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79 5f 66  ring <b>oneway_f
2e10: 72 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64 20  romto=0</b> and 
2e20: 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d  <b>oneway_tofrom
2e30: 3d 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74 65 6e  =0</b> are inten
2e40: 64 65 64 20 74 6f 20 62 65 20 61 6c 77 61 79 73  ded to be always
2e50: 20 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c 69 3e   forbidden.</li>
2e60: 0d 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f 62  ..<li><b>cost</b
2e70: 3e 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c 2f  >: the <b>time</
2e80: 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e 20  b> expressed in 
2e90: 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20 72  <b>seconds</b> r
2ea0: 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 76 65  equired to trave
2eb0: 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62  rse each Link.<b
2ec0: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f  r>..<u>Note #1</
2ed0: 75 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77 65 72  u> all costs wer
2ee0: 65 20 63 61 6c 63 75 6c 61 74 65 64 20 61 63 63  e calculated acc
2ef0: 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20  ordingly to the 
2f00: 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 75 6c  following formul
2f10: 61 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28 28 53  a: <b>cost = ((S
2f20: 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20 2f  T_Length(geom) /
2f30: 20 31 30 30 30 2e 30 29 20 2f 20 73 70 65 65 64   1000.0) / speed
2f40: 5f 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30 3c 2f  _kmh) * 3600.0</
2f50: 62 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20  b><br>..<u>Note 
2f60: 23 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38 36  #2</u> all <b>86
2f70: 2c 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73 74 20  ,400.0</b> cost 
2f80: 76 61 6c 75 65 73 20 28 65 71 75 69 76 61 6c 65  values (equivale
2f90: 6e 74 20 74 6f 20 31 20 64 61 79 29 20 69 6d 70  nt to 1 day) imp
2fa0: 6c 79 20 61 6e 20 3c 62 3e 69 6e 66 69 6e 69 74  ly an <b>infinit
2fb0: 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 74 68 75  ive cost</b> thu
2fc0: 73 20 69 6e 74 65 6e 64 69 6e 67 20 61 20 3c 62  s intending a <b
2fd0: 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20 4c  >forbidden</b> L
2fe0: 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ink.</li>..<li><
2ff0: 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c 62  b>geom</b>: a <b
3000: 3e 33 44 20 4c 69 6e 65 73 74 72 69 6e 67 3c 2f  >3D Linestring</
3010: 62 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20  b> representing 
3020: 74 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66 20  the Geometry of 
3030: 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a  each Link.<br>..
3040: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 65  <u>Note</u>: the
3050: 20 6f 72 69 67 69 6e 61 6c 20 3c 62 3e 49 74 65   original <b>Ite
3060: 72 2e 4e 65 74 3c 2f 62 3e 20 64 61 74 61 73 65  r.Net</b> datase
3070: 74 20 69 73 20 6a 75 73 74 20 3c 62 3e 32 44 3c  t is just <b>2D<
3080: 2f 62 3e 3b 20 65 6c 65 76 61 74 69 6f 6e 73 20  /b>; elevations 
3090: 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64 69  (<b>Z</b> coordi
30a0: 6e 61 74 65 73 29 20 77 65 72 65 20 69 6e 74 65  nates) were inte
30b0: 72 70 6f 6c 61 74 65 64 20 62 79 20 64 72 61 70  rpolated by drap
30c0: 69 6e 67 20 74 68 65 20 64 61 74 61 73 65 74 20  ing the dataset 
30d0: 6f 76 65 72 20 61 6e 20 3c 61 20 68 72 65 66 3d  over an <a href=
30e0: 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e 72  "http://www502.r
30f0: 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e 69  egione.toscana.i
3100: 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77 6e  t/geoscopio/down
3110: 6c 6f 61 64 2f 61 6c 74 69 6d 65 74 72 69 61 2f  load/altimetria/
3120: 64 61 5f 63 74 72 31 30 6b 2f 67 62 2f 44 54 4d  da_ctr10k/gb/DTM
3130: 5f 4f 72 6f 67 72 61 66 69 63 6f 2e 37 7a 22 3e  _Orografico.7z">
3140: 6f 72 6f 67 72 61 70 68 69 63 20 44 45 4d 20 28  orographic DEM (
3150: 31 30 6d 20 58 20 31 30 6d 20 63 65 6c 6c 73 29  10m X 10m cells)
3160: 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  </a></li>..</ul>
3170: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  </li>..<li>the <
3180: 62 3e 72 6f 61 64 73 5f 76 77 3c 2f 62 3e 20 53  b>roads_vw</b> S
3190: 70 61 74 69 61 6c 20 56 69 65 77 20 72 65 73 6f  patial View reso
31a0: 6c 76 65 73 20 61 6c 6c 20 72 65 6c 61 74 69 6f  lves all relatio
31b0: 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20 62  nal references b
31c0: 65 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73 3c  etween <b>roads<
31d0: 2f 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73  /b>, <b>toponyms
31e0: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e 69  </b> and <b>muni
31f0: 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c 20  cipalities</b>, 
3200: 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66 6f  thus allowing fo
3210: 72 20 65 61 73 69 65 72 20 53 51 4c 20 71 75 65  r easier SQL que
3220: 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ries.</li>..<li>
3230: 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c  the <b>house_nr<
3240: 2f 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62 6c  /b> Spatial Tabl
3250: 65 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75 74  e contains about
3260: 20 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f 62   <b>1,480,000</b
3270: 3e 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 2c  > House Numbers,
3280: 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c   and has the fol
3290: 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d  lowing columns:.
32a0: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64  .<ul>..<li><b>id
32b0: 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65  </b>: unique ide
32c0: 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20  ntifier of each 
32d0: 48 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c 62  House Number (<b
32e0: 3e 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62 3e  >PRIMARY KEY</b>
32f0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  ).</li>..<li><b>
3300: 69 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65 6c  id_road</b>: rel
3310: 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63  ational referenc
3320: 65 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70  e to the corresp
3330: 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e 74  onding Link cont
3340: 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20 3c  ained into the <
3350: 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62 6c  b>roads</b> Tabl
3360: 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45  e (<b>FOREIGN KE
3370: 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  Y</b>).</li>..<l
3380: 69 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a 20  i><b>label</b>: 
3390: 74 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62 65  the textual labe
33a0: 6c 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79 69  l fully qualifyi
33b0: 6e 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e 75  ng each House Nu
33c0: 6d 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  mber.</li>..<li>
33d0: 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c  <b>geom</b>: a <
33e0: 62 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 72  b>3D Point</b> r
33f0: 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20  epresenting the 
3400: 47 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63 68  Geometry of each
3410: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c 62   House Number.<b
3420: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f  r>..<u>Note #1</
3430: 75 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69 73  u>: also in this
3440: 20 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61 74   case all elevat
3450: 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63  ions (<b>Z</b> c
3460: 6f 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72 65  oordinates) were
3470: 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62 79   interpolated by
3480: 20 64 72 61 70 69 6e 67 20 74 68 65 20 64 61 74   draping the dat
3490: 61 73 65 74 20 6f 76 65 72 20 74 68 65 20 73 61  aset over the sa
34a0: 6d 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65 2e  me DEM as above.
34b0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32  <br>..<u>Note #2
34c0: 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20 73  </u>: strictly s
34d0: 70 65 61 63 6b 69 6e 67 20 74 68 65 20 48 6f 75  peacking the Hou
34e0: 73 65 20 4e 75 6d 62 65 72 73 20 61 72 65 20 6e  se Numbers are n
34f0: 6f 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 52  ot part of the R
3500: 6f 61 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68 65  oad Network; the
3510: 79 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 69  y are included i
3520: 6e 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65 73  n the sample/tes
3530: 74 20 64 61 74 61 62 61 73 65 20 61 73 20 75 73  t database as us
3540: 65 66 75 6c 20 65 78 61 6d 70 6c 65 73 20 65 78  eful examples ex
3550: 70 6c 61 69 6e 65 64 20 6c 61 74 65 72 20 69 6e  plained later in
3560: 20 74 68 69 73 20 74 65 78 74 2e 3c 2f 6c 69 3e   this text.</li>
3570: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
3580: 69 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e  i>the <b>house_n
3590: 72 5f 76 77 3c 2f 62 3e 20 53 70 61 74 69 61 6c  r_vw</b> Spatial
35a0: 20 56 69 65 77 20 72 65 73 6f 6c 76 65 73 20 61   View resolves a
35b0: 6c 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72 65  ll relational re
35c0: 66 65 72 65 6e 63 65 73 20 62 65 74 77 65 65 6e  ferences between
35d0: 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62 3e   <b>house_nr</b>
35e0: 2c 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c 20  , <b>roads</b>, 
35f0: 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20  <b>toponyms</b> 
3600: 61 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61 6c  and <b>municipal
3610: 69 74 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73 20  ities</b>, thus 
3620: 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61 73  allowing for eas
3630: 69 65 72 20 53 51 4c 20 71 75 65 72 69 65 73 2e  ier SQL queries.
3640: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62  </li>..</ul>..<b
3650: 72 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e 3c  r>.. <hr>..<h1><
3660: 61 20 6e 61 6d 65 3d 22 63 72 65 61 74 65 22 3e  a name="create">
3670: 33 20 2d 20 43 72 65 61 74 69 6e 67 20 56 69 72  3 - Creating Vir
3680: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
3690: 65 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c 6c  es</a></h1>..All
36a0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
36b0: 71 75 65 72 69 65 73 20 61 72 65 20 62 61 73 65  queries are base
36c0: 64 20 6f 6e 20 61 20 73 70 65 63 69 66 69 63 20  d on a specific 
36d0: 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  <b>VirtualRoutin
36e0: 67 2d 54 61 62 6c 65 3c 2f 62 3e 2c 20 61 6e 64  g-Table</b>, and
36f0: 20 69 6e 20 74 75 72 6e 2c 20 74 68 65 20 56 69   in turn, the Vi
3700: 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62  rtualRouting-Tab
3710: 6c 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20 61  le is based on a
3720: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 3c   corresponding <
3730: 62 3e 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62  b>BinaryData-Tab
3740: 6c 65 3c 2f 62 3e 20 77 68 69 63 68 2c 20 74 61  le</b> which, ta
3750: 6b 65 6e 20 74 6f 67 65 61 74 68 65 72 2c 20 69  ken togeather, i
3760: 73 20 61 6e 20 65 66 66 69 63 69 65 6e 74 20 72  s an efficient r
3770: 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66  epresentation of
3780: 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20   the underlying 
3790: 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 53 6f  Network.<br>..So
37a0: 20 77 65 27 6c 6c 20 73 74 61 72 74 20 66 69 72   we'll start fir
37b0: 73 74 20 62 79 20 63 72 65 61 74 69 6e 67 20 74  st by creating t
37c0: 68 65 73 65 20 74 61 62 6c 65 73 2e 3c 62 72 3e  hese tables.<br>
37d0: 3c 62 72 3e 0d 0a 54 68 65 20 6f 6c 64 2c 20 61  <br>..The old, a
37e0: 6e 64 20 6e 6f 77 20 73 75 70 65 72 73 65 64 65  nd now supersede
37f0: 64 2c 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74  d, <b>VirtualNet
3800: 77 6f 72 6b 3c 2f 62 3e 20 72 65 71 75 69 72 65  work</b> require
3810: 64 20 74 68 65 20 75 73 65 20 6f 66 20 61 20 73  d the use of a s
3820: 65 70 61 72 61 74 65 20 43 4c 49 20 74 6f 6f 6c  eparate CLI tool
3830: 20 28 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f   (<b>spatialite_
3840: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69 6e 20  network</b>) in 
3850: 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65 72 6c  order to properl
3860: 79 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 20 56  y initialize a V
3870: 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20 54 61  irtualNetwork Ta
3880: 62 6c 65 20 61 6e 64 20 69 74 73 20 63 6f 6d 70  ble and its comp
3890: 61 6e 69 6f 6e 20 42 69 6e 61 72 79 44 61 74 61  anion BinaryData
38a0: 2d 54 61 62 6c 65 3b 0d 0a 61 6c 74 65 72 6e 61  -Table;..alterna
38b0: 74 69 76 65 6c 79 20 3c 62 3e 73 70 61 74 69 61  tively <b>spatia
38c0: 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 73 75 70  lite_gui</b> sup
38d0: 70 6f 72 74 65 64 20 61 20 3c 62 3e 47 55 49 20  ported a <b>GUI 
38e0: 77 69 7a 61 72 64 3c 2f 62 3e 20 66 6f 72 20 74  wizard</b> for t
38f0: 68 65 20 73 61 6d 65 20 74 61 73 6b 2e 20 53 69  he same task. Si
3900: 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c 62 3e 35  nce version <b>5
3910: 2e 30 2e 30 3c 2f 62 3e 2c 20 53 70 61 74 69 61  .0.0</b>, Spatia
3920: 4c 69 74 65 20 20 73 75 70 70 6f 72 74 73 20 74  Lite  supports t
3930: 68 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74  his functionalit
3940: 79 20 64 69 72 65 63 74 6c 79 2c 20 77 69 74 68  y directly, with
3950: 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f   the <b>CreateRo
3960: 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20  uting()</b> SQL 
3970: 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62  function...<verb
3980: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72  atim>..SELECT Cr
3990: 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66  eateRouting('byf
39a0: 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f  oot_data', 'byfo
39b0: 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c  ot', 'roads_vw',
39c0: 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e   'node_from', 'n
39d0: 6f 64 65 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20  odeto', 'geom', 
39e0: 4e 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c 45 43 54  NULL);....SELECT
39f0: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47   CreateRouting_G
3a00: 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3b 0d 0a  etLastError();..
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 2d 0d 0a 54 6f 4e 6f 64 65 20 43 6f 6c  ----..ToNode Col
3a40: 75 6d 6e 20 22 6e 6f 64 65 74 6f 22 20 69 73 20  umn "nodeto" is 
3a50: 6e 6f 74 20 64 65 66 69 6e 65 64 20 69 6e 20 74  not defined in t
3a60: 68 65 20 49 6e 70 75 74 20 54 61 62 6c 65 0d 0a  he Input Table..
3a70: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e  </verbatim>..<u>
3a80: 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 66  Note</u>: this f
3a90: 69 72 73 74 20 71 75 65 72 79 20 28 62 61 73 65  irst query (base
3aa0: 64 20 6f 6e 20 74 68 65 20 3c 69 3e 6d 69 6e 69  d on the <i>mini
3ab0: 6d 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20  mal form</i> of 
3ac0: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
3ad0: 3c 2f 62 3e 29 20 3c 62 3e 3c 69 3e 3c 75 3e 64  </b>) <b><i><u>d
3ae0: 65 6c 69 62 65 72 61 74 65 6c 79 3c 2f 75 3e 3c  eliberately</u><
3af0: 2f 69 3e 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73  /i></b> contains
3b00: 20 61 6e 20 65 72 72 6f 72 20 63 61 75 73 69 6e   an error causin
3b10: 67 20 61 20 66 61 69 6c 75 72 65 20 74 68 61 74  g a failure that
3b20: 20 77 69 6c 6c 20 72 61 69 73 65 20 61 6e 20 65   will raise an e
3b30: 78 63 65 70 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 43  xception.<br>..C
3b40: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 20 63  reateRouting() c
3b50: 61 6e 20 66 61 69 6c 20 66 6f 72 20 6d 75 6c 74  an fail for mult
3b60: 69 70 6c 65 20 72 65 61 73 6f 6e 73 2c 20 61 6e  iple reasons, an
3b70: 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 62 3e  d by calling <b>
3b80: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 5f 47 65  CreateRouting_Ge
3b90: 74 4c 61 73 74 45 72 72 6f 72 28 29 3c 2f 62 3e  tLastError()</b>
3ba0: 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20   you can easily 
3bb0: 69 64 65 6e 74 69 66 79 20 74 68 65 20 65 78 61  identify the exa
3bc0: 63 74 20 72 65 61 73 6f 6e 20 77 68 79 20 74 68  ct reason why th
3bd0: 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 63 61  e most recent ca
3be0: 6c 6c 20 74 6f 20 43 72 65 61 74 65 52 6f 75 74  ll to CreateRout
3bf0: 69 6e 67 28 29 20 66 61 69 6c 65 64 2e 3c 62 72  ing() failed.<br
3c00: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  >..<verbatim>..S
3c10: 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75 74  ELECT CreateRout
3c20: 69 6e 67 28 27 62 79 66 6f 6f 74 5f 64 61 74 61  ing('byfoot_data
3c30: 27 2c 20 27 62 79 66 6f 6f 74 27 2c 20 27 72 6f  ', 'byfoot', 'ro
3c40: 61 64 73 5f 76 77 27 2c 20 27 6e 6f 64 65 5f 66  ads_vw', 'node_f
3c50: 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 2c  rom', 'node_to',
3c60: 20 27 67 65 6f 6d 27 2c 20 4e 55 4c 4c 2c 20 27   'geom', NULL, '
3c70: 74 6f 70 6f 6e 79 6d 27 2c 20 31 2c 20 31 29 3b  toponym', 1, 1);
3c80: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d  ..-------------.
3c90: 0a 31 0d 0a 0d 0a 53 45 4c 45 43 54 20 43 72 65  .1....SELECT Cre
3ca0: 61 74 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61  ateRouting_GetLa
3cb0: 73 74 45 72 72 6f 72 28 29 3b 0d 0a 2d 2d 2d 2d  stError();..----
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 2d  ----------------
3ce0: 0d 0a 4e 55 4c 4c 0d 0a 3c 2f 76 65 72 62 61 74  ..NULL..</verbat
3cf0: 69 6d 3e 0d 0a 54 68 69 73 20 73 65 63 6f 6e 64  im>..This second
3d00: 20 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 73 75   attempt will su
3d10: 63 63 65 65 64 2c 20 77 69 74 68 20 43 72 65 61  cceed, with Crea
3d20: 74 65 52 6f 75 74 69 6e 67 28 29 20 72 65 74 75  teRouting() retu
3d30: 72 6e 69 6e 67 20 3c 62 3e 31 3c 2f 62 3e 20 28  rning <b>1</b> (
3d40: 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 54 52  <i>aka</i> <b>TR
3d50: 55 45 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 73 20  UE</b>), and as 
3d60: 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 63  you can easily c
3d70: 68 65 63 6b 20 6e 6f 77 20 74 68 65 20 44 61 74  heck now the Dat
3d80: 61 62 61 73 65 20 63 6f 6e 74 61 69 6e 73 20 74  abase contains t
3d90: 77 6f 20 6e 65 77 20 54 61 62 6c 65 73 3a 20 3c  wo new Tables: <
3da0: 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 61 6e 64  b>byfoot</b> and
3db0: 20 3c 62 3e 62 79 66 6f 6f 74 5f 64 61 74 61 3c   <b>byfoot_data<
3dc0: 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  /b>.<br>..<u>Not
3dd0: 65 3c 2f 75 3e 3a 20 61 66 74 65 72 20 61 20 73  e</u>: after a s
3de0: 75 63 63 65 73 73 66 75 6c 20 63 61 6c 6c 20 74  uccessful call t
3df0: 6f 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28  o CreateRouting(
3e00: 29 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69  ) <b>CreateRouti
3e10: 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28  ng_GetLastError(
3e20: 29 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79  )</b> will alway
3e30: 73 20 72 65 74 75 72 6e 20 3c 62 3e 4e 55 4c 4c  s return <b>NULL
3e40: 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 4c  </b>.<br><br>..L
3e50: 65 74 27 73 20 6c 6f 6f 6b 2c 20 69 6e 20 6d 6f  et's look, in mo
3e60: 72 65 20 64 65 74 61 69 6c 2c 20 6f 66 20 74 68  re detail, of th
3e70: 65 20 3c 69 3e 6d 69 6e 69 6d 61 6c 20 66 6f 72  e <i>minimal for
3e80: 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 52  m</i> of CreateR
3e90: 6f 75 74 69 6e 67 28 29 3b 20 61 6e 64 20 74 68  outing(); and th
3ea0: 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 65 61 63  e meaning of eac
3eb0: 68 20 61 72 67 75 6d 65 6e 74 3a 0d 0a 3c 6f 6c  h argument:..<ol
3ec0: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74  >..<li><i>byfoot
3ed0: 5f 64 61 74 61 3c 2f 69 3e 3a 20 74 68 65 20 6e  _data</i>: the n
3ee0: 61 6d 65 20 6f 66 20 74 68 65 20 4e 65 74 77 6f  ame of the Netwo
3ef0: 72 6b 20 42 69 6e 61 72 79 44 61 74 61 2d 54 61  rk BinaryData-Ta
3f00: 62 6c 65 20 74 6f 20 62 65 20 63 72 65 61 74 65  ble to be create
3f10: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  d.</li>..<li><i>
3f20: 62 79 66 6f 6f 74 3c 2f 69 3e 3a 20 74 68 65 20  byfoot</i>: the 
3f30: 6e 61 6d 65 20 6f 66 20 74 68 65 20 56 69 72 74  name of the Virt
3f40: 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65  ualRouting-Table
3f50: 20 74 6f 20 62 65 20 63 72 65 61 74 65 64 2e 3c   to be created.<
3f60: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61  /li>..<li><i>roa
3f70: 64 73 5f 76 77 3c 2f 69 3e 3a 20 74 68 65 20 6e  ds_vw</i>: the n
3f80: 61 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e 53 70  ame of the <b>Sp
3f90: 61 74 69 61 6c 20 54 61 62 6c 65 3c 2f 62 3e 20  atial Table</b> 
3fa0: 6f 72 20 3c 62 3e 53 70 61 74 69 61 6c 20 56 69  or <b>Spatial Vi
3fb0: 65 77 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74  ew</b> represent
3fc0: 69 6e 67 20 74 68 65 20 75 6e 64 65 72 6c 79 69  ing the underlyi
3fd0: 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d  ng Network.<br>.
3fe0: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 69 6e  .<u>Note</u>: in
3ff0: 20 74 68 69 73 20 63 61 73 65 20 77 65 20 61 63   this case we ac
4000: 74 75 61 6c 6c 79 20 75 73 65 64 20 61 20 53 70  tually used a Sp
4010: 61 74 69 61 6c 20 56 69 65 77 2e 3c 2f 6c 69 3e  atial View.</li>
4020: 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 66 72  ..<li><i>node_fr
4030: 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20  om</i>: name of 
4040: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74  the column (in t
4050: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f  he above Table o
4060: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64  r View) expected
4070: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e   to contain <b>n
4080: 6f 64 65 2d 66 72 6f 6d 3c 2f 62 3e 20 76 61 6c  ode-from</b> val
4090: 75 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ues.</li>..<li><
40a0: 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e  i>node_to</i>: n
40b0: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
40c0: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
40d0: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65  Table or View) e
40e0: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61  xpected to conta
40f0: 69 6e 20 3c 62 3e 6e 6f 64 65 2d 74 6f 3c 2f 62  in <b>node-to</b
4100: 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e 0d 0a  > values.</li>..
4110: 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a  <li><i>geom</i>:
4120: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c   name of the col
4130: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76  umn (in the abov
4140: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29  e Table or View)
4150: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e   expected to con
4160: 74 61 69 6e 20 3c 62 3e 4c 69 6e 65 73 74 72 69  tain <b>Linestri
4170: 6e 67 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 49 6e  ngs</b>.<br>..In
4180: 20 74 68 65 20 63 61 73 65 20 6f 66 20 61 20 3c   the case of a <
4190: 62 3e 4c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72  b>Logical Networ
41a0: 6b 3c 2f 62 3e 3a 20 61 20 20 3c 62 3e 4e 55 4c  k</b>: a  <b>NUL
41b0: 4c 3c 2f 62 3e 20 73 68 6f 75 6c 64 20 62 65 20  L</b> should be 
41c0: 70 61 73 73 65 64 2e 2e 3c 2f 6c 69 3e 0d 0a 3c  passed..</li>..<
41d0: 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20  li><i>NULL</i>: 
41e0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75  name of the colu
41f0: 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65  mn (in the above
4200: 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20   Table or View) 
4210: 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74  expected to cont
4220: 61 69 6e 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20  ain <b>cost</b> 
4230: 76 61 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 6e 20  values.<br>..In 
4240: 74 68 69 73 20 63 61 73 65 20 77 65 20 68 61 76  this case we hav
4250: 65 20 70 61 73 73 65 64 20 61 20 3c 62 3e 4e 55  e passed a <b>NU
4260: 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 2c 20 61 6e  LL</b> value, an
4270: 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74  d consequently t
4280: 68 65 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 20 6f  he <b>cost</b> o
4290: 66 20 65 61 63 68 20 4c 69 6e 6b 20 77 69 6c 6c  f each Link will
42a0: 20 62 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62   be assumed to b
42b0: 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79  e represented by
42c0: 20 74 68 65 20 3c 62 3e 67 65 6f 6d 65 74 72 69   the <b>geometri
42d0: 63 20 6c 65 6e 67 74 68 3c 2f 62 3e 20 6f 66 20  c length</b> of 
42e0: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
42f0: 67 20 4c 69 6e 65 73 74 72 69 6e 67 2e 3c 62 72  g Linestring.<br
4300: 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75  >..<u>Note #1</u
4310: 3e 3a 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f  >: in the case o
4320: 66 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 65 64  f Networks based
4330: 20 6f 6e 20 3c 62 3e 6c 6f 6e 67 69 74 75 64 65   on <b>longitude
4340: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 74  s</b> and <b>lat
4350: 69 74 75 64 65 73 3c 2f 62 3e 20 28 3c 69 3e 61  itudes</b> (<i>a
4360: 6b 61 3c 2f 69 3e 20 3c 62 3e 67 65 6f 67 72 61  ka</i> <b>geogra
4370: 70 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e  phic</b> Referen
4380: 63 65 20 53 79 73 74 65 6d 73 29 20 74 68 65 20  ce Systems) the 
4390: 67 65 6f 6d 65 74 72 79 20 6c 65 6e 67 74 68 20  geometry length 
43a0: 6f 66 20 61 6c 6c 20 4c 69 6e 65 73 74 72 69 6e  of all Linestrin
43b0: 67 73 20 77 69 6c 6c 20 62 65 20 70 72 65 63 69  gs will be preci
43c0: 73 65 6c 79 20 3c 62 3e 6d 65 61 73 75 72 65 64  sely <b>measured
43d0: 20 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69   on the ellipsoi
43e0: 64 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69 6e  d</b> by applyin
43f0: 67 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75 72  g the most accur
4400: 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63 20  ate <b>geodesic 
4410: 66 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20 61 6e 64  formulas</b> and
4420: 20 77 69 6c 6c 20 63 6f 6e 73 65 71 75 65 6e 74   will consequent
4430: 6c 79 20 62 65 20 65 78 70 72 65 73 73 65 64 20  ly be expressed 
4440: 69 6e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62 3e  in <b>meters</b>
4450: 2e 20 49 6e 20 61 6e 79 20 6f 74 68 65 72 20 63  . In any other c
4460: 61 73 65 20 28 3c 62 3e 70 72 6f 6a 65 63 74 65  ase (<b>projecte
4470: 64 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63 65 20  d</b> Reference 
4480: 53 79 73 74 65 6d 73 29 20 6c 65 6e 67 74 68 73  Systems) lengths
4490: 20 77 69 6c 6c 20 62 65 20 65 78 70 72 65 73 73   will be express
44a0: 65 64 20 69 6e 20 74 68 65 20 3c 62 3e 6d 65 61  ed in the <b>mea
44b0: 73 75 72 65 20 75 6e 69 74 3c 2f 62 3e 20 64 65  sure unit</b> de
44c0: 66 69 6e 65 64 20 62 79 20 74 68 65 20 52 65 66  fined by the Ref
44d0: 65 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 65  erence System (e
44e0: 2e 67 2e 20 3c 62 3e 6d 65 74 65 72 73 3c 2f 62  .g. <b>meters</b
44f0: 3e 20 66 6f 72 20 3c 62 3e 55 54 4d 3c 2f 62 3e  > for <b>UTM</b>
4500: 20 70 72 6f 6a 65 63 74 69 6f 6e 73 20 61 6e 64   projections and
4510: 20 3c 62 3e 66 65 65 74 3c 2f 62 3e 20 66 6f 72   <b>feet</b> for
4520: 20 3c 62 3e 4e 41 44 2d 66 74 3c 2f 62 3e 20 70   <b>NAD-ft</b> p
4530: 72 6f 6a 65 63 74 69 6f 6e 73 29 2e 3c 62 72 3e  rojections).<br>
4540: 0d 0a 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e  ..<u>Note #2</u>
4550: 3a 20 74 68 65 20 3c 62 3e 67 65 6f 6d 2d 63 6f  : the <b>geom-co
4560: 6c 75 6d 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  lumn</b> and <b>
4570: 63 6f 73 74 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20  cost-column</b> 
4580: 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6e 65  arguments are ne
4590: 76 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62  ver allowed to b
45a0: 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 61 74  e <b>NULL</b> at
45b0: 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c   the same time.<
45c0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 6f 70  /li>..<li><i>top
45d0: 6f 6e 79 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f  onym</i>: name o
45e0: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e  f the column (in
45f0: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65   the above Table
4600: 20 6f 72 20 56 69 65 77 29 20 65 78 70 65 63 74   or View) expect
4610: 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62  ed to contain <b
4620: 3e 72 6f 61 64 2d 6e 61 6d 65 3c 2f 62 3e 20 76  >road-name</b> v
4630: 61 6c 75 65 73 2e 3c 62 72 3e 0d 0a 49 74 20 63  alues.<br>..It c
4640: 6f 75 6c 64 20 62 65 20 6c 65 67 69 74 69 6d 61  ould be legitima
4650: 74 65 6c 79 20 73 65 74 20 74 6f 20 3c 62 3e 4e  tely set to <b>N
4660: 55 4c 4c 3c 2f 62 3e 20 69 66 20 61 6c 6c 20 4c  ULL</b> if all L
4670: 69 6e 6b 73 20 61 72 65 20 61 6e 6f 6e 79 6d 6f  inks are anonymo
4680: 75 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  us.</li>..<li><i
4690: 3e 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f 6c 65 61  >1</i>: a boolea
46a0: 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64 65 64 20  n flag intended 
46b0: 74 6f 20 73 70 65 63 69 66 79 20 69 66 20 74 68  to specify if th
46c0: 65 20 4e 65 74 77 6f 72 6b 20 6d 75 73 74 20 73  e Network must s
46d0: 75 70 70 6f 72 74 20 74 68 65 20 3c 62 3e 41 2a  upport the <b>A*
46e0: 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 6f   algorithm</b> o
46f0: 72 20 6e 6f 74 20 28 73 65 74 20 74 6f 20 3c 62  r not (set to <b
4700: 3e 54 52 55 45 3c 2f 62 3e 20 62 79 20 64 65 66  >TRUE</b> by def
4710: 61 75 6c 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  ault).</li>..<li
4720: 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 61 20 62 6f 6f  ><i>1</i>: a boo
4730: 6c 65 61 6e 20 66 6c 61 67 20 69 6e 74 65 6e 64  lean flag intend
4740: 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 69 66  ed to specify if
4750: 20 61 6c 6c 20 4e 65 74 77 6f 72 6b 27 73 20 4c   all Network's L
4760: 69 6e 6b 73 20 61 72 65 20 61 73 73 75 6d 65 64  inks are assumed
4770: 20 74 6f 20 62 65 20 3c 62 3e 62 69 64 69 72 65   to be <b>bidire
4780: 63 74 69 6f 6e 61 6c 3c 2f 62 3e 20 6f 72 20 6e  ctional</b> or n
4790: 6f 74 20 28 61 73 73 75 6d 65 64 20 74 6f 20 62  ot (assumed to b
47a0: 65 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 62 79  e <b>TRUE</b> by
47b0: 20 64 65 66 61 75 6c 74 29 2e 3c 2f 6c 69 3e 20   default).</li> 
47c0: 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 74 61 62 6c 65 20  ..</ol>..<table 
47d0: 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30  bgcolor="#c0ffc0
47e0: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31  " cellspacing="1
47f0: 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  0" cellpadding="
4800: 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33  6"><tr><td>..<h3
4810: 3e 54 65 63 68 6e 69 63 61 6c 20 6e 6f 74 65 3c  >Technical note<
4820: 2f 68 33 3e 0d 0a 54 68 65 20 69 6e 74 65 72 6e  /h3>..The intern
4830: 61 6c 20 65 6e 63 6f 64 69 6e 67 20 61 64 6f 70  al encoding adop
4840: 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 42 69  ted by the <b>Bi
4850: 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65 3c 2f  naryData-Table</
4860: 62 3e 20 69 73 20 75 6e 63 68 61 6e 67 65 64 20  b> is unchanged 
4870: 61 6e 64 20 69 73 20 74 68 65 20 73 61 6d 65 20  and is the same 
4880: 66 6f 72 20 62 6f 74 68 20 3c 62 3e 56 69 72 74  for both <b>Virt
4890: 75 61 6c 4e 65 74 77 6f 6b 3c 2f 62 3e 20 61 6e  ualNetwok</b> an
48a0: 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74  d <b>VirtualRout
48b0: 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 59 6f  ing</b>.<br>..Yo
48c0: 75 20 63 61 6e 20 73 61 66 65 6c 79 20 62 61 73  u can safely bas
48d0: 65 20 61 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f  e a <b>VirtualRo
48e0: 75 74 69 6e 67 2d 54 61 62 6c 65 3c 2f 62 3e 20  uting-Table</b> 
48f0: 6f 6e 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20  on any existing 
4900: 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65  BinaryData-Table
4910: 20 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20   created by the 
4920: 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 2d 6e 65  <b>spatialite-ne
4930: 74 77 6f 72 6b 3c 2f 62 3e 20 43 4c 49 20 74 6f  twork</b> CLI to
4940: 6f 6c 2c 20 65 78 61 63 74 6c 79 20 61 73 20 79  ol, exactly as y
4950: 6f 75 20 63 61 6e 20 62 61 73 65 20 61 20 3c 62  ou can base a <b
4960: 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20  >VirtualNetwork 
4970: 54 61 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79  Table</b> on any
4980: 20 42 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c   BinaryData-Tabl
4990: 65 20 63 72 65 61 74 65 64 20 62 79 20 74 68 65  e created by the
49a0: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e   <b>CreateRoutin
49b0: 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63  g()</b> SQL func
49c0: 74 69 6f 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d  tion...<verbatim
49d0: 3e 0d 0a 43 52 45 41 54 45 20 56 49 52 54 55 41  >..CREATE VIRTUA
49e0: 4c 20 54 41 42 4c 45 20 74 65 73 74 5f 6e 65 74  L TABLE test_net
49f0: 77 6f 72 6b 20 55 53 49 4e 47 20 56 69 72 74 75  work USING Virtu
4a00: 61 6c 4e 65 74 77 6f 72 6b 28 27 73 6f 6d 65 5f  alNetwork('some_
4a10: 64 61 74 61 5f 74 61 62 6c 65 27 29 3b 0d 0a 0d  data_table');...
4a20: 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20  .CREATE VIRTUAL 
4a30: 54 41 42 4c 45 20 74 65 73 74 5f 72 6f 75 74 69  TABLE test_routi
4a40: 6e 67 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c  ng USING Virtual
4a50: 52 6f 75 74 69 6e 67 28 27 73 6f 6d 65 5f 64 61  Routing('some_da
4a60: 74 61 5f 74 61 62 6c 65 27 29 3b 0d 0a 3c 2f 76  ta_table');..</v
4a70: 65 72 62 61 74 69 6d 3e 0d 0a 49 6e 20 6f 72 64  erbatim>..In ord
4a80: 65 72 20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63  er to manually c
4a90: 72 65 61 74 65 20 79 6f 75 72 20 56 69 72 74 75  reate your Virtu
4aa0: 61 6c 20 54 61 62 6c 65 73 20 79 6f 75 20 6a 75  al Tables you ju
4ab0: 73 74 20 68 61 76 65 20 74 6f 20 65 78 65 63 75  st have to execu
4ac0: 74 65 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74  te an appropriat
4ad0: 65 20 3c 62 3e 43 52 45 41 54 45 20 56 49 52 54  e <b>CREATE VIRT
4ae0: 55 41 4c 20 54 41 42 4c 45 20 2e 2e 2e 20 55 53  UAL TABLE ... US
4af0: 49 4e 47 20 56 69 72 74 75 61 6c 2e 2e 2e 20 28  ING Virtual... (
4b00: 2e 2e 2e 29 3c 2f 62 3e 20 73 74 61 74 65 6d 65  ...)</b> stateme
4b10: 6e 74 2e 0d 0a 3c 68 34 3e 57 61 72 6e 69 6e 67  nt...<h4>Warning
4b20: 3c 2f 68 34 3e 0d 0a 49 6e 20 74 68 65 20 63 61  </h4>..In the ca
4b30: 73 65 20 6f 66 20 3c 62 3e 53 70 61 74 69 61 6c  se of <b>Spatial
4b40: 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 20 62 61   Networks</b> ba
4b50: 73 65 64 20 6f 6e 20 61 6e 79 20 3c 62 3e 67 65  sed on any <b>ge
4b60: 6f 67 72 61 70 68 69 63 3c 2f 62 3e 20 52 65 66  ographic</b> Ref
4b70: 65 72 65 6e 63 65 20 53 79 73 74 65 6d 20 28 75  erence System (u
4b80: 73 69 6e 67 20 3c 62 3e 6c 6f 6e 67 69 74 75 64  sing <b>longitud
4b90: 65 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61  es</b> and <b>la
4ba0: 74 69 74 75 64 65 73 3c 2f 62 3e 29 20 74 68 65  titudes</b>) the
4bb0: 72 65 20 69 73 20 61 6e 20 69 6d 70 6f 72 74 61  re is an importa
4bc0: 6e 74 20 64 69 66 66 65 72 65 6e 63 65 20 62 65  nt difference be
4bd0: 74 77 65 65 6e 20 42 69 6e 61 72 79 44 61 74 61  tween BinaryData
4be0: 2d 54 61 62 6c 65 73 20 63 72 65 61 74 65 64 20  -Tables created 
4bf0: 62 79 20 74 68 65 20 3c 62 3e 73 70 61 74 69 61  by the <b>spatia
4c00: 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e  lite_network</b>
4c10: 20 47 55 49 20 74 6f 6f 6c 20 61 6e 64 20 20 42   GUI tool and  B
4c20: 69 6e 61 72 79 44 61 74 61 2d 54 61 62 6c 65 73  inaryData-Tables
4c30: 20 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20   created by the 
4c40: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
4c50: 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74  ()</b> SQL funct
4c60: 69 6f 6e 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74  ion when <b>cost
4c70: 73 3c 2f 62 3e 20 61 72 65 20 69 6d 70 6c 69 63  s</b> are implic
4c80: 69 74 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 68  itly based on th
4c90: 65 20 67 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67  e geometric leng
4ca0: 74 68 20 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73  th of the Link's
4cb0: 20 4c 69 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75   Linestring:..<u
4cc0: 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73  l>..<li>the <b>s
4cd0: 70 61 74 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72  patialite_networ
4ce0: 6b 3c 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28  k</b> CLI tool (
4cf0: 61 6e 64 20 74 68 65 20 3c 62 3e 47 55 49 20 77  and the <b>GUI w
4d00: 69 7a 61 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d  izard</b> implem
4d10: 65 6e 74 65 64 20 62 79 20 70 72 65 76 69 6f 75  ented by previou
4d20: 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62  s versions of <b
4d30: 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c  >spatialite_gui<
4d40: 2f 62 3e 29 20 63 6f 6d 70 75 74 65 20 74 68 65  /b>) compute the
4d50: 20 4c 69 6e 65 73 74 72 69 6e 67 27 73 20 6c 65   Linestring's le
4d60: 6e 67 74 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e  ngth as an <b>an
4d70: 67 75 6c 61 72 20 64 69 73 74 61 6e 63 65 3c 2f  gular distance</
4d80: 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e 20  b> expressed in 
4d90: 3c 62 3e 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c  <b>degrees</b>.<
4da0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  /li>..<li>the <b
4db0: 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29  >CreateRouting()
4dc0: 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f  </b> SQL functio
4dd0: 6e 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 4c  n computes the L
4de0: 69 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67  inestring's leng
4df0: 74 68 20 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61  th as a <b>linea
4e00: 72 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65  r distance</b> e
4e10: 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d  xpressed in <b>m
4e20: 65 74 72 65 73 3c 2f 62 3e 20 62 79 20 61 70 70  etres</b> by app
4e30: 6c 79 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 61  lying the most a
4e40: 63 63 75 72 61 74 65 20 3c 62 3e 67 65 6f 64 65  ccurate <b>geode
4e50: 73 69 63 20 66 6f 72 6d 75 6c 61 73 3c 2f 62 3e  sic formulas</b>
4e60: 20 6f 6e 20 74 68 65 20 65 6c 6c 69 70 73 6f 69   on the ellipsoi
4e70: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  d.</li>..</ul>..
4e80: 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c  </td></tr></tabl
4e90: 65 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72  e><br><br>..<ver
4ea0: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43  batim>..SELECT C
4eb0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27 62 79  reateRouting('by
4ec0: 63 61 72 5f 64 61 74 61 27 2c 20 27 62 79 63 61  car_data', 'byca
4ed0: 72 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20  r', 'roads_vw', 
4ee0: 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f  'node_from', 'no
4ef0: 64 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20  de_to', 'geom', 
4f00: 27 63 6f 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d  'cost', 'toponym
4f10: 27 2c 20 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79  ', 1, 1, 'oneway
4f20: 5f 66 72 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61  _fromto', 'onewa
4f30: 79 5f 74 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a  y_tofrom', 0);..
4f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4f50: 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61  ----..1..</verba
4f60: 74 69 6d 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c  tim>..After call
4f70: 69 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f 75  ing <b>CreateRou
4f80: 74 69 6e 67 28 29 3c 2f 62 3e 20 63 6f 72 72 65  ting()</b> corre
4f90: 63 74 6c 79 2c 20 20 74 68 65 20 44 61 74 61 62  ctly,  the Datab
4fa0: 61 73 65 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f  ase contains two
4fb0: 20 66 75 72 74 68 65 72 20 54 61 62 6c 65 73 3a   further Tables:
4fc0: 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e   <b>bycar</b> an
4fd0: 64 20 3c 62 3e 62 79 63 61 72 5f 64 61 74 61 3c  d <b>bycar_data<
4fe0: 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74  /b>.<br>..This t
4ff0: 69 6d 65 20 79 6f 75 27 76 65 20 75 73 65 64 20  ime you've used 
5000: 74 68 65 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20  the <i>complete 
5010: 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61  form</i> of Crea
5020: 74 65 52 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74  teRouting(); let
5030: 27 73 20 73 65 65 20 69 6e 20 6d 6f 72 65 20 64  's see in more d
5040: 65 70 74 68 20 61 6c 6c 20 74 68 65 20 61 72 67  epth all the arg
5050: 75 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72  uments and their
5060: 20 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d   meaning:..<ol>.
5070: 0a 3c 6c 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61  .<li><i>bycar_da
5080: 74 61 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20  ta</i>: same as 
5090: 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  above.</li>..<li
50a0: 3e 3c 69 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73  ><i>bycar</i>: s
50b0: 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c  ame as above.</l
50c0: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73  i>..<li><i>roads
50d0: 5f 76 77 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73  _vw</i>: same as
50e0: 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c   above.</li>..<l
50f0: 69 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f  i><i>node_from</
5100: 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76  i>: same as abov
5110: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  e.</li>..<li><i>
5120: 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d  node_to</i>: sam
5130: 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e  e as above.</li>
5140: 0d 0a 3c 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69  ..<li><i>geom</i
5150: 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65  >: same as above
5160: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63  .</li>..<li><i>c
5170: 6f 73 74 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73  ost</i>: same as
5180: 20 61 62 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73   above...In this
5190: 20 63 61 73 65 20 77 65 20 68 61 76 65 20 72 65   case we have re
51a0: 66 65 72 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d  ferenced a colum
51b0: 6e 20 70 72 65 6c 6f 61 64 65 64 20 77 69 74 68  n preloaded with
51c0: 20 76 61 6c 75 65 73 20 63 6f 72 72 65 73 70 6f   values correspo
51d0: 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e  nding to the <b>
51e0: 74 69 6d 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65  time</b> measure
51f0: 64 20 69 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c  d in <b>seconds<
5200: 2f 62 3e 20 72 65 71 75 69 72 65 64 20 74 6f 20  /b> required to 
5210: 74 72 61 76 65 72 73 65 20 65 61 63 68 20 4c 69  traverse each Li
5220: 6e 6b 2e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c  nk.</li> ..<li><
5230: 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73  i>toponym</i>: s
5240: 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c  ame as above.</l
5250: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e  i>..<li><i>1</i>
5260: 3a 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 20  : same as above 
5270: 28 3c 69 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f  (<i>A* enabled</
5280: 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  i>).</li>..<li><
5290: 69 3e 31 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73  i>1</i>: same as
52a0: 20 61 62 6f 76 65 20 28 3c 69 3e 62 69 64 69 72   above (<i>bidir
52b0: 65 63 74 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f  ectional Links</
52c0: 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  i>).</li>..<li><
52d0: 69 3e 6f 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c  i>oneway_fromto<
52e0: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65  /i>: name of the
52f0: 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20   column (in the 
5300: 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56  above Table or V
5310: 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f  iew) expected to
5320: 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e   contain boolean
5330: 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e   flags specifyin
5340: 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63  g if each Link c
5350: 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20  an be traversed 
5360: 69 6e 20 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74  in the <b>from-t
5370: 6f 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20  o</b> direction 
5380: 6f 72 20 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  or not.</li>..<l
5390: 69 3e 3c 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72  i><i>oneway_tofr
53a0: 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20  om</i>: name of 
53b0: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74  the column (in t
53c0: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f  he above Table o
53d0: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64  r View) expected
53e0: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c   to contain bool
53f0: 65 61 6e 20 66 6c 61 67 73 20 73 70 65 63 69 66  ean flags specif
5400: 79 69 6e 67 20 69 66 20 65 61 63 68 20 4c 69 6e  ying if each Lin
5410: 6b 20 63 61 6e 20 62 65 20 74 72 61 76 65 72 73  k can be travers
5420: 65 64 20 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d  ed in the <b>to-
5430: 66 72 6f 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69  from</b> directi
5440: 6f 6e 20 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a  on or not.<br>..
5450: 3c 75 3e 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20  <u>Note #1</u>: 
5460: 62 6f 74 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c  both <b>from-to<
5470: 2f 62 3e 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72  /b> and <b>to-fr
5480: 6f 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61  om</b> column na
5490: 6d 65 73 20 63 61 6e 20 62 65 20 6c 65 67 69 74  mes can be legit
54a0: 69 6d 61 74 65 6c 79 20 73 65 74 20 61 73 20 3c  imately set as <
54b0: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f  b>NULL</b> if no
54c0: 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20   <b>one-way</b> 
54d0: 72 65 73 74 72 69 63 74 69 6f 6e 73 20 61 70 70  restrictions app
54e0: 6c 79 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e  ly to the curren
54f0: 74 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a  t Network.<br>..
5500: 3c 75 3e 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20  <u>Note #2</u>: 
5510: 4e 65 74 77 6f 72 6b 73 20 6f 66 20 74 68 65 20  Networks of the 
5520: 3c 62 3e 75 6e 69 64 69 72 65 63 74 69 6f 6e 61  <b>unidirectiona
5530: 6c 3c 2f 62 3e 20 74 79 70 65 20 61 72 65 20 6e  l</b> type are n
5540: 65 76 65 72 20 65 6e 61 62 6c 65 64 20 74 6f 20  ever enabled to 
5550: 72 65 66 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65  reference <b>one
5560: 2d 77 61 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73  -way</b> columns
5570: 20 28 74 68 65 79 20 73 68 6f 75 6c 64 20 61 6c   (they should al
5580: 77 61 79 73 20 62 65 20 73 65 74 20 74 6f 20 3c  ways be set to <
5590: 62 3e 4e 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69  b>NULL</b>).</li
55a0: 3e 0d 0a 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a  >..<li><i>0</i>:
55b0: 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20   a boolean flag 
55c0: 20 73 70 65 63 69 66 79 69 6e 67 20 61 6e 20 3c   specifying an <
55d0: 62 3e 6f 76 65 72 77 72 69 74 65 20 61 75 74 68  b>overwrite auth
55e0: 6f 72 69 7a 61 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a  orization</b>...
55f0: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74  <ul>..<li>If set
5600: 20 74 6f 20 3c 62 3e 46 41 4c 53 45 3c 2f 62 3e   to <b>FALSE</b>
5610: 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 69   an exception wi
5620: 6c 6c 20 62 65 20 72 61 69 73 65 64 20 69 66 20  ll be raised if 
5630: 74 68 65 20 3c 62 3e 42 69 6e 61 72 79 44 61 74  the <b>BinaryDat
5640: 61 2d 54 61 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f  a-Table</b> and/
5650: 6f 72 20 74 68 65 20 3c 62 3e 56 69 72 74 75 61  or the <b>Virtua
5660: 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65 3c 2f  lRouting-Table</
5670: 62 3e 20 61 6c 72 65 61 64 79 20 65 78 69 73 74  b> already exist
5680: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73  .</li>..<li>If s
5690: 65 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62  et to <b>TRUE</b
56a0: 3e 20 65 76 65 6e 74 75 61 6c 6c 79 20 65 78 69  > eventually exi
56b0: 73 74 69 6e 67 20 54 61 62 6c 65 73 20 77 69 6c  sting Tables wil
56c0: 6c 20 62 65 2c 20 74 6f 20 61 76 6f 69 64 20 65  l be, to avoid e
56d0: 72 72 6f 72 73 2c 20 64 72 6f 70 70 65 64 20 62  rrors, dropped b
56e0: 65 66 6f 72 65 20 73 74 61 72 74 69 6e 67 20 74  efore starting t
56f0: 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20  he execution of 
5700: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
5710: 28 29 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  ()</b>.</li>..</
5720: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d  ul></li>..</ol>.
5730: 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  .<br>..<table bg
5740: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 30 22 20  color="#ffffc0" 
5750: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
5760: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
5770: 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48  ><tr><td>..<h3>H
5780: 69 67 68 6c 69 67 68 74 3a 20 77 68 65 72 65 20  ighlight: where 
5790: 79 6f 75 20 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f  you are</h3>..Yo
57a0: 75 27 76 65 20 6a 75 73 74 20 63 72 65 61 74 65  u've just create
57b0: 64 20 74 77 6f 20 56 69 72 74 75 61 6c 52 6f 75  d two VirtualRou
57c0: 74 69 6e 67 2d 54 61 62 6c 65 73 20 62 61 73 65  ting-Tables base
57d0: 64 20 6f 6e 20 64 69 66 66 65 72 65 6e 74 20 73  d on different s
57e0: 65 74 74 69 6e 67 73 3b 20 62 6f 74 68 20 74 68  ettings; both th
57f0: 65 6d 20 61 72 65 20 70 65 72 66 65 63 74 6c 79  em are perfectly
5800: 20 76 61 6c 69 64 20 61 6e 64 20 72 65 61 73 6f   valid and reaso
5810: 6e 61 62 6c 65 2c 20 62 75 74 20 74 68 65 79 20  nable, but they 
5820: 61 72 65 20 69 6e 74 65 6e 64 65 64 20 66 6f 72  are intended for
5830: 20 64 69 66 66 65 72 65 6e 74 20 70 75 72 70 6f   different purpo
5840: 73 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ses:..<ul>..<li>
5850: 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e 20 69 73  <b>byfoot</b> is
5860: 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e   specifically in
5870: 74 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 70 65  tended for <b>pe
5880: 64 65 73 74 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a  destrians</b>:..
5890: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69  <ul>..<li>all Li
58a0: 6e 6b 73 20 61 72 65 20 61 6c 77 61 79 73 20 61  nks are always a
58b0: 73 73 75 6d 65 64 20 74 6f 20 62 65 20 61 63 63  ssumed to be acc
58c0: 65 73 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f  essible in <b>bo
58d0: 74 68 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62  th directions</b
58e0: 3e 3b 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20  >; there are no 
58f0: 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 20  <b>one-ways</b> 
5900: 61 6e 64 20 6e 6f 20 3c 62 3e 66 6f 72 62 69 64  and no <b>forbid
5910: 64 65 6e 3c 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f  den</b> Links.</
5920: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  li>..<li>the <b>
5930: 63 6f 73 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68  cost</b> of each
5940: 20 4c 69 6e 6b 20 69 73 20 64 69 72 65 63 74 6c   Link is directl
5950: 79 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79  y represented by
5960: 20 69 74 73 20 67 65 6f 6d 65 74 72 69 63 20 3c   its geometric <
5970: 62 3e 6c 65 6e 67 74 68 3c 2f 62 3e 2c 20 77 68  b>length</b>, wh
5980: 69 63 68 20 69 73 20 63 6f 6e 73 69 73 74 65 6e  ich is consisten
5990: 74 20 77 69 74 68 20 74 68 65 20 61 73 73 75 6d  t with the assum
59a0: 70 74 69 6f 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f  ption of an almo
59b0: 73 74 20 63 6f 6e 73 74 61 6e 74 20 73 70 65 65  st constant spee
59c0: 64 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20  d substantially 
59d0: 69 6d 6d 75 6e 65 20 66 72 6f 6d 20 61 64 76 65  immune from adve
59e0: 72 73 65 20 72 6f 61 64 20 63 6f 6e 64 69 74 69  rse road conditi
59f0: 6f 6e 73 20 61 6e 64 20 74 72 61 66 66 69 63 20  ons and traffic 
5a00: 63 6f 6e 67 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e  congestion.</li>
5a10: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
5a20: 69 3e 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 69  i><b>bycar</b> i
5a30: 73 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69  s specifically i
5a40: 6e 74 65 6e 64 65 64 20 66 6f 72 20 3c 62 3e 6d  ntended for <b>m
5a50: 6f 74 6f 72 20 76 65 68 69 63 6c 65 73 3c 2f 62  otor vehicles</b
5a60: 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61  >:..<ul>..<li>ma
5a70: 6e 79 20 4c 69 6e 6b 73 20 61 72 65 20 65 78 70  ny Links are exp
5a80: 65 63 74 65 64 20 74 6f 20 62 65 20 61 63 63 65  ected to be acce
5a90: 73 73 69 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74  ssible in <b>bot
5aa0: 68 20 64 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e  h directions</b>
5ab0: 20 62 75 74 20 6f 74 68 65 72 73 20 63 6f 75 6c   but others coul
5ac0: 64 20 65 61 73 69 6c 79 20 62 65 20 73 75 62 6a  d easily be subj
5ad0: 65 63 74 20 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61  ect to <b>one-wa
5ae0: 79 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 69 6f  y</b> restrictio
5af0: 6e 73 20 6f 72 20 65 76 65 6e 20 62 65 20 63 6f  ns or even be co
5b00: 6d 70 6c 65 74 65 6c 79 20 3c 62 3e 66 6f 72 62  mpletely <b>forb
5b10: 69 64 64 65 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d  idden</b>.</li>.
5b20: 0a 3c 6c 69 3e 74 68 65 20 63 6f 73 74 20 6f 66  .<li>the cost of
5b30: 20 65 61 63 68 20 4c 69 6e 6b 20 69 73 20 65 78   each Link is ex
5b40: 70 72 65 73 73 65 64 20 61 73 20 61 6e 20 65 73  pressed as an es
5b50: 74 69 6d 61 74 65 64 20 3c 62 3e 74 72 61 76 65  timated <b>trave
5b60: 6c 20 74 69 6d 65 3c 2f 62 3e 2c 20 62 65 63 61  l time</b>, beca
5b70: 75 73 65 20 74 68 65 20 65 78 70 65 63 74 65 64  use the expected
5b80: 20 73 70 65 65 64 73 20 63 61 6e 20 67 72 65 61   speeds can grea
5b90: 74 6c 79 20 76 61 72 79 20 61 63 63 6f 72 64 69  tly vary accordi
5ba0: 6e 67 6c 79 20 74 6f 20 73 70 65 63 69 66 69 63  ngly to specific
5bb0: 20 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73   road conditions
5bc0: 2c 20 74 72 61 66 66 69 63 20 63 6f 6e 67 65 73  , traffic conges
5bd0: 74 69 6f 6e 20 61 6e 64 20 6c 65 67 61 6c 20 72  tion and legal r
5be0: 65 67 75 6c 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e  egulations.</li>
5bf0: 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f  ..</ul></li>..</
5c00: 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f  ul>..<br>..<u>Co
5c10: 6e 63 6c 75 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20  nclusion</u>: a 
5c20: 73 69 6e 67 6c 65 20 56 69 72 74 75 61 6c 52 6f  single VirtualRo
5c30: 75 74 69 6e 67 2d 54 61 62 6c 65 20 63 61 6e 6e  uting-Table cann
5c40: 6f 74 20 61 64 65 71 75 61 74 65 6c 79 20 73 75  ot adequately su
5c50: 70 70 6f 72 74 20 61 6c 6c 20 72 65 71 75 69 72  pport all requir
5c60: 65 6d 65 6e 74 73 20 61 6e 64 20 65 78 70 65 63  ements and expec
5c70: 74 61 74 69 6f 6e 73 20 6f 66 20 64 69 66 66 65  tations of diffe
5c80: 72 65 6e 74 20 75 73 65 72 73 2e 3c 62 72 3e 0d  rent users.<br>.
5c90: 0a 44 65 66 69 6e 69 6e 67 20 6d 6f 72 65 20 52  .Defining more R
5ca0: 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 77 69  outing Tables wi
5cb0: 74 68 20 64 69 66 66 65 72 65 6e 74 20 73 65 74  th different set
5cc0: 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20 73 61  tings for the sa
5cd0: 6d 65 20 4e 65 74 77 6f 72 6b 20 75 73 75 61 6c  me Network usual
5ce0: 6c 79 20 69 73 20 61 20 67 6f 6f 64 20 64 65 73  ly is a good des
5cf0: 69 67 6e 20 63 68 6f 69 63 65 20 6c 65 61 64 69  ign choice leadi
5d00: 6e 67 20 74 6f 20 6d 6f 72 65 20 72 65 61 6c 69  ng to more reali
5d10: 73 74 69 63 20 72 65 73 75 6c 74 73 2e 3c 62 72  stic results.<br
5d20: 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c  >..</td></tr>..<
5d30: 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72  /table>..<br><br
5d40: 3e 0d 0a 3c 68 33 3e 55 74 69 6c 69 74 79 20 66  >..<h3>Utility f
5d50: 75 6e 63 74 69 6f 6e 20 66 6f 72 20 61 75 74 6f  unction for auto
5d60: 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 74 69 6e  matically settin
5d70: 67 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64 20 4e  g NodeFrom and N
5d80: 6f 64 65 54 6f 20 49 44 73 3c 2f 68 33 3e 0d 0a  odeTo IDs</h3>..
5d90: 49 74 20 63 6f 75 6c 64 20 68 61 70 70 65 6e 20  It could happen 
5da0: 74 68 61 74 20 61 20 3c 62 3e 53 70 61 74 69 61  that a <b>Spatia
5db0: 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65  l Network</b> re
5dc0: 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 69 73 20  presentation is 
5dd0: 74 6f 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 63 6f  topologically co
5de0: 6e 73 69 73 74 65 6e 74 2c 20 62 75 74 20 63 6f  nsistent, but co
5df0: 6d 70 6c 65 74 65 6c 79 20 6c 61 63 6b 69 6e 67  mpletely lacking
5e00: 20 6f 66 20 61 6e 79 20 3c 62 3e 4e 6f 64 65 46   of any <b>NodeF
5e10: 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e  rom</b> and <b>N
5e20: 6f 64 65 54 6f 3c 2f 62 3e 20 64 65 66 69 6e 69  odeTo</b> defini
5e30: 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 49 6e 20 73  tions.<br>..In s
5e40: 75 63 68 20 61 20 63 61 73 65 20 79 6f 75 20 63  uch a case you c
5e50: 61 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20  an successfully 
5e60: 72 65 62 75 69 6c 64 20 74 68 65 20 6d 69 73 73  rebuild the miss
5e70: 69 6e 67 20 20 4e 6f 64 65 46 72 6f 6d 20 61 6e  ing  NodeFrom an
5e80: 64 20 4e 6f 64 65 54 6f 20 64 65 66 69 6e 69 74  d NodeTo definit
5e90: 69 6f 6e 73 20 66 72 6f 6d 20 61 20 76 61 6c 69  ions from a vali
5ea0: 64 20 4e 65 74 77 6f 72 6b 20 62 79 20 63 61 6c  d Network by cal
5eb0: 6c 69 6e 67 20 74 68 65 20 3c 62 3e 43 72 65 61  ling the <b>Crea
5ec0: 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29  teRoutingNodes()
5ed0: 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f  </b> SQL functio
5ee0: 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  n...<verbatim>..
5ef0: 53 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f 75  SELECT CreateRou
5f00: 74 69 6e 67 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20  tingNodes(NULL, 
5f10: 27 74 61 62 6c 65 5f 6e 61 6d 65 27 2c 20 27 67  'table_name', 'g
5f20: 65 6f 6d 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d  eom', 'node_from
5f30: 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a  ', '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 5f 0d 0a 31 0d 0a 3c 2f  _________..1..</
5f60: 76 65 72 62 61 74 69 6d 3e 0d 0a 4c 65 74 27 73  verbatim>..Let's
5f70: 20 65 78 61 6d 69 6e 65 20 61 6c 6c 20 61 72 67   examine all arg
5f80: 75 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69 72  uments and their
5f90: 20 6d 65 61 6e 69 6e 67 73 3a 0d 0a 3c 6f 6c 3e   meanings:..<ol>
5fa0: 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69  ..<li><i>NULL</i
5fb0: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 3c  >: name of the <
5fc0: 62 3e 41 74 74 61 63 68 65 64 2d 44 42 3c 2f 62  b>Attached-DB</b
5fd0: 3e 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65  > containing the
5fe0: 20 53 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c   Spatial Table.<
5ff0: 62 72 3e 0d 0a 49 74 20 63 61 6e 20 62 65 20 6c  br>..It can be l
6000: 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20  egitimately set 
6010: 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20  to <b>NULL</b>, 
6020: 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 65  and in this case
6030: 20 74 68 65 20 3c 62 3e 4d 41 49 4e 3c 2f 62 3e   the <b>MAIN</b>
6040: 20 44 42 20 69 73 20 61 73 73 75 6d 65 64 2e 3c   DB is assumed.<
6050: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 61 62  /li>..<li><i>tab
6060: 6c 65 5f 6e 61 6d 65 3c 2f 69 3e 3a 20 6e 61 6d  le_name</i>: nam
6070: 65 20 6f 66 20 74 68 65 20 53 70 61 74 69 61 6c  e of the Spatial
6080: 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c   Table.</li>..<l
6090: 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 6c 69 3e 3a 20  i><i>geom</li>: 
60a0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75  name of the colu
60b0: 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65  mn (in the above
60c0: 20 54 61 62 6c 65 29 20 63 6f 6e 74 61 69 6e 69   Table) containi
60d0: 6e 67 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e 67  ng <b>Linestring
60e0: 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  s</b>.</li>..<li
60f0: 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69  ><i>node_from</i
6100: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63  >: name of the c
6110: 6f 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65  olumn to be adde
6120: 64 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54  d to the above T
6130: 61 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74  able and populat
6140: 65 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69  ed with appropri
6150: 61 74 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c  ate <b>NodeFrom<
6160: 2f 62 3e 20 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c  /b> IDs.</li>..<
6170: 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69  li><i>node_to</i
6180: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63  >: name of the c
6190: 6f 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64 65  olumn to be adde
61a0: 64 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 54  d to the above T
61b0: 61 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61 74  able and populat
61c0: 65 64 20 77 69 74 68 20 61 70 70 72 6f 70 72 69  ed with appropri
61d0: 61 74 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  ate <b>NodeTo</b
61e0: 3e 20 49 44 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  > IDs.<br>..<u>N
61f0: 6f 74 65 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c 62  ote</u>: both <b
6200: 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e  >NodeFrom</b> an
6210: 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20  d <b>NodeTo</b> 
6220: 63 6f 6c 75 6d 6e 73 20 73 68 6f 75 6c 64 20 6e  columns should n
6230: 6f 74 20 62 65 20 61 6c 72 65 61 64 79 20 64 65  ot be already de
6240: 66 69 6e 65 64 20 69 6e 20 74 68 65 20 61 62 6f  fined in the abo
6250: 76 65 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a  ve Table.</li>..
6260: 3c 2f 6f 6c 3e 0d 0a 3c 62 3e 43 72 65 61 74 65  </ol>..<b>Create
6270: 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f  RoutingNodes()</
6280: 62 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 3c  b> will return <
6290: 62 3e 31 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c  b>1</b> (<i>aka<
62a0: 2f 69 3e 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29  /i> <b>TRUE</b>)
62b0: 20 6f 6e 20 73 75 63 63 65 73 73 3b 20 61 6e 20   on success; an 
62c0: 65 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62  exception will b
62d0: 65 20 72 61 69 73 65 64 20 6f 6e 20 66 61 69 6c  e raised on fail
62e0: 75 72 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ure.<br>..<u>Not
62f0: 65 3c 2f 75 3e 3a 20 79 6f 75 20 63 61 6e 20 63  e</u>: you can c
6300: 61 6c 6c 20 3c 62 3e 43 72 65 61 74 65 52 6f 75  all <b>CreateRou
6310: 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f  ting_GetLastErro
6320: 72 28 29 3c 2f 62 3e 20 73 6f 20 74 6f 20 70 72  r()</b> so to pr
6330: 65 63 69 73 65 6c 79 20 69 64 65 6e 74 69 66 79  ecisely identify
6340: 20 74 68 65 20 63 61 75 73 65 20 61 63 63 6f 75   the cause accou
6350: 6e 74 69 6e 67 20 66 6f 72 20 66 61 69 6c 75 72  nting for failur
6360: 65 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a  e.<br><br><br>..
6370: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
6380: 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61  #c0ffc0" cellspa
6390: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
63a0: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
63b0: 64 3e 0d 0a 3c 68 33 3e 48 61 6e 64 6c 69 6e 67  d>..<h3>Handling
63c0: 20 64 79 6e 61 6d 69 63 20 4e 65 74 77 6f 72 6b   dynamic Network
63d0: 73 3c 2f 68 33 3e 0d 0a 41 20 4e 65 74 77 6f 72  s</h3>..A Networ
63e0: 6b 20 63 6f 75 6c 64 20 62 65 20 73 75 62 6a 65  k could be subje
63f0: 63 74 20 74 6f 20 72 61 74 68 65 72 20 66 72 65  ct to rather fre
6400: 71 75 65 6e 74 20 63 68 61 6e 67 65 73 2c 20 73  quent changes, s
6410: 75 63 68 20 61 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  uch as:..<ul>..<
6420: 6c 69 3e 6e 65 77 20 4c 69 6e 6b 73 20 6e 65 65  li>new Links nee
6430: 64 20 74 6f 20 62 65 20 61 64 64 65 64 2e 3c 2f  d to be added.</
6440: 6c 69 3e 0d 0a 3c 6c 69 3e 6f 62 73 6f 6c 65 74  li>..<li>obsolet
6450: 65 20 4c 69 6e 6b 73 20 61 72 65 20 72 65 71 75  e Links are requ
6460: 69 72 65 64 20 74 6f 20 62 65 20 72 65 6d 6f 76  ired to be remov
6470: 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 74  ed.</li>..<li>ot
6480: 68 65 72 20 4c 69 6e 6b 73 20 6d 61 79 20 72 65  her Links may re
6490: 63 65 69 76 65 20 61 20 64 69 66 66 65 72 65 6e  ceive a differen
64a0: 74 20 43 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  t Cost.</li>..<l
64b0: 69 3e 6f 6e 65 2d 77 61 79 73 20 63 6f 75 6c 64  i>one-ways could
64c0: 20 62 65 20 72 65 76 65 72 73 65 64 2c 20 74 68   be reversed, th
64d0: 65 20 64 69 73 63 69 70 6c 69 6e 65 20 6f 66 20  e discipline of 
64e0: 70 65 64 65 73 74 72 69 61 6e 20 61 72 65 61 73  pedestrian areas
64f0: 20 63 6f 75 6c 64 20 62 65 20 6d 6f 64 69 66 69   could be modifi
6500: 65 64 20 61 6e 64 20 73 6f 20 6f 6e 2e 3c 2f 6c  ed and so on.</l
6510: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 3c 62  i>..</ul></li><b
6520: 72 3e 0d 0a 41 20 56 69 72 74 75 61 6c 52 6f 75  r>..A VirtualRou
6530: 74 69 6e 67 2d 54 61 62 6c 65 20 69 73 20 61 6c  ting-Table is al
6540: 77 61 79 73 20 62 61 73 65 64 20 6f 6e 20 61 20  ways based on a 
6550: 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79  companion Binary
6560: 44 61 74 61 2d 54 61 62 6c 65 2c 20 74 68 61 74  Data-Table, that
6570: 20 69 73 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c   is intrinsicall
6580: 79 20 3c 62 3e 73 74 61 74 69 63 3c 2f 62 3e 2c  y <b>static</b>,
6590: 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c   and consequentl
65a0: 79 20 79 6f 75 20 61 72 65 20 72 65 71 75 69 72  y you are requir
65b0: 65 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 20  ed to re-create 
65c0: 62 6f 74 68 20 6f 66 20 74 68 65 6d 20 66 72 6f  both of them fro
65d0: 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 20 69  m time to time i
65e0: 6e 20 6f 72 64 65 72 20 74 6f 20 73 75 70 70 6f  n order to suppo
65f0: 72 74 20 61 6c 6c 20 72 65 63 65 6e 74 20 63 68  rt all recent ch
6600: 61 6e 67 65 73 20 61 66 66 65 63 74 69 6e 67 20  anges affecting 
6610: 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20  the underlaying 
6620: 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68  Network.<br>..Th
6630: 65 20 6f 70 74 69 6d 61 6c 20 66 72 65 71 75 65  e optimal freque
6640: 6e 63 79 20 66 6f 72 20 74 68 65 20 72 65 66 72  ncy for the refr
6650: 65 73 68 69 6e 67 20 6f 66 20 74 68 65 20 74 68  eshing of the th
6660: 65 20 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 73  e Routing Tables
6670: 20 64 65 70 65 6e 64 73 20 20 73 74 72 69 63 74   depends  strict
6680: 6c 79 20 6f 6e 20 74 68 65 20 73 70 65 63 69 66  ly on the specif
6690: 69 63 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2c  ic requirements,
66a0: 20 62 75 74 20 74 68 65 73 65 20 74 77 6f 20 6f   but these two o
66b0: 76 65 72 61 6c 6c 20 61 70 70 72 6f 61 63 68 65  verall approache
66c0: 73 20 61 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61  s are commonly a
66d0: 64 6f 70 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c  dopted:..<ol>..<
66e0: 6c 69 3e 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65  li><b>low freque
66f0: 6e 63 79 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a  ncy refresh</b>:
6700: 20 62 65 73 74 20 66 69 74 20 66 6f 72 20 73 6c   best fit for sl
6710: 6f 77 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65  owly evolving Ne
6720: 74 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20  tworks.<br>..In 
6730: 74 68 69 73 20 63 61 73 65 20 72 65 2d 63 72 65  this case re-cre
6740: 61 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72  ating the Networ
6750: 6b 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 61 20  k Tables once a 
6760: 6d 6f 6e 74 68 20 2f 20 77 65 65 6b 20 2f 20 64  month / week / d
6770: 61 79 20 63 6f 75 6c 64 20 62 65 20 72 65 61 73  ay could be reas
6780: 6f 6e 61 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a  onably enough...
6790: 52 65 63 72 65 61 74 69 6e 67 20 74 68 65 20 54  Recreating the T
67a0: 61 62 6c 65 73 20 66 72 6f 6d 20 73 63 72 61 74  ables from scrat
67b0: 63 68 20 75 73 75 61 6c 6c 79 20 72 65 71 75 69  ch usually requi
67c0: 72 65 73 20 73 65 76 65 72 61 6c 20 73 65 63 6f  res several seco
67d0: 6e 64 73 20 28 6f 72 20 65 76 65 6e 20 6c 65 73  nds (or even les
67e0: 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20  s, depending on 
67f0: 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69  the number of Li
6800: 6e 6b 73 29 2e 3c 62 72 3e 0d 0a 41 6e 20 6f 70  nks).<br>..An op
6810: 74 69 6f 6e 61 6c 20 72 65 66 72 65 73 68 20 61  tional refresh a
6820: 63 74 69 76 69 74 79 20 63 6f 75 6c 64 20 62 65  ctivity could be
6830: 20 70 6c 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20   planned at low 
6840: 74 72 61 66 66 69 63 20 68 6f 75 72 73 20 28 65  traffic hours (e
6850: 2e 67 2e 20 64 75 72 69 6e 67 20 74 68 65 20 6e  .g. during the n
6860: 69 67 68 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72  ight), and <b>Cr
6870: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62  eateRouting()</b
6880: 3e 20 63 6f 75 6c 64 20 62 65 20 6f 70 74 69 6f  > could be optio
6890: 6e 61 6c 6c 79 20 63 61 6c 6c 65 64 20 62 79 20  nally called by 
68a0: 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 6f 76 65  enabling the ove
68b0: 72 77 72 69 74 65 20 6f 70 74 69 6f 6e 2e 3c 2f  rwrite option.</
68c0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65 64 69  li>..<li><b>medi
68d0: 75 6d 2d 68 69 67 68 20 66 72 65 71 75 65 6e 63  um-high frequenc
68e0: 79 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62  y refresh</b>: b
68f0: 65 73 74 20 66 69 74 20 66 6f 72 20 73 77 69 66  est fit for swif
6900: 74 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74  tly evolving Net
6910: 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 52 65 2d 63  works.<br>..Re-c
6920: 72 65 61 74 69 6e 67 20 74 68 65 20 4e 65 74 77  reating the Netw
6930: 6f 72 6b 20 54 61 62 6c 65 73 20 6f 6e 63 65 20  ork Tables once 
6940: 70 65 72 20 68 6f 75 72 20 28 6f 72 20 65 76 65  per hour (or eve
6950: 6e 20 6d 6f 72 65 20 66 72 65 71 75 65 6e 74 6c  n more frequentl
6960: 79 29 20 63 6f 75 6c 64 20 62 65 20 73 74 72 69  y) could be stri
6970: 63 74 6c 79 20 72 65 71 75 69 72 65 64 2c 20 61  ctly required, a
6980: 6e 64 20 66 72 65 71 75 65 6e 74 20 3c 62 3e 6f  nd frequent <b>o
6990: 75 74 20 6f 66 20 73 65 72 76 69 63 65 3c 2f 62  ut of service</b
69a0: 3e 20 70 65 72 69 6f 64 73 20 77 68 69 6c 65 20  > periods while 
69b0: 77 61 69 74 69 6e 67 20 66 6f 72 20 74 68 65 20  waiting for the 
69c0: 72 65 66 72 65 73 68 20 70 72 6f 63 65 73 73 20  refresh process 
69d0: 74 6f 20 63 6f 6d 70 6c 65 74 65 20 63 6f 75 6c  to complete coul
69e0: 64 20 65 61 73 69 6c 79 20 62 65 63 6f 6d 65 20  d easily become 
69f0: 75 6e 61 63 63 65 70 74 61 62 6c 65 2e 3c 62 72  unacceptable.<br
6a00: 3e 0d 0a 49 6e 20 73 75 63 68 20 63 61 73 65 73  >..In such cases
6a10: 20 79 6f 75 20 63 6f 75 6c 64 20 61 64 6f 70 74   you could adopt
6a20: 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65   a <b>multi-thre
6a30: 61 64 65 64 20 73 74 72 61 74 65 67 79 3c 2f 62  aded strategy</b
6a40: 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  >:..<ul>..<li><b
6a50: 3e 74 68 72 65 61 64 20 23 31 3c 2f 62 3e 20 28  >thread #1</b> (
6a60: 3c 69 3e 74 68 65 20 72 65 61 64 65 72 3c 2f 69  <i>the reader</i
6a70: 3e 29 3a 20 74 68 69 73 20 66 69 72 73 74 20 74  >): this first t
6a80: 68 72 65 61 64 20 69 73 20 69 6e 74 65 6e 64 65  hread is intende
6a90: 64 20 74 6f 20 73 65 72 76 69 63 65 20 61 6e 79  d to service any
6aa0: 20 69 6e 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e   incoming Routin
6ab0: 67 20 72 65 71 75 65 73 74 2e 20 49 74 20 77 69  g request. It wi
6ac0: 6c 6c 20 62 65 20 61 6c 77 61 79 73 20 61 63 74  ll be always act
6ad0: 69 76 65 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61  ive, and will ta
6ae0: 72 67 65 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77  rget a well know
6af0: 6e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  n VirtualRouting
6b00: 2d 54 61 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e  -Table (e.g. <b>
6b10: 6d 79 5f 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62  my_routing</b> b
6b20: 61 73 65 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f  ased on <b>my_ro
6b30: 75 74 69 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e  uting_data</b>).
6b40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68  </li>..<li><b>th
6b50: 72 65 61 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e  read #2</b> (<i>
6b60: 74 68 65 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a  the writer</i>):
6b70: 20 74 68 69 73 20 73 65 63 6f 6e 64 20 74 68 72   this second thr
6b80: 65 61 64 20 69 73 20 6a 75 73 74 20 69 6e 74 65  ead is just inte
6b90: 6e 64 65 64 20 74 6f 20 72 65 2d 63 72 65 61 74  nded to re-creat
6ba0: 65 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54  e both Network T
6bb0: 61 62 6c 65 73 20 61 74 20 70 72 65 64 65 66 69  ables at predefi
6bc0: 6e 65 64 20 69 6e 74 65 72 76 61 6c 73 2c 20 61  ned intervals, a
6bd0: 6e 64 20 69 74 20 77 69 6c 6c 20 73 6c 65 65 70  nd it will sleep
6be0: 20 75 6e 74 69 6c 20 74 68 65 20 6e 65 78 74 20   until the next 
6bf0: 69 6e 74 65 72 76 61 6c 2e 3c 62 72 3e 0d 0a 41  interval.<br>..A
6c00: 74 20 65 61 63 68 20 69 6e 74 65 72 76 61 6c 20  t each interval 
6c10: 61 20 63 6f 70 79 20 6f 66 20 62 6f 74 68 20 4e  a copy of both N
6c20: 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 2c 20 77  etwork Tables, w
6c30: 69 6c 6c 20 62 65 20 6d 61 64 65 20 61 6e 64 2c  ill be made and,
6c40: 20 77 68 65 6e 20 63 6f 6d 70 6c 65 61 74 65 64   when compleated
6c50: 2c 20 77 69 6c 6c 20 6f 76 65 72 77 72 69 74 65  , will overwrite
6c60: 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 54 61   the original Ta
6c70: 62 6c 65 73 20 28 61 63 74 69 76 61 74 69 6e 67  bles (activating
6c80: 20 61 20 73 65 6d 61 70 68 6f 72 65 20 64 75 72   a semaphore dur
6c90: 69 6e 67 20 74 68 69 73 20 73 68 6f 72 74 2d 74  ing this short-t
6ca0: 69 6d 65 64 20 6c 61 73 74 20 73 74 65 70 20 69  imed last step i
6cb0: 73 20 68 69 67 68 6c 79 20 72 65 63 6f 6d 6d 65  s highly recomme
6cc0: 6e 64 65 64 29 2e 3c 62 72 3e 0d 0a 53 6f 6d 65  nded).<br>..Some
6cd0: 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 20  thing like this 
6ce0: 70 73 65 75 64 6f 2d 63 6f 64 65 20 65 78 65 6d  pseudo-code exem
6cf0: 70 6c 69 66 69 65 73 3a 0d 0a 3c 76 65 72 62 61  plifies:..<verba
6d00: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65  tim>..SELECT Cre
6d10: 61 74 65 52 6f 75 74 69 6e 67 28 27 6e 65 77 5f  ateRouting('new_
6d20: 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27  my_routing_data'
6d30: 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e  , 'new_my_routin
6d40: 67 27 2c 20 2e 2e 2e 29 3b 0d 0a 0d 0a 2d 2d 3e  g', ...);....-->
6d50: 20 73 74 61 72 74 20 74 68 65 20 73 65 6d 61 70   start the semap
6d60: 68 6f 72 65 20 73 6f 20 74 6f 20 6c 6f 63 6b 20  hore so to lock 
6d70: 74 68 65 20 6f 74 68 65 72 20 74 68 72 65 61 64  the other thread
6d80: 0d 0a 0d 0a 42 45 47 49 4e 3b 0d 0a 44 52 4f 50  ....BEGIN;..DROP
6d90: 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e   TABLE my_routin
6da0: 67 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d  g;..DROP TABLE m
6db0: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 3b 0d  y_routing_data;.
6dc0: 0a 53 45 4c 45 43 54 20 43 6c 6f 6e 65 54 61 62  .SELECT CloneTab
6dd0: 6c 65 28 27 4d 41 49 4e 27 2c 20 27 6e 65 77 5f  le('MAIN', 'new_
6de0: 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27  my_routing_data'
6df0: 2c 20 27 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61  , 'my_routing_da
6e00: 74 61 27 2c 20 30 29 3b 0d 0a 43 52 45 41 54 45  ta', 0);..CREATE
6e10: 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 6d   VIRTUAL TABLE m
6e20: 79 5f 72 6f 75 74 69 6e 67 20 55 53 49 4e 47 20  y_routing USING 
6e30: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 28 27  VirtualRouting('
6e40: 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 27  my_routing_data'
6e50: 29 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6e  );..DROP TABLE n
6e60: 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 3b 0d 0a  ew_my_routing;..
6e70: 44 52 4f 50 20 54 41 42 4c 45 20 6e 65 77 5f 6d  DROP TABLE new_m
6e80: 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74 61 3b 0d  y_routing_data;.
6e90: 0a 43 4f 4d 4d 49 54 3b 0d 0a 0d 0a 2d 2d 3e 20  .COMMIT;....--> 
6ea0: 72 65 6d 6f 76 65 20 74 68 65 20 73 65 6d 61 70  remove the semap
6eb0: 68 6f 72 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  hore..</verbatim
6ec0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
6ed0: 73 74 72 69 63 74 6c 79 20 72 65 73 70 65 63 74  strictly respect
6ee0: 69 6e 67 20 74 68 65 20 61 62 6f 76 65 20 73 65  ing the above se
6ef0: 71 75 65 6e 63 65 20 6f 66 20 53 51 4c 20 6f 70  quence of SQL op
6f00: 65 72 61 74 69 6f 6e 73 20 69 73 20 61 62 73 6f  erations is abso
6f10: 6c 75 74 65 6c 79 20 72 65 71 75 69 72 65 64 2e  lutely required.
6f20: 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  </li> ..</ul></l
6f30: 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e  i>..</ol>..</td>
6f40: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
6f50: 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  .<br>..<table bg
6f60: 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20  color="#ffb060" 
6f70: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
6f80: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
6f90: 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 57  ><tr><td>..<h3>W
6fa0: 61 72 6e 69 6e 67 3a 20 68 6f 77 20 74 6f 20 63  arning: how to c
6fb0: 6f 72 72 65 63 74 6c 79 20 64 72 6f 70 20 4e 65  orrectly drop Ne
6fc0: 74 77 6f 72 6b 20 54 61 62 6c 65 73 3c 2f 68 33  twork Tables</h3
6fd0: 3e 0d 0a 57 68 65 6e 20 64 72 6f 70 70 69 6e 67  >..When dropping
6fe0: 20 61 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e   a VirtualRoutin
6ff0: 67 2d 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20  g-Table and its 
7000: 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79  companion Binary
7010: 44 61 74 61 2d 54 61 62 6c 65 20 73 74 72 69 63  Data-Table stric
7020: 74 6c 79 20 72 65 73 70 65 63 74 69 6e 67 20 74  tly respecting t
7030: 68 65 20 63 6f 72 72 65 63 74 20 73 65 71 75 65  he correct seque
7040: 6e 63 65 20 6f 66 20 53 51 4c 20 63 6f 6d 6d 61  nce of SQL comma
7050: 6e 64 73 20 69 73 20 65 73 73 65 6e 74 69 61 6c  nds is essential
7060: 2e 3c 62 72 3e 0d 0a 46 61 69 6c 69 6e 67 20 74  .<br>..Failing t
7070: 6f 20 73 74 72 69 63 74 6c 79 20 72 65 73 70 65  o strictly respe
7080: 63 74 20 74 68 69 73 20 65 78 70 65 63 74 65 64  ct this expected
7090: 20 73 65 71 75 65 6e 63 65 20 77 69 6c 6c 20 73   sequence will s
70a0: 75 72 65 6c 79 20 63 61 75 73 65 20 79 6f 75 20  urely cause you 
70b0: 73 65 76 65 72 61 6c 20 74 72 6f 75 62 6c 65 73  several troubles
70c0: 20 61 6e 64 20 73 65 76 65 72 65 20 68 65 61 64   and severe head
70d0: 61 63 68 65 73 2c 20 61 6e 64 20 77 69 6c 6c 20  aches, and will 
70e0: 70 6f 73 73 69 62 6c 79 20 6c 65 61 64 20 74 6f  possibly lead to
70f0: 20 61 20 63 6f 6d 70 6c 65 74 65 6c 79 20 63 6f   a completely co
7100: 72 72 75 70 74 65 64 20 64 61 74 61 62 61 73 65  rrupted database
7110: 2e 2e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 66 69  ....<ol>..<li>fi
7120: 72 73 74 20 44 52 4f 50 20 74 68 65 20 56 69 72  rst DROP the Vir
7130: 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c  tualRouting-Tabl
7140: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  e.</li>..<li>the
7150: 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72   companion Binar
7160: 79 44 61 74 61 2d 54 61 62 6c 65 20 63 61 6e 20  yData-Table can 
7170: 6f 6e 6c 79 20 62 65 20 73 61 66 65 6c 79 20 44  only be safely D
7180: 52 4f 50 65 64 20 61 66 74 65 72 20 74 68 65 20  ROPed after the 
7190: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54  VirtualRouting-T
71a0: 61 62 6c 65 20 68 61 73 20 62 65 65 6e 20 72 65  able has been re
71b0: 6d 6f 76 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  moved.</li>..<li
71c0: 3e 3c 75 3e 42 65 20 77 61 72 6e 65 64 3c 2f 75  ><u>Be warned</u
71d0: 3e 3a 20 69 66 20 79 6f 75 20 44 52 4f 50 20 74  >: if you DROP t
71e0: 68 65 20 42 69 6e 61 72 79 44 61 74 61 2d 54 61  he BinaryData-Ta
71f0: 62 6c 65 20 66 69 72 73 74 2c 20 74 68 65 20 56  ble first, the V
7200: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61  irtualRouting-Ta
7210: 62 6c 65 20 77 69 6c 6c 20 62 65 20 3c 62 3e 6f  ble will be <b>o
7220: 72 70 68 61 6e 65 64 3c 2f 62 3e 20 61 6e 64 20  rphaned</b> and 
7230: 63 61 6e 20 6e 6f 20 6c 6f 6e 67 65 72 20 62 65  can no longer be
7240: 20 44 52 4f 50 65 64 20 21 3c 62 72 3e 0d 0a 3c   DROPed !<br>..<
7250: 62 3e 59 6f 75 20 68 61 76 65 20 62 65 65 6e 20  b>You have been 
7260: 77 61 72 6e 65 64 20 21 21 3c 2f 62 3e 3c 2f 6c  warned !!</b></l
7270: 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e  i>..</ol>..</td>
7280: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
7290: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c  .<br><br>..<hr><
72a0: 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65  br>..<h1><a name
72b0: 3d 22 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53  ="from_to">4 - S
72c0: 6f 6c 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53  olving classic S
72d0: 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f  hortest Path pro
72e0: 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a  blems</a></h1>..
72f0: 54 68 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63  The most classic
7300: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 70   Shortest Path p
7310: 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20  roblem requires 
7320: 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20  to identify the 
7330: 6f 70 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69  optimal connecti
7340: 6f 6e 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62  on between an <b
7350: 3e 4f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e  >Origin Node</b>
7360: 20 61 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e   and a <b>Destin
7370: 61 74 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c  ation Node</b>.<
7380: 62 72 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69  br>..We can easi
7390: 6c 79 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63  ly translate suc
73a0: 68 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f  h a problem into
73b0: 20 61 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75   a simple SQL qu
73c0: 65 72 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f  ery targeting so
73d0: 6d 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  me VirtualRoutin
73e0: 67 2d 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61  g-Table...<verba
73f0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d  tim>..SELECT * .
7400: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
7410: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
7420: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
7430: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
7440: 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20  rbatim>..<table 
7450: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
7460: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
7470: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
7480: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
7490: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
74a0: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
74b0: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
74c0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
74d0: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
74e0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
74f0: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
7500: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
7510: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c  >Delimiter</th><
7520: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
7530: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68  0a0">RouteId</th
7540: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
7550: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
7560: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7570: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
7580: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7590: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
75a0: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
75b0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
75c0: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
75d0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
75e0: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
75f0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
7600: 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c  >PointFrom</th><
7610: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
7620: 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68  0a0">PointTo</th
7630: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
7640: 30 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65  0d0a0">Tolerance
7650: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
7660: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
7670: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7680: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
7690: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
76a0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
76b0: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
76c0: 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c  >..<td>Dijkstra<
76d0: 2f 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74  /td><td>Shortest
76e0: 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75   Path</td><td>Fu
76f0: 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39  ll</td><td>, &#9
7700: 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63  1;dec=44, hex=2c
7710: 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c  &#93;</td><td al
7720: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
7730: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7740: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
7750: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
7760: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7770: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
7780: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7790: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
77a0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
77b0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
77c0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
77d0: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32  "right">300.9122
77e0: 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  08</td><td>BLOB 
77f0: 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c  sz=272 GEOMETRY<
7800: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7810: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
7820: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7830: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
7840: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
7850: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7860: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
7870: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
7880: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
7890: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
78a0: 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74  t">224014</td><t
78b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
78c0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
78d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
78e0: 38 38 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  885</td><td>NULL
78f0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7900: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
7910: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
7920: 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c  >94.812424</td><
7930: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7940: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
7950: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
7960: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
7970: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7980: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7990: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
79a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
79b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
79c0: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
79d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
79e0: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c  ="right">224446<
79f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7a00: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
7a10: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7a20: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
7a30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7a40: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
7a50: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7a60: 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36  right">69.727726
7a70: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7a80: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52  d><td>VIA MARGAR
7a90: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ITONE</td>..</tr
7aa0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
7ab0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
7ac0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7ad0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7ae0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
7af0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7b00: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
7b10: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
7b20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
7b30: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
7b40: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
7b50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7b60: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
7b70: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7b80: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7b90: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
7ba0: 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37  n="right">136.37
7bb0: 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2057</td><td>NUL
7bc0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
7bd0: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
7be0: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
7bf0: 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69  .<br>..Let's qui
7c00: 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65  ckly examine the
7c10: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
7c20: 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65  ned by the above
7c30: 20 52 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d   Routing query:.
7c40: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  .<ul>..<li>the <
7c50: 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20  b>first row</b> 
7c60: 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64  (<i>aka</i> head
7c70: 65 72 20 72 6f 77 29 20 68 61 73 20 61 20 73 70  er row) has a sp
7c80: 65 63 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61  ecial interpreta
7c90: 74 69 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74  tion, and is int
7ca0: 65 6e 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69  ended to summari
7cb0: 7a 65 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f  ze the travel so
7cc0: 6c 75 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c  lution as a whol
7cd0: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c  e.</li>..<li>all
7ce0: 20 74 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e   the <b>followin
7cf0: 67 20 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65  g rows</b> repre
7d00: 73 65 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69  sent a single Li
7d10: 6e 6b 20 72 65 71 75 69 72 65 64 20 74 6f 20 62  nk required to b
7d20: 75 69 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f  uild the solutio
7d30: 6e 20 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b  n (optima path);
7d40: 20 4c 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72   Links are order
7d50: 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74  ed accordingly t
7d60: 6f 20 74 68 65 20 74 72 61 76 65 6c 20 64 69 72  o the travel dir
7d70: 65 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e  ection connectin
7d80: 67 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64  g the Origin and
7d90: 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e   the Destination
7da0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75  .</li>..<li>colu
7db0: 6d 6e 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d  mns <b>Algorithm
7dc0: 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74  </b>, <b>Request
7dd0: 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73  </b>, <b>Options
7de0: 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74  </b>, <b>Delimit
7df0: 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74  er</b>, <b>Point
7e00: 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69  From</b>, <b>Poi
7e10: 6e 74 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c  ntTo</b>, <b>Tol
7e20: 65 72 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c  erance</b> and <
7e30: 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61  b>Geometry</b> a
7e40: 72 65 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f  re always set to
7e50: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 28 65 78   <b>NULL</b> (ex
7e60: 63 65 70 74 20 74 68 61 74 20 6f 66 20 74 68 65  cept that of the
7e70: 20 66 69 72 73 74 20 72 6f 77 20 6f 66 20 74 68   first row of th
7e80: 65 20 72 65 73 75 6c 74 73 65 74 29 3a 0d 0a 3c  e resultset):..<
7e90: 75 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20  ul>..<li>column 
7ea0: 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e  <b>Algorithm</b>
7eb0: 20 61 63 63 6f 75 6e 74 73 20 66 6f 72 20 74 68   accounts for th
7ec0: 65 20 52 6f 75 74 69 6e 67 20 41 6c 67 6f 72 69  e Routing Algori
7ed0: 74 68 6d 20 75 73 65 64 20 62 79 20 74 68 65 20  thm used by the 
7ee0: 63 75 72 72 65 6e 74 20 71 75 65 72 79 20 28 3c  current query (<
7ef0: 69 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 69 3e  i>Dijkstra's</i>
7f00: 20 6f 72 20 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c   or <i>A*</i>).<
7f10: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e  /li>..<li>column
7f20: 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20   <b>Request</b> 
7f30: 73 70 65 63 69 66 69 65 73 20 74 68 65 20 65 78  specifies the ex
7f40: 61 63 74 20 6e 61 74 75 72 65 20 6f 66 20 74 68  act nature of th
7f50: 65 20 63 75 72 72 65 6e 74 20 71 75 65 72 79 20  e current query 
7f60: 28 69 6e 20 74 68 69 73 20 73 70 65 63 69 66 69  (in this specifi
7f70: 63 20 63 61 73 65 20 3c 69 3e 53 68 6f 72 74 65  c case <i>Shorte
7f80: 73 74 20 50 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c  st Path</i>).</l
7f90: 69 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 6e 6f 77 20  i>..<li>for now 
7fa0: 77 65 27 6c 6c 20 69 67 6e 6f 72 65 20 74 68 65  we'll ignore the
7fb0: 20 63 6f 6c 75 6d 6e 73 20 3c 62 3e 4f 70 74 69   columns <b>Opti
7fc0: 6f 6e 73 3c 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69  ons</b>, <b>Deli
7fd0: 6d 69 74 65 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f  miter</b>, <b>Po
7fe0: 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e  intFrom</b>, <b>
7ff0: 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64 20  PointTo</b> and 
8000: 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e  <b>Tolerance</b>
8010: 3a 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69  : their respecti
8020: 76 65 20 6d 65 61 6e 69 6e 67 73 20 77 69 6c 6c  ve meanings will
8030: 20 62 65 20 65 78 70 6c 61 69 6e 65 64 20 69 6e   be explained in
8040: 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 72 61 67   following parag
8050: 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  raphs.</li>..<li
8060: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65  >column <b>Geome
8070: 74 72 79 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 73  try</b> contains
8080: 20 61 20 3c 62 3e 4c 49 4e 45 53 54 52 49 4e 47   a <b>LINESTRING
8090: 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 61 74  </b> representat
80a0: 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65  ion of the whole
80b0: 20 52 6f 75 74 65 20 73 6f 6c 75 74 69 6f 6e 2e   Route solution.
80c0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
80d0: 3e 3a 20 6f 6e 20 3c 62 3e 4c 6f 67 69 63 61 6c  >: on <b>Logical
80e0: 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 20 28 6e   Networks</b> (n
80f0: 6f 74 20 73 75 70 70 6f 72 74 69 6e 67 20 47 65  ot supporting Ge
8100: 6f 6d 65 74 72 69 65 73 29 20 3c 62 3e 47 65 6f  ometries) <b>Geo
8110: 6d 65 74 72 79 3c 2f 62 3e 20 77 69 6c 6c 20 61  metry</b> will a
8120: 6c 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c  lways be <b>NULL
8130: 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  </b>.</li>..</ul
8140: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c  ></li>..<li>we'l
8150: 6c 20 69 67 6e 6f 72 65 20 66 6f 72 20 6e 6f 77  l ignore for now
8160: 20 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65   column <b>Route
8170: 49 64 3c 2f 62 3e 3b 20 69 74 73 20 6d 65 61 6e  Id</b>; its mean
8180: 69 6e 67 20 77 69 6c 6c 20 62 65 20 65 78 70 6c  ing will be expl
8190: 61 69 6e 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69  ained in followi
81a0: 6e 67 20 70 61 72 61 67 72 61 70 68 73 2e 3c 2f  ng paragraphs.</
81b0: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20  li>..<li>column 
81c0: 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20  <b>RouteRow</b> 
81d0: 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20 70 72  simply is the pr
81e0: 6f 67 72 65 73 73 69 76 65 20 6e 75 6d 62 65 72  ogressive number
81f0: 20 6f 66 20 74 68 65 20 72 6f 77 20 69 6e 20 74   of the row in t
8200: 68 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69  he travel soluti
8210: 6f 6e 20 28 61 6c 77 61 79 73 20 3c 62 3e 30 3c  on (always <b>0<
8220: 2f 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65  /b> in the heade
8230: 72 20 72 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  r row).</li>..<l
8240: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 6c 65  i>column <b>Role
8250: 3c 2f 62 3e 20 63 61 6e 20 62 65 20 3c 69 3e 52  </b> can be <i>R
8260: 6f 75 74 65 3c 2f 69 3e 20 28 68 65 61 64 65 72  oute</i> (header
8270: 20 72 6f 77 29 20 6f 72 20 3c 69 3e 4c 69 6e 6b   row) or <i>Link
8280: 3c 2f 69 3e 20 28 61 6c 6c 20 66 6f 6c 6c 6f 77  </i> (all follow
8290: 69 6e 67 20 72 6f 77 73 29 2e 3c 2f 6c 69 3e 0d  ing rows).</li>.
82a0: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4c  .<li>column <b>L
82b0: 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e 20 72 65 66  inkRowid</b> ref
82c0: 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62 3e 52  erences the <b>R
82d0: 4f 57 49 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20  OWID</b> of the 
82e0: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69  corresponding Li
82f0: 6e 6b 20 28 61 6c 77 61 79 73 20 73 65 74 20 74  nk (always set t
8300: 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e  o <b>NULL</b> in
8310: 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 29   the header row)
8320: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75  .</li>..<li>colu
8330: 6d 6e 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  mn <b>NodeFrom</
8340: 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f  b> and <b>NodeTo
8350: 3c 2f 62 3e 20 68 61 76 65 20 74 68 65 20 66 6f  </b> have the fo
8360: 6c 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65  llowing interpre
8370: 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  tation:..<ul>..<
8380: 6c 69 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72  li>in the header
8390: 20 72 6f 77 20 74 68 65 79 20 63 6f 72 72 65 73   row they corres
83a0: 70 6f 6e 64 20 74 6f 20 68 65 20 3c 62 3e 4f 72  pond to he <b>Or
83b0: 69 67 69 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  igin</b> and <b>
83c0: 44 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20  Destination</b> 
83d0: 4e 6f 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  Nodes.</li>..<li
83e0: 3e 69 6e 20 61 6c 6c 20 6f 66 20 74 68 65 20 66  >in all of the f
83f0: 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20 74 68  ollowing rows th
8400: 65 79 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20  ey are intended 
8410: 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 64  to specify the d
8420: 69 72 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20  irection of the 
8430: 63 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c  current Link.</l
8440: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
8450: 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f  <li>column <b>Co
8460: 73 74 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 66  st</b> has the f
8470: 6f 6c 6c 6f 77 69 6e 67 20 69 6e 74 65 72 70 72  ollowing interpr
8480: 65 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a  etation:..<ul>..
8490: 3c 6c 69 3e 69 6e 20 74 68 65 20 68 65 61 64 65  <li>in the heade
84a0: 72 20 72 6f 77 20 69 74 20 63 6f 72 72 65 73 70  r row it corresp
84b0: 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c 62 3e 74  onds to the <b>t
84c0: 6f 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 20 6f 66  otal cost</b> of
84d0: 20 74 68 65 20 72 6f 75 74 65 2e 3c 2f 6c 69 3e   the route.</li>
84e0: 0d 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 6f 66 20  ..<li>in all of 
84f0: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f  the following ro
8500: 77 73 20 69 74 20 72 65 70 72 65 73 65 6e 74 73  ws it represents
8510: 20 74 68 65 20 73 70 65 63 69 66 69 63 20 63 6f   the specific co
8520: 73 74 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e  st of the curren
8530: 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  t Link.</li>..</
8540: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f  ul></li>..<li>co
8550: 6c 75 6d 6e 20 3c 62 3e 4e 61 6d 65 3c 2f 62 3e  lumn <b>Name</b>
8560: 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 64 65   contains the de
8570: 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65  scription of the
8580: 20 63 75 72 72 65 6e 74 20 4c 69 6e 6b 20 28 75   current Link (u
8590: 73 75 61 6c 6c 79 20 61 20 72 6f 61 64 20 6e 61  sually a road na
85a0: 6d 65 29 2c 20 61 6e 64 20 69 73 20 61 6c 77 61  me), and is alwa
85b0: 79 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69  ys <b>NULL</b> i
85c0: 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77  n the header row
85d0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
85e0: 75 3e 20 69 74 20 63 6f 75 6c 64 20 62 65 20 61  u> it could be a
85f0: 6c 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c  lways be <b>NULL
8600: 3c 2f 62 3e 20 69 66 20 74 68 65 20 56 69 72 74  </b> if the Virt
8610: 75 61 6c 52 6f 75 74 69 6e 67 2d 54 61 62 6c 65  ualRouting-Table
8620: 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72   does not suppor
8630: 74 73 20 6e 61 6d 65 73 20 28 69 2e 65 2e 20 74  ts names (i.e. t
8640: 68 65 20 3c 62 3e 72 6f 61 64 5f 6e 61 6d 65 5f  he <b>road_name_
8650: 63 6f 6c 75 6d 6e 3c 2f 62 3e 20 70 61 72 6d 20  column</b> parm 
8660: 6f 66 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67  of CreateRouting
8670: 20 77 61 73 20 6e 6f 74 20 75 73 65 64 29 2e 3c   was not used).<
8680: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
8690: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72  ..</ul>..<br><br
86a0: 3e 0d 0a 54 65 73 74 69 6e 67 20 74 68 65 20 72  >..Testing the r
86b0: 65 74 75 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e  eturn connection
86c0: 20 6a 75 73 74 20 72 65 71 75 69 72 65 73 20 73   just requires s
86d0: 77 61 70 70 69 6e 67 20 74 68 65 20 4f 72 69 67  wapping the Orig
86e0: 69 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69  in and the Desti
86f0: 6e 61 74 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20  nation; in this 
8700: 65 78 61 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a  example you'll j
8710: 75 73 74 20 71 75 65 72 79 20 74 68 65 20 6e 65  ust query the ne
8720: 65 64 65 64 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c  eded columns:..<
8730: 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43  verbatim>..SELEC
8740: 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65  T RouteRow, Role
8750: 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64  , LinkRowid, Nod
8760: 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43  eFrom, NodeTo, C
8770: 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e  ost, Geometry, N
8780: 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74  ame..FROM byfoot
8790: 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d  ..WHERE NodeTo =
87a0: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
87b0: 46 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a  From = 183286;..
87c0: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61  </verbatim>..<ta
87d0: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62  ble border="1" b
87e0: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22  gcolor="#ffffcf"
87f0: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
8800: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
8810: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c  >..<tr><th bgcol
8820: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75  or="#d0d0a0">Rou
8830: 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67  teRow</th><th bg
8840: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8850: 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Role</th><th bgc
8860: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c  olor="#d0d0a0">L
8870: 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68  inkRowid</th><th
8880: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
8890: 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e  0">NodeFrom</th>
88a0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
88b0: 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68  d0a0">NodeTo</th
88c0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
88d0: 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e  0d0a0">Cost</th>
88e0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
88f0: 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f  d0a0">Geometry</
8900: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
8910: 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74  #d0d0a0">Name</t
8920: 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  h></tr>..<tr>..<
8930: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8940: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
8950: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
8960: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8970: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
8980: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8990: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
89a0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30  align="right">30
89b0: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64  0.912208</td><td
89c0: 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f  >BLOB sz=272 GEO
89d0: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
89e0: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
89f0: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
8a00: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
8a10: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
8a20: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
8a30: 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  414</td><td alig
8a40: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
8a50: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8a60: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
8a70: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8a80: 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f  ht">136.372057</
8a90: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
8aa0: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
8ab0: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
8ac0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
8ad0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
8ae0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
8af0: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
8b00: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8b10: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
8b20: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8b30: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
8b40: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
8b50: 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64  9.727726</td><td
8b60: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
8b70: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
8b80: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
8b90: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
8ba0: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
8bb0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
8bc0: 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f  "right">224014</
8bd0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8be0: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
8bf0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8c00: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
8c10: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
8c20: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64  4.812424</td><td
8c30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
8c40: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
8c50: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f  </td>..</tr>..</
8c60: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41 73  table>..<br>..As
8c70: 20 79 6f 75 27 6c 6c 20 72 65 6d 65 6d 62 65 72   you'll remember
8c80: 2c 20 74 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c  , the <b>byfoot<
8c90: 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69  /b> VirtualRouti
8ca0: 6e 67 2d 54 61 62 6c 65 20 68 61 73 20 6e 6f 20  ng-Table has no 
8cb0: 3c 62 3e 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 2c  <b>one-ways</b>,
8cc0: 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c   and consequentl
8cd0: 79 20 74 68 65 20 72 65 74 75 72 6e 20 70 61 74  y the return pat
8ce0: 68 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f  h corresponds to
8cf0: 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 2c 20   the first one, 
8d00: 65 78 63 65 70 74 20 69 6e 20 74 68 61 74 20 61  except in that a
8d10: 6c 6c 20 64 69 72 65 63 74 69 6f 6e 73 20 61 72  ll directions ar
8d20: 65 20 6e 6f 77 20 72 65 76 65 72 73 65 64 2e 0d  e now reversed..
8d30: 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 4e  .<br><br><br>..N
8d40: 6f 77 20 79 6f 75 27 6c 6c 20 74 65 73 74 20 74  ow you'll test t
8d50: 68 65 20 73 61 6d 65 20 63 6f 6e 6e 65 63 74 69  he same connecti
8d60: 6f 6e 73 2c 20 62 75 74 20 74 68 69 73 20 74 69  ons, but this ti
8d70: 6d 65 20 79 6f 75 27 6c 6c 20 74 61 72 67 65 74  me you'll target
8d80: 20 74 68 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62   the <b>bycar</b
8d90: 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  > VirtualRouting
8da0: 2d 54 61 62 6c 65 20 74 68 61 74 20 66 75 6c 6c  -Table that full
8db0: 79 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 6f 6e  y supports <b>on
8dc0: 65 2d 77 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76 65  e-ways</b>:..<ve
8dd0: 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20  rbatim>..SELECT 
8de0: 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
8df0: 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
8e00: 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
8e10: 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
8e20: 65 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57  e..FROM bycar..W
8e30: 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20  HERE NodeFrom = 
8e40: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54  178731 AND NodeT
8e50: 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76  o = 183286;..</v
8e60: 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65  erbatim>..<table
8e70: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
8e80: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
8e90: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
8ea0: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
8eb0: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
8ec0: 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52  "#d0d0a0">RouteR
8ed0: 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ow</th><th bgcol
8ee0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c  or="#d0d0a0">Rol
8ef0: 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  e</th><th bgcolo
8f00: 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b  r="#d0d0a0">Link
8f10: 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67  Rowid</th><th bg
8f20: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8f30: 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  NodeFrom</th><th
8f40: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
8f50: 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74  0">NodeTo</th><t
8f60: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
8f70: 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68  a0">Cost</th><th
8f80: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
8f90: 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e  0">Geometry</th>
8fa0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
8fb0: 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c  d0a0">Name</th><
8fc0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
8fd0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
8fe0: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
8ff0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
9000: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9010: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
9020: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9030: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
9040: 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 31 2e 38  gn="right">101.8
9050: 31 35 35 35 32 3c 2f 74 64 3e 3c 74 64 3e 42 4c  15552</td><td>BL
9060: 4f 42 20 73 7a 3d 32 30 33 32 20 47 45 4f 4d 45  OB sz=2032 GEOME
9070: 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
9080: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9090: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
90a0: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
90b0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
90c0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31  gn="right">22401
90d0: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
90e0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
90f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9100: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
9110: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9120: 22 3e 31 33 2e 31 32 37 38 37 34 3c 2f 74 64 3e  ">13.127874</td>
9130: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
9140: 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54  >VIA PIETRO ARET
9150: 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  INO</td>..</tr>.
9160: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9170: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
9180: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
9190: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
91a0: 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4446</td><td ali
91b0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
91c0: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
91d0: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
91e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
91f0: 67 68 74 22 3e 39 2e 36 35 34 36 30 38 3c 2f 74  ght">9.654608</t
9200: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
9210: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
9220: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
9230: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9240: 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
9250: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9260: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39  lign="right">219
9270: 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  171</td><td alig
9280: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
9290: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
92a0: 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74  right">178732</t
92b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
92c0: 68 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64  ht">7.809952</td
92d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
92e0: 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20  d>VIA FRANCESCO 
92f0: 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  CRISPI</td>..</t
9300: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
9310: 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74  ign="right">4</t
9320: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
9330: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9340: 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20  >219058</td><td 
9350: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
9360: 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8732</td><td ali
9370: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35  gn="right">17875
9380: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
9390: 22 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 32  "right">12.44562
93a0: 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  6</td><td>NULL</
93b0: 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43  td><td>VIA FRANC
93c0: 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e  ESCO CRISPI</td>
93d0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
93e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
93f0: 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >5</td><td>Link<
9400: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9410: 69 67 68 74 22 3e 32 32 35 38 38 38 3c 2f 74 64  ight">225888</td
9420: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9430: 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74  t">178754</td><t
9440: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9450: 31 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61  183461</td><td a
9460: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 2e 35  lign="right">1.5
9470: 39 39 38 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55  99865</td><td>NU
9480: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46  LL</td><td>VIA F
9490: 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c  RANCESCO CRISPI<
94a0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
94b0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
94c0: 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">6</td><td>L
94d0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
94e0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 38 37  n="right">225887
94f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9500: 72 69 67 68 74 22 3e 31 38 33 34 36 31 3c 2f 74  right">183461</t
9510: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9520: 68 74 22 3e 31 38 32 38 30 30 3c 2f 74 64 3e 3c  ht">182800</td><
9530: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9540: 3e 33 2e 33 30 30 35 39 30 3c 2f 74 64 3e 3c 74  >3.300590</td><t
9550: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
9560: 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49  IA FRANCESCO CRI
9570: 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  SPI</td>..</tr>.
9580: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9590: 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c  ="right">7</td><
95a0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
95b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
95c0: 33 39 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3935</td><td ali
95d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 30  gn="right">18280
95e0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
95f0: 22 72 69 67 68 74 22 3e 31 38 32 37 39 39 3c 2f  "right">182799</
9600: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9610: 67 68 74 22 3e 36 2e 36 38 38 37 38 36 3c 2f 74  ght">6.688786</t
9620: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
9630: 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49  td>VIALE LUCA SI
9640: 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c  GNORELLI</td>..<
9650: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
9660: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c  align="right">8<
9670: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
9680: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9690: 74 22 3e 32 32 36 30 33 38 3c 2f 74 64 3e 3c 74  t">226038</td><t
96a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
96b0: 31 38 32 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61  182799</td><td a
96c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
96d0: 34 35 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  456</td><td alig
96e0: 6e 3d 22 72 69 67 68 74 22 3e 31 2e 32 39 34 30  n="right">1.2940
96f0: 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  17</td><td>NULL<
9700: 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55  /td><td>VIALE LU
9710: 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74  CA SIGNORELLI</t
9720: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
9730: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
9740: 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">9</td><td>Lin
9750: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
9760: 22 72 69 67 68 74 22 3e 32 32 35 38 33 32 3c 2f  "right">225832</
9770: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9780: 67 68 74 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e  ght">183456</td>
9790: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
97a0: 22 3e 31 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64  ">183444</td><td
97b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
97c0: 2e 33 38 35 34 38 36 3c 2f 74 64 3e 3c 74 64 3e  .385486</td><td>
97d0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
97e0: 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c  LE LUCA SIGNOREL
97f0: 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LI</td>..</tr>..
9800: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9810: 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c  "right">10</td><
9820: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
9830: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
9840: 35 38 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  5831</td><td ali
9850: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 34  gn="right">18344
9860: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
9870: 22 72 69 67 68 74 22 3e 31 38 33 35 35 34 3c 2f  "right">183554</
9880: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9890: 67 68 74 22 3e 33 2e 31 36 30 36 36 32 3c 2f 74  ght">3.160662</t
98a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
98b0: 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49  td>VIALE LUCA SI
98c0: 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c  GNORELLI</td>..<
98d0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
98e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31  align="right">11
98f0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
9900: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9910: 68 74 22 3e 32 32 35 37 36 35 3c 2f 74 64 3e 3c  ht">225765</td><
9920: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9930: 3e 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20  >183554</td><td 
9940: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9950: 33 39 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3954</td><td ali
9960: 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 34 36 39  gn="right">7.469
9970: 39 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  917</td><td>NULL
9980: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c  </td><td>VIALE L
9990: 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f  UCA SIGNORELLI</
99a0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
99b0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
99c0: 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c  ht">12</td><td>L
99d0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
99e0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 37 36 36  n="right">225766
99f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9a00: 72 69 67 68 74 22 3e 31 38 33 39 35 34 3c 2f 74  right">183954</t
9a10: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9a20: 68 74 22 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c  ht">183905</td><
9a30: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9a40: 3e 33 2e 32 33 36 33 38 39 3c 2f 74 64 3e 3c 74  >3.236389</td><t
9a50: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
9a60: 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52  IALE LUCA SIGNOR
9a70: 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ELLI</td>..</tr>
9a80: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
9a90: 6e 3d 22 72 69 67 68 74 22 3e 31 33 3c 2f 74 64  n="right">13</td
9aa0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9ab0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9ac0: 32 32 35 39 37 39 3c 2f 74 64 3e 3c 74 64 20 61  225979</td><td a
9ad0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9ae0: 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  905</td><td alig
9af0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32 36  n="right">183626
9b00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9b10: 72 69 67 68 74 22 3e 31 33 2e 39 38 33 36 32 39  right">13.983629
9b20: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
9b30: 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 4e  d><td>STRADA SEN
9b40: 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f  ZA NOME</td>..</
9b50: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
9b60: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 3c  lign="right">14<
9b70: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
9b80: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9b90: 74 22 3e 32 32 34 39 30 35 3c 2f 74 64 3e 3c 74  t">224905</td><t
9ba0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9bb0: 31 38 33 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61  183626</td><td a
9bc0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9bd0: 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  128</td><td alig
9be0: 6e 3d 22 72 69 67 68 74 22 3e 35 2e 36 32 37 33  n="right">5.6273
9bf0: 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  58</td><td>NULL<
9c00: 2f 74 64 3e 3c 74 64 3e 53 54 52 41 44 41 20 53  /td><td>STRADA S
9c10: 45 4e 5a 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a  ENZA NOME</td>..
9c20: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
9c30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9c40: 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  5</td><td>Link</
9c50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9c60: 67 68 74 22 3e 32 32 34 38 39 37 3c 2f 74 64 3e  ght">224897</td>
9c70: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9c80: 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64  ">183128</td><td
9c90: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9ca0: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
9cb0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 2e 30  ign="right">10.0
9cc0: 33 30 37 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55  30792</td><td>NU
9cd0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
9ce0: 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d  ARGARITONE</td>.
9cf0: 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
9d00: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45  ..<verbatim>..SE
9d10: 4c 45 43 54 20 52 6f 75 74 65 52 6f 77 2c 20 52  LECT RouteRow, R
9d20: 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20  ole, LinkRowid, 
9d30: 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f  NodeFrom, NodeTo
9d40: 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79  , Cost, Geometry
9d50: 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63  , Name..FROM byc
9d60: 61 72 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f  ar..WHERE NodeTo
9d70: 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f   = 178731 AND No
9d80: 64 65 46 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b  deFrom = 183286;
9d90: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c  ..</verbatim>..<
9da0: 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22  table border="1"
9db0: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63   bgcolor="#ffffc
9dc0: 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  f" cellspacing="
9dd0: 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  4" cellpadding="
9de0: 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63  6">..<tr><th bgc
9df0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
9e00: 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20  outeRow</th><th 
9e10: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
9e20: 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62  ">Role</th><th b
9e30: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
9e40: 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c  >LinkRowid</th><
9e50: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
9e60: 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74  0a0">NodeFrom</t
9e70: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
9e80: 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f  d0d0a0">NodeTo</
9e90: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
9ea0: 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74  #d0d0a0">Cost</t
9eb0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
9ec0: 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79  d0d0a0">Geometry
9ed0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
9ee0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c  ="#d0d0a0">Name<
9ef0: 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  /th></tr>..<tr>.
9f00: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
9f10: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
9f20: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
9f30: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9f40: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
9f50: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9f60: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
9f70: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9f80: 31 30 33 2e 33 30 35 32 35 39 3c 2f 74 64 3e 3c  103.305259</td><
9f90: 74 64 3e 42 4c 4f 42 20 73 7a 3d 39 34 34 20 47  td>BLOB sz=944 G
9fa0: 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
9fb0: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
9fc0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
9fd0: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
9fe0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9ff0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
a000: 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  24414</td><td al
a010: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
a020: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
a030: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
a040: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a050: 69 67 68 74 22 3e 31 38 2e 38 38 32 32 38 35 3c  ight">18.882285<
a060: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a070: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49  ><td>VIA MARGARI
a080: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TONE</td>..</tr>
a090: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
a0a0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
a0b0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
a0c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
a0d0: 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  19171</td><td al
a0e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
a0f0: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
a100: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c  ="right">178732<
a110: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a120: 69 67 68 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f  ight">7.809952</
a130: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a140: 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43  <td>VIA FRANCESC
a150: 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c  O CRISPI</td>..<
a160: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
a170: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
a180: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
a190: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a1a0: 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74  t">219058</td><t
a1b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a1c0: 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61  178732</td><td a
a1d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
a1e0: 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  754</td><td alig
a1f0: 6e 3d 22 72 69 67 68 74 22 3e 31 32 2e 34 34 35  n="right">12.445
a200: 36 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  626</td><td>NULL
a210: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41  </td><td>VIA FRA
a220: 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74  NCESCO CRISPI</t
a230: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
a240: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
a250: 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">4</td><td>Lin
a260: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
a270: 22 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f  "right">224538</
a280: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a290: 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e  ght">178754</td>
a2a0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a2b0: 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64  ">181972</td><td
a2c0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
a2d0: 2e 30 34 37 37 38 34 3c 2f 74 64 3e 3c 74 64 3e  .047784</td><td>
a2e0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
a2f0: 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e   ANTONIO GUADAGN
a300: 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  OLI</td>..</tr>.
a310: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a320: 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c  ="right">5</td><
a330: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a340: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a350: 32 35 37 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2575</td><td ali
a360: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37  gn="right">18197
a370: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
a380: 22 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f  "right">181971</
a390: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a3a0: 67 68 74 22 3e 31 2e 38 35 32 32 38 33 3c 2f 74  ght">1.852283</t
a3b0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a3c0: 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47  td>VIA ANTONIO G
a3d0: 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a  UADAGNOLI</td>..
a3e0: 3c 2f 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  </tr>..<td align
a3f0: 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c  ="right">6</td><
a400: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a410: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a420: 34 39 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4967</td><td ali
a430: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37  gn="right">18197
a440: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
a450: 22 72 69 67 68 74 22 3e 31 38 32 38 39 31 3c 2f  "right">182891</
a460: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a470: 67 68 74 22 3e 31 34 2e 32 37 33 31 38 35 3c 2f  ght">14.273185</
a480: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a490: 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20  <td>VIA ANTONIO 
a4a0: 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d  GUADAGNOLI</td>.
a4b0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
a4c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a4d0: 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  7</td><td>Link</
a4e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a4f0: 67 68 74 22 3e 32 32 34 31 36 38 3c 2f 74 64 3e  ght">224168</td>
a500: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a510: 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64  ">182891</td><td
a520: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a530: 38 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  83057</td><td al
a540: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 36 34  ign="right">6.64
a550: 33 33 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  3309</td><td>NUL
a560: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
a570: 43 41 4c 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74  CALLE'</td>..</t
a580: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
a590: 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74  ign="right">8</t
a5a0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
a5b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a5c0: 3e 32 32 34 31 36 37 3c 2f 74 64 3e 3c 74 64 20  >224167</td><td 
a5d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
a5e0: 33 30 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3057</td><td ali
a5f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35  gn="right">18305
a600: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
a610: 22 72 69 67 68 74 22 3e 33 2e 31 35 31 32 37 32  "right">3.151272
a620: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
a630: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c  d><td>VIA MACALL
a640: 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  E'</td>..</tr>..
a650: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
a660: 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74  "right">9</td><t
a670: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
a680: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
a690: 31 37 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  174</td><td alig
a6a0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 36  n="right">183056
a6b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a6c0: 72 69 67 68 74 22 3e 31 38 32 39 34 31 3c 2f 74  right">182941</t
a6d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a6e0: 68 74 22 3e 37 2e 39 36 36 38 37 30 3c 2f 74 64  ht">7.966870</td
a6f0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
a700: 64 3e 56 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d  d>VIA RODI</td>.
a710: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
a720: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a730: 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  10</td><td>Link<
a740: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a750: 69 67 68 74 22 3e 32 32 34 30 35 39 3c 2f 74 64  ight">224059</td
a760: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a770: 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74  t">182941</td><t
a780: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a790: 31 38 32 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61  182001</td><td a
a7a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 2e 33  lign="right">6.3
a7b0: 39 33 37 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  93747</td><td>NU
a7c0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52  LL</td><td>VIA R
a7d0: 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ODI</td>..</tr>.
a7e0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a7f0: 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e  ="right">11</td>
a800: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
a810: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
a820: 32 32 36 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  22637</td><td al
a830: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
a840: 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  01</td><td align
a850: 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c  ="right">182000<
a860: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a870: 69 67 68 74 22 3e 32 2e 34 37 35 35 33 38 3c 2f  ight">2.475538</
a880: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a890: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41  <td>VIA PIETRO A
a8a0: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  RETINO</td>..</t
a8b0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
a8c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f  ign="right">12</
a8d0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
a8e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a8f0: 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64  ">222636</td><td
a900: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a910: 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  82000</td><td al
a920: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
a930: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
a940: 3d 22 72 69 67 68 74 22 3e 31 34 2e 33 36 33 34  ="right">14.3634
a950: 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  08</td><td>NULL<
a960: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54  /td><td>VIA PIET
a970: 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d  RO ARETINO</td>.
a980: 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
a990: 0d 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 63  ..<br>..As you c
a9a0: 61 6e 20 73 65 65 2c 20 74 68 65 20 6f 70 74 69  an see, the opti
a9b0: 6d 61 6c 20 70 61 74 68 73 20 72 65 74 75 72 6e  mal paths return
a9c0: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 62 79 63  ed by the <b>byc
a9d0: 61 72 3c 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f  ar</b> VirtualRo
a9e0: 75 74 69 6e 67 2d 54 61 62 6c 65 20 69 6e 20 74  uting-Table in t
a9f0: 68 65 20 6f 70 70 6f 73 69 74 65 20 64 69 72 65  he opposite dire
aa00: 63 74 69 6f 6e 73 20 73 74 72 6f 6e 67 6c 79 20  ctions strongly 
aa10: 64 69 66 66 65 72 2c 20 61 6e 64 20 62 6f 74 68  differ, and both
aa20: 20 61 72 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20   are completely 
aa30: 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74  different from t
aa40: 68 65 20 70 61 74 68 73 20 72 65 74 75 72 6e 65  he paths returne
aa50: 64 20 62 79 20 71 75 65 72 79 69 6e 67 20 3c 62  d by querying <b
aa60: 3e 62 79 66 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e  >byfoot</b>.<br>
aa70: 0d 0a 41 20 71 75 69 63 6b 20 67 6c 61 6e 63 65  ..A quick glance
aa80: 20 61 74 20 74 68 65 20 6d 61 70 20 62 65 6c 6f   at the map belo
aa90: 77 20 77 69 6c 6c 20 68 65 6c 70 20 74 6f 20 75  w will help to u
aaa0: 6e 64 65 72 73 74 61 6e 64 20 62 65 74 74 65 72  nderstand better
aab0: 20 77 68 61 74 27 73 20 72 65 61 6c 6c 79 20 68   what's really h
aac0: 61 70 70 65 6e 69 6e 67 2e 3c 62 72 3e 0d 0a 54  appening.<br>..T
aad0: 68 69 73 20 69 73 20 61 20 63 65 6e 74 72 61 6c  his is a central
aae0: 20 61 72 65 61 20 6f 66 20 74 68 65 20 74 6f 77   area of the tow
aaf0: 6e 20 6f 66 20 41 72 65 7a 7a 6f 20 61 72 6f 75  n of Arezzo arou
ab00: 6e 64 20 74 68 65 20 61 72 63 68 61 65 6f 6c 6f  nd the archaeolo
ab10: 67 69 63 61 6c 20 72 75 69 6e 73 20 6f 66 20 74  gical ruins of t
ab20: 68 65 20 52 6f 6d 61 6e 20 41 6d 70 68 69 74 68  he Roman Amphith
ab30: 65 61 74 65 72 3b 20 74 72 61 76 65 6c 69 6e 67  eater; traveling
ab40: 20 62 79 20 63 61 72 20 73 68 6f 75 6c 64 20 62   by car should b
ab50: 65 20 61 76 6f 69 64 65 64 2c 20 64 75 65 20 74  e avoided, due t
ab60: 6f 20 74 68 65 20 6d 61 6e 79 20 6f 6e 65 2d 77  o the many one-w
ab70: 61 79 20 72 65 73 74 72 69 63 74 69 6f 6e 73 2e  ay restrictions.
ab80: 20 4e 6f 74 20 73 75 72 70 72 69 73 69 6e 67 6c   Not surprisingl
ab90: 79 2c 20 67 6f 69 6e 67 20 62 79 20 66 6f 6f 74  y, going by foot
aba0: 20 69 73 20 74 68 65 20 66 61 73 74 65 72 20 6f   is the faster o
abb0: 70 74 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  ption...<br><br>
abc0: 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70  ..<img src="http
abd0: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73  s://www.gaia-gis
abe0: 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f  .it/gaia-sins/ro
abf0: 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69  uting-figs/routi
ac00: 6e 67 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69  ng1.jpg" alt="fi
ac10: 67 31 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  g1">..<ul>..<li>
ac20: 79 65 6c 6c 6f 77 20 70 61 74 68 3a 20 70 65 64  yellow path: ped
ac30: 65 73 74 72 69 61 6e 73 3c 2f 6c 69 3e 0d 0a 3c  estrians</li>..<
ac40: 6c 69 3e 67 72 65 65 6e 20 70 61 74 68 3a 20 63  li>green path: c
ac50: 61 72 2c 20 66 6f 72 77 61 72 64 20 64 69 72 65  ar, forward dire
ac60: 63 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ction</li>..<li>
ac70: 72 65 64 20 70 61 74 68 3a 20 63 61 72 2c 20 72  red path: car, r
ac80: 65 74 75 72 6e 20 64 69 72 65 63 74 69 6f 6e 3c  eturn direction<
ac90: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  /li>..</ul>..<br
aca0: 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f  >..<table bgcolo
acb0: 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c  r="#c0ffc0" cell
acc0: 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c  spacing="10" cel
acd0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72  lpadding="6"><tr
ace0: 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 4c 69 6e 65 73  ><td>..<h3>Lines
acf0: 74 72 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20  trings returned 
ad00: 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  by VirtualRoutin
ad10: 67 3c 2f 68 33 3e 0d 0a 41 6c 6c 20 4c 49 4e 45  g</h3>..All LINE
ad20: 53 54 52 49 4e 47 20 47 65 6f 6d 65 74 72 69 65  STRING Geometrie
ad30: 73 20 63 72 65 61 74 65 64 20 62 79 20 61 6e 79  s created by any
ad40: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
ad50: 77 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f 6e 74  will always cont
ad60: 61 69 6e 20 3c 62 3e 4d 20 76 61 6c 75 65 73 3c  ain <b>M values<
ad70: 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  /b>:..<ul>..<li>
ad80: 69 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69  if the underlayi
ad90: 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f  ng Network's Geo
ada0: 6d 65 74 72 69 65 73 20 61 72 65 20 3c 62 3e 58  metries are <b>X
adb0: 59 3c 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58 59  Y</b> then <b>XY
adc0: 4d 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 6e 67  M</b> Linestring
add0: 73 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e  s will be return
ade0: 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66  ed.</li>..<li>if
adf0: 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67   the underlaying
ae00: 20 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65   Network's Geome
ae10: 74 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59 5a  tries are <b>XYZ
ae20: 3c 2f 62 3e 20 74 68 65 6e 20 3c 62 3e 58 59 5a  </b> then <b>XYZ
ae30: 4d 3c 2f 62 3e 20 4c 69 6e 65 73 74 72 69 6e 67  M</b> Linestring
ae40: 73 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e  s will be return
ae50: 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66  ed.</li>..<li>if
ae60: 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67   the underlaying
ae70: 20 4e 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65   Network's Geome
ae80: 74 72 69 65 73 20 61 72 65 20 3c 62 3e 58 59 4d  tries are <b>XYM
ae90: 3c 2f 62 3e 20 6f 72 20 3c 62 3e 58 59 5a 4d 3c  </b> or <b>XYZM<
aea0: 2f 62 3e 20 74 68 65 6e 20 20 4c 69 6e 65 73 74  /b> then  Linest
aeb0: 72 69 6e 67 73 20 72 65 74 75 72 6e 65 64 20 69  rings returned i
aec0: 6e 74 6f 20 74 68 65 20 72 65 73 75 6c 74 73 65  nto the resultse
aed0: 74 20 77 69 6c 6c 20 6d 61 69 6e 74 61 69 6e 20  t will maintain 
aee0: 74 68 65 20 73 61 6d 65 20 64 69 6d 65 6e 73 69  the same dimensi
aef0: 6f 6e 73 20 61 73 20 69 6e 20 74 68 65 20 75 6e  ons as in the un
af00: 64 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72  derlaying Networ
af10: 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20  k.</li>..<li>in 
af20: 61 6e 79 20 63 61 73 65 20 74 68 65 20 3c 62 3e  any case the <b>
af30: 4d 3c 2f 62 3e 20 76 61 6c 75 65 73 20 77 69 6c  M</b> values wil
af40: 6c 20 62 65 20 61 70 70 72 6f 70 72 69 61 74 65  l be appropriate
af50: 6c 79 20 73 65 74 20 73 6f 20 74 6f 20 72 65 70  ly set so to rep
af60: 72 65 73 65 6e 74 20 74 68 65 20 3c 75 3e 70 61  resent the <u>pa
af70: 72 74 69 61 6c 20 63 6f 73 74 3c 2f 75 3e 20 63  rtial cost</u> c
af80: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20  orresponding to 
af90: 65 61 63 68 20 76 65 72 74 65 78 2e 0d 0a 28 69  each vertex...(i
afa0: 66 20 74 68 65 20 69 6e 70 75 74 20 4c 69 6e 65  f the input Line
afb0: 73 74 72 69 6e 67 73 20 61 6c 72 65 61 64 79 20  strings already 
afc0: 63 6f 6e 74 61 69 6e 73 20 4d 2d 76 61 6c 75 65  contains M-value
afd0: 73 20 74 68 65 79 27 6c 6c 20 62 65 20 6f 76 65  s they'll be ove
afe0: 72 77 72 69 74 74 65 6e 29 2e 3c 2f 6c 69 3e 0d  rwritten).</li>.
aff0: 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 49 6e  .</ul>..<br>..In
b000: 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 61 6c   other words, al
b010: 6c 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 72 65  l Linestrings re
b020: 74 75 72 6e 65 64 20 62 79 20 56 69 72 74 75 61  turned by Virtua
b030: 6c 52 6f 75 74 69 6e 67 20 63 61 6e 20 65 66 66  lRouting can eff
b040: 65 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 74  ectively support
b050: 20 3c 62 3e 4c 52 3c 2f 62 3e 20 28 3c 69 3e 4c   <b>LR</b> (<i>L
b060: 69 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e  inear Referencin
b070: 67 3c 2f 69 3e 29 20 53 51 4c 20 66 75 6e 63 74  g</i>) SQL funct
b080: 69 6f 6e 73 2c 20 61 73 20 69 6e 20 74 68 65 20  ions, as in the 
b090: 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c  following exampl
b0a0: 65 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  es:..<verbatim>.
b0b0: 0a 53 45 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74  .SELECT ST_Locat
b0c0: 65 5f 42 65 74 77 65 65 6e 5f 4d 65 61 73 75 72  e_Between_Measur
b0d0: 65 73 28 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 33  es(<geometry>, 3
b0e0: 30 2e 30 2c 20 34 35 2e 30 29 3b 0d 0a 0d 0a 53  0.0, 45.0);....S
b0f0: 45 4c 45 43 54 20 53 54 5f 4c 6f 63 61 74 65 5f  ELECT ST_Locate_
b100: 42 65 74 77 65 65 6e 5f 4d 65 61 73 75 72 65 73  Between_Measures
b110: 28 3c 67 65 6f 6d 65 74 72 79 3e 2c 20 38 30 2e  (<geometry>, 80.
b120: 30 2c 20 39 35 2e 30 29 3b 0d 0a 3c 2f 76 65 72  0, 95.0);..</ver
b130: 62 61 74 69 6d 3e 0d 0a 54 68 65 20 73 69 64 65  batim>..The side
b140: 20 6d 61 70 20 67 72 61 70 68 69 63 61 6c 6c 79   map graphically
b150: 20 73 68 6f 77 73 20 74 68 65 20 65 73 74 69 6d   shows the estim
b160: 61 74 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 72  ated positions r
b170: 65 73 70 65 63 74 69 76 65 6c 79 20 3c 62 3e 33  espectively <b>3
b180: 30 3c 2f 62 3e 2d 3c 62 3e 34 35 3c 2f 62 3e 20  0</b>-<b>45</b> 
b190: 73 65 63 6f 6e 64 73 20 61 66 74 65 72 20 73 74  seconds after st
b1a0: 61 72 74 69 6e 67 20 28 79 65 6c 6c 6f 77 20 64  arting (yellow d
b1b0: 6f 74 74 65 64 20 6c 69 6e 65 29 20 61 6e 64 20  otted line) and 
b1c0: 3c 62 3e 38 30 3c 2f 62 3e 2d 3c 62 3e 39 35 3c  <b>80</b>-<b>95<
b1d0: 2f 62 3e 20 73 65 63 6f 6e 64 73 20 61 66 74 65  /b> seconds afte
b1e0: 72 20 73 74 61 72 74 69 6e 67 20 28 67 72 65 65  r starting (gree
b1f0: 6e 20 64 6f 74 74 65 64 20 6c 69 6e 65 29 2e 3c  n dotted line).<
b200: 62 72 3e 0d 0a 28 61 73 73 75 6d 69 6e 67 20 74  br>..(assuming t
b210: 68 65 20 73 61 6d 65 20 70 61 74 68 20 72 65 74  he same path ret
b220: 75 72 6e 65 64 20 62 79 20 74 68 65 20 6c 61 74  urned by the lat
b230: 65 73 74 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e  est <b>bycar</b>
b240: 20 71 75 65 72 79 29 2e 0d 0a 3c 2f 74 64 3e 0d   query)...</td>.
b250: 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68  .<td><img src="h
b260: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
b270: 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73  gis.it/gaia-sins
b280: 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f  /routing-figs/ro
b290: 75 74 69 6e 67 32 2e 6a 70 67 22 20 61 6c 74 3d  uting2.jpg" alt=
b2a0: 22 66 69 67 32 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f  "fig2"></td>..</
b2b0: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
b2c0: 62 72 3e 0d 0a 3c 68 32 3e 50 6c 61 79 69 6e 67  br>..<h2>Playing
b2d0: 20 77 69 74 68 20 56 69 72 74 75 61 6c 52 6f 75   with VirtualRou
b2e0: 74 69 6e 67 20 63 6f 6e 66 69 67 75 72 61 62 6c  ting configurabl
b2f0: 65 20 6f 70 74 69 6f 6e 73 3c 2f 68 32 3e 0d 0a  e options</h2>..
b300: 53 65 76 65 72 61 6c 20 61 73 70 65 63 74 73 20  Several aspects 
b310: 6f 66 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  of VirtualRoutin
b320: 67 20 63 61 6e 20 62 65 20 66 72 65 65 6c 79 20  g can be freely 
b330: 63 75 73 74 6f 6d 69 7a 65 64 2e 0d 0a 3c 76 65  customized...<ve
b340: 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20  rbatim>..UPDATE 
b350: 62 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72  byfoot SET Algor
b360: 69 74 68 6d 20 3d 20 27 41 2a 27 3b 0d 0a 0d 0a  ithm = 'A*';....
b370: 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d  SELECT Algorithm
b380: 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65  , Options, Route
b390: 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52  Row, Role, LinkR
b3a0: 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20  owid, NodeFrom, 
b3b0: 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65  NodeTo, Cost, Ge
b3c0: 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52  ometry, Name..FR
b3d0: 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45  OM byfoot..WHERE
b3e0: 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37   NodeFrom = 1787
b3f0: 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20  31 AND NodeTo = 
b400: 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61  183286;..</verba
b410: 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 27 6c 6c 20  tim>..As you'll 
b420: 72 65 6d 65 6d 62 65 72 20 69 6e 20 61 6c 6c 20  remember in all 
b430: 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61  the previous exa
b440: 6d 70 6c 65 73 20 74 68 65 20 3c 62 3e 44 69 6a  mples the <b>Dij
b450: 6b 73 74 72 61 27 73 3c 2f 62 3e 20 61 6c 67 6f  kstra's</b> algo
b460: 72 69 74 68 6d 20 77 61 73 20 75 73 65 64 3b 20  rithm was used; 
b470: 6e 6f 77 20 28 61 66 74 65 72 20 65 78 65 63 75  now (after execu
b480: 74 69 6e 67 20 74 68 65 20 61 62 6f 76 65 20 3c  ting the above <
b490: 62 3e 55 50 44 41 54 45 3c 2f 62 3e 29 20 61 6c  b>UPDATE</b>) al
b4a0: 6c 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  l Shortest Path 
b4b0: 71 75 65 72 69 65 73 20 77 69 6c 6c 20 62 65 20  queries will be 
b4c0: 62 61 73 65 64 20 6f 6e 20 74 68 65 20 61 6c 74  based on the alt
b4d0: 65 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f  ernative <b>A*</
b4e0: 62 3e 20 61 6c 67 6f 72 69 74 68 6d 2e 3c 62 72  b> algorithm.<br
b4f0: 3e 0d 0a 49 66 20 79 6f 75 20 77 69 73 68 20 74  >..If you wish t
b500: 6f 20 73 77 69 74 63 68 20 62 61 63 6b 20 74 6f  o switch back to
b510: 20 74 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20   the Dijkstra's 
b520: 61 6c 67 6f 72 69 74 68 6d 20 79 6f 75 20 6a 75  algorithm you ju
b530: 73 74 20 68 61 76 65 20 74 6f 20 65 78 65 63 75  st have to execu
b540: 74 65 3c 62 72 3e 20 3c 62 3e 55 50 44 41 54 45  te<br> <b>UPDATE
b550: 20 62 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f   byfoot SET Algo
b560: 72 69 74 68 6d 20 3d 20 27 44 49 4a 4b 53 54 52  rithm = 'DIJKSTR
b570: 41 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e  A';</b>.<br><br>
b580: 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  ..The following 
b590: 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20  table shows the 
b5a0: 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e  resultset return
b5b0: 65 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f  ed by the previo
b5c0: 75 73 20 53 68 6f 72 74 65 73 74 20 50 61 74 68  us Shortest Path
b5d0: 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e   query; please n
b5e0: 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75 65 20  otice the value 
b5f0: 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69  in the <b>Algori
b600: 74 68 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d  thm</b> column..
b610: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  .<br><br>..<tabl
b620: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63  e border="1" bgc
b630: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63  olor="#ffffcf" c
b640: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63  ellspacing="4" c
b650: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d  ellpadding="6">.
b660: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
b670: 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72  ="#d0d0a0">Algor
b680: 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ithm</th><th bgc
b690: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
b6a0: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
b6b0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
b6c0: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74  >RouteRow</th><t
b6d0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
b6e0: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
b6f0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
b700: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68  0">LinkRowid</th
b710: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
b720: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
b730: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
b740: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
b750: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
b760: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
b770: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
b780: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
b790: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
b7a0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
b7b0: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
b7c0: 3e 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e  ><td>A*</td><td>
b7d0: 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Full</td><td ali
b7e0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
b7f0: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
b800: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
b810: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
b820: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
b830: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
b840: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
b850: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32  "right">300.9122
b860: 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  08</td><td>BLOB 
b870: 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c  sz=272 GEOMETRY<
b880: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
b890: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
b8a0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
b8b0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
b8c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
b8d0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
b8e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
b8f0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20  >224014</td><td 
b900: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
b910: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
b920: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
b930: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
b940: 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32  "right">94.81242
b950: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
b960: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52  td><td>VIA PIETR
b970: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  O ARETINO</td>..
b980: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
b990: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
b9a0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
b9b0: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
b9c0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
b9d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
b9e0: 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4446</td><td ali
b9f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
ba00: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
ba10: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
ba20: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
ba30: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f  ght">69.727726</
ba40: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ba50: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
ba60: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
ba70: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
ba80: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ba90: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
baa0: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
bab0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
bac0: 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f  "right">224414</
bad0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
bae0: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
baf0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
bb00: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
bb10: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
bb20: 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74  36.372057</td><t
bb30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
bb40: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
bb50: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
bb60: 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62  ble>..<br><br><b
bb70: 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f  r>..You can also
bb80: 20 63 6f 6e 66 69 67 75 72 65 20 74 68 65 20 72   configure the r
bb90: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
bba0: 64 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75  d the VirtualRou
bbb0: 74 69 6e 67 20 71 75 65 72 69 65 73 2e 0d 0a 3c  ting queries...<
bbc0: 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
bbd0: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74  E byfoot SET Opt
bbe0: 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49 4e 4b 53  ions = 'NO LINKS
bbf0: 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67  ';....SELECT Alg
bc00: 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c  orithm, Options,
bc10: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
bc20: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
bc30: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
bc40: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
bc50: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
bc60: 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
bc70: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
bc80: 65 54 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c  eTo = 183286;..<
bc90: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 66 74 65  /verbatim>..Afte
bca0: 72 20 73 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74  r setting <b>Opt
bcb0: 69 6f 6e 73 3d 27 4e 4f 20 4c 49 4e 4b 53 27 3c  ions='NO LINKS'<
bcc0: 2f 62 3e 20 74 68 65 20 72 65 73 75 6c 74 73 65  /b> the resultse
bcd0: 74 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20 63 6f  t will simply co
bce0: 6e 74 61 69 6e 20 74 68 65 20 68 65 61 64 65 72  ntain the header
bcf0: 20 72 6f 77 2c 20 61 6e 64 20 61 6c 6c 20 6f 66   row, and all of
bd00: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72   the following r
bd10: 6f 77 73 20 77 69 6c 6c 20 62 65 20 73 75 70 70  ows will be supp
bd20: 72 65 73 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e  ressed.<br>..<u>
bd30: 4e 6f 74 65 3c 2f 75 3e 3a 20 70 72 6f 64 75 63  Note</u>: produc
bd40: 69 6e 67 20 61 20 72 65 64 75 63 65 64 20 72 65  ing a reduced re
bd50: 73 75 6c 74 73 65 74 20 69 73 20 65 78 70 65 63  sultset is expec
bd60: 74 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77 61  ted to be somewa
bd70: 79 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54  y faster.<br>..T
bd80: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62  he following tab
bd90: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73  le shows the res
bda0: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
bdb0: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20  by the previous 
bdc0: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
bdd0: 65 72 79 2e 3c 62 72 3e 0d 0a 4e 6f 74 69 63 65  ery.<br>..Notice
bde0: 20 74 68 61 74 20 76 61 6c 75 65 20 69 6e 20 74   that value in t
bdf0: 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62  he <b>Options</b
be00: 3e 20 63 6f 6c 75 6d 6e 20 73 68 6f 77 73 20 79  > column shows y
be10: 6f 75 20 77 68 69 63 68 20 74 79 70 65 20 6f 66  ou which type of
be20: 20 72 65 73 75 6c 74 73 65 74 20 79 6f 75 20 61   resultset you a
be30: 72 65 20 75 73 69 6e 67 20 28 6a 75 73 74 20 61  re using (just a
be40: 73 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74  s the <b>Algorit
be50: 68 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 73 68  hm</b> column sh
be60: 6f 77 73 20 77 68 69 63 68 20 61 6c 67 6f 72 69  ows which algori
be70: 74 68 6d 20 69 73 20 61 63 74 69 76 65 29 2e 0d  thm is active)..
be80: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  .<br><br>..<tabl
be90: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63  e border="1" bgc
bea0: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63  olor="#ffffcf" c
beb0: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63  ellspacing="4" c
bec0: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d  ellpadding="6">.
bed0: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
bee0: 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72  ="#d0d0a0">Algor
bef0: 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ithm</th><th bgc
bf00: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
bf10: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
bf20: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
bf30: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74  >RouteRow</th><t
bf40: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
bf50: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
bf60: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
bf70: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68  0">LinkRowid</th
bf80: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
bf90: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
bfa0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
bfb0: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
bfc0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
bfd0: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
bfe0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
bff0: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
c000: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
c010: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
c020: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
c030: 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74  >..<td>A*</td><t
c040: 64 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64 3e 3c  d>No Links</td><
c050: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c060: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
c070: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
c080: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
c090: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
c0a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c0b0: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
c0c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30  align="right">30
c0d0: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64  0.912208</td><td
c0e0: 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f  >BLOB sz=272 GEO
c0f0: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
c100: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
c110: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62  </table>..<br><b
c120: 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69  r><br>..<verbati
c130: 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f  m>..UPDATE byfoo
c140: 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20  t SET Options = 
c150: 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3b  'NO GEOMETRIES';
c160: 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72  ....SELECT Algor
c170: 69 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52  ithm, Options, R
c180: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
c190: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
c1a0: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
c1b0: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
c1c0: 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
c1d0: 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20  HERE NodeFrom = 
c1e0: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54  178731 AND NodeT
c1f0: 6f 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76  o = 183286;..</v
c200: 65 72 62 61 74 69 6d 3e 41 66 74 65 72 20 73 65  erbatim>After se
c210: 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73  tting <b>Options
c220: 3d 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27  ='NO GEOMETRIES'
c230: 3c 2f 62 3e 20 74 68 65 20 72 65 73 75 6c 74 73  </b> the results
c240: 65 74 20 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 20  et will contain 
c250: 61 6c 6c 20 72 6f 77 73 2c 20 62 75 74 20 61 6c  all rows, but al
c260: 6c 20 47 65 6f 6d 65 74 72 69 65 73 20 77 69 6c  l Geometries wil
c270: 6c 20 62 65 20 73 75 70 70 72 65 73 73 65 64 2e  l be suppressed.
c280: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
c290: 3e 3a 20 74 68 69 73 20 74 6f 6f 20 69 73 20 65  >: this too is e
c2a0: 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 73 6f  xpected to be so
c2b0: 6d 65 77 68 61 74 20 66 61 73 74 65 72 2e 3c 62  mewhat faster.<b
c2c0: 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e  r>..The followin
c2d0: 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68  g table shows th
c2e0: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75  e resultset retu
c2f0: 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65 76  rned by the prev
c300: 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50 61  ious Shortest Pa
c310: 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73 65  th query; please
c320: 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c 75   notice the valu
c330: 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69  e in the <b>Opti
c340: 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d  ons</b> column..
c350: 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  .<br><br>..<tabl
c360: 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63  e border="1" bgc
c370: 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63  olor="#ffffcf" c
c380: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63  ellspacing="4" c
c390: 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d  ellpadding="6">.
c3a0: 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
c3b0: 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72  ="#d0d0a0">Algor
c3c0: 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ithm</th><th bgc
c3d0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
c3e0: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
c3f0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
c400: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74  >RouteRow</th><t
c410: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
c420: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
c430: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
c440: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68  0">LinkRowid</th
c450: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
c460: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
c470: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
c480: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
c490: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
c4a0: 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
c4b0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
c4c0: 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
c4d0: 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
c4e0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
c4f0: 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
c500: 3e 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e  ><td>A*</td><td>
c510: 4e 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f 74  No Geometries</t
c520: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
c530: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
c540: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
c550: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
c560: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
c570: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
c580: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
c590: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c5a0: 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e  >300.912208</td>
c5b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
c5c0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
c5d0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
c5e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
c5f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c600: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
c610: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
c620: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34  n="right">224014
c630: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
c640: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
c650: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
c660: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
c670: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c680: 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c  >94.812424</td><
c690: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
c6a0: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
c6b0: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
c6c0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
c6d0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
c6e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c6f0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
c700: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
c710: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74  right">224446</t
c720: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
c730: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
c740: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c750: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
c760: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39  align="right">69
c770: 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e  .727726</td><td>
c780: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
c790: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64   MARGARITONE</td
c7a0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
c7b0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
c7c0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
c7d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
c7e0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
c7f0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c800: 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20  >224414</td><td 
c810: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
c820: 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8880</td><td ali
c830: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
c840: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
c850: 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30  "right">136.3720
c860: 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  57</td><td>NULL<
c870: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
c880: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
c890: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
c8a0: 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65  br><br><br>..<ve
c8b0: 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20  rbatim>..UPDATE 
c8c0: 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f  byfoot SET Optio
c8d0: 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b 0d 0a  ns = 'SIMPLE';..
c8e0: 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74  ..SELECT Algorit
c8f0: 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75  hm, Options, Rou
c900: 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e  teRow, Role, Lin
c910: 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d  kRowid, NodeFrom
c920: 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20  , NodeTo, Cost, 
c930: 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a  Geometry, Name..
c940: 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
c950: 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37  RE NodeFrom = 17
c960: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20  8731 AND NodeTo 
c970: 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72  = 183286;..</ver
c980: 62 61 74 69 6d 3e 53 65 74 74 69 6e 67 20 3c 62  batim>Setting <b
c990: 3e 4f 70 74 69 6f 6e 73 3d 27 53 49 4d 50 4c 45  >Options='SIMPLE
c9a0: 27 3c 2f 62 3e 20 68 61 73 20 74 68 65 20 73 61  '</b> has the sa
c9b0: 6d 65 20 65 66 66 65 63 74 20 74 68 61 6e 20 73  me effect than s
c9c0: 65 74 74 69 6e 67 20 62 6f 74 68 20 3c 62 3e 4e  etting both <b>N
c9d0: 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20  O LINKS</b> and 
c9e0: 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53  <b>NO GEOMETRIES
c9f0: 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65  </b> at the same
ca00: 20 74 69 6d 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e   time.<br>..<u>N
ca10: 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20 69 73  ote</u>: this is
ca20: 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20   expected to be 
ca30: 74 68 65 20 66 61 73 74 65 73 74 20 73 65 74 74  the fastest sett
ca40: 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f  ing.<br>..The fo
ca50: 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68  llowing table sh
ca60: 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65  ows the resultse
ca70: 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  t returned by th
ca80: 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74  e previous Short
ca90: 65 73 74 20 50 61 74 68 20 71 75 65 72 79 3b 20  est Path query; 
caa0: 70 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74 68  please notice th
cab0: 65 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c  e value in the <
cac0: 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f  b>Options</b> co
cad0: 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  lumn...<br><br>.
cae0: 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22  .<table border="
caf0: 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66  1" bgcolor="#fff
cb00: 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fcf" cellspacing
cb10: 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  ="4" cellpadding
cb20: 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62  ="6">..<tr><th b
cb30: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
cb40: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c  >Algorithm</th><
cb50: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
cb60: 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68  0a0">Options</th
cb70: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
cb80: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
cb90: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
cba0: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
cbb0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
cbc0: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
cbd0: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
cbe0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
cbf0: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
cc00: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
cc10: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
cc20: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
cc30: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  >Cost</th><th bg
cc40: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
cc50: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68  Geometry</th><th
cc60: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
cc70: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72  0">Name</th></tr
cc80: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41 2a 3c  >..<tr>..<td>A*<
cc90: 2f 74 64 3e 3c 74 64 3e 53 69 6d 70 6c 65 3c 2f  /td><td>Simple</
cca0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
ccb0: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
ccc0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
ccd0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
cce0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
ccf0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
cd00: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
cd10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
cd20: 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64  ">300.912208</td
cd30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
cd40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
cd50: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
cd60: 72 3e 0d 0a 46 69 6e 61 6c 6c 79 2c 20 69 66 20  r>..Finally, if 
cd70: 79 6f 75 20 77 69 73 68 20 74 6f 20 72 65 76 65  you wish to reve
cd80: 72 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20 69  rt back to the i
cd90: 6e 69 74 69 61 6c 20 73 65 74 74 69 6e 67 2c 20  nitial setting, 
cda0: 79 6f 75 20 64 6f 20 74 68 69 73 20 77 69 74 68  you do this with
cdb0: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 71   the following q
cdc0: 75 65 72 79 3c 62 72 3e 20 3c 62 3e 55 50 44 41  uery<br> <b>UPDA
cdd0: 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70  TE byfoot SET Op
cde0: 74 69 6f 6e 73 20 3d 20 27 46 55 4c 4c 27 3b 3c  tions = 'FULL';<
cdf0: 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68  /b>.<br><br>..<h
ce00: 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e  r><br>..<h1><a n
ce10: 61 6d 65 3d 22 6d 75 6c 74 69 22 3e 35 20 2d 20  ame="multi">5 - 
ce20: 53 6f 6c 76 69 6e 67 20 6d 75 6c 74 69 2d 64 65  Solving multi-de
ce30: 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65  stination Shorte
ce40: 73 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 73  st Path problems
ce50: 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6e 20 69 6e  </a></h1>..An in
ce60: 74 65 72 65 73 74 69 6e 67 20 66 65 61 74 75 72  teresting featur
ce70: 65 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74  e supported by t
ce80: 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20 41 6c  he Dijkstra's Al
ce90: 67 6f 72 69 74 68 6d 20 69 73 3a 20 77 68 65 6e  gorithm is: when
cea0: 20 61 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 69   a destination i
ceb0: 73 20 62 65 65 6e 20 72 65 61 63 68 65 64 2c 20  s been reached, 
cec0: 61 6c 6c 20 6f 66 20 74 68 65 20 3c 62 3e 6c 65  all of the <b>le
ced0: 73 73 65 72 20 63 6f 73 74 3c 2f 62 3e 20 64 65  sser cost</b> de
cee0: 73 74 69 6e 61 74 69 6f 6e 73 20 68 61 76 65 20  stinations have 
cef0: 61 6c 73 6f 20 62 65 65 6e 20 66 6f 75 6e 64 2e  also been found.
cf00: 3c 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f 77  <br>..This allow
cf10: 73 20 74 68 65 20 73 75 70 70 6f 72 74 20 6f 66  s the support of
cf20: 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e   multiple destin
cf30: 61 74 69 6f 6e 73 20 53 68 6f 72 74 65 73 74 20  ations Shortest 
cf40: 50 61 74 68 20 71 75 65 72 69 65 73 2e 3c 62 72  Path queries.<br
cf50: 3e 0d 0a 41 6c 6c 20 79 6f 75 20 68 61 76 65 20  >..All you have 
cf60: 74 6f 20 64 6f 20 69 73 20 73 70 65 63 69 66 79  to do is specify
cf70: 20 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69   a <b>single ori
cf80: 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 77 69 74  gin Node</b> wit
cf90: 68 20 61 6e 20 3c 62 3e 61 72 62 69 74 72 61 72  h an <b>arbitrar
cfa0: 79 20 6c 69 73 74 20 6f 66 20 64 65 73 74 69 6e  y list of destin
cfb0: 61 74 69 6f 6e 20 4e 6f 64 65 73 3c 2f 62 3e 20  ation Nodes</b> 
cfc0: 69 6e 20 6f 6e 65 20 44 69 6a 6b 73 74 72 61 27  in one Dijkstra'
cfd0: 73 20 71 75 65 72 79 2e 3c 62 72 3e 3c 62 72 3e  s query.<br><br>
cfe0: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65  ..<u>Note</u>: e
cff0: 78 65 63 75 74 69 6e 67 20 61 20 6d 75 6c 74 69  xecuting a multi
d000: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f  -destination Sho
d010: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79  rtest Path query
d020: 20 72 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70   requires a <b>p
d030: 72 6f 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f  rocessing time</
d040: 62 3e 20 74 68 61 74 20 3c 62 3e 69 73 6e 27 74  b> that <b>isn't
d050: 3c 2f 62 3e 20 74 68 65 20 3c 75 3e 73 75 6d 20  </b> the <u>sum 
d060: 6f 66 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 61  of all individua
d070: 6c 20 74 69 6d 69 6e 67 73 20 74 6f 20 65 61 63  l timings to eac
d080: 68 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75  h destination</u
d090: 3e 2c 20 62 75 74 20 73 69 6d 70 6c 79 20 74 68  >, but simply th
d0a0: 65 20 74 69 6d 65 20 72 65 71 75 69 72 65 64 20  e time required 
d0b0: 74 6f 20 72 65 61 63 68 20 74 68 65 20 3c 75 3e  to reach the <u>
d0c0: 6d 6f 73 74 20 63 6f 73 74 6c 79 20 64 65 73 74  most costly dest
d0d0: 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6c  ination of the l
d0e0: 69 73 74 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 54 68  ist</u>.<br>..Th
d0f0: 69 73 20 69 73 6e 27 74 20 73 74 72 69 63 74 6c  is isn't strictl
d100: 79 20 74 72 75 65 20 69 6e 20 74 68 65 20 63 61  y true in the ca
d110: 73 65 20 6f 66 20 74 68 69 73 20 56 69 72 74 75  se of this Virtu
d120: 61 6c 52 6f 75 74 69 6e 67 20 73 70 65 63 69 66  alRouting specif
d130: 69 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ic implementatio
d140: 6e 2c 20 73 69 6e 63 65 20 74 68 65 20 61 72 72  n, since the arr
d150: 61 6e 67 6d 65 6e 74 20 74 68 65 20 72 65 73 75  angment the resu
d160: 6c 74 73 65 74 20 74 6f 20 62 65 20 72 65 74 75  ltset to be retu
d170: 72 6e 65 64 20 61 6e 64 20 63 72 65 61 74 69 6f  rned and creatio
d180: 6e 20 61 6c 6c 20 74 68 65 20 69 6e 64 69 76 69  n all the indivi
d190: 64 75 61 6c 20 4c 69 6e 65 73 74 72 69 6e 67 73  dual Linestrings
d1a0: 20 66 6f 72 20 65 61 63 68 20 64 65 73 74 69 6e   for each destin
d1b0: 61 74 69 6f 6e 20 77 69 6c 6c 20 73 75 72 65 6c  ation will surel
d1c0: 79 20 69 6d 70 6f 73 65 20 73 6f 6d 65 20 66 75  y impose some fu
d1d0: 72 74 68 65 72 20 6f 76 65 72 68 65 61 64 2e 3c  rther overhead.<
d1e0: 62 72 3e 0d 0a 4e 65 76 65 72 74 68 65 6c 65 73  br>..Nevertheles
d1f0: 73 20 74 68 65 20 74 69 6d 65 20 6e 65 65 64 65  s the time neede
d200: 64 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 6d  d for a single m
d210: 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ulti-destination
d220: 20 71 75 65 72 79 20 77 69 6c 6c 20 62 65 20 6c   query will be l
d230: 65 73 73 20 74 68 61 6e 20 74 68 65 20 74 69 6d  ess than the tim
d240: 65 20 6e 65 65 64 65 64 20 66 6f 72 20 6d 75 6c  e needed for mul
d250: 74 69 70 6c 65 20 73 69 6e 67 6c 65 2d 64 65 73  tiple single-des
d260: 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73  tination queries
d270: 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  ...<verbatim>..S
d280: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c  ELECT Algorithm,
d290: 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e   Request, Option
d2a0: 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f  s, Delimiter, Ro
d2b0: 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c  uteId, RouteRow,
d2c0: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64   Role, LinkRowid
d2d0: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65  , NodeFrom, Node
d2e0: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  To, Cost, Geomet
d2f0: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
d300: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
d310: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41  eFrom = 178731 A
d320: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33  ND NodeTo = '183
d330: 32 38 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39  286,290458,18199
d340: 39 2c 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c  9,184030,124622,
d350: 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d  183882,178754';.
d360: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 73  .</verbatim>..As
d370: 20 79 6f 75 20 63 61 6e 20 73 65 65 2c 20 61 20   you can see, a 
d380: 3c 62 3e 6d 75 6c 74 69 70 6c 65 2d 64 65 73 74  <b>multiple-dest
d390: 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65  inations</b> que
d3a0: 72 79 20 68 61 73 20 74 68 65 20 73 61 6d 65 20  ry has the same 
d3b0: 69 64 65 6e 74 69 63 61 6c 20 66 6f 72 6d 20 6f  identical form o
d3c0: 66 20 61 6e 79 20 6e 6f 72 6d 61 6c 20 53 68 6f  f any normal Sho
d3d0: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79  rtest Path query
d3e0: 2c 20 74 68 65 20 6f 6e 6c 79 20 64 69 66 66 65  , the only diffe
d3f0: 72 65 6e 63 65 20 62 65 69 6e 67 20 61 20 63 6f  rence being a co
d400: 6d 6d 61 2d 73 65 70 61 72 61 74 65 64 20 6c 69  mma-separated li
d410: 73 74 20 28 69 6e 73 74 65 61 64 20 6f 66 20 61  st (instead of a
d420: 20 73 69 6e 67 6c 65 2d 65 6e 74 72 79 29 20 66   single-entry) f
d430: 6f 72 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e  or <b>NodeTo</b>
d440: 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f  .<br>..The follo
d450: 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73  wing table shows
d460: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72   the resultset r
d470: 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70  eturned by the p
d480: 72 65 76 69 6f 75 73 20 6d 75 6c 74 69 2d 64 65  revious multi-de
d490: 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65  stination Shorte
d4a0: 73 74 20 50 61 74 68 20 71 75 65 72 79 3a 0d 0a  st Path query:..
d4b0: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
d4c0: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
d4d0: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
d4e0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
d4f0: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
d500: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
d510: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69  "#d0d0a0">Algori
d520: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  thm</th><th bgco
d530: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65  lor="#d0d0a0">Re
d540: 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  quest</th><th bg
d550: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d560: 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20  Options</th><th 
d570: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d580: 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e  ">Delimiter</th>
d590: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
d5a0: 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74  d0a0">RouteId</t
d5b0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
d5c0: 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77  d0d0a0">RouteRow
d5d0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
d5e0: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
d5f0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d600: 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f  "#d0d0a0">LinkRo
d610: 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  wid</th><th bgco
d620: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
d630: 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  deFrom</th><th b
d640: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
d650: 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20  >NodeTo</th><th 
d660: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d670: 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62  ">Cost</th><th b
d680: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
d690: 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74  >Geometry</th><t
d6a0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
d6b0: 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74  a0">Name</th></t
d6c0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69  r>..<tr>..<td>Di
d6d0: 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53  jkstra</td><td>S
d6e0: 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64  hortest Path</td
d6f0: 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74  ><td>Full</td><t
d700: 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c  d>, &#91;dec=44,
d710: 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64   hex=2c&#93;</td
d720: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d730: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">0</td><td ali
d740: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
d750: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
d760: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
d770: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
d780: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
d790: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38  gn="right">18388
d7a0: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
d7b0: 22 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38  "right">154.7508
d7c0: 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  39</td><td>BLOB 
d7d0: 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c  sz=240 GEOMETRY<
d7e0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
d7f0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
d800: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
d810: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
d820: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
d830: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d840: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
d850: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
d860: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
d870: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d880: 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c 74  t">222636</td><t
d890: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d8a0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
d8b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
d8c0: 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  000</td><td alig
d8d0: 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 37 33  n="right">103.73
d8e0: 35 37 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5722</td><td>NUL
d8f0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49  L</td><td>VIA PI
d900: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64  ETRO ARETINO</td
d910: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
d920: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
d930: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
d940: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
d950: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d960: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
d970: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
d980: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
d990: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d9a0: 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74  t">225527</td><t
d9b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d9c0: 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61  182000</td><td a
d9d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
d9e0: 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  882</td><td alig
d9f0: 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35  n="right">51.015
da00: 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  117</td><td>NULL
da10: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43  </td><td>VIA LIC
da20: 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e  IO NENCETTI</td>
da30: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
da40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
da50: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
da60: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
da70: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
da80: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61  ght">1</td><td a
da90: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
daa0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
dab0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
dac0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
dad0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
dae0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
daf0: 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
db00: 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36  n="right">176.36
db10: 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  4755</td><td>BLO
db20: 42 20 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52  B sz=304 GEOMETR
db30: 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
db40: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
db50: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
db60: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
db70: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
db80: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
db90: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
dba0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
dbb0: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
dbc0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
dbd0: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e  ght">224014</td>
dbe0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
dbf0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
dc00: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
dc10: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
dc20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38  ign="right">94.8
dc30: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12424</td><td>NU
dc40: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
dc50: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
dc60: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
dc70: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
dc80: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
dc90: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
dca0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
dcb0: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
dcc0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
dcd0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
dce0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dcf0: 68 74 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e 3c  ht">224862</td><
dd00: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
dd10: 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20  >182885</td><td 
dd20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
dd30: 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2043</td><td ali
dd40: 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 2e 30 39  gn="right">37.09
dd50: 35 32 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5287</td><td>NUL
dd60: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41  L</td><td>VIA MA
dd70: 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a  RGARITONE</td>..
dd80: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
dd90: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dda0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
ddb0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ddc0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
ddd0: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">1</td><td ali
dde0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
ddf0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
de00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
de10: 32 32 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20 61  226070</td><td a
de20: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
de30: 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  043</td><td alig
de40: 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30  n="right">184030
de50: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
de60: 72 69 67 68 74 22 3e 34 34 2e 34 35 37 30 34 34  right">44.457044
de70: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
de80: 64 3e 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41 4e  d><td>PIAZZA SAN
de90: 54 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d  T'AGOSTINO</td>.
dea0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
deb0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
dec0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
ded0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
dee0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
def0: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">2</td><td al
df00: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
df10: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
df20: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
df30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
df40: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
df50: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
df60: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
df70: 3d 22 72 69 67 68 74 22 3e 32 32 34 2e 36 37 37  ="right">224.677
df80: 30 39 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  095</td><td>BLOB
df90: 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59   sz=240 GEOMETRY
dfa0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
dfb0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
dfc0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
dfd0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
dfe0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
dff0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e000: 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">2</td><td alig
e010: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
e020: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
e030: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
e040: 31 39 30 34 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  19045</td><td al
e050: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
e060: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
e070: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c  ="right">178732<
e080: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e090: 69 67 68 74 22 3e 37 36 2e 30 32 31 30 30 37 3c  ight">76.021007<
e0a0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e0b0: 3e 3c 74 64 3e 56 49 41 20 41 53 53 41 42 3c 2f  ><td>VIA ASSAB</
e0c0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
e0d0: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
e0e0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e0f0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e100: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
e110: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
e120: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e130: 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
e140: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e150: 67 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e  ght">219058</td>
e160: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e170: 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64  ">178732</td><td
e180: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e190: 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  78754</td><td al
e1a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e  ign="right">148.
e1b0: 36 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e  656089</td><td>N
e1c0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
e1d0: 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49  FRANCESCO CRISPI
e1e0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
e1f0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
e200: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e210: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e220: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
e230: 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
e240: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e250: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
e260: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
e270: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e280: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
e290: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e2a0: 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64  ">181999</td><td
e2b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
e2c0: 36 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e 3c 74  60.132354</td><t
e2d0: 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45  d>BLOB sz=240 GE
e2e0: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
e2f0: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
e300: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
e310: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e320: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e330: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
e340: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
e350: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e360: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
e370: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
e380: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34  n="right">224014
e390: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e3a0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
e3b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e3c0: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
e3d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e3e0: 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c  >94.812424</td><
e3f0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e400: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
e410: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
e420: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
e430: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e440: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e450: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e460: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
e470: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e480: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
e490: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
e4a0: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c  ="right">224446<
e4b0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e4c0: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
e4d0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e4e0: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
e4f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e500: 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74  69.727726</td><t
e510: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
e520: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
e530: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
e540: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
e550: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e560: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e570: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
e580: 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
e590: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e5a0: 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
e5b0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e5c0: 67 68 74 22 3e 32 32 35 38 30 30 3c 2f 74 64 3e  ght">225800</td>
e5d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e5e0: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
e5f0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e600: 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
e610: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 35  ign="right">95.5
e620: 39 32 32 30 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  92204</td><td>NU
e630: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46  LL</td><td>VIA F
e640: 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c  RANCESCO CRISPI<
e650: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
e660: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
e670: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e680: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e690: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
e6a0: 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c  ="right">4</td><
e6b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e6c0: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
e6d0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e6e0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e6f0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
e700: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e710: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
e720: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30  align="right">30
e730: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64  0.912208</td><td
e740: 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f  >BLOB sz=272 GEO
e750: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
e760: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
e770: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
e780: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e790: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e7a0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e7b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74  ign="right">4</t
e7c0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e7d0: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
e7e0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
e7f0: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c  ="right">224014<
e800: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e810: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
e820: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e830: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
e840: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e850: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
e860: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
e870: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
e880: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
e890: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
e8a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e8b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e8c0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
e8d0: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
e8e0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e8f0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
e900: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
e910: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
e920: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e930: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
e940: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e950: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
e960: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
e970: 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64  9.727726</td><td
e980: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
e990: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
e9a0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
e9b0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
e9c0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e9d0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e9e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e9f0: 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64  right">4</td><td
ea00: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
ea10: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
ea20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
ea30: 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c  ht">224414</td><
ea40: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
ea50: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
ea60: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
ea70: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
ea80: 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33  gn="right">136.3
ea90: 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  72057</td><td>NU
eaa0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
eab0: 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d  ARGARITONE</td>.
eac0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
ead0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
eae0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
eaf0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
eb00: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
eb10: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
eb20: 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65  Unreachable Node
eb30: 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  To</td><td>NULL<
eb40: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
eb50: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
eb60: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
eb70: 74 22 3e 32 39 30 34 35 38 3c 2f 74 64 3e 3c 74  t">290458</td><t
eb80: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
eb90: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
eba0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
ebb0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
ebc0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
ebd0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
ebe0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
ebf0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ec00: 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c  d><td>Unreachabl
ec10: 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64  e NodeTo</td><td
ec20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
ec30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
ec40: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
ec50: 3d 22 72 69 67 68 74 22 3e 31 32 34 36 32 32 3c  ="right">124622<
ec60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ec70: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
ec80: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
ec90: 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
eca0: 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b 6c  r>..Let's quickl
ecb0: 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 65  y examine the re
ecc0: 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64  sultset returned
ecd0: 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c 62   by the above <b
ece0: 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
ecf0: 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a  ons</b> query...
ed00: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 6f 76  <ul>..<li>the ov
ed10: 65 72 61 6c 6c 20 6c 61 79 6f 75 74 20 69 73 20  erall layout is 
ed20: 61 6c 6d 6f 73 74 20 65 78 61 63 74 6c 79 20 74  almost exactly t
ed30: 68 65 20 73 61 6d 65 20 61 73 20 79 6f 75 27 76  he same as you'v
ed40: 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69  e already seen i
ed50: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62  n the case of <b
ed60: 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74  >single-destinat
ed70: 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 65 73 2c  ion</b> queries,
ed80: 20 62 75 74 20 69 6e 20 74 68 69 73 20 63 61 73   but in this cas
ed90: 65 20 6d 6f 72 65 20 69 6e 64 69 76 69 64 75 61  e more individua
eda0: 6c 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f  l travel solutio
edb0: 6e 73 20 61 72 65 20 67 72 6f 75 70 65 64 20 61  ns are grouped a
edc0: 6c 74 6f 67 65 74 68 65 72 2e 20 28 45 61 63 68  ltogether. (Each
edd0: 20 61 6c 74 65 72 6e 61 74 69 76 65 20 72 6f 75   alternative rou
ede0: 74 65 20 68 61 76 69 6e 67 20 61 20 64 69 66 66  te having a diff
edf0: 65 72 65 6e 74 20 3c 62 3e 52 6f 75 74 65 49 64  erent <b>RouteId
ee00: 3c 2f 62 3e 20 61 6e 64 20 73 74 61 72 74 69 6e  </b> and startin
ee10: 67 20 77 69 74 68 20 3c 62 3e 27 52 6f 75 74 65  g with <b>'Route
ee20: 27 3c 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 3e  '</b> in the <b>
ee30: 52 6f 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 29  Role</b> column)
ee40: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  .</li>..<li>the 
ee50: 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e  <b>first row</b>
ee60: 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65   of the resultse
ee70: 74 20 69 73 20 73 6f 6d 65 77 61 79 20 65 78 63  t is someway exc
ee80: 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73  eptional, and is
ee90: 20 74 68 65 20 6f 6e 6c 79 20 72 6f 77 20 6f 66   the only row of
eea0: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 70   the resultset p
eeb0: 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54  resenting <b>NOT
eec0: 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73   NULL</b> values
eed0: 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72   in the <b>Algor
eee0: 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71  ithm</b>, <b>Req
eef0: 75 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74  uest</b>, <b>Opt
ef00: 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  ions</b> and <b>
ef10: 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 63 6f  Delimiter</b> co
ef20: 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  lumns.</li>..<li
ef30: 3e 74 68 65 20 3c 62 3e 52 6f 75 74 65 49 64 3c  >the <b>RouteId<
ef40: 2f 62 3e 20 63 6f 6c 75 6d 6e 20 69 73 20 69 6e  /b> column is in
ef50: 74 65 6e 64 65 64 20 74 6f 20 67 72 6f 75 70 20  tended to group 
ef60: 74 6f 67 65 74 68 65 72 20 61 6c 6c 20 72 6f 77  together all row
ef70: 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 73  s belonging to s
ef80: 61 6d 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74  ame travel solut
ef90: 69 6f 6e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20  ion (<i>aka</i> 
efa0: 3c 62 3e 52 6f 75 74 65 3c 2f 62 3e 29 2e 3c 62  <b>Route</b>).<b
efb0: 72 3e 0d 0a 52 6f 75 74 65 73 20 61 72 65 20 70  r>..Routes are p
efc0: 72 6f 67 72 65 73 73 69 76 65 6c 79 20 6e 75 6d  rogressively num
efd0: 62 65 72 65 64 20 61 6e 64 20 61 72 65 20 6f 72  bered and are or
efe0: 64 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c  dered accordingl
eff0: 79 20 74 6f 20 74 68 65 69 72 20 3c 62 3e 74 6f  y to their <b>to
f000: 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c  tal cost</b>.</l
f010: 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52  i>..<li>the <b>R
f020: 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 63 6f 6c 75  outeRow</b> colu
f030: 6d 6e 20 68 61 73 20 74 68 65 20 73 61 6d 65 20  mn has the same 
f040: 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61  interpretation a
f050: 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 74  s in single-dest
f060: 69 6e 61 74 69 6f 6e 20 72 65 73 75 6c 74 73 65  ination resultse
f070: 74 73 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e  ts, and is inten
f080: 64 65 64 20 74 6f 20 70 72 6f 67 72 65 73 73 69  ded to progressi
f090: 76 65 6c 79 20 6f 72 64 65 72 20 69 6e 20 74 68  vely order in th
f0a0: 65 20 63 6f 72 72 65 63 74 20 73 65 71 75 65 6e  e correct sequen
f0b0: 63 65 20 61 6c 6c 20 4c 69 6e 6b 73 20 63 6f 6e  ce all Links con
f0c0: 6e 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67  necting the Orig
f0d0: 69 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69  in and the Desti
f0e0: 6e 61 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 52  nation of each R
f0f0: 6f 75 74 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 52 6f  oute.<br>..<b>Ro
f100: 75 74 65 52 6f 77 3d 30 3c 2f 62 3e 20 61 6c 77  uteRow=0</b> alw
f110: 61 79 73 20 69 64 65 6e 74 69 66 69 65 73 20 74  ays identifies t
f120: 68 65 20 68 65 61 64 65 72 20 72 6f 77 20 6f 66  he header row of
f130: 20 65 61 63 68 20 3c 62 3e 52 6f 75 74 65 3c 2f   each <b>Route</
f140: 62 3e 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69  b> solution.</li
f150: 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a  >..</ul>..<br>..
f160: 3c 75 3e 4e 6f 74 69 63 65 3c 2f 75 3e 3a 20 74  <u>Notice</u>: t
f170: 68 65 20 6c 61 73 74 20 74 77 6f 20 72 6f 77 73  he last two rows
f180: 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 73 65   in the resultse
f190: 74 20 72 65 70 6f 72 74 73 20 3c 62 3e 55 6e 72  t reports <b>Unr
f1a0: 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 09  eachable NodeTo.
f1b0: 3c 2f 62 3e 20 69 6e 20 74 68 65 20 3c 62 3e 52  </b> in the <b>R
f1c0: 6f 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2c 20  ole</b> column, 
f1d0: 74 68 75 73 20 69 6d 70 6c 79 69 6e 67 20 61 20  thus implying a 
f1e0: 3c 62 3e 66 6f 72 62 69 64 64 65 6e 20 63 6f 6e  <b>forbidden con
f1f0: 6e 65 63 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e  nection</b>.<br>
f200: 0d 0a 54 68 65 72 65 20 69 73 20 61 20 76 61 6c  ..There is a val
f210: 69 64 20 72 65 61 73 6f 6e 20 66 6f 72 20 74 68  id reason for th
f220: 69 73 3a 20 4e 6f 64 65 73 20 3c 62 3e 32 39 30  is: Nodes <b>290
f230: 34 35 38 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 31  458</b> and <b>1
f240: 32 34 36 32 32 3c 2f 62 3e 20 61 72 65 20 6c 6f  24622</b> are lo
f250: 63 61 74 65 64 20 6f 6e 20 45 6c 62 61 20 61 6e  cated on Elba an
f260: 64 20 47 69 67 6c 69 6f 20 69 73 6c 61 6e 64 73  d Giglio islands
f270: 2e 20 54 68 65 20 75 6e 64 65 72 6c 61 79 69 6e  . The underlayin
f280: 67 20 4e 65 74 77 6f 72 6b 20 69 73 20 62 61 73  g Network is bas
f290: 65 64 20 6f 6e 20 3c 62 3e 49 74 65 72 2e 4e 65  ed on <b>Iter.Ne
f2a0: 74 3c 2f 62 3e 20 74 68 61 74 20 64 6f 6e 27 74  t</b> that don't
f2b0: 20 73 75 70 70 6f 72 74 73 20 66 65 72 72 79 20   supports ferry 
f2c0: 63 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 73 6f 20  connections, so 
f2d0: 61 6e 79 20 74 72 61 76 65 6c 20 73 6f 6c 75 74  any travel solut
f2e0: 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20  ion between the 
f2f0: 69 73 6c 61 6e 64 73 20 61 6e 64 20 74 68 65 20  islands and the 
f300: 6d 61 69 6e 6c 61 6e 64 20 77 69 6c 6c 20 61 6c  mainland will al
f310: 77 61 79 73 20 66 61 69 6c 2e 0d 0a 3c 62 72 3e  ways fail...<br>
f320: 3c 62 72 3e 3c 62 72 3e 0d 0a 41 6c 73 6f 20 3c  <br><br>..Also <
f330: 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74  b>multi-destinat
f340: 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73  ions</b> queries
f350: 20 63 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a   can be customiz
f360: 65 64 2c 20 62 75 74 20 74 68 65 20 63 6f 6e 66  ed, but the conf
f370: 69 67 75 72 61 74 69 6f 6e 20 72 75 6c 65 73 20  iguration rules 
f380: 64 69 66 66 65 72 20 73 6c 69 67 68 74 6c 79 20  differ slightly 
f390: 66 72 6f 6d 20 77 68 61 74 20 79 6f 75 20 68 61  from what you ha
f3a0: 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20  ve already seen 
f3b0: 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 73  in the case of s
f3c0: 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f  ingle-destinatio
f3d0: 6e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  n...<ul>..<li><b
f3e0: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20  >Algorithm</b>: 
f3f0: 6f 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61  only <b>Dijkstra
f400: 3c 2f 62 3e 20 69 73 20 73 75 70 70 6f 72 74 65  </b> is supporte
f410: 64 20 62 79 20 6d 75 6c 74 69 2d 64 65 73 74 69  d by multi-desti
f420: 6e 61 74 69 6f 6e 2c 20 61 6e 64 20 77 69 6c 6c  nation, and will
f430: 20 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 61   be implicitly a
f440: 73 73 75 6d 65 64 20 65 76 65 6e 20 77 68 65 6e  ssumed even when
f450: 20 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65   the alternative
f460: 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72   <b>A*</b> algor
f470: 69 74 68 6d 20 69 73 20 63 75 72 72 65 6e 74 6c  ithm is currentl
f480: 79 20 73 65 6c 65 63 74 65 64 2e 3c 2f 6c 69 3e  y selected.</li>
f490: 0d 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e 73  ..<li><b>Options
f4a0: 3c 2f 62 3e 3a 20 74 68 65 20 75 73 75 61 6c 20  </b>: the usual 
f4b0: 3c 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 3e  <b>FULL</b>, <b>
f4c0: 53 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e 4e  SIMPLE</b>, <b>N
f4d0: 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20  O LINKS</b> and 
f4e0: 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53  <b>NO GEOMETRIES
f4f0: 3c 2f 62 3e 20 61 72 65 20 73 75 70 70 6f 72 74  </b> are support
f500: 65 64 20 61 6e 64 20 77 69 6c 6c 20 68 61 76 65  ed and will have
f510: 20 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74   the same effect
f520: 20 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65   as in single-de
f530: 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65  stination querie
f540: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  s.</li>..</ul>..
f550: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41  <verbatim>..UPDA
f560: 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70  TE byfoot SET Op
f570: 74 69 6f 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27  tions = 'SIMPLE'
f580: 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f  ;....SELECT Algo
f590: 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20  rithm, Request, 
f5a0: 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74  Options, Delimit
f5b0: 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75  er, RouteId, Rou
f5c0: 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e  teRow, Role, Lin
f5d0: 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d  kRowid, NodeFrom
f5e0: 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20  , NodeTo, Cost, 
f5f0: 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a  Geometry, Name..
f600: 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
f610: 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37  RE NodeFrom = 17
f620: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20  8731 AND NodeTo 
f630: 3d 20 27 31 38 33 32 38 36 2c 32 39 30 34 35 38  = '183286,290458
f640: 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31  ,181999,184030,1
f650: 32 34 36 32 32 2c 31 38 33 38 38 32 2c 31 37 38  24622,183882,178
f660: 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69  754';..</verbati
f670: 6d 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e  m>..The followin
f680: 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68  g table shows th
f690: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75  e resultset retu
f6a0: 72 6e 65 64 20 62 79 20 74 68 65 20 73 61 6d 65  rned by the same
f6b0: 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69   multi-destinati
f6c0: 6f 6e 20 71 75 65 72 79 20 75 73 65 64 20 69 6e  on query used in
f6d0: 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78   the previous ex
f6e0: 61 6d 70 6c 65 20 61 66 74 65 72 20 65 6e 61 62  ample after enab
f6f0: 6c 69 6e 67 20 74 68 65 20 3c 62 3e 53 49 4d 50  ling the <b>SIMP
f700: 4c 45 3c 2f 62 3e 20 6f 70 74 69 6f 6e 2e 0d 0a  LE</b> option...
f710: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
f720: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
f730: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
f740: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
f750: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
f760: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
f770: 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69  "#d0d0a0">Algori
f780: 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  thm</th><th bgco
f790: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65  lor="#d0d0a0">Re
f7a0: 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  quest</th><th bg
f7b0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f7c0: 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20  Options</th><th 
f7d0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
f7e0: 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e  ">Delimiter</th>
f7f0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
f800: 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74  d0a0">RouteId</t
f810: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
f820: 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77  d0d0a0">RouteRow
f830: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
f840: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
f850: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
f860: 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f  "#d0d0a0">LinkRo
f870: 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  wid</th><th bgco
f880: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
f890: 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  deFrom</th><th b
f8a0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f8b0: 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20  >NodeTo</th><th 
f8c0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
f8d0: 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62  ">Cost</th><th b
f8e0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f8f0: 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74  >Geometry</th><t
f900: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
f910: 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74  a0">Name</th></t
f920: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69  r>..<tr>..<td>Di
f930: 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53  jkstra</td><td>S
f940: 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64  hortest Path</td
f950: 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74  ><td>Full</td><t
f960: 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c  d>, &#91;dec=44,
f970: 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64   hex=2c&#93;</td
f980: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
f990: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">0</td><td ali
f9a0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
f9b0: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
f9c0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
f9d0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
f9e0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
f9f0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38  gn="right">18388
fa00: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
fa10: 22 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38  "right">154.7508
fa20: 33 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  39</td><td>NULL<
fa30: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fa40: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
fa50: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fa60: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fa70: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fa80: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fa90: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20  ight">1</td><td 
faa0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
fab0: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
fac0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fad0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fae0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
faf0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
fb00: 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4030</td><td ali
fb10: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33  gn="right">176.3
fb20: 36 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55  64755</td><td>NU
fb30: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fb40: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
fb50: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
fb60: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fb70: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fb80: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
fb90: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
fba0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fbb0: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
fbc0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fbd0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fbe0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
fbf0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fc00: 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20  >178754</td><td 
fc10: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
fc20: 34 2e 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74 64  4.677095</td><td
fc30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fc40: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
fc50: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
fc60: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fc70: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fc80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
fc90: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
fca0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fcb0: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
fcc0: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
fcd0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fce0: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
fcf0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fd00: 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c  ht">181999</td><
fd10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fd20: 3e 32 36 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e  >260.132354</td>
fd30: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fd40: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
fd50: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
fd60: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fd70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fd80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fd90: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
fda0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fdb0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
fdc0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
fdd0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
fde0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
fdf0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fe00: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
fe10: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fe20: 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f  ht">300.912208</
fe30: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fe40: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
fe50: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
fe60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fe70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fe80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fe90: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fea0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e  >NULL</td><td>Un
feb0: 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f  reachable NodeTo
fec0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fed0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fee0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
fef0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
ff00: 3e 32 39 30 34 35 38 3c 2f 74 64 3e 3c 74 64 3e  >290458</td><td>
ff10: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
ff20: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
ff30: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
ff40: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
ff50: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
ff60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
ff70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
ff80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ff90: 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20  <td>Unreachable 
ffa0: 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e  NodeTo</td><td>N
ffb0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
ffc0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
ffd0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
ffe0: 72 69 67 68 74 22 3e 31 32 34 36 32 32 3c 2f 74  right">124622</t
fff0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
10000 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
10010 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
10020 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
10030 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20  ..The map below 
10040 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77  graphically show
10050 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c  s the previous <
10060 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74  b>multi-destinat
10070 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73  ions</b> queries
10080 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d  ...<br><br>..<im
10090 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77  g src="https://w
100a0 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67  ww.gaia-gis.it/g
100b0 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67  aia-sins/routing
100c0 2d 66 69 67 73 2f 72 6f 75 74 69 6e 67 33 2e 6a  -figs/routing3.j
100d0 70 67 22 20 61 6c 74 3d 22 66 69 67 33 22 3e 0d  pg" alt="fig3">.
100e0 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65 64 20 73  .<ul>..<li>Red s
100f0 74 61 72 3a 20 74 68 65 20 4f 72 69 67 69 6e 20  tar: the Origin 
10100 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  Node.</li>..<li>
10110 47 72 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20  Green dots: the 
10120 44 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65  Destination Node
10130 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c  s.</li>..<li>Yel
10140 6c 6f 77 20 6c 69 6e 65 73 3a 20 61 6c 6c 20 69  low lines: all i
10150 6e 64 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c  ndividual travel
10160 20 73 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 3e   solutions.</li>
10170 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c  ..</ul>..<br>..<
10180 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
10190 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63  ffb060" cellspac
101a0 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
101b0 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
101c0 3e 0d 0a 3c 68 33 3e 44 61 6e 67 65 72 6f 75 73  >..<h3>Dangerous
101d0 20 70 69 74 66 61 6c 6c 73 20 72 65 6c 61 74 65   pitfalls relate
101e0 64 20 74 6f 20 6d 75 6c 74 69 70 6c 65 20 64 65  d to multiple de
101f0 73 74 69 6e 61 74 69 6f 6e 20 6c 69 73 74 73 3c  stination lists<
10200 2f 68 33 3e 0d 0a 53 51 4c 20 73 79 6e 74 61 78  /h3>..SQL syntax
10210 20 64 69 72 65 63 74 6c 79 20 61 6c 6c 6f 77 73   directly allows
10220 20 74 6f 20 73 70 65 63 69 66 79 20 6c 69 73 74   to specify list
10230 73 20 6f 66 20 20 6d 75 6c 74 69 70 6c 65 20 76  s of  multiple v
10240 61 6c 75 65 73 2c 20 73 6f 20 6d 61 79 20 62 65  alues, so may be
10250 20 79 6f 75 20 61 72 65 20 6e 6f 77 20 77 6f 6e   you are now won
10260 64 65 72 69 6e 67 20 61 62 6f 75 74 20 77 72 69  dering about wri
10270 74 69 6e 67 20 74 68 65 20 3c 62 3e 6d 75 6c 74  ting the <b>mult
10280 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e  iple destination
10290 73 3c 2f 62 3e 20 71 75 65 72 79 20 74 65 73 74  s</b> query test
102a0 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f  ed in the previo
102b0 75 73 20 65 78 61 6d 70 6c 65 73 20 74 68 69 73  us examples this
102c0 20 77 61 79 3a 0d 0a 3c 76 65 72 62 61 74 69 6d   way:..<verbatim
102d0 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69  >..SELECT Algori
102e0 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70  thm, Request, Op
102f0 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72  tions, Delimiter
10300 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65  , RouteId, Route
10310 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52  Row, Role, LinkR
10320 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20  owid, NodeFrom, 
10330 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65  NodeTo, Cost, Ge
10340 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52  ometry, Name..FR
10350 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45  OM byfoot..WHERE
10360 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37   NodeFrom = 1787
10370 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 49 4e  31 AND NodeTo IN
10380 20 28 31 38 33 32 38 36 2c 20 32 39 30 34 35 38   (183286, 290458
10390 2c 20 31 38 31 39 39 39 2c 20 31 38 34 30 33 30  , 181999, 184030
103a0 2c 20 31 32 34 36 32 32 2c 20 31 38 33 38 38 32  , 124622, 183882
103b0 2c 20 31 37 38 37 35 34 29 3b 0d 0a 3c 2f 76 65  , 178754);..</ve
103c0 72 62 61 74 69 6d 3e 0d 0a 54 68 65 72 65 20 69  rbatim>..There i
103d0 73 20 61 20 76 65 72 79 20 67 6f 6f 64 20 72 65  s a very good re
103e0 61 73 6f 6e 20 74 6f 20 64 69 73 63 6f 75 72 61  ason to discoura
103f0 67 65 20 79 6f 75 20 66 72 6f 6d 20 64 6f 69 6e  ge you from doin
10400 67 20 73 75 63 68 20 61 20 74 68 69 6e 67 2c 20  g such a thing, 
10410 6c 65 74 27 73 20 73 65 65 20 77 68 79 3a 3c 62  let's see why:<b
10420 72 3e 3c 62 72 3e 0d 0a 46 6f 72 20 53 51 4c 69  r><br>..For SQLi
10430 74 65 3a 20 3c 62 3e 4e 6f 64 65 54 6f 20 49 4e  te: <b>NodeTo IN
10440 20 28 31 38 33 32 38 36 2c 20 32 39 30 34 35 38   (183286, 290458
10450 2c 20 31 38 31 39 39 39 2c 20 31 38 34 30 33 30  , 181999, 184030
10460 2c 20 31 32 34 36 32 32 2c 20 31 38 33 38 38 32  , 124622, 183882
10470 2c 20 31 37 38 37 35 34 29 3c 2f 62 3e 20 69 73  , 178754)</b> is
10480 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62   considered to b
10490 65 20 37 20 70 61 72 61 6d 65 74 65 72 73 20 66  e 7 parameters f
104a0 6f 72 20 77 68 69 63 68 20 56 69 72 74 75 61 6c  or which Virtual
104b0 52 6f 75 74 69 6e 67 20 77 69 6c 6c 20 62 65 20  Routing will be 
104c0 63 61 6c 6c 65 64 20 66 6f 72 20 65 61 63 68 2e  called for each.
104d0 3c 62 72 3e 0d 0a 57 68 65 72 65 61 73 3a 20 3c  <br>..Whereas: <
104e0 62 3e 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32  b>NodeTo = '1832
104f0 38 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 39  86,290458,181999
10500 2c 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 31  ,184030,124622,1
10510 38 33 38 38 32 2c 31 37 38 37 35 34 27 3c 2f 62  83882,178754'</b
10520 3e 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20  > is considered 
10530 74 6f 20 62 65 20 31 20 70 61 72 61 6d 65 74 65  to be 1 paramete
10540 72 20 66 6f 72 20 77 68 69 63 68 20 56 69 72 74  r for which Virt
10550 75 61 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c 20  ualRouting will 
10560 62 65 20 63 61 6c 6c 65 64 20 3c 62 3e 6f 6e 63  be called <b>onc
10570 65 3c 2f 62 3e 20 61 6e 64 20 73 65 61 72 63 68  e</b> and search
10580 20 66 6f 72 20 74 68 65 20 37 20 69 74 65 6d 73   for the 7 items
10590 2e 0d 0a 3c 68 33 3e 42 65 77 61 72 65 3c 2f 68  ...<h3>Beware</h
105a0 33 3e 0d 0a 3c 62 3e 4e 65 76 65 72 20 65 76 65  3>..<b>Never eve
105b0 72 3c 2f 62 3e 20 61 74 74 65 6d 70 74 20 74 6f  r</b> attempt to
105c0 20 64 65 66 69 6e 65 20 61 20 6c 69 73 74 20 6f   define a list o
105d0 66 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69  f multiple desti
105e0 6e 61 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68  nations using th
105f0 65 20 73 74 61 6e 64 61 72 64 20 53 51 4c 20 73  e standard SQL s
10600 79 6e 74 61 78 20 3c 62 3e 3c 69 3e 57 48 45 52  yntax <b><i>WHER
10610 45 20 4e 6f 64 65 54 6f 20 49 4e 20 28 2e 2e 2e  E NodeTo IN (...
10620 2e 2e 2e 29 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65  ...)</i></b>, be
10630 63 61 75 73 65 20 74 68 69 73 20 77 69 6c 6c 20  cause this will 
10640 63 65 72 74 61 69 6e 6c 79 20 63 61 75 73 65 20  certainly cause 
10650 6d 61 6e 79 20 75 6e 65 78 70 65 63 74 65 64 20  many unexpected 
10660 20 27 3c 69 3e 72 65 73 75 6c 74 73 3c 2f 69 3e   '<i>results</i>
10670 27 2e 3c 62 72 3e 0d 0a 42 61 64 6c 79 20 66 6f  '.<br>..Badly fo
10680 72 6d 61 74 74 65 64 20 72 65 73 75 6c 74 73 65  rmatted resultse
10690 74 73 20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20  ts will be then 
106a0 72 65 74 75 72 6e 65 64 2c 20 6d 61 6e 79 20 6f  returned, many o
106b0 66 20 77 68 69 63 68 20 6d 61 79 20 62 65 20 77  f which may be w
106c0 72 6f 6e 67 2e 20 3c 62 3e 59 6f 75 20 61 72 65  rong. <b>You are
106d0 20 77 61 72 6e 65 64 3c 2f 62 3e 2e 3c 62 72 3e   warned</b>.<br>
106e0 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e  <br>..</td></tr>
106f0 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a  </table>..<br>..
10700 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
10710 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61  #c0ffc0" cellspa
10720 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
10730 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
10740 64 3e 0d 0a 3c 68 33 3e 48 6f 77 20 74 6f 20 63  d>..<h3>How to c
10750 6f 72 72 65 63 74 6c 79 20 66 6f 72 6d 61 74 20  orrectly format 
10760 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61  multiple destina
10770 74 69 6f 6e 73 20 6c 69 73 74 73 3c 2f 68 33 3e  tions lists</h3>
10780 0d 0a 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  ..VirtualRouting
10790 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 73 20   always expects 
107a0 74 6f 20 72 65 63 65 69 76 65 20 61 20 3c 62 3e  to receive a <b>
107b0 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
107c0 6e 73 3c 2f 62 3e 20 6c 69 73 74 20 61 73 20 61  ns</b> list as a
107d0 20 3c 62 3e 54 45 58 54 3c 2f 62 3e 20 73 74 72   <b>TEXT</b> str
107e0 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74  ing containing t
107f0 69 67 68 74 6c 79 20 70 61 63 6b 65 64 20 76 61  ightly packed va
10800 6c 75 65 73 20 73 65 70 61 72 61 74 65 64 20 62  lues separated b
10810 79 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c  y a conventional
10820 20 3c 62 3e 64 65 6c 69 6d 69 74 65 72 3c 2f 62   <b>delimiter</b
10830 3e 20 28 75 73 75 61 6c 6c 79 20 72 65 70 72 65  > (usually repre
10840 73 65 6e 74 65 64 20 62 79 20 61 20 3c 62 3e 63  sented by a <b>c
10850 6f 6d 6d 61 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a  omma</b>).<br>..
10860 45 78 61 6d 70 6c 65 73 20 6f 66 20 3c 62 3e 77  Examples of <b>w
10870 65 6c 6c 20 66 6f 72 6d 61 74 74 65 64 3c 2f 62  ell formatted</b
10880 3e 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74  > multi-destinat
10890 69 6f 6e 73 20 6c 69 73 74 73 3a 0d 0a 3c 76 65  ions lists:..<ve
108a0 72 62 61 74 69 6d 3e 0d 0a 27 31 2c 32 2c 33 2c  rbatim>..'1,2,3,
108b0 34 2c 35 2c 31 30 2c 31 30 30 2c 31 30 30 30 2c  4,5,10,100,1000,
108c0 31 30 30 30 30 30 27 20 20 20 2d 2d 20 69 6e 74  100000'   -- int
108d0 65 67 65 72 20 4e 6f 64 65 20 49 44 73 0d 0a 0d  eger Node IDs...
108e0 0a 27 41 31 30 30 42 2c 41 31 30 30 46 2c 42 32  .'A100B,A100F,B2
108f0 35 30 5a 2c 43 30 31 30 4d 2c 5a 39 39 39 41 27  50Z,C010M,Z999A'
10900 20 20 2d 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69    -- alphanumeri
10910 63 20 4e 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f  c Node Codes..</
10920 76 65 72 62 61 74 69 6d 3e 0d 0a 45 78 61 6d 70  verbatim>..Examp
10930 6c 65 73 20 6f 66 20 3c 62 3e 62 61 64 6c 79 20  les of <b>badly 
10940 66 6f 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d 75  formatted</b> mu
10950 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73  lti-destinations
10960 20 6c 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61 74   lists:..<verbat
10970 69 6d 3e 0d 0a 27 20 20 31 2c 20 32 2c 20 33 2c  im>..'  1, 2, 3,
10980 20 34 20 2c 20 35 20 2c 20 31 30 2c 20 31 30 30   4 , 5 , 10, 100
10990 2c 20 31 30 30 30 2c 20 31 30 30 30 30 30 20 20  , 1000, 100000  
109a0 27 20 20 20 2d 2d 20 69 6e 74 65 67 65 72 20 4e  '   -- integer N
109b0 6f 64 65 20 49 44 73 0d 0a 0d 0a 27 20 20 41 31  ode IDs....'  A1
109c0 30 30 42 2c 20 41 31 30 30 46 20 2c 20 42 32 35  00B, A100F , B25
109d0 30 5a 20 2c 20 43 30 31 30 4d 2c 20 5a 39 39 39  0Z , C010M, Z999
109e0 41 20 20 27 20 20 20 20 20 20 2d 2d 20 61 6c 70  A  '      -- alp
109f0 68 61 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20 43  hanumeric Node C
10a00 6f 64 65 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  odes..</verbatim
10a10 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
10a20 61 6c 6c 20 77 68 69 74 65 73 70 61 63 65 73 20  all whitespaces 
10a30 69 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63  immediately prec
10a40 65 64 69 6e 67 20 6f 72 20 66 6f 6c 6c 6f 77 69  eding or followi
10a50 6e 67 20 74 68 65 20 3c 62 3e 64 65 6c 69 6d 69  ng the <b>delimi
10a60 74 65 72 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20  ter</b> will be 
10a70 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65  considered to be
10a80 20 69 6e 74 65 67 72 61 6c 20 70 61 72 74 20 6f   integral part o
10a90 66 20 74 68 65 20 76 61 6c 75 65 20 69 74 73 65  f the value itse
10aa0 6c 66 20 28 61 6e 64 20 74 68 75 73 20 77 69 6c  lf (and thus wil
10ab0 6c 20 3c 62 3e 61 6c 73 6f 3c 2f 62 3e 20 62 65  l <b>also</b> be
10ac0 20 73 65 61 72 63 68 65 64 20 66 6f 72 29 2e 3c   searched for).<
10ad0 62 72 3e 0d 0a 54 68 69 73 20 77 69 6c 6c 20 68  br>..This will h
10ae0 61 76 65 20 6e 6f 20 61 64 76 65 72 73 65 20 63  ave no adverse c
10af0 6f 6e 73 65 71 75 65 6e 63 65 73 20 69 6e 20 74  onsequences in t
10b00 68 65 20 63 61 73 65 20 6f 66 20 69 6e 74 65 67  he case of integ
10b10 65 72 20 76 61 6c 75 65 73 2c 20 62 75 74 20 63  er values, but c
10b20 61 6e 20 65 61 73 69 6c 79 20 68 61 76 65 20 63  an easily have c
10b30 61 74 61 73 74 72 6f 70 68 69 63 20 65 66 66 65  atastrophic effe
10b40 63 74 73 20 6f 6e 20 61 6c 70 68 61 6e 75 6d 65  cts on alphanume
10b50 72 69 63 20 76 61 6c 75 65 73 2e 0d 0a 3c 68 33  ric values...<h3
10b60 3e 44 65 66 69 6e 69 6e 67 20 61 20 63 75 73 74  >Defining a cust
10b70 6f 6d 20 64 65 6c 69 6d 69 74 65 72 3c 2f 68 33  om delimiter</h3
10b80 3e 0d 0a 53 6f 6d 65 74 69 6d 65 73 20 69 74 20  >..Sometimes it 
10b90 63 6f 75 6c 64 20 62 65 20 75 73 65 66 75 6c 20  could be useful 
10ba0 73 65 74 74 69 6e 67 20 75 70 20 61 20 64 65 6c  setting up a del
10bb0 69 6d 69 74 65 72 20 6f 74 68 65 72 20 74 68 61  imiter other tha
10bc0 6e 20 61 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e  n a <b>comma</b>
10bd0 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55  ...<verbatim>..U
10be0 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54  PDATE byfoot SET
10bf0 20 44 65 6c 69 6d 69 74 65 72 20 3d 20 27 2a 27   Delimiter = '*'
10c00 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 44 65 6c 69  ;....SELECT Deli
10c10 6d 69 74 65 72 20 46 52 4f 4d 20 62 79 66 6f 6f  miter FROM byfoo
10c20 74 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  t;..------------
10c30 2d 2d 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65 63 3d 34  ------..* [dec=4
10c40 32 2c 20 68 65 78 3d 32 61 5d 0d 0a 3c 2f 76 65  2, hex=2a]..</ve
10c50 72 62 61 74 69 6d 3e 20 0d 0a 59 6f 75 20 73 69  rbatim> ..You si
10c60 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 65 78 65  mply have to exe
10c70 63 75 74 65 20 61 6e 20 3c 62 3e 55 50 44 41 54  cute an <b>UPDAT
10c80 45 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 20  E</b> statement 
10c90 62 79 20 73 70 65 63 69 66 79 69 6e 67 20 74 68  by specifying th
10ca0 65 20 6e 65 77 20 64 65 6c 69 6d 69 74 65 72 20  e new delimiter 
10cb0 76 61 6c 75 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  value.<br><br>..
10cc0 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c  </td></tr></tabl
10cd0 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68  e>..<br><br>..<h
10ce0 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e  r><br>..<h1><a n
10cf0 61 6d 65 3d 22 69 73 6f 63 68 72 6f 6e 65 22 3e  ame="isochrone">
10d00 36 20 2d 20 53 6f 6c 76 69 6e 67 20 49 73 6f 63  6 - Solving Isoc
10d10 68 72 6f 6e 65 20 70 72 6f 62 6c 65 6d 73 3c 2f  hrone problems</
10d20 61 3e 3c 2f 68 31 3e 0d 0a 3c 61 20 68 72 65 66  a></h1>..<a href
10d30 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b  ="https://en.wik
10d40 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f  ipedia.org/wiki/
10d50 49 73 6f 63 68 72 6f 6e 65 5f 6d 61 70 22 3e 49  Isochrone_map">I
10d60 73 6f 63 68 72 6f 6e 65 73 3c 2f 61 3e 20 61 72  sochrones</a> ar
10d70 65 20 61 72 65 61 73 20 28 6f 72 20 63 75 72 76  e areas (or curv
10d80 65 73 29 20 63 6f 6e 6e 65 63 74 69 6e 67 20 70  es) connecting p
10d90 6f 69 6e 74 73 20 61 74 20 77 68 69 63 68 20 73  oints at which s
10da0 6f 6d 65 74 68 69 6e 67 20 6f 63 63 75 72 73 20  omething occurs 
10db0 6f 72 20 61 72 72 69 76 65 73 20 61 74 20 74 68  or arrives at th
10dc0 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 62 72 3e  e same time.<br>
10dd0 0d 0a 49 73 6f 63 68 72 6f 6e 65 73 20 61 72 65  ..Isochrones are
10de0 20 75 73 75 61 6c 6c 79 20 72 65 6c 61 74 65 64   usually related
10df0 20 74 6f 20 4e 65 74 77 6f 72 6b 20 41 6e 61 6c   to Network Anal
10e00 79 73 69 73 20 61 6e 64 20 52 6f 75 74 69 6e 67  ysis and Routing
10e10 20 62 65 63 61 75 73 65 20 74 68 65 79 20 61 6c   because they al
10e20 6c 6f 77 20 74 6f 20 65 61 73 69 6c 79 20 69 64  low to easily id
10e30 65 6e 74 69 66 79 20 77 68 69 63 68 20 73 70 65  entify which spe
10e40 63 69 66 69 63 20 70 6f 72 74 69 6f 6e 20 6f 66  cific portion of
10e50 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 63 61 6e   the Network can
10e60 20 62 65 20 72 65 61 63 68 65 64 20 73 74 61 72   be reached star
10e70 74 69 6e 67 20 62 79 20 73 6f 6d 65 20 3c 62 3e  ting by some <b>
10e80 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20  origin Node</b> 
10e90 73 70 65 6e 64 69 6e 67 20 6e 6f 20 6d 6f 72 65  spending no more
10ea0 20 74 68 61 6e 20 61 20 67 69 76 65 6e 20 3c 62   than a given <b
10eb0 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 62 72 3e 3c 62  >Cost</b>.<br><b
10ec0 72 3e 0d 0a 41 73 20 79 6f 75 20 68 61 76 65 20  r>..As you have 
10ed0 61 6c 72 65 61 64 79 20 73 65 65 6e 20 77 69 74  already seen wit
10ee0 68 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69  h <b>multi-desti
10ef0 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 69  nation</b> queri
10f00 65 73 2c 20 74 68 65 20 44 69 6a 6b 73 74 72 61  es, the Dijkstra
10f10 27 73 20 41 6c 67 6f 72 69 74 68 6d 20 72 6f 62  's Algorithm rob
10f20 75 73 74 6c 79 20 65 6e 73 75 72 65 73 20 74 68  ustly ensures th
10f30 61 74 20 77 68 65 6e 20 61 20 64 65 73 74 69 6e  at when a destin
10f40 61 74 69 6f 6e 20 69 73 20 72 65 61 63 68 65 64  ation is reached
10f50 2c 20 61 6c 6c 20 74 68 65 20 64 65 73 74 69 6e  , all the destin
10f60 61 74 69 6f 6e 73 20 70 72 65 73 65 6e 74 69 6e  ations presentin
10f70 67 20 61 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f  g a <b>lesser co
10f80 73 74 3c 2f 62 3e 20 68 61 76 65 20 61 6c 73 6f  st</b> have also
10f90 20 62 65 65 6e 20 63 6f 6c 6c 65 63 74 65 64 2e   been collected.
10fa0 3c 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f 77  <br>..This allow
10fb0 73 20 74 6f 20 65 66 66 69 63 69 65 6e 74 6c 79  s to efficiently
10fc0 20 73 75 70 70 6f 72 74 20 3c 62 3e 49 73 6f 63   support <b>Isoc
10fd0 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 69 65  hrone</b> querie
10fe0 73 2e 0d 0a 59 6f 75 20 73 69 6d 70 6c 79 20 68  s...You simply h
10ff0 61 76 65 20 74 6f 20 73 70 65 63 69 66 79 20 61  ave to specify a
11000 20 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69 67 69   <b>single origi
11010 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 20 61  n Node</b> and a
11020 20 3c 62 3e 43 6f 73 74 20 74 68 72 65 73 68 6f   <b>Cost thresho
11030 6c 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d  ld</b>.<br><br>.
11040 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65 78  .<u>Note</u>: ex
11050 65 63 75 74 69 6e 67 20 61 6e 20 49 73 6f 63 68  ecuting an Isoch
11060 72 6f 6e 65 20 71 75 65 72 79 20 72 65 71 75 69  rone query requi
11070 72 65 73 20 61 20 3c 62 3e 70 72 6f 63 65 73 73  res a <b>process
11080 69 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 74 68 61  ing time</b> tha
11090 74 20 3c 62 3e 69 73 6e 27 74 3c 2f 62 3e 20 74  t <b>isn't</b> t
110a0 68 65 20 3c 75 3e 73 75 6d 20 6f 66 20 61 6c 6c  he <u>sum of all
110b0 20 69 6e 64 69 76 69 64 75 61 6c 20 74 69 6d 69   individual timi
110c0 6e 67 73 20 66 6f 72 20 65 61 63 68 20 64 65 73  ngs for each des
110d0 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c 20 62 75  tination</u>, bu
110e0 74 20 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20  t simply is the 
110f0 3c 75 3e 74 69 6d 65 20 72 65 71 75 69 72 65 64  <u>time required
11100 20 74 6f 20 72 65 61 63 68 20 74 68 65 20 6d 6f   to reach the mo
11110 73 74 20 63 6f 73 74 6c 79 20 64 65 73 74 69 6e  st costly destin
11120 61 74 69 6f 6e 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a  ation</u>.<br>..
11130 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45  <verbatim>..SELE
11140 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65  CT Algorithm, Re
11150 71 75 65 73 74 2c 20 52 6f 6c 65 2c 20 4e 6f 64  quest, Role, Nod
11160 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43  eFrom, NodeTo, C
11170 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 0d 0a 46  ost, Geometry..F
11180 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
11190 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 31  E NodeFrom = 181
111a0 39 39 39 20 41 4e 44 20 43 6f 73 74 20 3c 3d 20  999 AND Cost <= 
111b0 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62 61  1000.0;..</verba
111c0 74 69 6d 3e 0d 0a 59 6f 75 20 63 61 6e 20 63 61  tim>..You can ca
111d0 6c 6c 20 61 6e 20 3c 62 3e 49 73 6f 63 68 72 6f  ll an <b>Isochro
111e0 6e 65 3c 2f 62 3e 20 71 75 65 72 79 20 61 73 20  ne</b> query as 
111f0 73 75 70 70 6f 72 74 65 64 20 62 79 20 3c 62 3e  supported by <b>
11200 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f  VirtualRouting</
11210 62 3e 20 62 79 20 73 70 65 63 69 66 79 69 6e 67  b> by specifying
11220 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
11230 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 3a 20 74 68  NodeFrom</b>: th
11240 65 20 3c 62 3e 3c 69 3e 49 44 3c 2f 69 3e 3c 2f  e <b><i>ID</i></
11250 62 3e 20 6f 72 20 3c 62 3e 3c 69 3e 43 6f 64 65  b> or <b><i>Code
11260 3c 2f 69 3e 3c 2f 62 3e 20 75 6e 69 71 75 65 6c  </i></b> uniquel
11270 79 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68  y identifying th
11280 65 20 3c 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65  e <b>origin Node
11290 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </b>.</li>..<li>
112a0 3c 62 3e 43 6f 73 74 3c 2f 62 3e 3a 20 74 68 65  <b>Cost</b>: the
112b0 20 6d 61 78 69 6d 75 6d 20 3c 62 3e 43 6f 73 74   maximum <b>Cost
112c0 20 74 68 72 65 73 68 6f 6c 64 3c 2f 62 3e 20 6e   threshold</b> n
112d0 6f 74 20 74 6f 20 62 65 20 65 78 63 65 65 64 65  ot to be exceede
112e0 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  d.<br>..<u>Note<
112f0 2f 75 3e 3a 20 61 6e 79 20 76 61 6c 69 64 20 49  /u>: any valid I
11300 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 20 3c  sochrone query <
11310 62 3e 6d 75 73 74 3c 2f 62 3e 20 6e 65 63 65 73  b>must</b> neces
11320 73 61 72 69 6c 79 20 73 70 65 63 69 66 79 20 61  sarily specify a
11330 20 3c 62 3e 3c 3d 3c 2f 62 3e 20 28 3c 75 3e 3c   <b><=</b> (<u><
11340 69 3e 6c 65 73 73 65 72 20 74 68 61 6e 20 6f 72  i>lesser than or
11350 20 65 71 75 61 6c 20 74 6f 3c 2f 69 3e 3c 2f 75   equal to</i></u
11360 3e 29 20 63 6f 6d 70 61 72 69 73 6f 6e 20 6f 70  >) comparison op
11370 65 72 61 74 6f 72 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  erator.</li>..</
11380 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 66  ul>..<br>..The f
11390 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73  ollowing table s
113a0 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73  hows the results
113b0 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74  et returned by t
113c0 68 65 20 61 62 6f 76 65 20 49 73 6f 63 68 72 6f  he above Isochro
113d0 6e 65 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c  ne query...<br><
113e0 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64  br>..<table bord
113f0 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22  er="1" bgcolor="
11400 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61  #ffffcf" cellspa
11410 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64  cing="4" cellpad
11420 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c  ding="6">..<tr><
11430 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
11440 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f  0a0">Algorithm</
11450 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
11460 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74  #d0d0a0">Request
11470 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
11480 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
11490 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
114a0 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72  "#d0d0a0">NodeFr
114b0 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  om</th><th bgcol
114c0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
114d0 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  eTo</th><th bgco
114e0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f  lor="#d0d0a0">Co
114f0 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
11500 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f  or="#d0d0a0">Geo
11510 6d 65 74 72 79 3c 2f 74 68 3e 3c 2f 74 72 3e 0d  metry</th></tr>.
11520 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  .<tr>..<tr>..<td
11530 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74  >Dijkstra</td><t
11540 64 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 74 64 3e  d>Isochrone</td>
11550 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64  <td>Solution</td
11560 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
11570 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
11580 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
11590 31 37 38 37 31 37 3c 2f 74 64 3e 3c 74 64 20 61  178717</td><td a
115a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 37 32  lign="right">572
115b0 2e 34 35 35 31 34 33 3c 2f 74 64 3e 3c 74 64 3e  .455143</td><td>
115c0 42 4c 4f 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45  BLOB sz=60 GEOME
115d0 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  TRY</td>..</tr>.
115e0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
115f0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
11600 3e 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 74 64  ><td>Solution<td
11610 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
11620 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
11630 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
11640 31 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  18</td><td align
11650 3d 22 72 69 67 68 74 22 3e 35 38 37 2e 33 30 33  ="right">587.303
11660 37 37 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  779</td><td>BLOB
11670 20 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c   sz=60 GEOMETRY<
11680 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
11690 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65  >..<td align="ce
116a0 6e 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d 22 37  nter" colspan="7
116b0 22 3e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 3c  ">.............<
116c0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
116d0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
116e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
116f0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 53   align="right">S
11700 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20  olution</td><td 
11710 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
11720 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
11730 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33  gn="right">18403
11740 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
11750 22 72 69 67 68 74 22 3e 35 37 39 2e 37 38 36 37  "right">579.7867
11760 32 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  24</td><td>BLOB 
11770 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f  sz=60 GEOMETRY</
11780 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
11790 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
117a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
117b0 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64  Solution</td><td
117c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
117d0 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
117e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30  ign="right">1840
117f0 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  36</td><td align
11800 3d 22 72 69 67 68 74 22 3e 36 34 32 2e 36 39 31  ="right">642.691
11810 35 39 37 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  597</td><td>BLOB
11820 20 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c   sz=60 GEOMETRY<
11830 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74  /td>..</tr>..</t
11840 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74  able>..<br>..Let
11850 27 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69  's quickly exami
11860 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  ne the resultset
11870 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
11880 20 61 62 6f 76 65 20 3c 62 3e 69 73 6f 63 68 72   above <b>isochr
11890 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a  one</b> query...
118a0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  <ul>..<li>the <b
118b0 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f  >first row</b> o
118c0 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  f the resultset 
118d0 69 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65 70  is someway excep
118e0 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74  tional, and is t
118f0 68 65 20 6f 6e 6c 79 20 72 6f 77 20 6f 66 20 74  he only row of t
11900 68 65 20 72 65 73 75 6c 74 73 65 74 20 70 72 65  he resultset pre
11910 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e  senting <b>NOT N
11920 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 69  ULL</b> values i
11930 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74  n the <b>Algorit
11940 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65  hm</b>, <b>Reque
11950 73 74 3c 2f 62 3e 2c 20 3c 2f 62 3e 4f 70 74 69  st</b>, </b>Opti
11960 6f 6e 73 3c 2f 62 3e 20 28 61 6e 64 20 3c 2f 62  ons</b> (and </b
11970 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 29 20  >Delimiter</b>) 
11980 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c  columns.</li>..<
11990 6c 69 3e 61 6c 6c 20 72 6f 77 73 20 28 69 6e 63  li>all rows (inc
119a0 6c 75 64 69 6e 67 20 74 68 65 20 66 69 72 73 74  luding the first
119b0 20 6f 6e 65 29 20 68 61 76 65 20 3c 62 3e 52 6f   one) have <b>Ro
119c0 6c 65 20 3d 20 53 6f 6c 75 74 69 6f 6e 3c 2f 62  le = Solution</b
119d0 3e 2c 20 61 6e 64 20 72 65 70 72 65 73 65 6e 74  >, and represent
119e0 73 20 61 20 73 69 6e 67 6c 65 20 63 6f 6e 6e 65  s a single conne
119f0 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 3c 62  ction between <b
11a00 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e  >NodeFrom</b> an
11a10 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2c  d <b>NodeTo</b>,
11a20 20 77 69 74 68 20 74 68 65 20 63 6f 72 72 65 73   with the corres
11a30 70 6f 6e 64 69 6e 67 20 3c 62 3e 43 6f 73 74 3c  ponding <b>Cost<
11a40 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  /b>.</li>..<li>t
11a50 68 65 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c 2f  he <b>Geometry</
11a60 62 3e 20 63 6f 6c 75 6d 6e 20 61 6c 77 61 79 73  b> column always
11a70 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20   corresponds to 
11a80 74 68 65 20 3c 62 3e 32 44 20 50 6f 69 6e 74 3c  the <b>2D Point<
11a90 2f 62 3e 20 77 68 65 72 65 20 3c 62 3e 4e 6f 64  /b> where <b>Nod
11aa0 65 54 6f 3c 2f 62 3e 20 69 73 20 6c 6f 63 61 74  eTo</b> is locat
11ab0 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  ed.</li>..</ul>.
11ac0 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
11ad0 75 3e 3a 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65  u>: <b>isochrone
11ae0 3c 2f 62 3e 20 71 75 65 72 69 65 73 20 61 72 65  </b> queries are
11af0 20 6e 6f 74 20 61 66 66 65 63 74 65 64 20 62 79   not affected by
11b00 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 20 6f 70   configurable op
11b10 74 69 6f 6e 73 2e 0d 0a 3c 62 3e 41 6c 67 6f 72  tions...<b>Algor
11b20 69 74 68 6d 3c 2f 62 3e 20 77 69 6c 6c 20 62 65  ithm</b> will be
11b30 20 61 6c 77 61 79 73 20 61 73 73 75 6d 65 64 20   always assumed 
11b40 74 6f 20 62 65 20 3c 62 3e 44 69 6a 73 6b 74 72  to be <b>Dijsktr
11b50 61 3c 2f 62 3e 2c 20 61 6e 64 20 74 68 65 20 63  a</b>, and the c
11b60 75 72 72 65 6e 74 20 3c 62 3e 4f 70 74 69 6f 6e  urrent <b>Option
11b70 73 3c 2f 62 3e 20 73 65 74 74 69 6e 67 73 20 77  s</b> settings w
11b80 69 6c 6c 20 62 65 20 73 69 6d 70 6c 79 20 69 67  ill be simply ig
11b90 6e 6f 72 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69  nored...<verbati
11ba0 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 43 6f  m>..SELECT ST_Co
11bb0 6e 63 61 76 65 48 75 6c 6c 28 53 54 5f 43 6f 6c  ncaveHull(ST_Col
11bc0 6c 65 63 74 28 47 65 6f 6d 65 74 72 79 29 29 0d  lect(Geometry)).
11bd0 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
11be0 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
11bf0 38 31 39 39 39 20 41 4e 44 20 43 6f 73 74 20 3c  81999 AND Cost <
11c00 3d 20 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72  = 1000.0;..</ver
11c10 62 61 74 69 6d 3e 0d 0a 41 6e 79 20 69 73 6f 63  batim>..Any isoc
11c20 68 72 6f 6e 65 20 71 75 65 72 79 20 77 69 6c 6c  hrone query will
11c30 20 6a 75 73 74 20 72 65 74 75 72 6e 20 61 20 50   just return a P
11c40 6f 69 6e 74 2d 73 65 74 3b 20 69 66 20 79 6f 75  oint-set; if you
11c50 20 61 6c 73 6f 20 77 69 73 68 20 74 6f 20 6f 62   also wish to ob
11c60 74 61 69 6e 20 74 68 65 20 63 6f 72 72 65 73 70  tain the corresp
11c70 6f 6e 64 69 6e 67 20 61 72 65 61 6c 20 72 65 70  onding areal rep
11c80 72 65 73 65 6e 74 61 74 69 6f 6e 20 79 6f 75 20  resentation you 
11c90 6a 75 73 74 20 68 61 76 65 20 74 6f 20 63 61 6c  just have to cal
11ca0 6c 20 3c 62 3e 53 54 5f 43 6f 6c 6c 65 63 74 28  l <b>ST_Collect(
11cb0 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72 20 74  )</b> in order t
11cc0 6f 20 67 65 74 20 61 20 6d 6f 6e 6f 6c 69 74 68  o get a monolith
11cd0 69 63 20 4d 75 6c 74 69 50 6f 69 6e 74 2c 20 74  ic MultiPoint, t
11ce0 68 65 6e 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53  hen calling <b>S
11cf0 54 5f 43 6f 6e 63 61 76 65 48 75 6c 6c 28 29 3c  T_ConcaveHull()<
11d00 2f 62 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  /b> in order to 
11d10 67 65 74 20 61 20 50 6f 6c 79 67 6f 6e 2e 0d 0a  get a Polygon...
11d20 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68  <br><br><br>..Th
11d30 65 20 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70  e map below grap
11d40 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68  hically shows th
11d50 65 20 72 65 73 75 6c 74 73 20 6f 66 20 74 68 65  e results of the
11d60 20 70 72 65 76 69 6f 75 73 20 3c 62 3e 69 73 6f   previous <b>iso
11d70 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79  chrone</b> query
11d80 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d  ...<br><br>..<im
11d90 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77  g src="https://w
11da0 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67  ww.gaia-gis.it/g
11db0 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67  aia-sins/routing
11dc0 2d 66 69 67 73 2f 69 73 6f 63 68 72 6f 6e 65 2e  -figs/isochrone.
11dd0 6a 70 67 22 20 61 6c 74 3d 22 69 73 6f 63 68 72  jpg" alt="isochr
11de0 6f 6e 65 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  one">..<ul>..<li
11df0 3e 59 65 6c 6c 6f 77 20 73 74 61 72 3a 20 74 68  >Yellow star: th
11e00 65 20 4f 72 69 67 69 6e 20 4e 6f 64 65 2e 3c 2f  e Origin Node.</
11e10 6c 69 3e 0d 0a 3c 6c 69 3e 42 6c 75 65 20 64 6f  li>..<li>Blue do
11e20 74 73 3a 20 61 6c 6c 20 44 65 73 74 69 6e 61 74  ts: all Destinat
11e30 69 6f 6e 20 4e 6f 64 65 73 20 77 69 74 68 69 6e  ion Nodes within
11e40 20 74 68 65 20 67 69 76 65 6e 20 43 6f 73 74 2e   the given Cost.
11e50 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68 69 74 65  </li>..<li>White
11e60 20 6c 69 6e 65 3a 20 74 68 65 20 62 6f 75 6e 64   line: the bound
11e70 61 72 79 20 6f 66 20 74 68 65 20 49 73 6f 63 68  ary of the Isoch
11e80 72 6f 6e 65 2e 20 0d 0a 3c 62 72 3e 3c 62 72 3e  rone. ..<br><br>
11e90 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
11ea0 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73  ="#c0ffc0" cells
11eb0 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c  pacing="10" cell
11ec0 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e  padding="6"><tr>
11ed0 3c 74 64 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  <td>..<br><br>..
11ee0 3c 75 3e 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3c 2f  <u><b>Note</b></
11ef0 75 3e 3a 20 69 6e 20 74 68 69 73 20 65 78 61 6d  u>: in this exam
11f00 70 6c 65 20 79 6f 75 27 76 65 20 75 73 65 64 20  ple you've used 
11f10 74 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62  the <b>byfoot</b
11f20 3e 20 4e 65 74 77 6f 72 6b 2c 20 74 68 61 74 20  > Network, that 
11f30 69 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 43  is based on <b>C
11f40 6f 73 74 73 3c 2f 62 3e 20 65 78 70 72 65 73 73  osts</b> express
11f50 65 64 20 69 6e 20 3c 62 3e 6d 65 74 65 72 73 3c  ed in <b>meters<
11f60 2f 62 3e 20 28 67 65 6f 6d 65 74 72 69 63 20 6c  /b> (geometric l
11f70 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 4c 69  ength of each Li
11f80 6e 6b 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 4e  nk).<br>..This N
11f90 65 74 77 6f 72 6b 20 69 73 20 6d 61 69 6e 6c 79  etwork is mainly
11fa0 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 3c 62   intended for <b
11fb0 3e 70 65 64 65 73 74 72 69 61 6e 73 3c 2f 62 3e  >pedestrians</b>
11fc0 2c 20 73 6f 20 77 65 20 63 61 6e 20 73 61 66 65  , so we can safe
11fd0 6c 79 20 61 73 73 75 6d 65 20 61 20 3c 75 3e 3c  ly assume a <u><
11fe0 69 3e 63 6f 6e 73 74 61 6e 74 20 73 70 65 65 64  i>constant speed
11ff0 3c 2f 69 3e 3c 2f 75 3e 20 6f 66 20 61 62 6f 75  </i></u> of abou
12000 74 20 3c 62 3e 34 3c 2f 62 3e 20 74 6f 20 3c 62  t <b>4</b> to <b
12010 3e 36 20 6b 6d 2f 68 3c 2f 62 3e 2c 20 61 6e 64  >6 km/h</b>, and
12020 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68   consequently th
12030 65 20 3c 62 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f  e <b>Isochrone</
12040 62 3e 20 65 66 66 65 63 74 69 76 65 6c 79 20 72  b> effectively r
12050 65 73 70 65 63 74 73 20 74 68 65 20 3c 75 3e 3c  espects the <u><
12060 69 3e 73 61 6d 65 20 74 69 6d 65 3c 2f 69 3e 3c  i>same time</i><
12070 2f 75 3e 20 72 65 71 75 69 73 69 74 65 2e 3c 62  /u> requisite.<b
12080 72 3e 3c 62 72 3e 0d 0a 53 70 65 61 6b 69 6e 67  r><br>..Speaking
12090 20 69 6e 20 6d 6f 72 65 20 67 65 6e 65 72 61 6c   in more general
120a0 20 74 65 72 6d 73 2c 20 61 6e 20 49 73 6f 63 68   terms, an Isoch
120b0 72 6f 6e 65 20 63 61 6e 20 62 65 20 69 6e 74 65  rone can be inte
120c0 6e 64 65 64 20 61 73 20 61 20 67 65 6e 65 72 69  nded as a generi
120d0 63 20 73 79 6e 6f 6e 79 6d 20 66 6f 72 20 3c 75  c synonym for <u
120e0 3e 3c 69 3e 73 61 6d 65 20 43 6f 73 74 3c 2f 69  ><i>same Cost</i
120f0 3e 3c 2f 75 3e 2c 20 65 76 65 6e 20 77 68 65 6e  ></u>, even when
12100 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6f 62 76   there is no obv
12110 69 6f 75 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 20  ious connection 
12120 77 69 74 68 20 3c 62 3e 54 69 6d 65 2e 3c 2f 62  with <b>Time.</b
12130 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64  >.<br><br>..</td
12140 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a  ></tr></table>..
12150 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61  <hr><br>..<h1><a
12160 20 6e 61 6d 65 3d 22 74 73 70 22 3e 37 20 2d 20   name="tsp">7 - 
12170 53 6f 6c 76 69 6e 67 20 54 53 50 20 28 74 72 61  Solving TSP (tra
12180 76 65 6c 69 6e 67 20 73 61 6c 65 73 6d 61 6e 29  veling salesman)
12190 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68   problems</a></h
121a0 31 3e 0d 0a 3c 62 3e 54 53 50 3c 2f 62 3e 20 28  1>..<b>TSP</b> (
121b0 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f  <a href="https:/
121c0 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72  /en.wikipedia.or
121d0 67 2f 77 69 6b 69 2f 54 72 61 76 65 6c 6c 69 6e  g/wiki/Travellin
121e0 67 5f 73 61 6c 65 73 6d 61 6e 5f 70 72 6f 62 6c  g_salesman_probl
121f0 65 6d 22 3e 54 72 61 76 65 6c 69 6e 67 20 53 61  em">Traveling Sa
12200 6c 65 73 6d 61 6e 20 50 72 6f 62 6c 65 6d 3c 2f  lesman Problem</
12210 61 3e 29 20 69 73 20 61 20 77 65 6c 6c 20 6b 6e  a>) is a well kn
12220 6f 77 6e 20 4f 70 65 72 61 74 69 6f 6e 73 20 52  own Operations R
12230 65 73 65 61 72 63 68 20 70 72 6f 62 6c 65 6d 2e  esearch problem.
12240 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62  ..<br><br>..<tab
12250 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66  le bgcolor="#c0f
12260 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fc0" cellspacing
12270 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
12280 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
12290 3c 68 33 3e 54 68 65 20 54 72 61 76 65 6c 69 6e  <h3>The Travelin
122a0 67 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62 6c  g Salesman Probl
122b0 65 6d 3c 2f 68 33 3e 0d 0a 3c 62 3e 3c 69 3e 47  em</h3>..<b><i>G
122c0 69 76 65 6e 20 61 20 6c 69 73 74 20 6f 66 20 63  iven a list of c
122d0 69 74 69 65 73 20 61 6e 64 20 74 68 65 20 64 69  ities and the di
122e0 73 74 61 6e 63 65 73 20 62 65 74 77 65 65 6e 20  stances between 
122f0 65 61 63 68 20 70 61 69 72 20 6f 66 20 63 69 74  each pair of cit
12300 69 65 73 2c 20 77 68 61 74 20 69 73 20 74 68 65  ies, what is the
12310 20 73 68 6f 72 74 65 73 74 20 70 6f 73 73 69 62   shortest possib
12320 6c 65 20 72 6f 75 74 65 20 74 68 61 74 20 76 69  le route that vi
12330 73 69 74 73 20 65 61 63 68 20 63 69 74 79 20 61  sits each city a
12340 6e 64 20 72 65 74 75 72 6e 73 20 74 6f 20 74 68  nd returns to th
12350 65 20 6f 72 69 67 69 6e 20 63 69 74 79 20 3f 3c  e origin city ?<
12360 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e 3c 62 72  /i></b>..<br><br
12370 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74  >..</td></tr></t
12380 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e  able>..<br>..<u>
12390 4e 6f 74 65 3a 3c 2f 75 3e 20 74 68 65 20 74 65  Note:</u> the te
123a0 72 6d 73 20 3c 69 3e 3c 75 3e 73 61 6c 65 73 6d  rms <i><u>salesm
123b0 61 6e 3c 2f 75 3e 3c 2f 69 3e 20 61 6e 64 20 3c  an</u></i> and <
123c0 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69  i><u>city</u></i
123d0 3e 20 61 72 65 20 75 6e 69 76 65 72 73 61 6c 6c  > are universall
123e0 79 20 75 73 65 64 20 66 6f 72 20 68 69 73 74 6f  y used for histo
123f0 72 69 63 61 6c 20 72 65 61 73 6f 6e 73 2c 20 73  rical reasons, s
12400 6f 20 79 6f 75 20 73 68 6f 75 6c 64 20 61 76 6f  o you should avo
12410 69 64 20 74 61 6b 65 20 74 68 65 6d 20 6c 69 74  id take them lit
12420 65 72 61 6c 6c 79 20 61 6e 64 20 74 61 6b 65 20  erally and take 
12430 74 68 65 6d 20 69 6e 20 63 6f 6e 74 65 78 74 2e  them in context.
12440 3c 62 72 3e 0d 0a 54 68 65 20 74 65 72 6d 20 3c  <br>..The term <
12450 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69  u><i>salesman</i
12460 3e 3c 2f 75 3e 20 69 6e 20 74 68 69 73 20 73 70  ></u> in this sp
12470 65 63 69 66 69 63 20 63 6f 6e 74 65 78 74 20 69  ecific context i
12480 6e 74 65 6e 64 73 20 61 6e 79 20 70 6f 73 73 69  ntends any possi
12490 62 6c 65 20 6b 69 6e 64 20 6f 66 20 3c 75 3e 3c  ble kind of <u><
124a0 69 3e 6d 6f 76 69 6e 67 20 61 67 65 6e 74 3c 2f  i>moving agent</
124b0 69 3e 3c 2f 75 3e 20 28 70 65 64 65 73 74 72 69  i></u> (pedestri
124c0 61 6e 2c 20 76 65 68 69 63 6c 65 2c 20 70 61 73  an, vehicle, pas
124d0 73 65 6e 67 65 72 20 6f 72 20 77 68 61 74 65 76  senger or whatev
124e0 65 72 20 65 6c 73 65 29 2c 20 65 78 61 63 74 6c  er else), exactl
124f0 79 20 61 73 20 3c 69 3e 3c 75 3e 63 69 74 79 3c  y as <i><u>city<
12500 2f 75 3e 3c 2f 69 3e 20 73 69 6d 70 6c 79 20 73  /u></i> simply s
12510 74 61 6e 64 73 20 66 6f 72 20 61 6e 79 20 3c 69  tands for any <i
12520 3e 3c 75 3e 67 65 6e 65 72 69 63 20 64 65 73 74  ><u>generic dest
12530 69 6e 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20  ination</u></i> 
12540 6f 6e 20 61 20 67 69 76 65 6e 20 4e 65 74 77 6f  on a given Netwo
12550 72 6b 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 57  rk...<br><br>..W
12560 65 20 63 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c  e can conceptual
12570 79 20 73 70 6c 69 74 20 54 50 53 20 69 6e 20 74  y split TPS in t
12580 77 6f 20 68 61 6c 76 65 73 3a 0d 0a 3c 6f 6c 3e  wo halves:..<ol>
12590 0d 0a 3c 6c 69 3e 63 6f 6d 70 75 74 69 6e 67 20  ..<li>computing 
125a0 61 6c 6c 20 64 69 73 74 61 6e 63 65 73 20 62 65  all distances be
125b0 74 77 65 65 6e 20 70 61 69 72 73 20 6f 66 20 3c  tween pairs of <
125c0 69 3e 63 69 74 69 65 73 3c 2f 69 3e 2e 20 54 68  i>cities</i>. Th
125d0 69 73 20 69 73 20 61 20 74 79 70 69 63 61 6c 20  is is a typical 
125e0 3c 62 3e 53 68 6f 72 74 65 73 74 50 61 74 68 3c  <b>ShortestPath<
125f0 2f 62 3e 20 70 72 6f 62 6c 65 6d 2c 20 61 6e 64  /b> problem, and
12600 20 77 65 20 63 61 6e 20 64 75 6c 79 20 75 73 65   we can duly use
12610 20 74 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20   the Dijkstra's 
12620 61 6c 67 6f 72 69 74 68 6d 20 66 6f 72 20 74 68  algorithm for th
12630 69 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68  is.</li>..<li>th
12640 65 6e 20 77 65 20 68 61 76 65 20 74 6f 20 63 68  en we have to ch
12650 65 63 6b 20 66 6f 72 20 61 6c 6c 20 70 6f 73 73  eck for all poss
12660 69 62 6c 65 20 3c 62 3e 70 65 72 6d 75 74 61 74  ible <b>permutat
12670 69 6f 6e 73 3c 2f 62 3e 20 2f 20 3c 62 3e 63 6f  ions</b> / <b>co
12680 6d 62 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 74  mbinations</b> t
12690 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 6f  o identify the o
126a0 70 74 69 6d 61 6c 20 54 53 50 20 73 6f 6c 75 74  ptimal TSP solut
126b0 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e  ion.</li>..</ol>
126c0 0d 0a 55 6e 68 61 70 70 69 6c 79 20 74 68 65 72  ..Unhappily ther
126d0 65 20 69 73 20 61 20 70 72 61 63 74 69 63 61 6c  e is a practical
126e0 20 64 69 66 66 69 63 75 6c 74 79 20 69 6e 20 73   difficulty in s
126f0 75 63 68 20 61 20 73 74 72 61 69 67 68 74 66 6f  uch a straightfo
12700 72 77 61 72 64 20 61 70 70 72 6f 61 63 68 3b 20  rward approach; 
12710 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f  the number of co
12720 6d 62 69 6e 61 74 69 6f 6e 73 20 77 69 6c 6c 20  mbinations will 
12730 67 72 6f 77 20 65 78 74 72 65 6d 65 6c 79 20 66  grow extremely f
12740 61 73 74 20 61 73 20 74 68 65 20 6e 75 6d 62 65  ast as the numbe
12750 72 20 6f 66 20 3c 62 3e 3c 69 3e 63 69 74 69 65  r of <b><i>citie
12760 73 3c 2f 69 3e 3c 2f 62 3e 20 69 6e 63 72 65 61  s</i></b> increa
12770 73 65 73 2e 3c 62 72 3e 0d 0a 53 69 6d 70 6c 79  ses.<br>..Simply
12780 20 63 6f 6d 70 75 74 69 6e 67 20 74 68 65 20 63   computing the c
12790 6f 6d 70 6c 65 74 65 20 54 53 50 20 73 6f 6c 75  omplete TSP solu
127a0 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20 74  tion for about t
127b0 65 6e 20 63 69 74 69 65 73 20 77 69 6c 6c 20 72  en cities will r
127c0 65 71 75 69 72 65 20 61 20 3c 62 3e 76 65 72 79  equire a <b>very
127d0 20 6c 6f 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 65   long time</b> e
127e0 76 65 6e 20 75 73 69 6e 67 20 61 20 73 75 70 65  ven using a supe
127f0 72 63 6f 6d 70 75 74 65 72 2e 3c 62 72 3e 0d 0a  rcomputer.<br>..
12800 41 6e 64 20 61 74 74 65 6d 70 74 69 6e 67 20 74  And attempting t
12810 6f 20 63 6f 6d 70 75 74 65 20 61 20 54 53 50 20  o compute a TSP 
12820 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f  solution for abo
12830 75 74 20 68 75 6e 64 72 65 64 20 63 69 74 69 65  ut hundred citie
12840 73 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 61  s will require a
12850 20 3c 62 3e 70 72 61 63 74 69 63 61 6c 6c 79 20   <b>practically 
12860 69 6e 66 69 6e 69 74 65 3c 2f 62 3e 20 74 69 6d  infinite</b> tim
12870 65 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 65  e...<br><br>..Ne
12880 76 65 72 74 68 65 6c 65 73 73 2c 20 73 6f 6c 76  vertheless, solv
12890 69 6e 67 20 54 53 50 20 69 73 20 68 69 67 68 6c  ing TSP is highl
128a0 79 20 64 65 73 69 72 61 62 6c 65 20 66 6f 72 20  y desirable for 
128b0 6d 61 6e 79 20 61 70 70 6c 69 63 61 74 69 6f 6e  many application
128c0 20 66 69 65 6c 64 73 3a 20 3c 62 3e 6c 6f 67 69   fields: <b>logi
128d0 73 74 69 63 73 3c 2f 62 3e 20 28 6a 75 73 74 20  stics</b> (just 
128e0 74 68 69 6e 6b 20 61 62 6f 75 74 20 63 6f 75 72  think about cour
128f0 69 65 72 20 63 6f 6d 70 61 6e 69 65 73 20 61 73  ier companies as
12900 20 44 48 4c 2c 20 46 65 64 45 58 2c 20 55 50 53   DHL, FedEX, UPS
12910 20 6f 72 20 54 4e 54 29 2c 20 3c 62 3e 66 69 65   or TNT), <b>fie
12920 6c 64 20 6d 61 69 6e 74 65 6e 61 6e 63 65 3c 2f  ld maintenance</
12930 62 3e 20 2f 20 3c 62 3e 61 73 73 69 73 74 61 6e  b> / <b>assistan
12940 63 65 3c 2f 62 3e 2c 20 3c 62 3e 77 61 73 74 65  ce</b>, <b>waste
12950 20 63 6f 6c 6c 65 63 74 69 6f 6e 3c 2f 62 3e 2c   collection</b>,
12960 20 3c 62 3e 73 63 68 6f 6f 6c 62 75 73 3c 2f 62   <b>schoolbus</b
12970 3e 20 2f 20 3c 62 3e 73 68 61 72 65 64 20 74 61  > / <b>shared ta
12980 78 69 20 73 65 72 76 69 63 65 73 3c 2f 62 3e 20  xi services</b> 
12990 65 74 63 2e 3c 62 72 3e 0d 0a 4d 61 6e 79 20 61  etc.<br>..Many a
129a0 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65 20 62  lgorithms have b
129b0 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64 75 72  een invented dur
129c0 69 6e 67 20 6c 61 73 74 20 64 65 63 61 64 65 73  ing last decades
129d0 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 70 72 6f   intended to pro
129e0 64 75 63 65 20 70 72 61 63 74 69 63 61 6c 2c 20  duce practical, 
129f0 61 6c 74 68 6f 75 67 68 20 61 70 70 72 6f 78 69  although approxi
12a00 6d 61 74 65 20 2f 20 69 6d 70 65 72 66 65 63 74  mate / imperfect
12a10 2c 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 73 20  , TSP solutions 
12a20 69 6e 20 61 20 72 65 61 73 6f 6e 61 62 6c 79 20  in a reasonably 
12a30 73 68 6f 72 74 20 74 69 6d 65 2e 0d 0a 4d 61 6e  short time...Man
12a40 79 20 6f 66 20 74 68 65 6d 20 73 74 72 6f 6e 67  y of them strong
12a50 6c 79 20 64 65 70 65 6e 64 20 6f 6e 20 3c 61 20  ly depend on <a 
12a60 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e  href="https://en
12a70 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77  .wikipedia.org/w
12a80 69 6b 69 2f 48 65 75 72 69 73 74 69 63 22 3e 68  iki/Heuristic">h
12a90 65 75 72 69 73 74 69 63 3c 2f 61 3e 20 61 6e 64  euristic</a> and
12aa0 20 2f 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 68   / or <a href="h
12ab0 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65  ttps://en.wikipe
12ac0 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 52 61 6e  dia.org/wiki/Ran
12ad0 64 6f 6d 6e 65 73 73 22 3e 72 61 6e 64 6f 6d 6e  domness">randomn
12ae0 65 73 73 3c 2f 61 3e 2e 0d 0a 3c 62 72 3e 3c 62  ess</a>...<br><b
12af0 72 3e 0d 0a 3c 62 3e 56 69 72 74 75 61 6c 52 6f  r>..<b>VirtualRo
12b00 75 74 69 6e 67 3c 2f 62 3e 20 73 75 70 70 6f 72  uting</b> suppor
12b10 74 73 20 74 77 6f 20 64 69 66 66 65 72 65 6e 74  ts two different
12b20 20 54 53 50 20 61 6c 67 6f 72 69 74 68 6d 73 3a   TSP algorithms:
12b30 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54  ..<ul>..<li><b>T
12b40 53 50 20 4e 4e 3c 2f 62 3e 20 28 3c 69 3e 61 6b  SP NN</b> (<i>ak
12b50 61 3c 2f 69 3e 20 3c 62 3e 3c 69 3e 4e 65 61 72  a</i> <b><i>Near
12b60 65 73 74 20 4e 65 69 67 68 62 6f 75 72 3c 2f 69  est Neighbour</i
12b70 3e 3c 2f 62 3e 29 3c 62 72 3e 0d 0a 54 68 69 73  ></b>)<br>..This
12b80 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a   <a href="https:
12b90 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f  //en.wikipedia.o
12ba0 72 67 2f 77 69 6b 69 2f 4e 65 61 72 65 73 74 5f  rg/wiki/Nearest_
12bb0 6e 65 69 67 68 62 6f 75 72 5f 61 6c 67 6f 72 69  neighbour_algori
12bc0 74 68 6d 22 3e 66 69 72 73 74 20 61 6c 67 6f 72  thm">first algor
12bd0 69 74 68 6d 3c 2f 61 3e 20 69 73 20 73 74 72 61  ithm</a> is stra
12be0 69 67 68 74 66 6f 72 77 61 72 64 2c 20 73 69 6d  ightforward, sim
12bf0 70 6c 65 20 61 6e 64 20 76 65 72 79 20 66 61 73  ple and very fas
12c00 74 3b 20 69 74 20 63 61 6e 20 65 66 66 65 63 74  t; it can effect
12c10 69 76 65 6c 79 20 73 6f 6c 76 65 20 68 75 67 65  ively solve huge
12c20 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 73 20 28   TSP solutions (
12c30 61 20 74 68 6f 75 73 61 6e 64 20 3c 69 3e 63 69  a thousand <i>ci
12c40 74 69 65 73 3c 2f 69 3e 20 6f 72 20 65 76 65 6e  ties</i> or even
12c50 20 6d 6f 72 65 29 20 69 6e 20 61 20 76 65 72 79   more) in a very
12c60 20 73 68 6f 72 74 20 74 69 6d 65 2e 3c 62 72 3e   short time.<br>
12c70 0d 0a 3c 75 3e 53 68 6f 72 74 20 64 65 73 63 72  ..<u>Short descr
12c80 69 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c  iption</u>:..<ul
12c90 3e 0d 0a 3c 6c 69 3e 73 74 61 72 74 69 6e 67 20  >..<li>starting 
12ca0 66 72 6f 6d 20 74 68 65 20 3c 75 3e 3c 69 3e 62  from the <u><i>b
12cb0 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e  ase city</i></u>
12cc0 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73   the <u><i>sales
12cd0 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67 6f 65 73  man</i></u> goes
12ce0 20 74 6f 20 74 68 65 20 3c 75 3e 3c 69 3e 63 69   to the <u><i>ci
12cf0 74 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65  ty</i></u> prese
12d00 6e 74 69 6e 67 20 74 68 65 20 3c 69 3e 3c 75 3e  nting the <i><u>
12d10 6c 65 73 73 65 72 20 63 6f 6e 6e 65 63 74 69 6f  lesser connectio
12d20 6e 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c  n cost</u></i>.<
12d30 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 61 6c  /li>..<li>the al
12d40 72 65 61 64 79 20 76 69 73 69 74 65 64 20 3c 69  ready visited <i
12d50 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e  ><u>city</u></i>
12d60 20 69 73 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d   is removed from
12d70 20 74 68 65 20 6c 69 73 74 2c 20 61 6e 64 20 74   the list, and t
12d80 68 65 6e 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61  hen the <u><i>sa
12d90 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67  lesman</i></u> g
12da0 6f 65 73 20 74 6f 20 74 68 65 20 6e 65 78 74 20  oes to the next 
12db0 3c 75 3e 3c 69 3e 63 69 74 79 3c 2f 69 3e 3c 2f  <u><i>city</i></
12dc0 75 3e 20 70 72 65 73 65 6e 74 69 6e 67 2c 20 61  u> presenting, a
12dd0 67 61 69 6e 2c 20 74 68 65 20 6e 65 78 74 20 3c  gain, the next <
12de0 69 3e 3c 75 3e 6c 65 73 73 65 72 20 63 6f 6e 6e  i><u>lesser conn
12df0 65 63 74 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e 3c  ection cost</u><
12e00 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  /i>.</li>..<li>t
12e10 68 65 20 63 79 63 6c 65 20 63 6f 6e 74 69 6e 75  he cycle continu
12e20 65 73 20 75 6e 74 69 6c 20 61 6c 6c 20 20 3c 69  es until all  <i
12e30 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f  ><u>cities</u></
12e40 69 3e 20 69 6e 20 74 68 65 20 6c 69 73 74 20 68  i> in the list h
12e50 61 76 65 20 62 65 65 6e 20 76 69 73 69 74 65 64  ave been visited
12e60 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 66 69 6e 61  .</li>..<li>fina
12e70 6c 6c 79 2c 20 74 68 65 20 3c 75 3e 3c 69 3e 73  lly, the <u><i>s
12e80 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20  alesman</i></u> 
12e90 72 65 74 75 72 6e 73 20 74 6f 20 68 69 73 2f 68  returns to his/h
12ea0 65 72 20 69 6e 69 74 69 61 6c 20 3c 75 3e 3c 69  er initial <u><i
12eb0 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f  >base city</i></
12ec0 75 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  u></li>..</ul>..
12ed0 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 20 69 74 27 73  <u>Note</u> it's
12ee0 20 76 65 72 79 20 75 6e 6c 69 6b 65 6c 79 20 74   very unlikely t
12ef0 68 61 74 20 54 53 50 20 4e 4e 20 77 69 6c 6c 20  hat TSP NN will 
12f00 66 69 6e 64 20 74 68 65 20 3c 62 3e 6f 70 74 69  find the <b>opti
12f10 6d 61 6c 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e  mal</b> solution
12f20 2c 20 62 75 74 20 69 74 20 63 61 6e 20 71 75 69  , but it can qui
12f30 63 6b 6c 79 20 66 69 6e 64 20 73 6f 6d 65 20 72  ckly find some r
12f40 65 61 73 6f 6e 61 62 6c 65 20 3c 62 3e 61 70 70  easonable <b>app
12f50 72 6f 78 69 6d 61 74 65 3c 2f 62 3e 20 73 6f 6c  roximate</b> sol
12f60 75 74 69 6f 6e 20 28 3c 69 3e 66 65 77 20 69 73  ution (<i>few is
12f70 20 73 75 72 65 6c 79 20 62 65 74 74 65 72 20 74   surely better t
12f80 68 61 6e 20 6e 6f 74 68 69 6e 67 3c 2f 69 3e 29  han nothing</i>)
12f90 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 65 20 6d 6f  .<br>..In the mo
12fa0 73 74 20 75 6e 6c 75 63 6b 79 20 63 61 73 65 20  st unlucky case 
12fb0 54 53 50 20 4e 4e 20 63 6f 75 6c 64 20 70 6f 73  TSP NN could pos
12fc0 73 69 62 6c 79 20 72 65 74 75 72 6e 20 74 68 65  sibly return the
12fd0 20 3c 62 3e 77 6f 72 73 74 20 70 6f 73 73 69 62   <b>worst possib
12fe0 6c 65 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c  le solution</b>,
12ff0 20 62 75 74 20 74 68 65 20 73 70 65 63 69 66 69   but the specifi
13000 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  c implementation
13010 20 61 64 6f 70 74 65 64 20 62 79 20 56 69 72 74   adopted by Virt
13020 75 61 6c 52 6f 75 74 69 6e 67 20 63 68 65 63 6b  ualRouting check
13030 73 20 61 67 61 69 6e 73 74 20 74 68 69 73 20 70  s against this p
13040 6f 73 73 69 62 69 6c 69 74 79 3a 0d 0a 3c 75 6c  ossibility:..<ul
13050 3e 0d 0a 3c 6c 69 3e 65 61 63 68 20 54 53 50 20  >..<li>each TSP 
13060 4e 4e 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6d  NN is always com
13070 70 75 74 65 64 20 74 77 69 63 65 20 62 79 20 72  puted twice by r
13080 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67  andomly choosing
13090 20 61 20 64 69 66 66 65 72 65 6e 74 20 3c 75 3e   a different <u>
130a0 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e  <i>base city</i>
130b0 3c 2f 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f  </u> and then no
130c0 72 6d 61 6c 69 7a 69 6e 67 20 74 68 65 20 73 6f  rmalizing the so
130d0 6c 75 74 69 6f 6e 3b 20 74 68 65 20 62 65 73 74  lution; the best
130e0 20 6f 66 20 74 68 65 20 74 77 6f 20 73 6f 6c 75   of the two solu
130f0 74 69 6f 6e 73 20 69 73 20 74 68 65 6e 20 72 65  tions is then re
13100 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  turned.</li>..<l
13110 69 3e 74 68 69 73 20 73 69 6d 70 6c 65 2c 20 62  i>this simple, b
13120 75 74 20 65 66 66 65 63 74 69 76 65 2c 20 70 72  ut effective, pr
13130 65 63 61 75 74 69 6f 6e 20 65 6e 73 75 72 65 73  ecaution ensures
13140 20 74 68 61 74 20 74 68 65 20 3c 62 3e 77 6f 72   that the <b>wor
13150 73 74 20 70 6f 73 73 69 62 6c 65 20 73 6f 6c 75  st possible solu
13160 74 69 6f 6e 3c 2f 62 3e 20 77 69 6c 6c 20 6e 65  tion</b> will ne
13170 76 65 72 20 62 65 20 72 65 74 75 72 6e 65 64 2c  ver be returned,
13180 20 77 69 74 68 20 61 20 6d 6f 64 65 72 61 74 65   with a moderate
13190 6c 79 20 69 6e 63 72 65 61 73 65 64 20 65 78 65  ly increased exe
131a0 63 75 74 69 6f 6e 20 74 69 6d 65 2e 3c 2f 6c 69  cution time.</li
131b0 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
131c0 6c 69 3e 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e  li><b>TSP GA</b>
131d0 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e   (<i>aka</i> <b>
131e0 3c 69 3e 47 65 6e 65 74 69 63 20 41 6c 67 6f 72  <i>Genetic Algor
131f0 69 74 68 6d 3c 2f 69 3e 3c 2f 62 3e 29 2e 3c 62  ithm</i></b>).<b
13200 72 3e 0d 0a 54 68 69 73 20 3c 61 20 68 72 65 66  r>..This <a href
13210 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b  ="https://en.wik
13220 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f  ipedia.org/wiki/
13230 47 65 6e 65 74 69 63 5f 61 6c 67 6f 72 69 74 68  Genetic_algorith
13240 6d 22 3e 61 6c 74 65 72 6e 61 74 69 76 65 20 61  m">alternative a
13250 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69 73 20  lgorithm</a> is 
13260 6d 75 63 68 20 6d 6f 72 65 20 63 6f 6d 70 6c 65  much more comple
13270 78 20 61 6e 64 20 73 6f 70 68 69 73 74 69 63 61  x and sophistica
13280 74 65 64 2c 20 61 6e 64 20 69 73 20 64 69 72 65  ted, and is dire
13290 63 74 6c 79 20 69 6e 73 70 69 72 65 64 20 62 79  ctly inspired by
132a0 20 62 69 6f 6c 6f 67 69 63 61 6c 20 63 6f 6e 63   biological conc
132b0 65 70 74 73 20 73 75 63 68 20 61 73 20 3c 62 3e  epts such as <b>
132c0 73 65 78 75 61 6c 20 72 65 70 72 6f 64 75 63 74  sexual reproduct
132d0 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e 67 65 6e 65  ion</b>, <b>gene
132e0 74 69 63 20 6d 75 74 61 74 69 6f 6e 73 3c 2f 62  tic mutations</b
132f0 3e 20 61 6e 64 20 3c 62 3e 6e 61 74 75 72 61 6c  > and <b>natural
13300 20 73 65 6c 65 63 74 69 6f 6e 3c 2f 62 3e 2e 3c   selection</b>.<
13310 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74 20 64 65  br>..<u>Short de
13320 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a  scription</u>:..
13330 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 20 66 69 72 73  <ul>..<li>a firs
13340 74 20 69 6e 69 74 69 61 6c 20 73 65 74 20 6f 66  t initial set of
13350 20 73 6f 6c 75 74 69 6f 6e 73 20 28 3c 69 3e 3c   solutions (<i><
13360 75 3e 74 68 65 20 70 6f 70 75 6c 61 74 69 6f 6e  u>the population
13370 3c 2f 75 3e 3c 2f 69 3e 29 20 69 73 20 63 72 65  </u></i>) is cre
13380 61 74 65 64 20 62 79 20 75 73 69 6e 67 20 54 53  ated by using TS
13390 50 20 4e 4e 20 61 66 74 65 72 20 72 61 6e 64 6f  P NN after rando
133a0 6d 6c 79 20 63 68 6f 6f 73 69 6e 67 20 74 68 65  mly choosing the
133b0 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69 74 79   <u><i>base city
133c0 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 74 68 65  </i></u> and the
133d0 6e 20 6e 6f 72 6d 61 6c 69 7a 69 6e 67 20 65 61  n normalizing ea
133e0 63 68 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69  ch solution.</li
133f0 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 64 75 72 69  >..<li>then duri
13400 6e 67 20 65 61 63 68 20 73 74 65 70 20 6f 66 20  ng each step of 
13410 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6c 6f  the execution lo
13420 6f 70 20 28 3c 69 3e 3c 75 3e 67 65 6e 65 72 61  op (<i><u>genera
13430 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29 20 70 61  tion</u></i>) pa
13440 69 72 73 20 6f 66 20 73 6f 6c 75 74 69 6f 6e 73  irs of solutions
13450 20 3c 69 3e 3c 75 3e 73 65 78 75 61 6c 6c 79 20   <i><u>sexually 
13460 72 65 70 72 6f 64 75 63 65 3c 2f 69 3e 3c 2f 75  reproduce</i></u
13470 3e 20 67 69 76 69 6e 67 20 62 69 72 74 68 20 74  > giving birth t
13480 6f 20 3c 75 3e 3c 69 3e 63 68 69 6c 64 72 65 6e  o <u><i>children
13490 20 73 6f 6c 75 74 69 6f 6e 73 3c 2f 69 3e 3c 2f   solutions</i></
134a0 75 3e 3b 20 72 65 70 72 6f 64 75 63 74 69 6f 6e  u>; reproduction
134b0 20 69 73 20 73 75 62 6a 65 63 74 20 74 6f 20 3c   is subject to <
134c0 75 3e 3c 69 3e 63 68 72 6f 6d 6f 73 6f 6d 65 20  u><i>chromosome 
134d0 63 72 6f 73 73 6f 76 65 72 73 3c 2f 69 3e 3c 2f  crossovers</i></
134e0 75 3e 20 61 6e 64 20 3c 69 3e 3c 75 3e 72 61 6e  u> and <i><u>ran
134f0 64 6f 6d 20 6d 75 74 61 74 69 6f 6e 73 3c 2f 75  dom mutations</u
13500 3e 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  ></i>.</li>..<li
13510 3e 66 6f 72 20 65 61 63 68 20 3c 69 3e 3c 75 3e  >for each <i><u>
13520 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 75 3e 3c 2f  generation</u></
13530 69 3e 20 61 20 3c 69 3e 3c 75 3e 6e 61 74 75 72  i> a <i><u>natur
13540 61 6c 20 73 65 6c 65 63 74 69 6f 6e 3c 2f 75 3e  al selection</u>
13550 3c 2f 69 3e 20 28 3c 69 3e 61 6b 61 20 3c 75 3e  </i> (<i>aka <u>
13560 65 6c 69 74 69 73 74 20 73 65 6c 65 63 74 69 6f  elitist selectio
13570 6e 3c 2f 75 3e 3c 2f 69 3e 29 20 70 72 6f 63 65  n</u></i>) proce
13580 73 73 20 69 6e 74 65 72 76 65 6e 65 73 2c 20 73  ss intervenes, s
13590 6f 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74  o to ensure that
135a0 20 6f 6e 6c 79 20 74 68 65 20 3c 69 3e 3c 75 3e   only the <i><u>
135b0 62 65 73 74 20 66 69 74 3c 2f 75 3e 3c 2f 69 3e  best fit</u></i>
135c0 20 73 6f 6c 75 74 69 6f 6e 73 20 63 61 6e 20 66   solutions can f
135d0 75 72 74 68 65 72 20 70 72 6f 70 61 67 61 74 65  urther propagate
135e0 20 74 68 65 69 72 20 3c 75 3e 3c 69 3e 67 65 6e   their <u><i>gen
135f0 6f 6d 65 3c 2f 69 3e 3c 2f 75 3e 20 74 6f 20 74  ome</i></u> to t
13600 68 65 20 6e 65 78 74 20 3c 75 3e 3c 69 3e 67 65  he next <u><i>ge
13610 6e 65 72 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e  neration</i></u>
13620 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 66 74 65  .</li>..<li>afte
13630 72 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62  r a certain numb
13640 65 72 20 6f 66 20 3c 69 3e 3c 75 3e 67 65 6e 65  er of <i><u>gene
13650 72 61 74 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 20  rations</i></u> 
13660 28 6c 65 74 27 73 20 73 61 79 20 61 62 6f 75 74  (let's say about
13670 20 73 6f 6d 65 20 68 75 6e 64 72 65 64 74 68 20   some hundredth 
13680 69 74 65 72 61 74 69 6f 6e 73 29 20 74 68 65 20  iterations) the 
13690 3c 62 3e 6f 70 74 69 6d 61 6c 20 73 6f 6c 75 74  <b>optimal solut
136a0 69 6f 6e 3c 2f 62 3e 20 28 6f 72 20 61 74 20 6c  ion</b> (or at l
136b0 65 61 73 74 20 61 20 3c 62 3e 66 61 69 72 6c 79  east a <b>fairly
136c0 20 67 6f 6f 64 20 73 75 62 2d 6f 70 74 69 6d 61   good sub-optima
136d0 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 29 20  l solution</b>) 
136e0 73 68 6f 75 6c 64 20 66 69 6e 61 6c 6c 79 20 65  should finally e
136f0 6d 65 72 67 65 2c 20 61 6e 64 20 73 6f 20 74 68  merge, and so th
13700 65 20 6c 6f 6f 70 20 63 61 6e 20 65 78 69 74 2e  e loop can exit.
13710 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  </li>..</ul></li
13720 3e 0d 0a 3c 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f  >..<li><u>Note</
13730 75 3e 3a 20 54 53 50 20 47 41 20 69 73 20 75 73  u>: TSP GA is us
13740 75 61 6c 6c 79 20 65 78 70 65 63 74 65 64 20 74  ually expected t
13750 6f 20 69 64 65 6e 74 69 66 79 20 62 65 74 74 65  o identify bette
13760 72 20 73 6f 6c 75 74 69 6f 6e 73 20 74 68 61 6e  r solutions than
13770 20 54 53 50 20 4e 4e 20 63 61 6e 20 64 6f 2c 20   TSP NN can do, 
13780 62 75 74 20 69 74 20 77 69 6c 6c 20 73 75 72 65  but it will sure
13790 6c 79 20 72 65 71 75 69 72 65 20 6d 75 63 68 20  ly require much 
137a0 6d 6f 72 65 20 74 69 6d 65 20 74 6f 20 63 6f 6d  more time to com
137b0 70 6c 65 74 65 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f  plete.</li> ..</
137c0 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4c  ul>..<br><br>..L
137d0 65 74 27 73 20 6e 6f 77 20 65 78 61 6d 69 6e 65  et's now examine
137e0 20 61 20 70 72 61 63 74 69 63 61 6c 20 65 78 61   a practical exa
137f0 6d 70 6c 65 20 6f 66 20 54 53 50 20 73 6f 6c 76  mple of TSP solv
13800 69 6e 67 20 75 73 69 6e 67 20 56 69 72 74 75 61  ing using Virtua
13810 6c 52 6f 75 74 69 6e 67 2e 20 0d 0a 3c 76 65 72  lRouting. ..<ver
13820 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62  batim>..UPDATE b
13830 79 66 6f 6f 74 20 53 45 54 20 52 65 71 75 65 73  yfoot SET Reques
13840 74 20 3d 20 27 54 53 50 27 3b 0d 0a 0d 0a 53 45  t = 'TSP';....SE
13850 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20  LECT Algorithm, 
13860 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73  Request, Options
13870 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75  , Delimiter, Rou
13880 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20  teId, RouteRow, 
13890 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
138a0 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
138b0 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
138c0 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
138d0 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65  foot..WHERE Node
138e0 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e  From = 178731 AN
138f0 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32  D NodeTo = '1832
13900 38 36 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30  86,181999,184030
13910 2c 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b  ,183882,178754';
13920 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41  ..</verbatim>..A
13930 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
13940 3c 62 3e 54 53 50 3c 2f 62 3e 20 71 75 65 72 79  <b>TSP</b> query
13950 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 64   has the same id
13960 65 6e 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66 20  entical form of 
13970 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69  a <b>multi-desti
13980 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 79  nation</b> query
13990 3b 20 74 68 65 20 3c 69 3e 3c 75 3e 62 61 73 65  ; the <i><u>base
139a0 20 63 69 74 79 3c 75 3e 3c 2f 69 3e 20 69 73 20   city<u></i> is 
139b0 61 6c 77 61 79 73 20 65 78 70 65 63 74 65 64 20  always expected 
139c0 74 6f 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f  to correspond to
139d0 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e   <b>NodeFrom</b>
139e0 20 61 6e 64 20 61 6c 6c 20 6f 74 68 65 72 20 3c   and all other <
139f0 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c  i><u>cities</u><
13a00 2f 69 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65  /i> to be visite
13a10 64 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74  d are expected t
13a20 6f 20 62 65 20 65 6e 75 6d 65 72 61 74 65 64 20  o be enumerated 
13a30 69 6e 74 6f 20 61 20 3c 62 3e 6d 75 6c 74 69 2d  into a <b>multi-
13a40 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20  destination</b> 
13a50 6c 69 73 74 20 61 73 73 69 67 6e 65 64 20 74 6f  list assigned to
13a60 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2e 0d   <b>NodeTo</b>..
13a70 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 79 6f  .<u>Note</u>: yo
13a80 75 20 6d 75 73 74 20 65 78 70 6c 69 63 69 74 6c  u must explicitl
13a90 79 20 73 65 74 20 74 68 65 20 63 75 72 72 65 6e  y set the curren
13aa0 74 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e  t <b>Request</b>
13ab0 20 61 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 2c 20   as <b>TSP</b>, 
13ac0 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 6f 72  <b>TSP NN</b> or
13ad0 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 28   <b>TSP GA</b> (
13ae0 54 53 50 20 61 6e 64 20 54 53 50 20 4e 4e 20 61  TSP and TSP NN a
13af0 72 65 20 73 79 6e 6f 6e 79 6d 73 29 2e 0d 0a 3c  re synonyms)...<
13b00 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  br><br>..<table 
13b10 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
13b20 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
13b30 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
13b40 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
13b50 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
13b60 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
13b70 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
13b80 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
13b90 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
13ba0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
13bb0 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
13bc0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
13bd0 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c  >Delimiter</th><
13be0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
13bf0 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68  0a0">RouteId</th
13c00 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
13c10 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
13c20 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
13c30 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
13c40 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
13c50 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
13c60 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
13c70 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
13c80 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
13c90 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
13ca0 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
13cb0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
13cc0 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  >Cost</th><th bg
13cd0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
13ce0 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68  Geometry</th><th
13cf0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
13d00 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72  0">Name</th></tr
13d10 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a  >..<tr>..<td>Dij
13d20 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 54 53  kstra</td><td>TS
13d30 50 20 4e 4e 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c  P NN</td><td>Ful
13d40 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31  l</td><td>, &#91
13d50 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26  ;dec=44, hex=2c&
13d60 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  #93;</td><td ali
13d70 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
13d80 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13d90 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50  t">0</td><td>TSP
13da0 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74   Solution</td><t
13db0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
13dc0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
13dd0 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
13de0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
13df0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13e00 72 69 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39  right">1254.4339
13e10 33 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  33</td><td>BLOB 
13e20 73 7a 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59  sz=2000 GEOMETRY
13e30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13e40 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
13e50 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
13e60 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13e70 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
13e80 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13e90 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">1</td><td alig
13ea0 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
13eb0 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
13ec0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
13ed0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
13ee0 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
13ef0 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30  n="right">184030
13f00 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13f10 72 69 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35  right">176.36475
13f20 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  5</td><td>BLOB s
13f30 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f  z=304 GEOMETRY</
13f40 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
13f50 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
13f60 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13f70 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13f80 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
13f90 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13fa0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61  ght">2</td><td a
13fb0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
13fc0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
13fd0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13fe0 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64  ">224014</td><td
13ff0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14000 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
14010 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
14020 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  85</td><td align
14030 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34  ="right">94.8124
14040 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  24</td><td>NULL<
14050 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54  /td><td>VIA PIET
14060 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d  RO ARETINO</td>.
14070 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
14080 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14090 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
140a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
140b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
140c0 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
140d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
140e0 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
140f0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14100 72 69 67 68 74 22 3e 32 32 34 38 36 32 3c 2f 74  right">224862</t
14110 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14120 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
14130 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14140 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20  >182043</td><td 
14150 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37  align="right">37
14160 2e 30 39 35 32 38 37 3c 2f 74 64 3e 3c 74 64 3e  .095287</td><td>
14170 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
14180 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64   MARGARITONE</td
14190 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
141a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
141b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
141c0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
141d0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
141e0 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20  ight">2</td><td 
141f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
14200 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
14210 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14220 74 22 3e 32 32 36 30 37 30 3c 2f 74 64 3e 3c 74  t">226070</td><t
14230 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14240 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61  182043</td><td a
14250 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
14260 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
14270 6e 3d 22 72 69 67 68 74 22 3e 34 34 2e 34 35 37  n="right">44.457
14280 30 34 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  044</td><td>NULL
14290 3c 2f 74 64 3e 3c 74 64 3e 50 49 41 5a 5a 41 20  </td><td>PIAZZA 
142a0 53 41 4e 54 27 41 47 4f 53 54 49 4e 4f 3c 2f 74  SANT'AGOSTINO</t
142b0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
142c0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
142d0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
142e0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
142f0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14300 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
14310 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
14320 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
14330 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14340 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14350 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64  ">184030</td><td
14360 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14370 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
14380 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 39 2e  ign="right">139.
14390 31 31 34 39 33 38 3c 2f 74 64 3e 3c 74 64 3e 42  114938</td><td>B
143a0 4c 4f 42 20 73 7a 3d 34 39 36 20 47 45 4f 4d 45  LOB sz=496 GEOME
143b0 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
143c0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
143d0 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
143e0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
143f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14400 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
14410 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
14420 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14430 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">1</td><td>Link
14440 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14450 72 69 67 68 74 22 3e 32 32 36 30 37 31 3c 2f 74  right">226071</t
14460 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14470 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c  ht">184030</td><
14480 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14490 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20  >182629</td><td 
144a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 35  align="right">55
144b0 2e 36 38 39 30 30 39 3c 2f 74 64 3e 3c 74 64 3e  .689009</td><td>
144c0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
144d0 20 47 49 55 53 45 50 50 45 20 47 41 52 49 42 41   GIUSEPPE GARIBA
144e0 4c 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LDI</td>..</tr>.
144f0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
14500 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14510 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14520 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
14530 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
14540 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14550 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">2</td><td>L
14560 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
14570 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31 32  n="right">225512
14580 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14590 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74  right">182629</t
145a0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
145b0 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c  ht">182933</td><
145c0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
145d0 3e 33 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c  >34.184194</td><
145e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
145f0 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64  CORSO ITALIA</td
14600 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
14610 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14620 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14630 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14640 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14650 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20  ight">3</td><td 
14660 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
14670 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
14680 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14690 74 22 3e 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74  t">225511</td><t
146a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
146b0 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61  182933</td><td a
146c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
146d0 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  999</td><td alig
146e0 6e 3d 22 72 69 67 68 74 22 3e 34 39 2e 32 34 31  n="right">49.241
146f0 37 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  735</td><td>NULL
14700 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49  </td><td>CORSO I
14710 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  TALIA</td>..</tr
14720 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
14730 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14740 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14750 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14760 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
14770 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14780 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
14790 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
147a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
147b0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
147c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
147d0 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
147e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
147f0 68 74 22 3e 32 31 37 2e 36 37 32 38 38 35 3c 2f  ht">217.672885</
14800 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36  td><td>BLOB sz=6
14810 38 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  88 GEOMETRY</td>
14820 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
14830 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
14840 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14850 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14860 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14870 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14880 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">4</td><td alig
14890 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
148a0 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
148b0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
148c0 32 32 36 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  22635</td><td al
148d0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
148e0 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
148f0 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 38 3c  ="right">181998<
14900 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14910 69 67 68 74 22 3e 31 30 31 2e 36 32 39 37 35 30  ight">101.629750
14920 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14930 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c  d><td>CORSO ITAL
14940 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  IA</td>..</tr>..
14950 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
14960 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14970 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14980 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
14990 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74  ign="right">4</t
149a0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
149b0 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
149c0 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
149d0 3d 22 72 69 67 68 74 22 3e 32 32 34 37 38 30 3c  ="right">224780<
149e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
149f0 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64  ight">181998</td
14a00 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14a10 74 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74  t">183560</td><t
14a20 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14a30 37 33 2e 37 33 33 35 37 32 3c 2f 74 64 3e 3c 74  73.733572</td><t
14a40 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
14a50 49 41 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54  IA DELL'ANFITEAT
14a60 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  RO</td>..</tr>..
14a70 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
14a80 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14a90 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14aa0 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22  >NULL<td align="
14ab0 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64  right">4</td><td
14ac0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
14ad0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
14ae0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14af0 68 74 22 3e 32 32 35 38 32 37 3c 2f 74 64 3e 3c  ht">225827</td><
14b00 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14b10 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20  >183560</td><td 
14b20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14b30 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
14b40 67 6e 3d 22 72 69 67 68 74 22 3e 34 32 2e 33 30  gn="right">42.30
14b50 39 35 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  9564</td><td>NUL
14b60 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45  L</td><td>VIA DE
14b70 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74  LL'ANFITEATRO</t
14b80 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
14b90 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
14ba0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14bb0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14bc0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14bd0 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64  right">4</td><td
14be0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
14bf0 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
14c00 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14c10 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14c20 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
14c30 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14c40 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  78754</td><td al
14c50 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e  ign="right">378.
14c60 33 31 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42  313684</td><td>B
14c70 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45  LOB sz=272 GEOME
14c80 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
14c90 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14ca0 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14cb0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14cc0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14cd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
14ce0 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e  n="right">5</td>
14cf0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14d00 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">1</td><td>Link
14d10 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14d20 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74  right">224414</t
14d30 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14d40 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
14d50 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14d60 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
14d70 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33  align="right">13
14d80 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64  6.372057</td><td
14d90 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
14da0 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
14db0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
14dc0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
14dd0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14de0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14df0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14e00 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64  right">5</td><td
14e10 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
14e20 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
14e30 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14e40 68 74 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c  ht">219171</td><
14e50 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14e60 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
14e70 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
14e80 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8732</td><td ali
14e90 67 6e 3d 22 72 69 67 68 74 22 3e 39 33 2e 32 38  gn="right">93.28
14ea0 35 35 33 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5538</td><td>NUL
14eb0 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
14ec0 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
14ed0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
14ee0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
14ef0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14f00 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14f10 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
14f20 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
14f30 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14f40 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
14f50 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14f60 67 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e  ght">219058</td>
14f70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14f80 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64  ">178732</td><td
14f90 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14fa0 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  78754</td><td al
14fb0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e  ign="right">148.
14fc0 36 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e  656089</td><td>N
14fd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
14fe0 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49  FRANCESCO CRISPI
14ff0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
15000 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
15010 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15020 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
15030 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
15040 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e  n="right">5</td>
15050 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15060 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
15070 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
15080 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15090 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e  ght">178754</td>
150a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
150b0 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64  ">183882</td><td
150c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
150d0 38 38 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74  88.216831</td><t
150e0 64 3e 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45  d>BLOB sz=400 GE
150f0 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
15100 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
15110 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
15120 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15130 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15140 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
15150 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f  lign="right">6</
15160 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15170 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
15180 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
15190 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 35 33 38  n="right">224538
151a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
151b0 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74  right">178754</t
151c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
151d0 68 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c  ht">181972</td><
151e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
151f0 3e 35 30 2e 39 30 30 36 36 33 3c 2f 74 64 3e 3c  >50.900663</td><
15200 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
15210 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44  VIA ANTONIO GUAD
15220 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  AGNOLI</td>..</t
15230 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
15240 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
15250 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15260 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
15270 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15280 22 3e 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">6</td><td alig
15290 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
152a0 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
152b0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
152c0 32 34 35 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  24537</td><td al
152d0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
152e0 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  72</td><td align
152f0 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c  ="right">182000<
15300 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
15310 69 67 68 74 22 3e 38 36 2e 33 30 31 30 35 31 3c  ight">86.301051<
15320 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15330 3e 3c 74 64 3e 56 49 41 20 44 45 4c 20 4e 49 4e  ><td>VIA DEL NIN
15340 46 45 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  FEO</td>..</tr>.
15350 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
15360 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15370 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15380 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
15390 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f  lign="right">6</
153a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
153b0 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
153c0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
153d0 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 32 37  n="right">225527
153e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
153f0 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74  right">182000</t
15400 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15410 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c  ht">183882</td><
15420 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15430 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c  >51.015117</td><
15440 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
15450 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54  VIA LICIO NENCET
15460 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  TI</td>..</tr>..
15470 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
15480 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
15490 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
154a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
154b0 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74  ign="right">6</t
154c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
154d0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
154e0 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
154f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15500 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64  ">183882</td><td
15510 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
15520 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
15530 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e  ign="right">154.
15540 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42  750839</td><td>B
15550 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45  LOB sz=240 GEOME
15560 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
15570 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
15580 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
15590 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
155a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
155b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
155c0 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e  n="right">7</td>
155d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
155e0 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">1</td><td>Link
155f0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15600 72 69 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74  right">225527</t
15610 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15620 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c  ht">183882</td><
15630 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15640 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20  >182000</td><td 
15650 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31  align="right">51
15660 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e  .015117</td><td>
15670 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
15680 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c   LICIO NENCETTI<
15690 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
156a0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
156b0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
156c0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
156d0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
156e0 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c  ="right">7</td><
156f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15700 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >2</td><td>Link<
15710 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
15720 69 67 68 74 22 3e 32 32 32 36 33 36 3c 2f 74 64  ight">222636</td
15730 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15740 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74  t">182000</td><t
15750 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15760 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
15770 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33  lign="right">103
15780 2e 37 33 35 37 32 32 3c 2f 74 64 3e 3c 74 64 3e  .735722</td><td>
15790 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
157a0 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c   PIETRO ARETINO<
157b0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74  /td>..</tr>..</t
157c0 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74  able>..<br>..Let
157d0 27 73 20 6e 6f 77 20 71 75 69 63 6b 6c 79 20 65  's now quickly e
157e0 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c  xamine the resul
157f0 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79  tset returned by
15800 20 61 6e 79 20 54 53 50 20 71 75 65 72 79 3a 0d   any TSP query:.
15810 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67  .<ul>..<li>the g
15820 65 6e 65 72 61 6c 20 6c 61 79 6f 75 74 20 69 73  eneral layout is
15830 20 6d 6f 72 65 20 6f 72 20 6c 65 73 73 20 74 68   more or less th
15840 65 20 73 61 6d 65 20 61 73 20 79 6f 75 27 76 65  e same as you've
15850 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e   already seen in
15860 20 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e   the case of <b>
15870 53 68 6f 72 74 65 73 74 50 61 74 68 3c 2f 62 3e  ShortestPath</b>
15880 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a   queries.</li>..
15890 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74  <li>the <b>first
158a0 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20   row</b> of the 
158b0 72 65 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d  resultset is som
158c0 65 77 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c  eway exceptional
158d0 2c 20 61 6e 64 20 69 73 20 74 68 65 20 6f 6e 6c  , and is the onl
158e0 79 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73  y row of the res
158f0 75 6c 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e  ultset presentin
15900 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62  g <b>NOT NULL</b
15910 3e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20  > values in the 
15920 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e  <b>Algorithm</b>
15930 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e  , <b>Request</b>
15940 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e  , <b>Options</b>
15950 20 61 6e 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65   and <b>Delimite
15960 72 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 62  r</b> columns.<b
15970 72 3e 0d 0a 49 74 20 63 6f 6e 74 61 69 6e 73 20  r>..It contains 
15980 74 68 65 20 3c 62 3e 54 53 50 20 73 6f 6c 75 74  the <b>TSP solut
15990 69 6f 6e 3c 2f 62 3e 20 61 73 20 61 20 77 68 6f  ion</b> as a who
159a0 6c 65 3a 20 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f  le: column <b>Co
159b0 73 74 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c 75  st</b> is the <u
159c0 3e 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 75 3e 20  >total cost</u> 
159d0 61 6e 64 20 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65  and column <b>Ge
159e0 6f 6d 65 74 72 79 3c 2f 62 3e 20 69 73 20 74 68  ometry</b> is th
159f0 65 20 3c 75 3e 6f 76 65 72 61 6c 6c 20 73 6f 6c  e <u>overall sol
15a00 75 74 69 6f 6e 20 70 61 74 68 3c 2f 75 3e 2e 3c  ution path</u>.<
15a10 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e  /li>..<li>column
15a20 73 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e  s <b>RouteId</b>
15a30 20 61 6e 64 20 3c 62 3e 52 6f 75 74 65 52 6f 77   and <b>RouteRow
15a40 3c 2f 62 3e 20 68 61 76 65 20 74 68 65 20 73 61  </b> have the sa
15a50 6d 65 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f  me interpretatio
15a60 6e 20 61 73 20 69 6e 20 3c 62 3e 6d 75 6c 74 69  n as in <b>multi
15a70 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f  -destination Sho
15a80 72 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75  rtestPath</b> qu
15a90 65 72 69 65 73 2c 20 62 75 74 20 69 6e 20 74 68  eries, but in th
15aa0 69 73 20 73 70 65 63 69 66 69 63 20 63 61 73 65  is specific case
15ab0 20 65 61 63 68 20 3c 75 3e 3c 69 3e 72 6f 75 74   each <u><i>rout
15ac0 65 3c 2f 69 3e 3c 2f 75 3e 20 63 6f 72 72 65 73  e</i></u> corres
15ad0 70 6f 6e 64 73 20 74 6f 20 61 20 63 6f 6e 6e 65  ponds to a conne
15ae0 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 77  ction between tw
15af0 6f 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f  o <i><u>cities</
15b00 75 3e 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c  u></i>.<br>..All
15b10 20 3c 69 3e 3c 75 3e 72 6f 75 74 65 73 3c 2f 75   <i><u>routes</u
15b20 3e 3c 2f 69 3e 20 61 72 65 20 6f 72 64 65 72 65  ></i> are ordere
15b30 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f  d accordingly to
15b40 20 74 68 65 20 72 75 6e 6e 69 6e 67 20 73 65 71   the running seq
15b50 75 65 6e 63 65 20 6f 66 20 74 68 65 20 54 53 50  uence of the TSP
15b60 20 73 6f 6c 75 74 69 6f 6e 2e 20 3c 62 3e 52 6f   solution. <b>Ro
15b70 75 74 65 49 64 3d 30 3c 2f 62 3e 20 69 64 65 6e  uteId=0</b> iden
15b80 74 69 66 69 65 73 20 74 68 65 20 6f 76 65 72 61  tifies the overa
15b90 6c 6c 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 2e  ll TSP solution.
15ba0 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e  </li>..</ul><br>
15bb0 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  <br>..<verbatim>
15bc0 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20  ..UPDATE byfoot 
15bd0 53 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54  SET Request = 'T
15be0 53 50 20 47 41 27 3b 0d 0a 0d 0a 53 45 4c 45 43  SP GA';....SELEC
15bf0 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71  T Algorithm, Req
15c00 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44  uest, Options, D
15c10 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49  elimiter, RouteI
15c20 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c  d, RouteRow, Rol
15c30 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f  e, LinkRowid, No
15c40 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20  deFrom, NodeTo, 
15c50 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20  Cost, Geometry, 
15c60 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f  Name..FROM byfoo
15c70 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f  t..WHERE NodeFro
15c80 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e  m = 178731 AND N
15c90 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c  odeTo = '183286,
15ca0 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38  181999,184030,18
15cb0 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c  3882,178754';..<
15cc0 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 49 66 20 79  /verbatim>..If y
15cd0 6f 75 20 77 69 73 68 20 74 6f 20 67 65 74 20 61  ou wish to get a
15ce0 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 73   <b>TSP GA</b> s
15cf0 6f 6c 75 74 69 6f 6e 20 79 6f 75 20 73 69 6d 70  olution you simp
15d00 6c 65 20 68 61 76 65 20 74 6f 20 73 65 74 20 3c  le have to set <
15d10 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73  b>Request</b> as
15d20 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 3b 20   <b>TSP GA</b>; 
15d30 61 6e 64 20 79 6f 75 20 63 61 6e 20 73 65 74 20  and you can set 
15d40 61 67 61 69 6e 20 3c 62 3e 52 65 71 75 65 73 74  again <b>Request
15d50 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 53 50 3c 2f  </b> as <b>TSP</
15d60 62 3e 20 6f 72 20 3c 62 3e 54 53 50 20 4e 4e 3c  b> or <b>TSP NN<
15d70 2f 62 3e 20 74 6f 20 72 65 76 65 72 74 20 62 61  /b> to revert ba
15d80 63 6b 20 74 6f 20 74 68 65 20 73 69 6d 70 6c 65  ck to the simple
15d90 72 20 2f 20 66 61 73 74 65 72 20 61 6c 67 6f 72  r / faster algor
15da0 69 74 68 6d 2e 0d 0a 3c 62 72 3e 0d 0a 41 6c 73  ithm...<br>..Als
15db0 6f 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66  o in the case of
15dc0 20 54 53 50 20 79 6f 75 20 63 61 6e 20 65 76 65   TSP you can eve
15dd0 6e 74 75 61 6c 6c 79 20 61 63 74 69 76 61 74 65  ntually activate
15de0 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c   the <b>Options<
15df0 2f 62 3e 20 61 6c 72 65 61 64 79 20 65 78 70 6c  /b> already expl
15e00 61 69 6e 65 64 20 69 6e 20 74 68 65 20 53 68 6f  ained in the Sho
15e10 72 74 65 73 74 50 61 74 68 20 65 78 61 6d 70 6c  rtestPath exampl
15e20 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  es.<br>..<u>Note
15e30 3c 2f 75 3e 3a 54 53 50 20 70 72 6f 62 6c 65 6d  </u>:TSP problem
15e40 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 69 6d  s will always im
15e50 70 6c 79 20 75 73 69 6e 67 20 74 68 65 20 3c 62  ply using the <b
15e60 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 3e 20  >Dijkstra's</b> 
15e70 61 6c 67 6f 72 69 74 68 6d 2c 20 65 76 65 6e 20  algorithm, even 
15e80 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61  when the alterna
15e90 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61  tive <b>A*</b> a
15ea0 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72  lgorithm is curr
15eb0 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 0d  ently selected..
15ec0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44  .<verbatim>..UPD
15ed0 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52  ATE byfoot SET R
15ee0 65 71 75 65 73 74 20 3d 20 27 54 53 50 27 2c 20  equest = 'TSP', 
15ef0 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49  Options = 'NO LI
15f00 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  NKS';....SELECT 
15f10 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65  Algorithm, Reque
15f20 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c  st, Options, Del
15f30 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c  imiter, RouteId,
15f40 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
15f50 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
15f60 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
15f70 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
15f80 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
15f90 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
15fa0 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
15fb0 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38  eTo = '183286,18
15fc0 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38  1999,184030,1838
15fd0 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76  82,178754';..</v
15fe0 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f  erbatim>..The fo
15ff0 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68  llowing table sh
16000 6f 77 73 20 61 20 70 61 72 74 69 61 6c 20 72 65  ows a partial re
16010 73 75 6c 74 73 65 74 20 74 68 61 74 20 69 73 20  sultset that is 
16020 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
16030 73 61 6d 65 20 54 53 50 20 71 75 65 72 79 20 75  same TSP query u
16040 73 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69  sed in the previ
16050 6f 75 73 20 65 78 61 6d 70 6c 65 20 61 66 74 65  ous example afte
16060 72 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 3c  r enabling the <
16070 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 6f  b>NO LINKS</b> o
16080 70 74 69 6f 6e 2e 20 3c 62 72 3e 3c 62 72 3e 0d  ption. <br><br>.
16090 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22  .<table border="
160a0 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66  1" bgcolor="#fff
160b0 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fcf" cellspacing
160c0 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  ="4" cellpadding
160d0 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62  ="6">..<tr><th b
160e0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
160f0 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c  >Algorithm</th><
16100 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
16110 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68  0a0">Request</th
16120 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
16130 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f  0d0a0">Options</
16140 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
16150 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 74  #d0d0a0">Delimit
16160 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  er</th><th bgcol
16170 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75  or="#d0d0a0">Rou
16180 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63  teId</th><th bgc
16190 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
161a0 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20  outeRow</th><th 
161b0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
161c0 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62  ">Role</th><th b
161d0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
161e0 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c  >LinkRowid</th><
161f0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
16200 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74  0a0">NodeFrom</t
16210 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
16220 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f  d0d0a0">NodeTo</
16230 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
16240 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74  #d0d0a0">Cost</t
16250 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
16260 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79  d0d0a0">Geometry
16270 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
16280 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c  ="#d0d0a0">Name<
16290 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  /th></tr>..<tr>.
162a0 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74  .<td>Dijkstra</t
162b0 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c 2f 74 64  d><td>TSP NN</td
162c0 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74  ><td>No Links</t
162d0 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63  d><td>, &#91;dec
162e0 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b  =44, hex=2c&#93;
162f0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16300 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
16310 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
16320 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f 6c  </td><td>TSP Sol
16330 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55  ution</td><td>NU
16340 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
16350 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
16360 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16370 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
16380 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16390 74 22 3e 31 32 35 34 2e 34 33 33 39 33 33 3c 2f  t">1254.433933</
163a0 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32  td><td>BLOB sz=2
163b0 30 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  000 GEOMETRY</td
163c0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
163d0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
163e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
163f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
16400 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20  /td><td>NULL<td 
16410 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
16420 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16430 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
16440 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
16450 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
16460 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
16470 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16480 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64  ight">184030</td
16490 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
164a0 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74  t">176.364755</t
164b0 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30  d><td>BLOB sz=30
164c0 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  4 GEOMETRY</td><
164d0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
164e0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
164f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16500 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16510 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c  d><td>NULL<td al
16520 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
16530 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
16540 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
16550 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
16560 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16570 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74  right">184030</t
16580 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
16590 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c  ht">181999</td><
165a0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
165b0 3e 31 33 39 2e 31 31 34 39 33 38 3c 2f 74 64 3e  >139.114938</td>
165c0 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 39 36 20  <td>BLOB sz=496 
165d0 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
165e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
165f0 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
16600 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
16610 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
16620 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
16630 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
16640 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16650 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
16660 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
16670 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
16680 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
16690 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
166a0 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
166b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
166c0 68 74 22 3e 32 31 37 2e 36 37 32 38 38 35 3c 2f  ht">217.672885</
166d0 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36  td><td>BLOB sz=6
166e0 38 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  88 GEOMETRY</td>
166f0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
16700 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
16710 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16720 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
16730 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
16740 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16750 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">4</td><td alig
16760 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
16770 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
16780 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
16790 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
167a0 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
167b0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
167c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
167d0 72 69 67 68 74 22 3e 33 37 38 2e 33 31 33 36 38  right">378.31368
167e0 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  4</td><td>BLOB s
167f0 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f  z=272 GEOMETRY</
16800 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
16810 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
16820 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
16830 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16840 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
16850 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16860 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61  ght">5</td><td a
16870 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
16880 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
16890 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
168a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
168b0 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
168c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
168d0 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  882</td><td alig
168e0 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 2e 32 31  n="right">188.21
168f0 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  6831</td><td>BLO
16900 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 54 52  B sz=400 GEOMETR
16910 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
16920 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
16930 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
16940 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
16950 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16960 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
16970 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74  "right">6</td><t
16980 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16990 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
169a0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
169b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
169c0 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74  t">183882</td><t
169d0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
169e0 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
169f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34  lign="right">154
16a00 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e  .750839</td><td>
16a10 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d  BLOB sz=240 GEOM
16a20 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
16a30 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
16a40 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72  /table>..<br><br
16a50 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62  ><br>..The map b
16a60 65 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c 79  elow graphically
16a70 20 73 68 6f 77 73 20 74 68 65 20 70 72 65 76 69   shows the previ
16a80 6f 75 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 71  ous <b>TSP</b> q
16a90 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72  ueries...<br><br
16aa0 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74  >..<img src="htt
16ab0 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69  ps://www.gaia-gi
16ac0 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72  s.it/gaia-sins/r
16ad0 6f 75 74 69 6e 67 2d 66 69 67 73 2f 74 73 70 31  outing-figs/tsp1
16ae0 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 34 22  .jpg" alt="fig4"
16af0 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65 64  >..<ul>..<li>Red
16b00 20 73 74 61 72 3a 20 74 68 65 20 3c 75 3e 3c 69   star: the <u><i
16b10 3e 62 61 73 65 2d 63 69 74 79 3c 2f 69 3e 3c 2f  >base-city</i></
16b20 75 3e 20 28 66 72 6f 6d 20 77 68 65 72 65 20 74  u> (from where t
16b30 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61  he <u><i>salesma
16b40 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 62 65 67 69 6e  n</i></u>) begin
16b50 73 20 68 69 73 2f 68 65 72 20 74 72 69 70 2e 3c  s his/her trip.<
16b60 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65 65 6e 20  /li>..<li>Green 
16b70 64 6f 74 73 3a 20 74 68 65 20 3c 75 3e 3c 69 3e  dots: the <u><i>
16b80 63 69 74 69 65 73 3c 2f 69 3e 3c 2f 75 3e 20 74  cities</i></u> t
16b90 6f 20 62 65 20 76 69 73 69 74 65 64 2e 3c 2f 6c  o be visited.</l
16ba0 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 6c  i>..<li>Yellow l
16bb0 69 6e 65 3a 20 74 68 65 20 54 53 50 20 73 6f 6c  ine: the TSP sol
16bc0 75 74 69 6f 6e 20 28 74 68 61 74 20 69 73 20 61  ution (that is a
16bd0 6c 77 61 79 73 20 61 20 63 69 72 63 75 6c 61 72  lways a circular
16be0 20 70 61 74 68 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f   path).</li>..</
16bf0 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  ul><br>..<table 
16c00 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30  bgcolor="#ffb060
16c10 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31  " cellspacing="1
16c20 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  0" cellpadding="
16c30 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33  6"><tr><td>..<h3
16c40 3e 57 61 72 6e 69 6e 67 3a 20 68 6f 77 20 74 6f  >Warning: how to
16c50 20 63 6f 72 72 65 63 74 6c 79 20 68 61 6e 64 6c   correctly handl
16c60 69 6e 67 20 54 53 50 20 72 65 73 75 6c 74 73 65  ing TSP resultse
16c70 74 73 20 77 69 74 68 20 73 70 61 74 69 61 6c 69  ts with spatiali
16c80 74 65 5f 67 75 69 3c 2f 68 33 3e 0d 0a 59 6f 75  te_gui</h3>..You
16c90 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 66 6f   should never fo
16ca0 72 67 65 74 20 6f 72 20 6f 76 65 72 6c 6f 6f 6b  rget or overlook
16cb0 20 74 68 61 74 20 62 6f 74 68 20 3c 62 3e 54 53   that both <b>TS
16cc0 50 20 4e 4e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  P NN</b> and <b>
16cd0 54 53 50 20 47 41 3c 2f 62 3e 20 61 72 65 20 3c  TSP GA</b> are <
16ce0 75 3e 3c 69 3e 68 65 75 72 69 73 74 69 63 20 61  u><i>heuristic a
16cf0 6c 67 6f 72 69 74 68 6d 73 3c 2f 69 3e 3c 2f 75  lgorithms</i></u
16d00 3e 20 68 65 61 76 69 6c 79 20 72 65 6c 79 69 6e  > heavily relyin
16d10 67 20 6f 6e 20 3c 75 3e 3c 69 3e 72 61 6e 64 6f  g on <u><i>rando
16d20 6d 3c 69 3e 3c 2f 75 3e 20 63 68 6f 69 63 65 73  m<i></u> choices
16d30 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 63 6f 75 6c  .<br>..This coul
16d40 64 20 65 61 73 69 6c 79 20 68 61 76 65 20 74 68  d easily have th
16d50 65 20 70 72 61 63 74 69 63 61 6c 20 63 6f 6e 73  e practical cons
16d60 65 71 75 65 6e 63 65 20 74 68 61 74 20 72 65 73  equence that res
16d70 6f 6c 76 69 6e 67 20 74 77 69 63 65 20 28 6f 72  olving twice (or
16d80 20 65 76 65 6e 20 6d 6f 72 65 20 74 69 6d 65 73   even more times
16d90 29 20 74 68 65 20 73 61 6d 65 20 69 64 65 6e 74  ) the same ident
16da0 69 63 61 6c 20 54 53 50 20 71 75 65 72 79 20 63  ical TSP query c
16db0 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79 20  ould eventually 
16dc0 72 65 74 75 72 6e 20 64 69 66 66 65 72 65 6e 74  return different
16dd0 20 72 65 73 75 6c 74 73 65 74 73 2e 3c 62 72 3e   resultsets.<br>
16de0 0d 0a 54 68 65 72 65 20 69 73 20 6e 6f 74 68 69  ..There is nothi
16df0 6e 67 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79  ng intrinsically
16e00 20 77 72 6f 6e 67 20 69 6e 20 74 68 69 73 2c 20   wrong in this, 
16e10 69 74 20 73 69 6d 70 6c 79 20 69 73 20 61 20 64  it simply is a d
16e20 69 72 65 63 74 20 63 6f 6e 73 65 71 75 65 6e 63  irect consequenc
16e30 65 20 6f 66 20 75 73 69 6e 67 20 3c 75 3e 3c 69  e of using <u><i
16e40 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f 69 3e 3c  >randomness</i><
16e50 2f 75 3e 3b 20 77 65 20 61 72 65 20 73 69 6d 70  /u>; we are simp
16e60 6c 79 20 62 61 72 67 61 69 6e 69 6e 67 20 3c 62  ly bargaining <b
16e70 3e 65 78 61 63 74 6e 65 73 73 3c 2f 62 3e 20 61  >exactness</b> a
16e80 6e 64 20 3c 62 3e 72 65 70 72 6f 64 75 63 69 62  nd <b>reproducib
16e90 69 6c 69 74 79 3c 2f 62 3e 20 66 6f 72 20 3c 62  ility</b> for <b
16ea0 3e 71 75 69 63 6b 6e 65 73 73 3c 2f 62 3e 2e 3c  >quickness</b>.<
16eb0 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 73 70 61 74  br><br>..<b>spat
16ec0 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 6f  ialite_gui</b> o
16ed0 6e 20 69 74 73 20 6f 77 6e 20 61 64 6f 70 74 73  n its own adopts
16ee0 20 61 20 3c 62 3e 70 61 67 65 64 20 73 74 72 61   a <b>paged stra
16ef0 74 65 67 79 3c 2f 62 3e 20 77 68 65 6e 20 73 68  tegy</b> when sh
16f00 6f 77 69 6e 67 20 68 75 67 65 20 72 65 73 75 6c  owing huge resul
16f10 74 73 65 74 73 3b 20 74 68 69 73 20 72 65 71 75  tsets; this requ
16f20 69 72 65 73 20 72 65 70 65 61 74 69 6e 67 20 74  ires repeating t
16f30 68 65 20 69 6e 69 74 69 61 6c 20 53 51 4c 20 71  he initial SQL q
16f40 75 65 72 79 20 65 61 63 68 20 74 69 6d 65 20 74  uery each time t
16f50 68 61 74 20 61 20 3c 62 3e 6e 65 77 20 70 61 67  hat a <b>new pag
16f60 65 20 6f 66 20 35 30 30 20 72 6f 77 73 3c 2f 62  e of 500 rows</b
16f70 3e 20 68 61 73 20 74 6f 20 62 65 20 73 68 6f 77  > has to be show
16f80 6e 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74  n on the current
16f90 20 77 69 6e 64 6f 77 20 70 61 6e 65 6c 2e 3c 62   window panel.<b
16fa0 72 3e 0d 0a 54 68 65 73 65 20 74 77 6f 20 74 68  r>..These two th
16fb0 69 6e 67 73 20 64 6f 6e 27 74 20 67 6f 20 74 6f  ings don't go to
16fc0 67 65 74 68 65 72 20 77 65 6c 6c 3b 20 73 6f 20  gether well; so 
16fd0 64 6f 6e 27 74 20 62 65 20 73 75 72 70 72 69 73  don't be surpris
16fe0 65 64 20 77 68 65 6e 20 65 76 65 6e 74 75 61 6c  ed when eventual
16ff0 6c 79 20 64 69 73 63 6f 76 65 72 69 6e 67 20 74  ly discovering t
17000 68 61 74 20 3c 62 3e 73 70 61 74 69 61 6c 69 74  hat <b>spatialit
17010 65 5f 67 75 69 3c 2f 62 3e 20 77 69 6c 6c 20 62  e_gui</b> will b
17020 65 68 61 76 65 20 62 69 7a 61 72 72 65 6c 79 20  ehave bizarrely 
17030 77 68 69 6c 65 20 70 72 65 73 65 6e 74 69 6e 67  while presenting
17040 20 73 6f 6d 65 20 72 65 73 75 6c 74 73 65 74 20   some resultset 
17050 72 65 74 75 72 6e 65 64 20 62 79 20 61 20 54 53  returned by a TS
17060 50 20 71 75 65 72 79 2e 20 0d 0a 3c 76 65 72 62  P query. ..<verb
17070 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79  atim>..UPDATE by
17080 66 6f 6f 74 20 53 45 54 20 52 65 71 75 65 73 74  foot SET Request
17090 20 3d 20 27 54 53 50 27 3b 0d 0a 0d 0a 43 52 45   = 'TSP';....CRE
170a0 41 54 45 20 54 41 42 4c 45 20 6d 79 5f 74 73 70  ATE TABLE my_tsp
170b0 5f 73 6f 6c 75 74 69 6f 6e 20 41 53 0d 0a 53 45  _solution AS..SE
170c0 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20  LECT Algorithm, 
170d0 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73  Request, Options
170e0 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75  , Delimiter, Rou
170f0 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20  teId, RouteRow, 
17100 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
17110 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
17120 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
17130 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
17140 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65  foot..WHERE Node
17150 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e  From = 178731 AN
17160 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32  D NodeTo = '1832
17170 38 36 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30  86,181999,184030
17180 2c 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b  ,183882,178754';
17190 0d 0a 0d 0a 2e 2e 2e 20 20 3c 6e 6f 77 20 71 75  .......  <now qu
171a0 65 72 79 20 22 6d 79 5f 74 73 70 5f 73 6f 6c 75  ery "my_tsp_solu
171b0 74 69 6f 6e 22 20 75 73 69 6e 67 20 73 70 61 74  tion" using spat
171c0 69 61 6c 69 74 65 5f 67 75 69 3e 20 20 2e 2e 2e  ialite_gui>  ...
171d0 0d 0a 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d  ....DROP TABLE m
171e0 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 3b 0d  y_tsp_solution;.
171f0 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75  .</verbatim>..<u
17200 3e 48 69 6e 74 3c 2f 75 3e 3a 20 72 65 73 6f 6c  >Hint</u>: resol
17210 76 69 6e 67 20 74 68 69 73 20 70 75 7a 7a 6c 69  ving this puzzli
17220 6e 67 20 69 73 73 75 65 20 69 73 20 68 6f 77 65  ng issue is howe
17230 76 65 72 20 62 61 73 69 63 61 6c 6c 79 20 73 69  ver basically si
17240 6d 70 6c 65 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69  mple:..<ol>..<li
17250 3e 79 6f 75 20 73 69 6d 70 6c 79 20 68 61 76 65  >you simply have
17260 20 74 6f 20 74 61 6b 65 20 61 20 3c 62 3e 73 74   to take a <b>st
17270 61 74 69 63 20 73 6e 61 70 73 68 6f 74 3c 2f 62  atic snapshot</b
17280 3e 20 6f 66 20 79 6f 75 72 20 54 53 50 20 72 65  > of your TSP re
17290 73 75 6c 74 73 65 74 20 62 79 20 75 73 69 6e 67  sultset by using
172a0 20 74 68 65 20 3c 62 3e 43 52 45 41 54 45 20 54   the <b>CREATE T
172b0 41 42 4c 45 20 3c 69 3e 6e 61 6d 65 3c 2f 69 3e  ABLE <i>name</i>
172c0 20 41 53 20 3c 69 3e 54 53 50 20 71 75 65 72 79   AS <i>TSP query
172d0 3c 69 3e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  <i></b>.</li>..<
172e0 6c 69 3e 74 68 65 6e 20 79 6f 75 20 63 61 6e 20  li>then you can 
172f0 66 72 65 65 6c 79 20 65 78 61 6d 69 6e 65 20 74  freely examine t
17300 68 65 20 61 62 6f 76 65 20 73 6e 61 70 73 68 6f  he above snapsho
17310 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6e 64  t.</li>..<li>and
17320 20 66 69 6e 61 6c 6c 79 20 79 6f 75 20 63 61 6e   finally you can
17330 20 64 75 6c 79 20 3c 62 3e 44 52 4f 50 3c 2f 62   duly <b>DROP</b
17340 3e 20 74 68 65 20 73 6e 61 70 73 68 6f 74 20 6f  > the snapshot o
17350 6e 63 65 20 69 74 27 73 20 6e 6f 20 6c 6f 6e 67  nce it's no long
17360 65 72 20 75 73 65 66 75 6c 2e 20 28 6f 72 20 75  er useful. (or u
17370 73 65 20 3c 62 3e 43 52 45 41 54 45 20 54 45 4d  se <b>CREATE TEM
17380 50 4f 52 41 52 59 20 54 41 42 4c 45 20 6e 61 6d  PORARY TABLE nam
17390 65 20 41 53 20 3c 69 3e 54 53 50 20 71 75 65 72  e AS <i>TSP quer
173a0 79 3e 3c 2f 69 3e 3c 2f 62 3e 2c 20 77 68 65 72  y></i></b>, wher
173b0 65 20 74 68 65 20 54 41 42 4c 45 20 77 69 6c 6c  e the TABLE will
173c0 20 62 65 20 72 65 6d 6f 76 65 64 20 61 74 20 74   be removed at t
173d0 68 65 20 73 65 73 73 69 6f 6e 20 65 6e 64 29 3c  he session end)<
173e0 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74  /li>..</ol>..</t
173f0 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  d></tr>..</table
17400 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  >..<br>..<table 
17410 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30  bgcolor="#c0ffc0
17420 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31  " cellspacing="1
17430 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  0" cellpadding="
17440 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33  6"><tr><td>..<h3
17450 3e 4d 6f 72 65 20 61 62 6f 75 74 20 4c 69 6e 65  >More about Line
17460 61 72 20 52 65 66 65 72 65 6e 63 69 6e 67 20 61  ar Referencing a
17470 6e 64 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  nd VirtualRoutin
17480 67 20 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 68  g Linestrings</h
17490 33 3e 20 0d 0a 59 6f 75 20 68 61 76 65 20 61 6c  3> ..You have al
174a0 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 61 20  ready seen in a 
174b0 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65  previous example
174c0 20 74 68 61 74 20 61 6c 6c 20 4c 49 4e 45 53 54   that all LINEST
174d0 52 49 4e 47 73 20 63 72 65 61 74 65 64 20 62 79  RINGs created by
174e0 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
174f0 73 75 70 70 6f 72 74 20 74 68 65 20 3c 62 3e 4d  support the <b>M
17500 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e 6d 65 61 73  </b> (<b><i>meas
17510 75 72 65 3c 2f 69 3e 3c 2f 62 3e 29 20 63 6f 6f  ure</i></b>) coo
17520 72 64 69 6e 61 74 65 20 69 6e 74 65 6e 64 65 64  rdinate intended
17530 20 61 73 20 61 20 3c 62 3e 70 72 6f 67 72 65 73   as a <b>progres
17540 73 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 66 6f  sive cost</b> fo
17550 72 20 65 61 63 68 20 76 65 72 74 65 78 2e 20 41  r each vertex. A
17560 6e 64 20 79 6f 75 20 61 6c 72 65 61 64 79 20 6b  nd you already k
17570 6e 6f 77 20 74 68 65 20 74 68 65 79 20 63 61 6e  now the they can
17580 20 73 75 70 70 6f 72 74 20 3c 62 3e 3c 69 3e 6c   support <b><i>l
17590 69 6e 65 61 72 20 72 65 66 65 72 65 6e 63 69 6e  inear referencin
175a0 67 3c 2f 69 3e 3c 2f 62 3e 20 28 3c 62 3e 4c 52  g</i></b> (<b>LR
175b0 3c 2f 62 3e 29 20 53 51 4c 20 66 75 6e 63 74 69  </b>) SQL functi
175c0 6f 6e 73 2e 3c 62 72 3e 0d 0a 4e 6f 77 20 6c 65  ons.<br>..Now le
175d0 74 27 73 20 64 69 67 20 69 6e 20 66 75 72 74 68  t's dig in furth
175e0 65 72 2e 0d 0a 3c 68 33 3e 54 72 61 6a 65 63 74  er...<h3>Traject
175f0 6f 72 79 20 6f 62 6a 65 63 74 73 3c 2f 68 33 3e  ory objects</h3>
17600 0d 0a 41 20 3c 62 3e 54 72 61 6a 65 63 74 6f 72  ..A <b>Trajector
17610 79 3c 2f 62 3e 20 69 73 20 61 6e 79 20 4c 69 6e  y</b> is any Lin
17620 65 73 74 72 69 6e 67 20 73 75 70 70 6f 72 74 69  estring supporti
17630 6e 67 20 3c 62 3e 4d 20 63 6f 6f 72 64 69 6e 61  ng <b>M coordina
17640 74 65 73 3c 2f 62 3e 20 77 69 74 68 20 61 20 63  tes</b> with a c
17650 6f 6e 74 69 6e 75 6f 75 73 6c 79 20 69 6e 63 72  ontinuously incr
17660 65 61 73 69 6e 67 20 74 72 65 6e 64 2e 3c 62 72  easing trend.<br
17670 3e 0d 0a 49 6e 20 73 69 6d 70 6c 65 72 20 77 6f  >..In simpler wo
17680 72 64 73 2c 20 74 68 65 20 3c 62 3e 4d 2d 76 61  rds, the <b>M-va
17690 6c 75 65 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20  lue</b> of each 
176a0 76 65 72 74 65 78 20 28 65 78 63 65 70 74 20 74  vertex (except t
176b0 68 65 20 6c 61 73 74 20 6f 6e 65 29 20 6d 75 73  he last one) mus
176c0 74 20 62 65 20 3c 62 3e 6c 65 73 73 65 72 3c 2f  t be <b>lesser</
176d0 62 3e 20 74 68 61 6e 20 74 68 65 20 4d 2d 56 61  b> than the M-Va
176e0 6c 75 65 20 6f 66 20 74 68 65 20 6e 65 78 74 20  lue of the next 
176f0 76 65 72 74 65 78 2e 0d 0a 3c 76 65 72 62 61 74  vertex...<verbat
17700 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 46 52  im>..SELECT * FR
17710 4f 4d 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69  OM my_tsp_soluti
17720 6f 6e 20 57 48 45 52 45 20 53 54 5f 49 73 56 61  on WHERE ST_IsVa
17730 6c 69 64 54 72 61 6a 65 63 74 6f 72 79 28 67 65  lidTrajectory(ge
17740 6f 6d 65 74 72 79 29 20 3d 20 31 3b 0d 0a 2d 2d  ometry) = 1;..--
17750 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
17760 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  -..1..</verbatim
17770 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20 65 61  >..As you can ea
17780 73 69 6c 79 20 63 68 65 63 6b 20 62 79 20 63 61  sily check by ca
17790 6c 6c 69 6e 67 20 3c 62 3e 53 54 5f 49 73 56 61  lling <b>ST_IsVa
177a0 6c 69 64 54 72 61 6a 65 63 74 6f 72 79 28 29 3c  lidTrajectory()<
177b0 2f 62 3e 20 65 76 65 72 79 20 4c 69 6e 65 73 74  /b> every Linest
177c0 72 69 6e 67 20 63 72 65 61 74 65 64 20 62 79 20  ring created by 
177d0 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 69  VirtualRouting i
177e0 73 20 61 20 3c 62 3e 76 61 6c 69 64 20 54 72 61  s a <b>valid Tra
177f0 6a 65 63 74 6f 72 79 3c 2f 62 3e 2e 0d 0a 3c 76  jectory</b>...<v
17800 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
17810 20 53 54 5f 54 72 61 6a 65 63 74 6f 72 79 49 6e   ST_TrajectoryIn
17820 74 65 72 70 6f 6c 61 74 65 50 6f 69 6e 74 28 47  terpolatePoint(G
17830 65 6f 6d 65 74 72 79 2c 20 31 30 30 2e 30 29 0d  eometry, 100.0).
17840 0a 46 52 4f 4d 20 6d 79 5f 74 73 70 5f 73 6f 6c  .FROM my_tsp_sol
17850 75 74 69 6f 6e 0d 0a 57 48 45 52 45 20 52 6f 75  ution..WHERE Rou
17860 74 65 49 64 20 3d 20 30 3b 0d 0a 3c 2f 76 65 72  teId = 0;..</ver
17870 62 61 74 69 6d 3e 0d 0a 53 6f 20 79 6f 75 20 6a  batim>..So you j
17880 75 73 74 20 68 61 76 65 20 74 6f 20 63 61 6c 6c  ust have to call
17890 20 3c 62 3e 53 54 5f 54 72 61 6a 65 63 74 6f 72   <b>ST_Trajector
178a0 79 49 6e 74 65 72 70 6f 6c 61 74 65 50 6f 69 6e  yInterpolatePoin
178b0 74 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72  t()</b> in order
178c0 20 74 6f 20 63 72 65 61 74 65 20 61 20 50 4f 49   to create a POI
178d0 4e 54 20 70 72 65 63 69 73 65 6c 79 20 6c 6f 63  NT precisely loc
178e0 61 74 65 64 20 6f 6e 20 74 68 65 20 4c 69 6e 65  ated on the Line
178f0 73 74 72 69 6e 67 20 61 74 20 74 68 65 20 67 69  string at the gi
17900 76 65 6e 20 3c 62 3e 63 6f 73 74 3c 2f 62 3e 2e  ven <b>cost</b>.
17910 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 68 72 3e 3c 62  ..<br><br><hr><b
17920 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 73 69 64 65  r><br>..The side
17930 20 6d 61 70 20 67 72 61 70 68 69 63 61 6c 6c 79   map graphically
17940 20 73 68 6f 77 73 20 74 68 65 20 65 73 74 69 6d   shows the estim
17950 61 74 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 65  ated positions e
17960 76 65 72 79 20 31 30 30 6d 20 61 73 73 75 6d 69  very 100m assumi
17970 6e 67 20 74 68 65 20 73 61 6d 65 20 70 61 74 68  ng the same path
17980 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
17990 20 6c 61 74 65 73 74 20 54 53 50 20 71 75 65 72   latest TSP quer
179a0 79 2e 0d 0a 3c 2f 74 64 3e 3c 74 64 3e 20 20 20  y...</td><td>   
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 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
200f0 20 20 20 20 0d 0a 3c 69 6d 67 20 73 72 63 3d 22      ..<img src="
20100 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
20110 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e  -gis.it/gaia-sin
20120 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 74  s/routing-figs/t
20130 73 70 32 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69  sp2.jpg" alt="fi
20140 67 35 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e  g5">..</td></tr>
20150 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62  </table>..<br><b
20160 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68  r>..<hr><br>..<h
20170 31 3e 3c 61 20 6e 61 6d 65 3d 22 70 32 70 22 3e  1><a name="p2p">
20180 38 20 2d 20 53 6f 6c 76 69 6e 67 20 50 6f 69 6e  8 - Solving Poin
20190 74 2d 74 6f 2d 50 6f 69 6e 74 20 70 72 6f 62 6c  t-to-Point probl
201a0 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 20  ems</a></h1>..A 
201b0 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e  <b>Point-to-Poin
201c0 74 3c 2f 62 3e 20 71 75 65 72 79 20 69 73 20 76  t</b> query is v
201d0 65 72 79 20 73 69 6d 69 6c 61 72 20 74 6f 20 61  ery similar to a
201e0 20 6d 6f 73 74 20 75 73 75 61 6c 20 3c 62 3e 73   most usual <b>s
201f0 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f  ingle-destinatio
20200 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c  n Shortest Path<
20210 2f 62 3e 20 71 75 65 72 79 2c 20 65 78 63 65 70  /b> query, excep
20220 74 20 74 68 61 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  t that:..<ul>..<
20230 6c 69 3e 41 20 63 6c 61 73 73 69 63 20 53 68 6f  li>A classic Sho
20240 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79  rtest Path query
20250 20 72 65 71 75 69 72 65 73 20 74 6f 20 73 70 65   requires to spe
20260 63 69 66 79 20 61 20 3c 62 3e 4e 6f 64 65 46 72  cify a <b>NodeFr
20270 6f 6d 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6f 72  om</b> (<u><i>or
20280 69 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 61 6e  igin</i></u>) an
20290 64 20 61 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  d a <b>NodeTo</b
202a0 3e 20 28 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61  > (<u><i>destina
202b0 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c 2f  tion</i></u>).</
202c0 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 50 6f 69 6e 74  li>..<li>A Point
202d0 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79 20  -to-Point query 
202e0 68 61 73 20 61 20 6d 6f 72 65 20 72 65 6c 61 78  has a more relax
202f0 65 64 20 72 65 71 75 69 72 65 6d 65 6e 74 2c 20  ed requirement, 
20300 61 6e 64 20 6a 75 73 74 20 72 65 71 75 69 72 65  and just require
20310 73 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 3c  s to specify a <
20320 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20  b>PointFrom</b> 
20330 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69  (<u><i>origin</i
20340 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 20 3c 62 3e  ></u>) and a <b>
20350 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 28 3c 75 3e  PointTo</b> (<u>
20360 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f  <i>destination</
20370 69 3e 3c 2f 75 3e 29 2e 3c 62 72 3e 0d 0a 42 6f  i></u>).<br>..Bo
20380 74 68 20 3c 62 3e 50 6f 69 6e 74 73 3c 2f 62 3e  th <b>Points</b>
20390 20 63 61 6e 20 62 65 20 66 72 65 65 6c 79 20 70   can be freely p
203a0 6f 73 69 74 69 6f 6e 65 64 20 65 76 65 72 79 77  ositioned everyw
203b0 68 65 72 65 20 6f 6e 20 61 20 6d 61 70 2c 20 61  here on a map, a
203c0 6e 64 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69  nd are not requi
203d0 72 65 64 20 74 6f 20 70 72 65 63 69 73 65 6c 79  red to precisely
203e0 20 69 6e 74 65 72 73 65 63 74 20 65 69 74 68 65   intersect eithe
203f0 72 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 20  r a <b>Node</b> 
20400 6e 6f 72 20 61 20 3c 62 3e 4c 69 6e 6b 3c 2f 62  nor a <b>Link</b
20410 3e 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 61  > of the underla
20420 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72  ying Network.<br
20430 3e 0d 0a 54 68 65 20 50 6f 69 6e 74 2d 74 6f 2d  >..The Point-to-
20440 50 6f 69 6e 74 27 73 20 3c 75 3e 3c 69 3e 69 6e  Point's <u><i>in
20450 74 65 72 6e 61 6c 20 6c 6f 67 69 63 3c 2f 69 3e  ternal logic</i>
20460 3c 2f 75 3e 20 77 69 6c 6c 20 74 68 65 6e 20 61  </u> will then a
20470 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 64 65  utomatically ide
20480 6e 74 69 66 79 20 28 69 66 20 70 6f 73 73 69 62  ntify (if possib
20490 6c 65 29 20 74 68 65 20 61 70 70 72 6f 70 72 69  le) the appropri
204a0 61 74 65 20 4e 6f 64 65 73 20 66 6f 72 20 63 6f  ate Nodes for co
204b0 6d 70 75 74 69 6e 67 20 61 20 53 68 6f 72 74 65  mputing a Shorte
204c0 73 74 20 50 61 74 68 20 73 6f 6c 75 74 69 6f 6e  st Path solution
204d0 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
204e0 75 3e 3a 20 74 68 65 20 74 77 6f 20 50 6f 69 6e  u>: the two Poin
204f0 74 73 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20 75  ts <b>must</b> u
20500 73 65 20 74 68 65 20 73 61 6d 65 20 3c 62 3e 53  se the same <b>S
20510 52 49 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20 75  RID</b> of the u
20520 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72  nderlying Networ
20530 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  k.</li>..</ul>..
20540 3c 68 33 3e 48 6f 77 20 69 74 20 77 6f 72 6b 73  <h3>How it works
20550 20 69 6e 20 70 72 61 63 74 69 63 65 3c 2f 68 33   in practice</h3
20560 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 61 20 66  >..<ol>..<li>a f
20570 69 72 73 74 20 3c 75 3e 3c 69 3e 73 70 61 74 69  irst <u><i>spati
20580 61 6c 20 73 65 61 72 63 68 3c 2f 69 3e 3c 2f 75  al search</i></u
20590 3e 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 3c  > based on the <
205a0 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20  b>PointFrom</b> 
205b0 77 69 6c 6c 20 61 74 74 65 6d 70 74 20 74 6f 20  will attempt to 
205c0 69 64 65 6e 74 69 66 79 20 61 6c 6c 20 3c 62 3e  identify all <b>
205d0 4c 69 6e 6b 73 3c 2f 62 3e 20 66 61 6c 6c 69 6e  Links</b> fallin
205e0 67 20 77 69 74 68 69 6e 20 61 20 67 69 76 65 6e  g within a given
205f0 20 3c 62 3e 74 6f 6c 65 72 61 6e 63 65 20 72 61   <b>tolerance ra
20600 64 69 75 73 3c 2f 62 3e 20 66 72 6f 6d 20 74 68  dius</b> from th
20610 65 20 50 6f 69 6e 74 2e 3c 2f 6c 69 3e 0d 0a 3c  e Point.</li>..<
20620 6c 69 3e 61 20 73 65 63 6f 6e 64 20 73 69 6d 69  li>a second simi
20630 6c 61 72 20 73 70 61 74 69 61 6c 20 73 65 61 72  lar spatial sear
20640 63 68 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 20  ch will attempt 
20650 74 6f 20 69 64 65 6e 74 69 66 79 20 61 6c 6c 20  to identify all 
20660 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 72 65 6c  <b>Links</b> rel
20670 61 74 65 64 20 74 6f 20 74 68 65 20 3c 62 3e 50  ated to the <b>P
20680 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c 2f 6c 69 3e  ointTo</b>.</li>
20690 0d 0a 3c 6c 69 3e 61 6c 6c 20 3c 62 3e 4e 6f 64  ..<li>all <b>Nod
206a0 65 73 3c 2f 62 3e 20 62 65 6c 6f 6e 67 69 6e 67  es</b> belonging
206b0 20 74 6f 20 61 6e 79 20 3c 62 3e 4c 69 6e 6b 3c   to any <b>Link<
206c0 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 64 20 62  /b> identified b
206d0 79 20 74 68 65 20 66 69 72 73 74 20 73 70 61 74  y the first spat
206e0 69 61 6c 20 73 65 61 72 63 68 20 77 69 6c 6c 20  ial search will 
206f0 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73  be considered as
20700 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 4e 6f 64   possible <b>Nod
20710 65 46 72 6f 6d 20 63 61 6e 64 69 64 61 74 65 73  eFrom candidates
20720 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </b>.</li>..<li>
20730 61 6e 64 20 73 79 6d 6d 65 74 72 69 63 61 6c 6c  and symmetricall
20740 79 2c 20 61 6c 6c 20 3c 62 3e 4e 6f 64 65 73 3c  y, all <b>Nodes<
20750 2f 62 3e 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f  /b> belonging to
20760 20 61 6e 79 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e   any <b>Link</b>
20770 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 74   identified by t
20780 68 65 20 73 65 63 6f 6e 64 20 73 70 61 74 69 61  he second spatia
20790 6c 20 73 65 61 72 63 68 20 77 69 6c 6c 20 62 65  l search will be
207a0 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 70   considered as p
207b0 6f 73 73 69 62 6c 65 20 3c 62 3e 4e 6f 64 65 54  ossible <b>NodeT
207c0 6f 20 63 61 6e 64 69 64 61 74 65 73 3c 2f 62 3e  o candidates</b>
207d0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 66 75  .</li>..<li>a fu
207e0 6c 6c 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 6f  ll permutation o
207f0 66 20 61 6c 6c 20 53 68 6f 72 74 65 73 74 20 50  f all Shortest P
20800 61 74 68 20 73 6f 6c 75 74 69 6f 6e 73 20 63 6f  ath solutions co
20810 6e 6e 65 63 74 69 6e 67 20 6f 6e 65 20 74 68 65  nnecting one the
20820 20 46 72 6f 6d 20 63 61 6e 64 69 64 61 74 65 73   From candidates
20830 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 54   to one of the T
20840 6f 20 63 61 6e 64 69 64 61 74 65 73 20 77 69 6c  o candidates wil
20850 6c 20 62 65 20 74 68 65 6e 20 63 6f 6d 70 75 74  l be then comput
20860 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6e  ed.</li>..<li>an
20870 64 20 66 69 6e 61 6c 6c 79 20 74 68 65 20 3c 62  d finally the <b
20880 3e 6f 70 74 69 6d 61 6c 20 50 6f 69 6e 74 2d 74  >optimal Point-t
20890 6f 2d 50 6f 69 6e 74 20 73 6f 6c 75 74 69 6f 6e  o-Point solution
208a0 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 73 65 6c  </b> will be sel
208b0 65 63 74 65 64 20 62 79 20 69 64 65 6e 74 69 66  ected by identif
208c0 79 69 6e 67 20 77 68 69 63 68 20 73 70 65 63 69  ying which speci
208d0 66 69 63 20 63 61 6e 64 69 64 61 74 65 20 70 72  fic candidate pr
208e0 65 73 65 6e 74 73 20 74 68 65 20 3c 62 3e 6c 65  esents the <b>le
208f0 73 73 65 72 20 43 6f 73 74 3c 2f 62 3e 20 6f 66  sser Cost</b> of
20900 20 74 68 65 6d 20 61 6c 6c 2e 3c 2f 6c 69 3e 0d   them all.</li>.
20910 0a 3c 2f 6f 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62  .</ol><br>..<tab
20920 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62  le bgcolor="#ffb
20930 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  060" cellspacing
20940 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
20950 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
20960 3c 68 33 3e 42 65 20 61 77 61 72 65 3c 2f 68 33  <h3>Be aware</h3
20970 3e 0d 0a 41 74 74 65 6d 70 74 69 6e 67 20 74 6f  >..Attempting to
20980 20 73 6f 6c 76 65 20 50 6f 69 6e 74 2d 74 6f 2d   solve Point-to-
20990 50 6f 69 6e 74 20 71 75 65 72 69 65 73 20 73 74  Point queries st
209a0 72 69 63 74 6c 79 20 72 65 71 75 69 72 65 73 20  rictly requires 
209b0 74 68 61 74 20 61 6e 20 61 70 70 72 6f 70 72 69  that an appropri
209c0 61 74 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 49  ate <b>Spatial I
209d0 6e 64 65 78 3c 2f 62 3e 20 74 6f 20 65 66 66 65  ndex</b> to effe
209e0 63 74 69 76 65 6c 79 20 73 75 70 70 6f 72 74 20  ctively support 
209f0 61 6c 6c 20 4c 69 6e 6b 73 20 6f 66 20 74 68 65  all Links of the
20a00 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74   underlaying Net
20a10 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 49 66 20 73 75  work.<br>..If su
20a20 63 68 20 61 20 70 72 65 2d 72 65 71 75 69 72 65  ch a pre-require
20a30 6d 65 6e 74 20 69 73 20 6e 6f 74 20 66 75 6c 66  ment is not fulf
20a40 69 6c 6c 65 64 20 74 68 65 20 61 62 6f 76 65 20  illed the above 
20a50 6d 65 6e 74 69 6f 6e 65 64 20 3c 75 3e 3c 69 3e  mentioned <u><i>
20a60 73 70 61 74 69 61 6c 20 73 65 61 72 63 68 65 73  spatial searches
20a70 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c 20 66 61  </i></u> will fa
20a80 69 6c 20 6d 69 73 65 72 61 62 6c 79 2c 20 61 6e  il miserably, an
20a90 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 61  d consequently a
20aa0 6c 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e  ll Point-to-Poin
20ab0 74 20 71 75 65 72 69 65 73 20 77 69 6c 6c 20 62  t queries will b
20ac0 65 20 75 6e 61 62 6c 65 20 74 6f 20 69 64 65 6e  e unable to iden
20ad0 74 69 66 79 20 61 6e 79 20 70 6f 73 73 69 62 6c  tify any possibl
20ae0 65 20 43 61 6e 64 69 64 61 74 65 20 74 6f 20 62  e Candidate to b
20af0 65 20 65 76 61 6c 75 61 74 65 64 2e 0d 0a 3c 68  e evaluated...<h
20b00 33 3e 41 6c 77 61 79 73 20 72 65 6d 65 6d 62 65  3>Always remembe
20b10 72 3c 2f 68 33 3e 0d 0a 43 61 72 65 66 75 6c 6c  r</h3>..Carefull
20b20 79 20 63 68 65 63 6b 20 69 66 20 61 6e 20 61 70  y check if an ap
20b30 70 72 6f 70 72 69 61 74 65 20 53 70 61 74 69 61  propriate Spatia
20b40 6c 20 49 6e 64 65 78 20 61 6c 6c 72 65 61 64 79  l Index allready
20b50 20 65 78 69 73 74 73 20 62 65 66 6f 72 65 20 61   exists before a
20b60 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 65 78 65  ttempting to exe
20b70 63 75 74 65 20 61 6e 79 20 50 6f 69 6e 74 2d 74  cute any Point-t
20b80 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79 2e 0d 0a  o-Point query...
20b90 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c  <br><br>..</td><
20ba0 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  /tr></table>..<b
20bb0 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c  r>..<table bgcol
20bc0 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c  or="#c0ffc0" cel
20bd0 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65  lspacing="10" ce
20be0 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74  llpadding="6"><t
20bf0 72 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e  r><td align="cen
20c00 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d 22 32 22  ter" colspan="2"
20c10 3e 0d 0a 3c 68 32 3e 42 61 73 69 63 20 63 6f 6e  >..<h2>Basic con
20c20 63 65 70 74 73 2c 20 74 65 63 68 6e 69 63 61 6c  cepts, technical
20c30 20 64 65 74 61 69 6c 73 20 61 6e 64 20 72 65 6c   details and rel
20c40 61 74 65 64 20 67 6c 6f 73 73 61 72 79 3c 2f 68  ated glossary</h
20c50 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  2>..</td></tr>..
20c60 3c 74 72 3e 3c 74 64 3e 0d 0a 54 68 65 20 73 69  <tr><td>..The si
20c70 64 65 20 66 69 67 75 72 65 20 73 68 6f 77 73 20  de figure shows 
20c80 61 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 50  a hypothetical P
20c90 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f  oint-to-Point so
20ca0 6c 75 74 69 6f 6e 20 61 6c 6d 6f 73 74 20 70 72  lution almost pr
20cb0 65 63 69 73 65 6c 79 20 62 61 73 65 64 20 6f 6e  ecisely based on
20cc0 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73   the following s
20cd0 65 71 75 65 6e 63 65 20 6f 66 20 4e 6f 64 65 73  equence of Nodes
20ce0 3a 3c 62 72 3e 0d 0a 3c 62 3e 3c 69 3e 4e 31 2d  :<br>..<b><i>N1-
20cf0 4e 32 2d 4e 33 2d 4e 34 2d 4e 35 2d 4e 36 2d 4e  N2-N3-N4-N5-N6-N
20d00 37 2d 4e 38 2d 4e 39 2d 4e 31 30 2d 4e 31 31 2d  7-N8-N9-N10-N11-
20d10 4e 31 32 2d 4e 31 33 2d 4e 31 34 2d 4e 31 35 3c  N12-N13-N14-N15<
20d20 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e 3c 62 72  /i></b>..<br><br
20d30 3e 0d 0a 48 6f 77 65 76 65 72 2c 20 61 73 20 79  >..However, as y
20d40 6f 75 20 63 61 6e 20 73 65 65 2c 20 74 68 65 72  ou can see, ther
20d50 65 20 61 72 65 20 74 77 6f 20 6e 6f 74 69 63 65  e are two notice
20d60 61 62 6c 65 20 65 78 63 65 70 74 69 6f 6e 73 3a  able exceptions:
20d70 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20  ..<ul>..<li>The 
20d80 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20 4c 69 6e  <b>first</b> Lin
20d90 6b 20 28 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62  k (connecting <b
20da0 3e 4e 31 3c 2f 62 3e 20 74 6f 20 3c 62 3e 4e 32  >N1</b> to <b>N2
20db0 3c 2f 62 3e 29 20 69 73 20 6e 6f 74 20 63 6f 6d  </b>) is not com
20dc0 70 6c 65 74 65 6c 79 20 72 65 71 75 69 72 65 64  pletely required
20dd0 20 62 79 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e   by the Solution
20de0 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 6d  .<br>..Just a sm
20df0 61 6c 6c 20 70 6f 72 74 69 6f 6e 20 28 64 72 61  all portion (dra
20e00 77 6e 20 69 6e 20 72 65 64 29 20 6f 66 20 74 68  wn in red) of th
20e10 69 73 20 4c 69 6e 6b 20 69 73 20 65 66 66 65 63  is Link is effec
20e20 74 69 76 65 6c 79 20 72 65 71 75 69 72 65 64 2e  tively required.
20e30 3c 62 72 3e 0d 0a 54 68 65 20 72 65 6d 61 69 6e  <br>..The remain
20e40 69 6e 67 20 70 61 72 74 20 28 64 72 61 77 6e 20  ing part (drawn 
20e50 69 6e 20 67 72 61 79 29 20 69 73 6e 27 74 20 63  in gray) isn't c
20e60 6f 76 65 72 65 64 20 62 79 20 74 68 65 20 53 6f  overed by the So
20e70 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  lution.</li>..<l
20e80 69 3e 45 78 61 63 74 6c 79 20 74 68 65 20 73 61  i>Exactly the sa
20e90 6d 65 20 69 73 20 74 72 75 65 20 66 6f 72 20 74  me is true for t
20ea0 68 65 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e 20 4c  he <b>last</b> L
20eb0 69 6e 6b 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c  ink connecting <
20ec0 62 3e 4e 31 34 3c 2f 62 3e 20 74 6f 20 3c 62 3e  b>N14</b> to <b>
20ed0 4e 31 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  N15</b>.</li>..<
20ee0 6c 69 3e 54 68 61 74 27 73 20 6e 6f 74 20 61 6c  li>That's not al
20ef0 6c 3a 20 74 68 65 72 65 20 61 72 65 20 74 77 6f  l: there are two
20f00 20 73 68 6f 72 74 20 73 65 67 6d 65 6e 74 73 20   short segments 
20f10 28 64 72 61 77 6e 20 69 6e 20 67 72 65 65 6e 29  (drawn in green)
20f20 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 50   connecting <b>P
20f30 66 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  from</b> and <b>
20f40 50 74 6f 3c 2f 62 3e 20 28 3c 69 3e 6f 72 69 67  Pto</b> (<i>orig
20f50 69 6e 3c 2f 69 3e 20 61 6e 64 20 3c 69 3e 64 65  in</i> and <i>de
20f60 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 20 50 6f  stination</i> Po
20f70 69 6e 74 73 29 20 72 65 73 70 65 63 74 69 76 65  ints) respective
20f80 6c 79 20 74 6f 20 74 68 65 20 3c 62 3e 66 69 72  ly to the <b>fir
20f90 73 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61  st</b> and <b>la
20fa0 73 74 3c 2f 62 3e 20 70 61 72 74 69 61 6c 20 4c  st</b> partial L
20fb0 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  inks.</li>..</ul
20fc0 3e 0d 0a 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 69  >..<br>..All thi
20fd0 73 20 69 73 6e 27 74 20 73 75 72 70 72 69 73 69  s isn't surprisi
20fe0 6e 67 2c 20 73 69 6e 63 65 20 69 74 20 73 69 6d  ng, since it sim
20ff0 70 6c 79 20 69 73 20 74 68 65 20 6d 6f 73 74 20  ply is the most 
21000 6f 62 76 69 6f 75 73 20 64 69 72 65 63 74 20 63  obvious direct c
21010 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68  onsequence of th
21020 65 20 76 65 72 79 20 62 61 73 69 63 20 61 73 73  e very basic ass
21030 75 6d 70 74 69 6f 6e 73 20 61 74 20 74 68 65 20  umptions at the 
21040 62 61 73 69 73 20 6f 66 20 50 6f 69 6e 74 2d 74  basis of Point-t
21050 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 3a  o-Point queries:
21060 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4e 65 69 74  ..<ul>..<li>Neit
21070 68 65 72 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74  her the <b>Point
21080 46 72 6f 6d 3c 2f 62 3e 20 6e 6f 72 20 74 68 65  From</b> nor the
21090 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20   <b>PointTo</b> 
210a0 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20  are required to 
210b0 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73 65 63  exactly intersec
210c0 74 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 2e  t a <b>Node</b>.
210d0 3c 62 72 3e 0d 0a 43 6f 6e 73 65 71 75 65 6e 74  <br>..Consequent
210e0 6c 79 20 74 68 65 20 3c 62 3e 66 69 72 73 74 3c  ly the <b>first<
210f0 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61 73 74 3c  /b> and <b>last<
21100 2f 62 3e 20 4c 69 6e 6b 73 20 6f 66 20 74 68 65  /b> Links of the
21110 20 6f 76 65 72 61 6c 6c 20 50 6f 69 6e 74 2d 74   overall Point-t
21120 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e  o-Point Solution
21130 20 63 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 70   could only be p
21140 61 72 74 69 61 6c 6c 79 20 69 6e 76 6f 6c 76 65  artially involve
21150 64 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69 72 74 75  d.<br>..In Virtu
21160 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72 67 6f 6e  alRouting jargon
21170 20 74 68 65 73 65 20 74 77 6f 20 3c 75 3e 3c 69   these two <u><i
21180 3e 73 70 65 63 69 61 6c 20 69 74 65 6d 73 3c 2f  >special items</
21190 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65 73 70 65  i></u> are respe
211a0 63 74 69 76 65 6c 79 20 63 61 6c 6c 65 64 3a 0d  ctively called:.
211b0 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61  .<ul>..<li><b>Pa
211c0 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72  rtial Link (Star
211d0 74 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  t)</b></li>..<li
211e0 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b  ><b>Partial Link
211f0 20 28 45 6e 64 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d   (End)</b></li>.
21200 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c 6c  .</ul></li> ..<l
21210 69 3e 42 6f 74 68 20 74 68 65 20 3c 62 3e 50 6f  i>Both the <b>Po
21220 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20  intFrom</b> and 
21230 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f  the <b>PointTo</
21240 62 3e 20 63 61 6e 20 6c 65 67 69 74 69 6d 61 74  b> can legitimat
21250 65 6c 79 20 68 61 76 65 20 62 65 65 6e 20 61 74  ely have been at
21260 20 61 6e 79 20 61 72 62 69 74 72 61 72 79 20 70   any arbitrary p
21270 6f 73 69 74 69 6f 6e 20 61 6e 64 20 61 72 65 20  osition and are 
21280 6e 65 76 65 72 20 72 65 71 75 69 72 65 64 20 74  never required t
21290 6f 20 65 78 61 63 74 6c 79 20 69 6e 74 65 72 73  o exactly inters
212a0 65 63 74 20 61 20 3c 62 3e 4c 69 6e 6b 3c 2f 62  ect a <b>Link</b
212b0 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 63 61 6e  >.<br>..This can
212c0 20 65 61 73 69 6c 79 20 69 6d 70 6c 79 20 74 68   easily imply th
212d0 61 74 20 61 6e 20 3c 75 3e 3c 69 3e 65 78 74 72  at an <u><i>extr
212e0 61 20 73 68 6f 72 74 20 6c 65 67 3c 2f 69 3e 3c  a short leg</i><
212f0 2f 75 3e 20 63 6f 75 6c 64 20 62 65 20 72 65 71  /u> could be req
21300 75 69 72 65 64 20 69 6e 20 6f 72 64 65 72 20 74  uired in order t
21310 6f 20 63 6f 6e 6e 65 63 74 20 74 68 65 20 46 72  o connect the Fr
21320 6f 6d 2f 54 6f 20 50 6f 69 6e 74 73 20 74 6f 20  om/To Points to 
21330 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
21340 67 20 4c 69 6e 6b 73 2e 3c 62 72 3e 0d 0a 49 6e  g Links.<br>..In
21350 20 56 69 72 75 74 61 6c 52 6f 75 74 69 6e 67 20   VirutalRouting 
21360 6a 61 72 67 6f 6e 20 74 68 65 73 65 20 74 77 6f  jargon these two
21370 20 3c 75 3e 3c 69 3e 73 70 65 63 69 61 6c 20 69   <u><i>special i
21380 74 65 6d 73 3c 2f 69 3e 3c 2f 75 3e 20 61 72 65  tems</i></u> are
21390 20 72 65 73 70 65 63 74 69 76 65 6c 79 20 63 61   respectively ca
213a0 6c 6c 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  lled:..<ul>..<li
213b0 3e 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 74 68  ><b>Ingress Path
213c0 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  </b></li>..<li><
213d0 62 3e 45 67 72 65 73 73 20 50 61 74 68 3c 2f 62  b>Egress Path</b
213e0 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  ></li>..</ul></l
213f0 69 3e 20 0d 0a 3c 6c 69 3e 3c 75 3e 4e 6f 74 65  i> ..<li><u>Note
21400 3c 2f 75 3e 3a 20 6e 6f 6e 65 20 6f 66 20 74 68  </u>: none of th
21410 65 6d 20 61 72 65 20 73 74 72 69 63 74 6c 79 20  em are strictly 
21420 6d 61 6e 64 61 74 6f 72 79 20 69 74 65 6d 73 3a  mandatory items:
21430 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20  ..<ul>..<li>the 
21440 3c 62 3e 49 6e 67 72 65 73 73 3c 2f 62 3e 20 61  <b>Ingress</b> a
21450 6e 64 2f 6f 72 20 3c 62 3e 45 67 72 65 73 73 20  nd/or <b>Egress 
21460 50 61 74 68 73 3c 2f 62 3e 20 61 72 65 20 6e 6f  Paths</b> are no
21470 74 20 72 65 71 75 69 72 65 64 20 77 68 65 6e 20  t required when 
21480 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
21490 67 20 50 6f 69 6e 74 20 65 78 61 63 74 6c 79 20  g Point exactly 
214a0 69 6e 74 65 72 73 65 63 74 73 20 61 20 4c 69 6e  intersects a Lin
214b0 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  k.</li>..<li><b>
214c0 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 3c 2f 62  Partial Links</b
214d0 3e 20 28 65 69 74 68 65 72 20 3c 62 3e 28 53 74  > (either <b>(St
214e0 61 72 74 29 3c 2f 62 3e 20 6f 72 20 3c 62 3e 28  art)</b> or <b>(
214f0 45 6e 64 29 3c 2f 62 3e 29 20 61 72 65 20 6e 65  End)</b>) are ne
21500 76 65 72 20 72 65 71 75 69 72 65 64 20 77 68 65  ver required whe
21510 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64  n the correspond
21520 69 6e 67 20 50 6f 69 6e 74 20 65 78 61 63 74 6c  ing Point exactl
21530 79 20 6d 61 74 63 68 65 73 20 61 20 4e 6f 64 65  y matches a Node
21540 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  .</li>..</ul></l
21550 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e  i>..</ul>..</td>
21560 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73 72 63  ..<td>..<img src
21570 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61  ="https://www.ga
21580 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73  ia-gis.it/gaia-s
21590 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73  ins/routing-figs
215a0 2f 70 32 70 2d 73 74 72 75 63 74 2e 70 6e 67 22  /p2p-struct.png"
215b0 20 61 6c 74 3d 22 70 32 70 2d 73 74 72 75 63 74   alt="p2p-struct
215c0 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  ">..</td></tr>..
215d0 3c 74 72 3e 3c 74 64 3e 0d 0a 41 20 6d 6f 72 65  <tr><td>..A more
215e0 20 63 6f 6d 70 72 65 68 65 6e 73 69 76 65 20 61   comprehensive a
215f0 6e 64 20 64 65 74 61 69 6c 65 64 20 65 78 70 6c  nd detailed expl
21600 61 6e 61 74 69 6f 6e 20 62 61 73 65 64 20 6f 6e  anation based on
21610 20 74 68 65 20 73 69 64 65 20 66 69 67 75 72 65   the side figure
21620 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
21630 4c 31 3c 2f 62 3e 20 69 73 20 61 20 4c 69 6e 6b  L1</b> is a Link
21640 20 63 6f 6e 6e 65 63 74 69 6e 67 20 4e 6f 64 65   connecting Node
21650 73 20 3c 62 3e 4e 31 3c 2f 62 3e 20 61 6e 64 20  s <b>N1</b> and 
21660 3c 62 3e 4e 32 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d  <b>N2</b>.</li>.
21670 0a 3c 6c 69 3e 3c 62 3e 50 74 3c 2f 62 3e 20 69  .<li><b>Pt</b> i
21680 73 20 6f 6e 65 20 62 65 74 77 65 65 6e 20 50 6f  s one between Po
21690 69 6e 74 46 72 6f 6d 20 6f 72 20 50 6f 69 6e 74  intFrom or Point
216a0 54 6f 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  To.</li>..</ul>.
216b0 0a 3c 62 72 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69  .<br>..<ol>..<li
216c0 3e 54 68 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  >The Point-to-Po
216d0 69 6e 74 20 69 6e 74 65 72 6e 61 6c 20 6c 6f 67  int internal log
216e0 69 63 20 77 69 6c 6c 20 73 74 61 72 74 20 62 79  ic will start by
216f0 20 69 64 65 6e 74 69 66 79 69 6e 67 20 3c 62 3e   identifying <b>
21700 69 3c 2f 62 3e 2c 0d 0a 74 68 61 74 20 69 73 20  i</b>,..that is 
21710 74 68 65 20 50 6f 69 6e 74 20 69 6e 74 65 72 73  the Point inters
21720 65 63 74 69 6e 67 20 3c 62 3e 4c 31 3c 2f 62 3e  ecting <b>L1</b>
21730 20 61 6e 64 20 70 72 65 73 65 6e 74 69 6e 67 20   and presenting 
21740 74 68 65 20 6d 69 6e 69 6d 75 6d 20 64 69 73 74  the minimum dist
21750 61 6e 63 65 20 62 65 74 77 65 65 6e 20 74 68 65  ance between the
21760 20 4c 69 6e 6b 20 61 6e 64 20 3c 62 3e 50 74 3c   Link and <b>Pt<
21770 2f 62 3e 0d 0a 28 63 6f 72 72 65 73 70 6f 6e 64  /b>..(correspond
21780 69 6e 67 20 74 6f 20 74 68 65 20 72 65 73 75 6c  ing to the resul
21790 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 63 61  t returned by ca
217a0 6c 6c 69 6e 67 20 74 68 65 20 3c 62 3e 53 54 5f  lling the <b>ST_
217b0 4c 69 6e 65 5f 4c 6f 63 61 74 65 5f 50 6f 69 6e  Line_Locate_Poin
217c0 74 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63  t()</b> SQL func
217d0 74 69 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  tion).</li>..<li
217e0 3e 4e 6f 77 20 74 68 65 20 4c 69 6e 6b 20 3c 62  >Now the Link <b
217f0 3e 4c 31 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20  >L1</b> will be 
21800 73 70 6c 69 74 20 69 6e 20 74 77 6f 20 68 61 6c  split in two hal
21810 76 65 73 20 3c 62 3e 4c 31 2d 61 3c 2f 62 3e 20  ves <b>L1-a</b> 
21820 61 6e 64 20 3c 62 3e 4c 31 2d 62 3c 2f 62 3e 20  and <b>L1-b</b> 
21830 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74  accordingly to t
21840 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 3c  he position of <
21850 62 3e 69 3c 2f 62 3e 0d 0a 28 63 6f 72 72 65 73  b>i</b>..(corres
21860 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 72  ponding to the r
21870 65 73 75 6c 74 73 20 72 65 74 75 72 6e 65 64 20  esults returned 
21880 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 3c  by calling the <
21890 62 3e 53 54 5f 4c 69 6e 65 5f 53 75 62 73 74 72  b>ST_Line_Substr
218a0 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75  ing()</b> SQL fu
218b0 6e 63 74 69 6f 6e 29 2e 3c 62 72 3e 0d 0a 42 6f  nction).<br>..Bo
218c0 74 68 20 68 61 6c 76 65 73 20 77 69 6c 6c 20 6e  th halves will n
218d0 6f 77 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64  ow be considered
218e0 20 61 73 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e   as possible <b>
218f0 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 20 28 53  Partial Links (S
21900 74 61 72 74 29 20 63 61 6e 64 69 64 61 74 65 73  tart) candidates
21910 3c 2f 62 3e 20 6c 65 61 64 69 6e 67 20 72 65 73  </b> leading res
21920 70 65 63 74 69 76 65 6c 79 20 74 6f 20 3c 62 3e  pectively to <b>
21930 4e 31 3c 2f 62 3e 20 6f 72 20 3c 62 3e 4e 32 3c  N1</b> or <b>N2<
21940 2f 62 3e 3b 0d 0a 64 69 72 65 63 74 69 6f 6e 73  /b>;..directions
21950 20 77 69 6c 6c 20 62 65 20 61 75 74 6f 6d 61 74   will be automat
21960 69 63 61 6c 6c 79 20 69 6e 76 65 72 74 65 64 20  ically inverted 
21970 61 73 20 72 65 71 75 69 72 65 64 2c 20 62 75 74  as required, but
21980 20 6f 6e 6c 79 20 69 66 20 74 68 65 72 65 20 61   only if there a
21990 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79  re no <b>one-way
219a0 3c 2f 62 3e 20 72 65 73 74 72 69 63 74 69 6f 6e  </b> restriction
219b0 73 2e 3c 62 72 3e 0d 0a 28 74 68 65 20 64 69 72  s.<br>..(the dir
219c0 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20  ections will be 
219d0 6f 62 76 69 6f 75 73 6c 79 20 69 6e 76 65 72 74  obviously invert
219e0 65 64 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f  ed in the case o
219f0 66 20 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e  f <b>Partial Lin
21a00 6b 73 20 28 45 6e 64 29 3c 2f 62 3e 20 2f 20 3c  ks (End)</b> / <
21a10 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 29 3c 2f 6c  b>NodeTo</b>)</l
21a20 69 3e 0d 0a 3c 6c 69 3e 41 6e 64 20 66 69 6e 61  i>..<li>And fina
21a30 6c 6c 79 20 61 20 73 74 72 61 69 67 68 74 20 73  lly a straight s
21a40 65 67 6d 65 6e 74 20 3c 62 3e 70 3c 2f 62 3e 20  egment <b>p</b> 
21a50 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 50 74  connecting <b>Pt
21a60 3c 2f 62 3e 20 74 6f 20 3c 62 3e 69 3c 2f 62 3e  </b> to <b>i</b>
21a70 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 74 72 75   will be constru
21a80 63 74 65 64 2e 0d 0a 53 6f 20 3c 62 3e 70 3c 2f  cted...So <b>p</
21a90 62 3e 20 65 78 61 63 74 6c 79 20 63 6f 72 72 65  b> exactly corre
21aa0 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c 62  sponds to the <b
21ab0 3e 49 6e 67 72 65 73 73 20 50 61 74 68 3c 2f 62  >Ingress Path</b
21ac0 3e 20 69 66 20 3c 62 3e 50 74 3c 2f 62 3e 20 69  > if <b>Pt</b> i
21ad0 73 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f  s <b>PointFrom</
21ae0 62 3e 2e 3c 62 72 3e 0d 0a 28 74 68 65 20 64 69  b>.<br>..(the di
21af0 72 65 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62  rection should b
21b00 65 20 6f 62 76 69 6f 75 73 6c 79 20 69 6e 76 65  e obviously inve
21b10 72 74 65 64 20 69 6e 20 74 68 65 20 63 61 73 65  rted in the case
21b20 20 6f 66 20 74 68 65 20 3c 62 3e 45 67 72 65 73   of the <b>Egres
21b30 73 20 50 61 74 68 3c 2f 62 3e 20 2f 20 3c 62 3e  s Path</b> / <b>
21b40 50 6f 69 6e 74 54 6f 3c 2f 62 3e 29 3c 2f 6c 69  PointTo</b>)</li
21b50 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 0d  >..</ol>..</td>.
21b60 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d  .<td>..<img src=
21b70 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
21b80 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69  a-gis.it/gaia-si
21b90 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f  ns/routing-figs/
21ba0 73 70 6c 69 74 2d 6c 69 6e 6b 2e 70 6e 67 22 20  split-link.png" 
21bb0 61 6c 74 3d 22 70 32 70 2d 73 74 72 75 63 74 22  alt="p2p-struct"
21bc0 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c  >..</td></tr>..<
21bd0 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c  /table>..<br>..<
21be0 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
21bf0 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63  ffb060" cellspac
21c00 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
21c10 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
21c20 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3c 2f  >..<h3>Warning</
21c30 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52 6f 75 74  h3>..VirtualRout
21c40 69 6e 67 20 77 68 65 6e 20 73 6f 6c 76 69 6e 67  ing when solving
21c50 20 61 20 50 6f 69 6e 74 2d 74 6f 2d 50 72 6f 62   a Point-to-Prob
21c60 6c 65 6d 20 72 65 71 75 69 72 65 73 20 61 20 70  lem requires a p
21c70 72 65 63 69 73 65 20 65 73 74 69 6d 61 74 69 6f  recise estimatio
21c80 6e 20 6f 66 20 3c 62 3e 43 6f 73 74 73 3c 2f 62  n of <b>Costs</b
21c90 3e 20 72 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e  > related to <b>
21ca0 49 6e 67 72 65 73 73 3c 2f 62 3e 20 61 6e 64 20  Ingress</b> and 
21cb0 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68 73 3c  <b>Egress Paths<
21cc0 2f 62 3e 20 61 6e 64 20 74 6f 20 3c 62 3e 50 61  /b> and to <b>Pa
21cd0 72 74 69 61 6c 20 4c 69 6e 6b 73 3c 2f 62 3e 2e  rtial Links</b>.
21ce0 3c 62 72 3e 0d 0a 42 75 74 20 56 69 72 74 75 61  <br>..But Virtua
21cf0 6c 52 6f 75 74 69 6e 67 20 69 73 20 63 6f 6d 70  lRouting is comp
21d00 6c 65 74 65 6c 79 20 75 6e 61 62 6c 65 20 74 6f  letely unable to
21d10 20 63 6f 6d 70 75 74 65 20 63 6f 6d 70 6c 65 78   compute complex
21d20 20 28 61 6e 64 20 75 6e 73 70 65 63 69 66 69 65   (and unspecifie
21d30 64 29 20 43 6f 73 74 20 66 6f 72 6d 75 6c 61 73  d) Cost formulas
21d40 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74  , and consequent
21d50 6c 79 20 69 74 20 77 69 6c 6c 20 73 69 6d 70 6c  ly it will simpl
21d60 79 20 61 73 73 75 6d 65 20 61 20 43 6f 73 74 20  y assume a Cost 
21d70 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f  corresponding to
21d80 20 74 68 65 20 47 65 6f 6d 65 74 72 69 63 20 4c   the Geometric L
21d90 65 6e 67 74 68 20 6f 66 20 73 75 63 68 20 69 74  ength of such it
21da0 65 6d 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62  ems.<br><br>..<b
21db0 3e 43 6f 6e 63 6c 75 73 69 6f 6e 3c 2f 62 3e 3a  >Conclusion</b>:
21dc0 20 6f 6e 6c 79 20 4e 65 74 77 6f 72 6b 73 20 62   only Networks b
21dd0 61 73 65 64 20 6f 6e 20 3c 62 3e 43 6f 73 74 73  ased on <b>Costs
21de0 3c 2f 62 3e 20 63 6f 72 72 65 73 70 6f 6e 64 69  </b> correspondi
21df0 6e 67 20 74 6f 20 3c 62 3e 47 65 6f 6d 65 74 72  ng to <b>Geometr
21e00 69 63 20 4c 65 6e 67 74 68 73 3c 2f 62 3e 20 63  ic Lengths</b> c
21e10 61 6e 20 65 66 66 65 63 74 69 76 65 6c 79 20 73  an effectively s
21e20 75 70 70 6f 72 74 20 50 6f 69 6e 74 2d 74 6f 2d  upport Point-to-
21e30 50 6f 69 6e 74 20 71 75 65 72 69 65 73 2e 3c 62  Point queries.<b
21e40 72 3e 0d 0a 41 6e 79 20 64 69 66 66 65 72 65 6e  r>..Any differen
21e50 74 20 4e 65 74 77 6f 72 6b 20 63 6f 6e 66 69 67  t Network config
21e60 75 72 61 74 69 6f 6e 20 77 69 6c 6c 20 73 75 72  uration will sur
21e70 65 6c 79 20 6c 65 61 64 20 74 6f 20 77 72 6f 6e  ely lead to wron
21e80 67 20 61 6e 64 20 69 6e 63 6f 6e 73 69 73 74 65  g and inconsiste
21e90 6e 74 20 72 65 73 75 6c 74 73 2e 0d 0a 3c 62 72  nt results...<br
21ea0 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  ><br>..</td></tr
21eb0 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c  ></table>..<br><
21ec0 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20 65  br>..Let's now e
21ed0 78 61 6d 69 6e 65 20 61 20 70 72 61 63 74 69 63  xamine a practic
21ee0 61 6c 20 65 78 61 6d 70 6c 65 20 6f 66 20 50 6f  al example of Po
21ef0 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f 6c  int-to-Point sol
21f00 76 69 6e 67 20 75 73 69 6e 67 20 56 69 72 74 75  ving using Virtu
21f10 61 6c 52 6f 75 74 69 6e 67 2e 0d 0a 3c 76 65 72  alRouting...<ver
21f20 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41  batim>..SELECT A
21f30 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73  lgorithm, Reques
21f40 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74  t, Options, Rout
21f50 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52  eId, RouteRow, R
21f60 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20  ole, LinkRowid, 
21f70 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f  NodeFrom, NodeTo
21f80 2c 20 50 6f 69 6e 74 46 72 6f 6d 2c 20 50 6f 69  , PointFrom, Poi
21f90 6e 74 54 6f 2c 20 54 6f 6c 65 72 61 6e 63 65 2c  ntTo, Tolerance,
21fa0 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
21fb0 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f   Name..FROM byfo
21fc0 6f 74 0d 0a 57 48 45 52 45 20 50 6f 69 6e 74 46  ot..WHERE PointF
21fd0 72 6f 6d 20 3d 20 28 53 45 4c 45 43 54 20 67 65  rom = (SELECT ge
21fe0 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72  om FROM house_nr
21ff0 5f 76 77 20 57 48 45 52 45 20 6d 75 6e 69 63 69  _vw WHERE munici
22000 70 61 6c 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f  pality = 'AREZZO
22010 27 20 41 4e 44 20 61 64 64 72 65 73 73 20 3d 20  ' AND address = 
22020 27 56 49 41 20 44 45 27 27 20 43 45 4e 43 49 20  'VIA DE'' CENCI 
22030 31 33 27 29 0d 0a 20 20 20 20 41 4e 44 20 50 6f  13')..    AND Po
22040 69 6e 74 54 6f 20 3d 20 28 53 45 4c 45 43 54 20  intTo = (SELECT 
22050 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f  geom FROM house_
22060 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e 69  nr_vw WHERE muni
22070 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45 5a  cipality = 'AREZ
22080 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73 20  ZO' AND address 
22090 3d 20 27 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47  = 'VIA ANTONIO G
220a0 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 42 27 29  UADAGNOLI 19/B')
220b0 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  ;..</verbatim>..
220c0 41 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f  A <b>Point-to-Po
220d0 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79 20 68 61  int</b> query ha
220e0 73 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 20  s the same form 
220f0 6f 66 20 61 20 3c 62 3e 73 69 6e 67 6c 65 2d 64  of a <b>single-d
22100 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74  estination Short
22110 65 73 74 20 50 61 74 68 3c 2f 62 3e 20 71 75 65  est Path</b> que
22120 72 79 2c 20 65 78 63 65 70 74 20 74 68 61 74 20  ry, except that 
22130 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
22140 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  and <b>NodeTo</b
22150 3e 20 61 72 65 20 6e 6f 77 20 72 65 70 6c 61 63  > are now replac
22160 65 64 20 62 79 20 3c 62 3e 50 6f 69 6e 74 46 72  ed by <b>PointFr
22170 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 50 6f  om</b> and <b>Po
22180 69 6e 74 54 6f 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  intTo</b>.<br>..
22190 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 65  <u>Note</u>: the
221a0 20 73 61 6d 70 6c 65 20 44 42 2d 66 69 6c 65 20   sample DB-file 
221b0 73 75 70 70 6f 72 74 73 20 3c 62 3e 48 6f 75 73  supports <b>Hous
221c0 65 20 4e 75 6d 62 65 72 73 3c 2f 62 3e 2c 20 73  e Numbers</b>, s
221d0 6f 20 79 6f 75 20 63 61 6e 20 64 69 72 65 63 74  o you can direct
221e0 6c 79 20 75 73 65 20 48 6f 75 73 65 20 4e 75 6d  ly use House Num
221f0 62 65 72 20 63 6f 6f 72 64 69 6e 61 74 65 73 20  ber coordinates 
22200 61 73 20 72 65 66 65 72 65 6e 63 65 20 50 6f 69  as reference Poi
22210 6e 74 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  nts...<br><br>..
22220 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61  The following ta
22230 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65  ble shows the re
22240 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64  sultset returned
22250 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 50 6f   by the above Po
22260 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65  int-to-Point que
22270 72 79 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61  ry.<br><br>..<ta
22280 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62  ble border="1" b
22290 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22  gcolor="#ffffcf"
222a0 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
222b0 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
222c0 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c  >..<tr><th bgcol
222d0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67  or="#d0d0a0">Alg
222e0 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62  orithm</th><th b
222f0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
22300 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68  >Request</th><th
22310 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
22320 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c  0">Options</th><
22330 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
22340 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68  0a0">RouteId</th
22350 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
22360 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
22370 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
22380 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
22390 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
223a0 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
223b0 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
223c0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
223d0 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
223e0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
223f0 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
22400 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
22410 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c  >PointFrom</th><
22420 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
22430 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68  0a0">PointTo</th
22440 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
22450 30 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65  0d0a0">Tolerance
22460 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
22470 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c  ="#d0d0a0">Cost<
22480 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
22490 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74  "#d0d0a0">Geomet
224a0 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ry</th><th bgcol
224b0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d  or="#d0d0a0">Nam
224c0 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  e</th></tr>..<tr
224d0 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c  >..<td>Dijkstra<
224e0 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f  /td><td>Point2Po
224f0 69 6e 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64  int Path</td><td
22500 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Full</td><td al
22510 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
22520 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22530 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 50 6f  ht">0</td><td>Po
22540 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c 75 74 69  int2Point Soluti
22550 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  on</td><td>NULL<
22560 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22570 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22580 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 20 47 45 4f  d>BLOB sz=68 GEO
22590 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 42 4c  METRY</td><td>BL
225a0 4f 42 20 73 7a 3d 36 38 20 47 45 4f 4d 45 54 52  OB sz=68 GEOMETR
225b0 59 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  Y</td><td align=
225c0 22 72 69 67 68 74 22 3e 32 30 2e 30 30 30 30 30  "right">20.00000
225d0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
225e0 22 72 69 67 68 74 22 3e 36 35 32 2e 38 31 35 31  "right">652.8151
225f0 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  39</td><td>BLOB 
22600 73 7a 3d 31 35 35 32 20 47 45 4f 4d 45 54 52 59  sz=1552 GEOMETRY
22610 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22620 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
22630 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
22640 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22650 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
22660 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
22670 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22680 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 49 6e 67 72  ">1</td><td>Ingr
22690 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64  ess Path</td><td
226a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
226b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
226c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
226d0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
226e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
226f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33  lign="right">2.3
22700 30 31 36 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  01687</td><td>NU
22710 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22720 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
22730 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
22740 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22750 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
22760 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
22770 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22780 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 50 61  ht">2</td><td>Pa
22790 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72  rtial Link (Star
227a0 74 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  t)</td><td align
227b0 3d 22 72 69 67 68 74 22 3e 32 32 34 32 36 34 3c  ="right">224264<
227c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
227d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
227e0 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74  t">182630</td><t
227f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22800 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22810 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22820 72 69 67 68 74 22 3e 34 36 2e 30 38 32 37 36 31  right">46.082761
22830 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22840 64 3e 3c 74 64 3e 56 49 41 20 44 45 27 20 43 45  d><td>VIA DE' CE
22850 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  NCI</td>..</tr>.
22860 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
22870 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22880 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22890 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
228a0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
228b0 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
228c0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
228d0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33  lign="right">223
228e0 37 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  758</td><td alig
228f0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 33 30  n="right">182630
22900 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22910 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74  right">182629</t
22920 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22930 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22940 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
22950 67 6e 3d 22 72 69 67 68 74 22 3e 32 34 2e 31 39  gn="right">24.19
22960 38 31 31 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  8115</td><td>NUL
22970 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20  L</td><td>CORSO 
22980 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74  ITALIA</td>..</t
22990 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
229a0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
229b0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
229c0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
229d0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">0</td><td ali
229e0 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
229f0 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
22a00 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22a10 32 32 35 35 31 32 3c 2f 74 64 3e 3c 74 64 20 61  225512</td><td a
22a20 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
22a30 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  629</td><td alig
22a40 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33  n="right">182933
22a50 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22a60 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22a70 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
22a80 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 34  align="right">34
22a90 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e  .184194</td><td>
22aa0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52  NULL</td><td>COR
22ab0 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a  SO ITALIA</td>..
22ac0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
22ad0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22ae0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22af0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22b00 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
22b10 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c  align="right">5<
22b20 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
22b30 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22b40 74 22 3e 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74  t">225511</td><t
22b50 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22b60 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61  182933</td><td a
22b70 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
22b80 39 39 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  999</td><td>NULL
22b90 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22ba0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22bb0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22bc0 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74 64 3e 3c  >49.241735</td><
22bd0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22be0 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64  CORSO ITALIA</td
22bf0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
22c00 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22c10 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22c20 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
22c30 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
22c40 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22c50 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >6</td><td>Link<
22c60 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22c70 69 67 68 74 22 3e 32 32 32 36 33 35 3c 2f 74 64  ight">222635</td
22c80 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22c90 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
22ca0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22cb0 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 3e 4e  181998</td><td>N
22cc0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22cd0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22ce0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22cf0 68 74 22 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f  ht">101.629750</
22d00 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22d10 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41  <td>CORSO ITALIA
22d20 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
22d30 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
22d40 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22d50 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
22d60 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
22d70 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22d80 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">7</td><td>L
22d90 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
22da0 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 37 38 30  n="right">224780
22db0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22dc0 72 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f 74  right">181998</t
22dd0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22de0 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c  ht">183560</td><
22df0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22e00 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22e10 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
22e20 22 72 69 67 68 74 22 3e 37 33 2e 37 33 33 35 37  "right">73.73357
22e30 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  2</td><td>NULL</
22e40 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27  td><td>VIA DELL'
22e50 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d  ANFITEATRO</td>.
22e60 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
22e70 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22e80 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22e90 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22ea0 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
22eb0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38   align="right">8
22ec0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
22ed0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22ee0 68 74 22 3e 32 32 35 38 32 37 3c 2f 74 64 3e 3c  ht">225827</td><
22ef0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22f00 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20  >183560</td><td 
22f10 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
22f20 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  3286</td><td>NUL
22f30 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22f40 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22f50 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22f60 22 3e 34 32 2e 33 30 39 35 36 34 3c 2f 74 64 3e  ">42.309564</td>
22f70 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22f80 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49 54 45  >VIA DELL'ANFITE
22f90 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ATRO</td>..</tr>
22fa0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
22fb0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22fc0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22fd0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22fe0 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >0</td><td align
22ff0 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c  ="right">9</td><
23000 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
23010 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
23020 34 38 39 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4897</td><td ali
23030 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
23040 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
23050 22 72 69 67 68 74 22 3e 31 38 33 31 32 38 3c 2f  "right">183128</
23060 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23070 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
23080 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
23090 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 32 2e 34  ign="right">72.4
230a0 34 34 36 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  44609</td><td>NU
230b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
230c0 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d  ARGARITONE</td>.
230d0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
230e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
230f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
23100 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
23110 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
23120 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
23130 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  0</td><td>Link</
23140 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
23150 67 68 74 22 3e 32 32 34 32 33 32 3c 2f 74 64 3e  ght">224232</td>
23160 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
23170 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64  ">183128</td><td
23180 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
23190 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55  82890</td><td>NU
231a0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
231b0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
231c0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
231d0 74 22 3e 31 30 33 2e 36 31 32 32 32 31 3c 2f 74  t">103.612221</t
231e0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
231f0 74 64 3e 56 49 41 20 4e 49 43 43 4f 4c 4f 27 20  td>VIA NICCOLO' 
23200 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ARETINO</td>..</
23210 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
23220 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
23230 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
23240 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
23250 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
23260 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f  ign="right">11</
23270 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c  td><td>Partial L
23280 69 6e 6b 20 28 45 6e 64 29 3c 2f 74 64 3e 3c 74  ink (End)</td><t
23290 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
232a0 32 32 34 30 31 39 3c 2f 74 64 3e 3c 74 64 20 61  224019</td><td a
232b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
232c0 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  890</td><td>NULL
232d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
232e0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
232f0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74  td>NULL</td>..<t
23300 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
23310 39 35 2e 37 36 30 32 32 32 3c 2f 74 64 3e 3c 74  95.760222</td><t
23320 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
23330 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41  IA ANTONIO GUADA
23340 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  GNOLI</td>..</tr
23350 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
23360 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
23370 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23380 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
23390 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
233a0 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 64  n="right">12</td
233b0 3e 3c 74 64 3e 45 67 72 65 73 73 20 50 61 74 68  ><td>Egress Path
233c0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
233d0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
233e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
233f0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23400 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
23410 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
23420 67 68 74 22 3e 37 2e 33 31 36 37 30 39 3c 2f 74  ght">7.316709</t
23430 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
23440 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
23450 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
23460 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20 71  br>..Let's now q
23470 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74  uickly examine t
23480 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74  he resultset ret
23490 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f  urned by the abo
234a0 76 65 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50  ve <b>Point-to-P
234b0 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79 3a 0d  oint</b> query:.
234c0 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67  .<ul>..<li>the g
234d0 65 6e 65 72 61 6c 20 6c 61 79 6f 75 74 20 69 73  eneral layout is
234e0 20 61 6c 6d 6f 73 74 20 65 78 61 63 74 6c 79 20   almost exactly 
234f0 74 68 65 20 73 61 6d 65 20 61 73 20 79 6f 75 27  the same as you'
23500 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20  ve already seen 
23510 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 53  in the case of S
23520 68 6f 72 74 65 73 74 50 61 74 68 20 71 75 65 72  hortestPath quer
23530 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69  ies.</li>..<li>i
23540 6e 20 74 68 65 20 73 70 65 63 69 66 69 63 20 63  n the specific c
23550 61 73 65 20 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d  ase of Point-to-
23560 50 6f 69 6e 74 20 74 68 65 20 3c 62 3e 66 69 72  Point the <b>fir
23570 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 68  st row</b> of th
23580 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c  e resultset will
23590 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 20   always contain 
235a0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 73 20 3c  the followings <
235b0 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 63  b>NOT NULL</b> c
235c0 6f 6c 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  olumns:..<ul>..<
235d0 6c 69 3e 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  li><b>NodeFrom</
235e0 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f  b> and <b>NodeTo
235f0 3c 2f 62 3e 3a 20 74 68 65 20 74 77 6f 20 47 65  </b>: the two Ge
23600 6f 6d 65 74 72 69 65 73 20 64 65 66 69 6e 69 6e  ometries definin
23610 67 20 74 68 65 20 3c 75 3e 3c 69 3e 6f 72 69 67  g the <u><i>orig
23620 69 6e 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 3c  in</i></u> and <
23630 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e  u><i>destination
23640 3c 2f 69 3e 3c 2f 75 3e 20 50 6f 69 6e 74 73 2e  </i></u> Points.
23650 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 6f  </li>..<li><b>To
23660 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68 65  lerance</b>: the
23670 20 6d 61 78 69 6d 75 6d 20 64 69 73 74 61 6e 63   maximum distanc
23680 65 20 61 6c 6c 6f 77 65 64 20 62 65 74 77 65 65  e allowed betwee
23690 6e 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 64  n the referenced
236a0 20 50 6f 69 6e 74 73 20 61 6e 64 20 43 61 6e 64   Points and Cand
236b0 69 64 61 74 65 20 4c 69 6e 6b 73 2e 3c 2f 6c 69  idate Links.</li
236c0 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
236d0 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f  li>the <b>Role</
236e0 62 3e 20 63 6f 6c 75 6d 6e 20 63 61 6e 20 61 73  b> column can as
236f0 73 75 6d 65 20 6f 6e 65 20 6f 66 20 74 68 65 20  sume one of the 
23700 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73  following values
23710 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
23720 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c 75  Point2Point Solu
23730 74 69 6f 6e 3c 2f 62 3e 3a 20 74 68 65 20 68 65  tion</b>: the he
23740 61 64 65 72 20 72 6f 77 20 73 75 6d 6d 61 72 69  ader row summari
23750 7a 69 6e 67 20 74 68 65 20 53 6f 6c 75 74 69 6f  zing the Solutio
23760 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e 0d 0a 3c  n as a whole...<
23770 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 6f 69 6e  ul>..<li><b>Poin
23780 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f  tFrom</b>, <b>Po
23790 69 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62  intTo</b> and <b
237a0 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 20 63  >Tolerance</b> c
237b0 6f 6c 75 6d 6e 73 20 77 69 6c 6c 20 68 61 76 65  olumns will have
237c0 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e   <b>NOT NULL</b>
237d0 20 76 61 6c 75 65 73 20 6f 6e 6c 79 20 69 6e 20   values only in 
237e0 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 2e 3c  the header row.<
237f0 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
23800 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e 67 72 65 73 73  ..<li><b>Ingress
23810 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20 73 74 72   Path</b>: a str
23820 61 69 67 68 74 20 73 65 67 6d 65 6e 74 20 63 6f  aight segment co
23830 6e 6e 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69  nnecting the Ori
23840 67 69 6e 20 50 6f 69 6e 74 20 74 6f 20 74 68 65  gin Point to the
23850 20 66 69 72 73 74 20 4c 69 6e 6b 2e 3c 2f 6c 69   first Link.</li
23860 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72 65 73 73  >..<li><b>Egress
23870 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20 73 74 72   Path</b>: a str
23880 61 69 67 68 74 20 73 65 67 6d 65 6e 74 20 63 6f  aight segment co
23890 6e 6e 65 63 74 69 6e 67 20 74 68 65 20 6c 61 73  nnecting the las
238a0 74 20 4c 69 6e 6b 20 74 6f 20 74 68 65 20 44 65  t Link to the De
238b0 73 74 69 6e 61 74 69 6f 6e 20 50 6f 69 6e 74 2e  stination Point.
238c0 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 62 6f 74 68  ..<ul>..<li>both
238d0 20 74 68 65 20 49 6e 67 72 65 73 73 20 61 6e 64   the Ingress and
238e0 20 74 68 65 20 45 67 72 65 73 73 20 50 61 74 68   the Egress Path
238f0 20 72 6f 77 73 20 77 69 6c 6c 20 61 6c 77 61 79   rows will alway
23900 73 20 68 61 76 65 20 3c 62 3e 4e 55 4c 4c 3c 2f  s have <b>NULL</
23910 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20 3c 62 3e  b> values on <b>
23920 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e 2c 20 3c  LinkRowid</b>, <
23930 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61  b>NodeFrom</b> a
23940 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e  nd <b>NodeTo</b>
23950 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a   columns.</li>..
23960 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </ul></li>..<li>
23970 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20  <b>Partial Link 
23980 28 53 74 61 72 74 29 3c 2f 62 3e 3a 20 74 68 65  (Start)</b>: the
23990 20 70 61 72 74 69 61 6c 20 73 65 63 74 69 6f 6e   partial section
239a0 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 4c 69   of the first Li
239b0 6e 6b 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74  nk...<ul>..<li>t
239c0 68 69 73 20 73 70 65 63 69 66 69 63 20 72 6f 77  his specific row
239d0 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 61 76   will always hav
239e0 65 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20  e a <b>NULL</b> 
239f0 76 61 6c 75 65 20 6f 6e 20 74 68 65 20 3c 62 3e  value on the <b>
23a00 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 63 6f 6c  NodeFrom</b> col
23a10 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  umn.</li>..</ul>
23a20 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61  </li>..<li><b>Pa
23a30 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 29  rtial Link (End)
23a40 3c 2f 62 3e 3a 20 74 68 65 20 70 61 72 74 69 61  </b>: the partia
23a50 6c 20 73 65 63 74 69 6f 6e 20 6f 66 20 74 68 65  l section of the
23a60 20 6c 61 73 74 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c   last Link...<ul
23a70 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 73 70 65 63  >..<li>this spec
23a80 69 66 69 63 20 72 6f 77 20 77 69 6c 6c 20 61 6c  ific row will al
23a90 77 61 79 73 20 68 61 76 65 20 61 20 3c 62 3e 4e  ways have a <b>N
23aa0 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 20 6f 6e  ULL</b> value on
23ab0 20 74 68 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f   the <b>NodeTo</
23ac0 62 3e 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d  b> column.</li>.
23ad0 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  .</ul></li>..<li
23ae0 3e 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 3a 20 61 6e  ><b>Link</b>: an
23af0 79 20 6f 74 68 65 72 20 4c 69 6e 6b 20 72 65 71  y other Link req
23b00 75 69 72 65 64 20 62 79 20 74 68 65 20 50 6f 69  uired by the Poi
23b10 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75  nt-to-Point Solu
23b20 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  tion...<ul>..<li
23b30 3e 61 6c 6c 20 74 68 65 73 65 20 72 6f 77 73 20  >all these rows 
23b40 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 61 76 65  will always have
23b50 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e   <b>NOT NULL</b>
23b60 20 76 61 6c 75 65 73 20 6f 6e 20 3c 62 3e 4c 69   values on <b>Li
23b70 6e 6b 52 6f 77 69 64 3c 2f 62 3e 2c 20 3c 62 3e  nkRowid</b>, <b>
23b80 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64  NodeFrom</b> and
23b90 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63   <b>NodeTo</b> c
23ba0 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  olumns.</li>..</
23bb0 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  ul></li>..</ul><
23bc0 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  /li>..</ul>..<br
23bd0 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 50 6f  ><br><br>..<b>Po
23be0 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e  int-to-Point</b>
23bf0 20 71 75 65 72 69 65 73 20 63 61 6e 20 62 65 20   queries can be 
23c00 63 75 73 74 6f 6d 69 7a 65 64 2c 20 62 75 74 20  customized, but 
23c10 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  the configuratio
23c20 6e 20 72 75 6c 65 73 20 64 69 66 66 65 72 20 73  n rules differ s
23c30 6c 69 67 68 74 6c 79 20 66 72 6f 6d 20 77 68 61  lightly from wha
23c40 74 20 79 6f 75 20 68 61 76 65 20 61 6c 72 65 61  t you have alrea
23c50 64 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 70  dy seen in the p
23c60 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 73  revious examples
23c70 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  ...<ul>..<li><b>
23c80 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20 6f  Algorithm</b>: o
23c90 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61 3c  nly <b>Dijkstra<
23ca0 2f 62 3e 20 69 73 20 73 75 70 70 6f 72 74 65 64  /b> is supported
23cb0 20 62 79 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d   by <b>Point-to-
23cc0 50 6f 69 6e 74 3c 2f 62 3e 2c 20 61 6e 64 20 77  Point</b>, and w
23cd0 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63 69 74 6c  ill be implicitl
23ce0 79 20 61 73 73 75 6d 65 64 20 65 76 65 6e 20 77  y assumed even w
23cf0 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 74  hen the alternat
23d00 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c  ive <b>A*</b> al
23d10 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72 65  gorithm is curre
23d20 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 3c 62  ntly selected.<b
23d30 72 3e 0d 0a 54 68 69 73 20 69 73 20 62 65 63 61  r>..This is beca
23d40 75 73 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c  use the internal
23d50 20 6c 6f 67 69 63 20 6f 66 20 50 6f 69 6e 74 2d   logic of Point-
23d60 74 6f 2d 50 6f 69 6e 74 20 72 65 71 75 69 72 65  to-Point require
23d70 73 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74  s multi-destinat
23d80 69 6f 6e 20 71 75 65 72 69 65 73 20 69 6e 20 6f  ion queries in o
23d90 72 64 65 72 20 74 6f 20 65 76 61 6c 75 61 74 65  rder to evaluate
23da0 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 43 61   all possible Ca
23db0 6e 64 69 64 61 74 65 20 53 6f 6c 75 74 69 6f 6e  ndidate Solution
23dc0 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  s.</li>..<li><b>
23dd0 4f 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20 74 68 65  Options</b>: the
23de0 20 75 73 75 61 6c 20 3c 62 3e 46 55 4c 4c 3c 2f   usual <b>FULL</
23df0 62 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62  b>, <b>SIMPLE</b
23e00 3e 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f  >, <b>NO LINKS</
23e10 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f  b> and <b>NO GEO
23e20 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61 72 65 20  METRIES</b> are 
23e30 73 75 70 70 6f 72 74 65 64 20 61 6e 64 20 77 69  supported and wi
23e40 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65  ll have the same
23e50 20 65 66 66 65 63 74 20 61 73 20 69 6e 20 73 69   effect as in si
23e60 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ngle-destination
23e70 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a   queries.</li>..
23e80 3c 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61 6e 63 65  <li><b>Tolerance
23e90 3c 2f 62 3e 3a 20 74 68 69 73 20 73 65 74 74 69  </b>: this setti
23ea0 6e 67 20 69 73 20 73 70 65 63 69 66 69 63 20 74  ng is specific t
23eb0 6f 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  o Point-to-Point
23ec0 2c 20 61 6e 64 20 64 65 66 69 6e 65 73 20 74 68  , and defines th
23ed0 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 61  e maximum allowa
23ee0 62 6c 65 20 64 69 73 74 61 6e 63 65 20 62 65 74  ble distance bet
23ef0 77 65 65 6e 20 61 20 72 65 66 65 72 65 6e 63 65  ween a reference
23f00 20 50 6f 69 6e 74 20 61 6e 64 20 43 61 6e 64 69   Point and Candi
23f10 64 61 74 65 20 4c 69 6e 6b 73 2e 3c 62 72 3e 0d  date Links.<br>.
23f20 0a 49 74 20 64 65 66 61 75 6c 74 73 20 74 6f 20  .It defaults to 
23f30 3c 62 3e 32 30 2e 30 6d 3c 2f 62 3e 20 69 66 20  <b>20.0m</b> if 
23f40 6e 6f 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73  not explicitly s
23f50 65 74 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  et.</li>..</ul>.
23f60 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44  .<verbatim>..UPD
23f70 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f  ATE byfoot SET O
23f80 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 45 4f  ptions = 'NO GEO
23f90 4d 45 54 52 49 45 53 27 2c 20 54 6f 6c 65 72 61  METRIES', Tolera
23fa0 6e 63 65 20 3d 20 32 35 2e 35 3b 0d 0a 0d 0a 53  nce = 25.5;....S
23fb0 45 4c 45 43 54 20 52 65 71 75 65 73 74 2c 20 4f  ELECT Request, O
23fc0 70 74 69 6f 6e 73 2c 20 54 6f 6c 65 72 61 6e 63  ptions, Toleranc
23fd0 65 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c  e, RouteRow, Rol
23fe0 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f  e, LinkRowid, No
23ff0 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20  deFrom, NodeTo, 
24000 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20  Cost, Geometry, 
24010 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f  Name..FROM byfoo
24020 74 0d 0a 57 48 45 52 45 20 50 6f 69 6e 74 46 72  t..WHERE PointFr
24030 6f 6d 20 3d 20 28 53 45 4c 45 43 54 20 67 65 6f  om = (SELECT geo
24040 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f  m FROM house_nr_
24050 76 77 20 57 48 45 52 45 20 6d 75 6e 69 63 69 70  vw WHERE municip
24060 61 6c 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f 27  ality = 'AREZZO'
24070 20 41 4e 44 20 61 64 64 72 65 73 73 20 3d 20 27   AND address = '
24080 56 49 41 20 44 45 27 27 20 43 45 4e 43 49 20 31  VIA DE'' CENCI 1
24090 33 27 29 0d 0a 20 20 20 20 41 4e 44 20 50 6f 69  3')..    AND Poi
240a0 6e 74 54 6f 20 3d 20 28 53 45 4c 45 43 54 20 67  ntTo = (SELECT g
240b0 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f 6e  eom FROM house_n
240c0 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e 69 63  r_vw WHERE munic
240d0 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45 5a 5a  ipality = 'AREZZ
240e0 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73 20 3d  O' AND address =
240f0 20 27 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55   'VIA ANTONIO GU
24100 41 44 41 47 4e 4f 4c 49 20 31 39 2f 43 27 29 3b  ADAGNOLI 19/C');
24110 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54  ..</verbatim>..T
24120 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62  he following tab
24130 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73  le shows the res
24140 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
24150 62 79 20 74 68 65 20 61 62 6f 76 65 20 50 6f 69  by the above Poi
24160 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72  nt-to-Point quer
24170 79 20 61 66 74 65 72 20 73 65 6c 65 63 74 69 6e  y after selectin
24180 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 20 3d 20 27  g <b>Options = '
24190 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3c 2f  NO GEOMETRIES'</
241a0 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c 65 72 61  b> and <b>Tolera
241b0 6e 63 65 20 3d 20 32 35 2e 35 3c 2f 62 3e 3c 62  nce = 25.5</b><b
241c0 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  r><br>..<table b
241d0 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f  order="1" bgcolo
241e0 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c  r="#ffffcf" cell
241f0 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c  spacing="4" cell
24200 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74  padding="6">..<t
24210 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  r><th bgcolor="#
24220 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
24230 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
24240 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
24250 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
24260 72 3d 22 23 64 30 64 30 61 30 22 3e 54 6f 6c 65  r="#d0d0a0">Tole
24270 72 61 6e 63 65 3c 2f 74 68 3e 3c 74 68 20 62 67  rance</th><th bg
24280 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
24290 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
242a0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
242b0 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
242c0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
242d0 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
242e0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
242f0 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
24300 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
24310 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
24320 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
24330 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
24340 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
24350 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
24360 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
24370 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
24380 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
24390 0d 0a 3c 74 64 3e 50 6f 69 6e 74 32 50 6f 69 6e  ..<td>Point2Poin
243a0 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e  t Path</td><td>N
243b0 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f 74 64  o Geometries</td
243c0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
243d0 74 22 3e 32 35 2e 35 30 30 30 30 30 3c 2f 74 64  t">25.500000</td
243e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
243f0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 50 6f 69  t">0</td><td>Poi
24400 6e 74 32 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f  nt2Point Solutio
24410 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  n</td><td>NULL</
24420 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24430 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24440 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
24450 35 31 2e 30 36 37 30 38 32 3c 2f 74 64 3e 3c 74  51.067082</td><t
24460 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24470 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
24480 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
24490 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
244a0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
244b0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
244c0 31 3c 2f 74 64 3e 3c 74 64 3e 49 6e 67 72 65 73  1</td><td>Ingres
244d0 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e  s Path</td><td>N
244e0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
244f0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24500 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24510 68 74 22 3e 32 2e 33 30 31 36 38 37 3c 2f 74 64  ht">2.301687</td
24520 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24530 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
24540 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
24550 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24560 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24570 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24580 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 50 61 72  t">2</td><td>Par
24590 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72 74  tial Link (Start
245a0 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  )</td><td align=
245b0 22 72 69 67 68 74 22 3e 32 32 34 32 36 34 3c 2f  "right">224264</
245c0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
245d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
245e0 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74 64  ">182630</td><td
245f0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
24600 36 2e 30 38 32 37 36 31 3c 2f 74 64 3e 3c 74 64  6.082761</td><td
24610 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
24620 41 20 44 45 27 20 43 45 4e 43 49 3c 2f 74 64 3e  A DE' CENCI</td>
24630 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
24640 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24650 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
24660 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
24670 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
24680 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
24690 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33  lign="right">223
246a0 37 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  758</td><td alig
246b0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 33 30  n="right">182630
246c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
246d0 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74  right">182629</t
246e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
246f0 68 74 22 3e 32 34 2e 31 39 38 31 31 35 3c 2f 74  ht">24.198115</t
24700 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24710 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c  td>CORSO ITALIA<
24720 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
24730 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
24740 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24750 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
24760 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74  ign="right">4</t
24770 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
24780 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24790 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c 74 64 20  >225512</td><td 
247a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
247b0 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2629</td><td ali
247c0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33  gn="right">18293
247d0 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
247e0 22 72 69 67 68 74 22 3e 33 34 2e 31 38 34 31 39  "right">34.18419
247f0 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
24800 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41  td><td>CORSO ITA
24810 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LIA</td>..</tr>.
24820 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
24830 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24840 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24850 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24860 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  5</td><td>Link</
24870 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24880 67 68 74 22 3e 32 32 35 35 31 31 3c 2f 74 64 3e  ght">225511</td>
24890 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
248a0 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64  ">182933</td><td
248b0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
248c0 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
248d0 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 39 2e 32  ign="right">49.2
248e0 34 31 37 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55  41735</td><td>NU
248f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f  LL</td><td>CORSO
24900 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f   ITALIA</td>..</
24910 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
24920 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
24930 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24940 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24950 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">6</td><td>Li
24960 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
24970 3d 22 72 69 67 68 74 22 3e 32 32 35 38 30 30 3c  ="right">225800<
24980 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24990 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64  ight">181999</td
249a0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
249b0 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
249c0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
249d0 39 35 2e 35 39 32 32 30 34 3c 2f 74 64 3e 3c 74  95.592204</td><t
249e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
249f0 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49  IA FRANCESCO CRI
24a00 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  SPI</td>..</tr>.
24a10 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
24a20 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24a30 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24a40 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24a50 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  7</td><td>Link</
24a60 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24a70 67 68 74 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e  ght">219171</td>
24a80 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24a90 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
24aa0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
24ab0 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  78732</td><td al
24ac0 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 33 2e 32  ign="right">93.2
24ad0 38 35 35 33 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55  85538</td><td>NU
24ae0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46  LL</td><td>VIA F
24af0 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c  RANCESCO CRISPI<
24b00 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
24b10 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
24b20 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24b30 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
24b40 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74  ign="right">8</t
24b50 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
24b60 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24b70 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20  >219058</td><td 
24b80 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
24b90 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8732</td><td ali
24ba0 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35  gn="right">17875
24bb0 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
24bc0 22 72 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30  "right">148.6560
24bd0 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  89</td><td>NULL<
24be0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e  /td><td>VIA FRAN
24bf0 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64  CESCO CRISPI</td
24c00 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
24c10 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24c20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24c30 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
24c40 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c  ="right">9</td><
24c50 74 64 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20  td>Partial Link 
24c60 28 45 6e 64 29 3c 2f 74 64 3e 3c 74 64 20 61 6c  (End)</td><td al
24c70 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30  ign="right">2240
24c80 31 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  19</td><td align
24c90 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c  ="right">182890<
24ca0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24cb0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24cc0 74 22 3e 31 35 30 2e 32 36 30 36 34 31 3c 2f 74  t">150.260641</t
24cd0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24ce0 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47  td>VIA ANTONIO G
24cf0 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a  UADAGNOLI</td>..
24d00 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
24d10 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24d20 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24d30 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24d40 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64  ight">10</td><td
24d50 3e 45 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64  >Egress Path</td
24d60 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24d70 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24d80 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
24d90 6e 3d 22 72 69 67 68 74 22 3e 37 2e 32 36 34 31  n="right">7.2641
24da0 31 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  18</td><td>NULL<
24db0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24dc0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  >..</tr>..</tabl
24dd0 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68  e>..<br><br>..Th
24de0 65 20 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70  e map below grap
24df0 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68  hically shows th
24e00 65 20 74 77 6f 20 50 6f 69 6e 74 2d 74 6f 2d 50  e two Point-to-P
24e10 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 73 20 72  oint Solutions r
24e20 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70  eturned by the p
24e30 72 65 76 69 6f 75 73 20 71 75 65 72 69 65 73 2e  revious queries.
24e40 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67  ..<br><br>..<img
24e50 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
24e60 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
24e70 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
24e80 66 69 67 73 2f 70 6f 69 6e 74 2d 74 6f 2d 70 6f  figs/point-to-po
24e90 69 6e 74 2e 6a 70 67 22 20 61 6c 74 3d 22 70 6f  int.jpg" alt="po
24ea0 69 6e 74 2d 74 6f 2d 70 6f 69 6e 74 22 3e 0d 0a  int-to-point">..
24eb0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 72  <ul>..<li>the gr
24ec0 65 65 6e 20 6c 69 6e 65 20 63 6f 72 72 65 73 70  een line corresp
24ed0 6f 6e 64 73 20 74 6f 20 74 68 65 20 66 69 72 73  onds to the firs
24ee0 74 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 50  t solution (<i>P
24ef0 6f 69 6e 74 54 6f 20 3d 20 56 49 41 20 47 55 41  ointTo = VIA GUA
24f00 44 41 47 4e 4f 4c 49 20 31 39 2f 42 3c 2f 69 3e  DAGNOLI 19/B</i>
24f10 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  ).</li>..<li>the
24f20 20 79 65 6c 6c 6f 77 20 6c 69 6e 65 20 63 6f 72   yellow line cor
24f30 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20  responds to the 
24f40 73 65 63 6f 6e 64 20 73 6f 6c 75 74 69 6f 6e 20  second solution 
24f50 28 3c 69 3e 50 6f 69 6e 74 54 6f 20 3d 20 56 49  (<i>PointTo = VI
24f60 41 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f  A GUADAGNOLI 19/
24f70 43 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  C</i>).</li>..</
24f80 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  ul>..<br>..<u>No
24f90 74 65 3c 2f 75 3e 3a 20 50 6f 69 6e 74 2d 74 6f  te</u>: Point-to
24fa0 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 20 61  -Point queries a
24fb0 72 65 20 76 65 72 79 20 73 65 6e 73 69 74 69 76  re very sensitiv
24fc0 65 2c 20 61 6e 64 20 61 20 76 65 72 79 20 62 6c  e, and a very bl
24fd0 61 6e 64 20 73 68 69 66 74 20 61 66 66 65 63 74  and shift affect
24fe0 69 6e 67 20 74 68 65 20 70 6f 73 69 74 69 6f 6e  ing the position
24ff0 20 6f 66 20 61 20 72 65 66 65 72 65 6e 63 65 20   of a reference 
25000 50 6f 69 6e 74 20 63 6f 75 6c 64 20 65 61 73 69  Point could easi
25010 6c 79 20 63 61 75 73 65 20 64 72 61 6d 61 74 69  ly cause dramati
25020 63 20 63 68 61 6e 67 65 73 20 69 6e 20 74 68 65  c changes in the
25030 20 53 6f 6c 75 74 69 6f 6e 27 73 20 50 61 74 68   Solution's Path
25040 20 28 61 73 20 69 73 20 69 6e 20 74 68 69 73 20   (as is in this 
25050 63 61 73 65 29 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  case)...<br><br>
25060 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 61 20 68  ..<hr><br>..<a h
25070 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77  ref="https://www
25080 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73  .gaia-gis.it/fos
25090 73 69 6c 2f 6c 69 62 73 70 61 74 69 61 6c 69 74  sil/libspatialit
250a0 65 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e  e/wiki?name=4.3.
250b0 30 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f 61 3e 0a  0-doc">back</a>.
250c0 5a 20 61 39 39 39 63 34 34 32 31 30 31 66 30 39  Z a999c442101f09
250d0 65 62 35 31 61 35 32 30 34 62 34 38 34 35 31 38  eb51a5204b484518
250e0 66 32 0a                                         f2.