Hex Artifact Content
Not logged in

Artifact d251a335500bfa23053329d368f2307928dc1d5c:

Wiki page [VirtualRouting] by sandro 2018-04-26 07:59:39.
0000: 44 20 32 30 31 38 2d 30 34 2d 32 36 54 30 37 3a  D 2018-04-26T07:
0010: 35 39 3a 33 39 2e 38 38 35 0a 4c 20 56 69 72 74  59:39.885.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 35 61 34  ualRouting.P 5a4
0030: 66 36 33 62 33 38 66 36 39 36 65 66 36 31 64 39  f63b38f696ef61d9
0040: 37 31 37 30 64 33 30 61 66 63 37 31 36 61 39 63  7170d30afc716a9c
0050: 32 33 37 34 39 0a 55 20 73 61 6e 64 72 6f 0a 57  23749.U sandro.W
0060: 20 31 35 31 36 34 32 0a 3c 61 20 68 72 65 66 3d   151642.<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 73 3c 2f 69 3e 3c 2f  reproduces</i></
13470 75 3e 20 67 69 76 69 6e 67 20 62 69 72 74 68 20  u> giving birth 
13480 74 6f 20 3c 75 3e 3c 69 3e 63 68 69 6c 64 72 65  to <u><i>childre
13490 6e 20 73 6f 6c 75 74 69 6f 6e 73 3c 2f 69 3e 3c  n solutions</i><
134a0 2f 75 3e 3b 20 72 65 70 72 6f 64 75 63 74 69 6f  /u>; reproductio
134b0 6e 20 69 73 20 73 75 62 6a 65 63 74 20 74 6f 20  n is subject to 
134c0 3c 75 3e 3c 69 3e 63 68 72 6f 6d 6f 73 6f 6d 65  <u><i>chromosome
134d0 20 63 72 6f 73 73 6f 76 65 72 73 3c 2f 69 3e 3c   crossovers</i><
134e0 2f 75 3e 20 61 6e 64 20 3c 69 3e 3c 75 3e 72 61  /u> and <i><u>ra
134f0 6e 64 6f 6d 20 6d 75 74 61 74 69 6f 6e 3c 2f 75  ndom mutation</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 74 68 65 20 3c 69 3e 3c 75 3e 6e 61 74  i> the <i><u>nat
13540 75 72 61 6c 20 73 65 6c 65 63 74 69 6f 6e 3c 2f  ural selection</
13550 75 3e 3c 2f 69 3e 20 65 6c 69 6d 69 6e 61 74 65  u></i> eliminate
13560 73 20 61 6c 6c 20 70 6f 6f 72 6c 79 20 66 69 74  s all poorly fit
13570 20 69 6e 64 69 76 69 64 75 61 6c 73 20 66 72 6f   individuals fro
13580 6d 20 74 68 65 20 3c 75 3e 3c 69 3e 70 6f 70 75  m the <u><i>popu
13590 6c 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 20 61  lation</i></u> a
135a0 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20  nd consequently 
135b0 6f 6e 6c 79 20 74 68 65 20 62 65 73 74 20 66 69  only the best fi
135c0 74 20 69 6e 64 69 76 69 64 75 61 6c 73 20 63 61  t individuals ca
135d0 6e 20 66 75 72 74 68 65 72 20 70 72 6f 70 61 67  n further propag
135e0 61 74 65 20 74 68 65 69 72 20 3c 75 3e 3c 69 3e  ate their <u><i>
135f0 67 65 6e 6f 6d 65 3c 2f 69 3e 3c 2f 75 3e 20 74  genome</i></u> t
13600 6f 20 74 68 65 20 6e 65 78 74 20 3c 75 3e 3c 69  o the next <u><i
13610 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 69 3e 3c  >generation</i><
13620 2f 75 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61  /u>.</li>..<li>a
13630 66 74 65 72 20 61 20 63 65 72 74 61 69 6e 20 6e  fter a certain n
13640 75 6d 62 65 72 20 6f 66 20 3c 69 3e 3c 75 3e 67  umber of <i><u>g
13650 65 6e 65 72 61 74 69 6f 6e 73 3c 2f 69 3e 3c 2f  enerations</i></
13660 75 3e 20 28 6c 65 74 27 73 20 73 61 79 20 61 62  u> (let's say ab
13670 6f 75 74 20 73 6f 6d 65 20 68 75 6e 64 72 65 64  out some hundred
13680 74 68 20 69 74 65 72 61 74 69 6f 6e 73 29 20 74  th iterations) t
13690 68 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 20 73 6f  he <b>optimal so
136a0 6c 75 74 69 6f 6e 3c 2f 62 3e 20 28 6f 72 20 61  lution</b> (or a
136b0 74 20 6c 65 61 73 74 20 61 20 3c 62 3e 66 61 69  t least a <b>fai
136c0 72 6c 79 20 67 6f 6f 64 20 73 75 62 2d 6f 70 74  rly good sub-opt
136d0 69 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62  imal solution</b
136e0 3e 29 20 73 68 6f 75 6c 64 20 66 69 6e 61 6c 6c  >) should finall
136f0 79 20 65 6d 65 72 67 65 2c 20 61 6e 64 20 73 6f  y emerge, and so
13700 20 74 68 65 20 6c 6f 6f 70 20 63 61 6e 20 65 78   the loop can ex
13710 69 74 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  it.</li>..</ul><
13720 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 4e 6f 74  /li>..<li><u>Not
13730 65 3c 2f 75 3e 3a 20 54 53 50 20 47 41 20 69 73  e</u>: TSP GA is
13740 20 75 73 75 61 6c 6c 79 20 65 78 70 65 63 74 65   usually expecte
13750 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 62 65  d to identify be
13760 74 74 65 72 20 73 6f 6c 75 74 69 6f 6e 73 20 74  tter solutions t
13770 68 61 6e 20 54 53 50 20 4e 4e 20 63 61 6e 20 64  han TSP NN can d
13780 6f 2c 20 62 75 74 20 69 74 20 77 69 6c 6c 20 73  o, but it will s
13790 75 72 65 6c 79 20 72 65 71 75 69 72 65 20 6d 75  urely require mu
137a0 63 68 20 6d 6f 72 65 20 74 69 6d 65 20 74 6f 20  ch more time to 
137b0 63 6f 6d 70 6c 65 74 65 2e 3c 2f 6c 69 3e 20 0d  complete.</li> .
137c0 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  .</ul>..<br><br>
137d0 0d 0a 4c 65 74 27 73 20 6e 6f 77 20 65 78 61 6d  ..Let's now exam
137e0 69 6e 65 20 61 20 70 72 61 63 74 69 63 61 6c 20  ine a practical 
137f0 65 78 61 6d 70 6c 65 20 6f 66 20 54 53 50 20 73  example of TSP s
13800 6f 6c 76 69 6e 67 20 75 73 69 6e 67 20 56 69 72  olving using Vir
13810 74 75 61 6c 52 6f 75 74 69 6e 67 2e 20 0d 0a 3c  tualRouting. ..<
13820 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
13830 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65 71  E byfoot SET Req
13840 75 65 73 74 20 3d 20 27 54 53 50 27 3b 0d 0a 0d  uest = 'TSP';...
13850 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68  .SELECT Algorith
13860 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69  m, Request, Opti
13870 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20  ons, Delimiter, 
13880 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f  RouteId, RouteRo
13890 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77  w, Role, LinkRow
138a0 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f  id, NodeFrom, No
138b0 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d  deTo, Cost, Geom
138c0 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d  etry, Name..FROM
138d0 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e   byfoot..WHERE N
138e0 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31  odeFrom = 178731
138f0 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31   AND NodeTo = '1
13900 38 33 32 38 36 2c 31 38 31 39 39 39 2c 31 38 34  83286,181999,184
13910 30 33 30 2c 31 38 33 38 38 32 2c 31 37 38 37 35  030,183882,17875
13920 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  4';..</verbatim>
13930 0d 0a 41 20 56 69 72 74 75 61 6c 52 6f 75 74 69  ..A VirtualRouti
13940 6e 67 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 71 75  ng <b>TSP</b> qu
13950 65 72 79 20 68 61 73 20 74 68 65 20 73 61 6d 65  ery has the same
13960 20 69 64 65 6e 74 69 63 61 6c 20 66 6f 72 6d 20   identical form 
13970 6f 66 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65  of a <b>multi-de
13980 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75  stination</b> qu
13990 65 72 79 3b 20 74 68 65 20 3c 69 3e 3c 75 3e 62  ery; the <i><u>b
139a0 61 73 65 20 63 69 74 79 3c 75 3e 3c 2f 69 3e 20  ase city<u></i> 
139b0 69 73 20 61 6c 77 61 79 73 20 65 78 70 65 63 74  is always expect
139c0 65 64 20 74 6f 20 63 6f 72 72 65 73 70 6f 6e 64  ed to correspond
139d0 20 74 6f 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c   to <b>NodeFrom<
139e0 2f 62 3e 20 61 6e 64 20 61 6c 6c 20 6f 74 68 65  /b> and all othe
139f0 72 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f  r <i><u>cities</
13a00 75 3e 3c 2f 69 3e 20 74 6f 20 62 65 20 76 69 73  u></i> to be vis
13a10 69 74 65 64 20 61 72 65 20 65 78 70 65 63 74 65  ited are expecte
13a20 64 20 74 6f 20 62 65 20 65 6e 75 6d 65 72 61 74  d to be enumerat
13a30 65 64 20 69 6e 74 6f 20 61 20 3c 62 3e 6d 75 6c  ed into a <b>mul
13a40 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f  ti-destination</
13a50 62 3e 20 6c 69 73 74 20 61 73 73 69 67 6e 65 64  b> list assigned
13a60 20 74 6f 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62   to <b>NodeTo</b
13a70 3e 2e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a  >...<u>Note</u>:
13a80 20 79 6f 75 20 6d 75 73 74 20 65 78 70 6c 69 63   you must explic
13a90 69 74 6c 79 20 73 65 74 20 74 68 65 20 63 75 72  itly set the cur
13aa0 72 65 6e 74 20 3c 62 3e 52 65 71 75 65 73 74 3c  rent <b>Request<
13ab0 2f 62 3e 20 61 73 20 3c 62 3e 54 53 50 3c 2f 62  /b> as <b>TSP</b
13ac0 3e 2c 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e  >, <b>TSP NN</b>
13ad0 20 6f 72 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62   or <b>TSP GA</b
13ae0 3e 20 28 54 53 50 20 61 6e 64 20 54 53 50 20 4e  > (TSP and TSP N
13af0 4e 20 61 72 65 20 73 79 6e 6f 6e 79 6d 73 29 2e  N are synonyms).
13b00 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62  ..<br><br>..<tab
13b10 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67  le border="1" bg
13b20 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20  color="#ffffcf" 
13b30 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20  cellspacing="4" 
13b40 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
13b50 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f  ..<tr><th bgcolo
13b60 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f  r="#d0d0a0">Algo
13b70 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  rithm</th><th bg
13b80 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
13b90 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20  Request</th><th 
13ba0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
13bb0 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74  ">Options</th><t
13bc0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
13bd0 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74  a0">Delimiter</t
13be0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
13bf0 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c  d0d0a0">RouteId<
13c00 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
13c10 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52  "#d0d0a0">RouteR
13c20 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ow</th><th bgcol
13c30 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c  or="#d0d0a0">Rol
13c40 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  e</th><th bgcolo
13c50 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b  r="#d0d0a0">Link
13c60 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67  Rowid</th><th bg
13c70 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
13c80 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  NodeFrom</th><th
13c90 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
13ca0 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74  0">NodeTo</th><t
13cb0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
13cc0 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68  a0">Cost</th><th
13cd0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
13ce0 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e  0">Geometry</th>
13cf0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
13d00 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c  d0a0">Name</th><
13d10 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
13d20 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64  Dijkstra</td><td
13d30 3e 54 53 50 20 4e 4e 3c 2f 74 64 3e 3c 74 64 3e  >TSP NN</td><td>
13d40 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26  Full</td><td>, &
13d50 23 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d  #91;dec=44, hex=
13d60 32 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20  2c&#93;</td><td 
13d70 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
13d80 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13d90 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
13da0 54 53 50 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64  TSP Solution</td
13db0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13dc0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13dd0 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
13de0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
13df0 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
13e00 6e 3d 22 72 69 67 68 74 22 3e 31 32 35 34 2e 34  n="right">1254.4
13e10 33 33 39 33 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c  33933</td><td>BL
13e20 4f 42 20 73 7a 3d 32 30 30 30 20 47 45 4f 4d 45  OB sz=2000 GEOME
13e30 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
13e40 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
13e50 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
13e60 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13e70 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
13e80 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  ULL<td align="ri
13e90 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61  ght">1</td><td a
13ea0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
13eb0 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
13ec0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
13ed0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13ee0 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
13ef0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
13f00 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
13f10 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36  n="right">176.36
13f20 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  4755</td><td>BLO
13f30 42 20 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52  B sz=304 GEOMETR
13f40 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
13f50 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
13f60 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
13f70 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13f80 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13f90 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
13fa0 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
13fb0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13fc0 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
13fd0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13fe0 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e  ght">224014</td>
13ff0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14000 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
14010 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14020 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
14030 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38  ign="right">94.8
14040 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12424</td><td>NU
14050 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
14060 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
14070 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
14080 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
14090 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
140a0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
140b0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
140c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
140d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
140e0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">2</td><td>L
140f0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
14100 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38 36 32  n="right">224862
14110 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14120 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
14130 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14140 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c  ht">182043</td><
14150 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14160 3e 33 37 2e 30 39 35 32 38 37 3c 2f 74 64 3e 3c  >37.095287</td><
14170 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14180 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c  VIA MARGARITONE<
14190 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
141a0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
141b0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
141c0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
141d0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
141e0 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
141f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14200 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >3</td><td>Link<
14210 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14220 69 67 68 74 22 3e 32 32 36 30 37 30 3c 2f 74 64  ight">226070</td
14230 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14240 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74  t">182043</td><t
14250 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14260 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61  184030</td><td a
14270 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 34 2e  lign="right">44.
14280 34 35 37 30 34 34 3c 2f 74 64 3e 3c 74 64 3e 4e  457044</td><td>N
14290 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 50 49 41 5a  ULL</td><td>PIAZ
142a0 5a 41 20 53 41 4e 54 27 41 47 4f 53 54 49 4e 4f  ZA SANT'AGOSTINO
142b0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
142c0 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
142d0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
142e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
142f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
14300 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
14310 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14320 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
14330 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
14340 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14350 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e  ght">184030</td>
14360 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14370 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64  ">181999</td><td
14380 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14390 33 39 2e 31 31 34 39 33 38 3c 2f 74 64 3e 3c 74  39.114938</td><t
143a0 64 3e 42 4c 4f 42 20 73 7a 3d 34 39 36 20 47 45  d>BLOB sz=496 GE
143b0 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
143c0 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
143d0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
143e0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
143f0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14400 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
14410 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
14420 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14430 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
14440 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
14450 6e 3d 22 72 69 67 68 74 22 3e 32 32 36 30 37 31  n="right">226071
14460 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14470 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74  right">184030</t
14480 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14490 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c  ht">182629</td><
144a0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
144b0 3e 35 35 2e 36 38 39 30 30 39 3c 2f 74 64 3e 3c  >55.689009</td><
144c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
144d0 56 49 41 20 47 49 55 53 45 50 50 45 20 47 41 52  VIA GIUSEPPE GAR
144e0 49 42 41 4c 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  IBALDI</td>..</t
144f0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
14500 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14510 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14520 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14530 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14540 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
14550 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
14560 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
14570 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
14580 35 31 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  512</td><td alig
14590 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 39  n="right">182629
145a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
145b0 72 69 67 68 74 22 3e 31 38 32 39 33 33 3c 2f 74  right">182933</t
145c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
145d0 68 74 22 3e 33 34 2e 31 38 34 31 39 34 3c 2f 74  ht">34.184194</t
145e0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
145f0 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c  td>CORSO ITALIA<
14600 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
14610 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
14620 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14630 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14640 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
14650 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
14660 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14670 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >3</td><td>Link<
14680 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14690 69 67 68 74 22 3e 32 32 35 35 31 31 3c 2f 74 64  ight">225511</td
146a0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
146b0 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74  t">182933</td><t
146c0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
146d0 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61  181999</td><td a
146e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 39 2e  lign="right">49.
146f0 32 34 31 37 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e  241735</td><td>N
14700 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53  ULL</td><td>CORS
14710 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c  O ITALIA</td>..<
14720 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
14730 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14740 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14750 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14760 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14770 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">3</td><td alig
14780 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
14790 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
147a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
147b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
147c0 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  999</td><td alig
147d0 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
147e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
147f0 72 69 67 68 74 22 3e 32 31 37 2e 36 37 32 38 38  right">217.67288
14800 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  5</td><td>BLOB s
14810 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 3c 2f  z=688 GEOMETRY</
14820 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14830 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
14840 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14850 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14860 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14870 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14880 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61  ght">4</td><td a
14890 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
148a0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
148b0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
148c0 22 3e 32 32 32 36 33 35 3c 2f 74 64 3e 3c 74 64  ">222635</td><td
148d0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
148e0 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
148f0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
14900 39 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  98</td><td align
14910 3d 22 72 69 67 68 74 22 3e 31 30 31 2e 36 32 39  ="right">101.629
14920 37 35 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  750</td><td>NULL
14930 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49  </td><td>CORSO I
14940 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  TALIA</td>..</tr
14950 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
14960 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14970 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14980 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14990 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
149a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
149b0 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
149c0 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
149d0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 37  ign="right">2247
149e0 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
149f0 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 38 3c  ="right">181998<
14a00 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14a10 69 67 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 64  ight">183560</td
14a20 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14a30 74 22 3e 37 33 2e 37 33 33 35 37 32 3c 2f 74 64  t">73.733572</td
14a40 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14a50 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49 54  d>VIA DELL'ANFIT
14a60 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  EATRO</td>..</tr
14a70 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
14a80 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14a90 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14aa0 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67  <td>NULL<td alig
14ab0 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e  n="right">4</td>
14ac0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14ad0 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
14ae0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14af0 72 69 67 68 74 22 3e 32 32 35 38 32 37 3c 2f 74  right">225827</t
14b00 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14b10 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c  ht">183560</td><
14b20 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14b30 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
14b40 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 32  align="right">42
14b50 2e 33 30 39 35 36 34 3c 2f 74 64 3e 3c 74 64 3e  .309564</td><td>
14b60 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
14b70 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f   DELL'ANFITEATRO
14b80 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14b90 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14ba0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14bb0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14bc0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
14bd0 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e  n="right">4</td>
14be0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14bf0 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
14c00 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
14c10 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14c20 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
14c30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14c40 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
14c50 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
14c60 37 38 2e 33 31 33 36 38 34 3c 2f 74 64 3e 3c 74  78.313684</td><t
14c70 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45  d>BLOB sz=272 GE
14c80 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
14c90 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
14ca0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
14cb0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14cc0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14cd0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
14ce0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f  lign="right">5</
14cf0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14d00 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
14d10 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
14d20 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34  n="right">224414
14d30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14d40 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
14d50 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14d60 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
14d70 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14d80 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e  >136.372057</td>
14d90 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14da0 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45  >VIA MARGARITONE
14db0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14dc0 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14dd0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14de0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14df0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
14e00 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e  n="right">5</td>
14e10 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14e20 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
14e30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14e40 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c 2f 74  right">219171</t
14e50 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14e60 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
14e70 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14e80 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
14e90 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 33  align="right">93
14ea0 2e 32 38 35 35 33 38 3c 2f 74 64 3e 3c 74 64 3e  .285538</td><td>
14eb0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
14ec0 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50   FRANCESCO CRISP
14ed0 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
14ee0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
14ef0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14f00 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14f10 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
14f20 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64  gn="right">5</td
14f30 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14f40 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
14f50 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
14f60 22 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c 2f  "right">219058</
14f70 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14f80 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e  ght">178732</td>
14f90 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14fa0 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
14fb0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14fc0 34 38 2e 36 35 36 30 38 39 3c 2f 74 64 3e 3c 74  48.656089</td><t
14fd0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
14fe0 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49  IA FRANCESCO CRI
14ff0 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  SPI</td>..</tr>.
15000 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
15010 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15020 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15030 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
15040 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f  lign="right">5</
15050 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15060 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
15070 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
15080 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
15090 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f  "right">178754</
150a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
150b0 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e  ght">183882</td>
150c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
150d0 22 3e 31 38 38 2e 32 31 36 38 33 31 3c 2f 74 64  ">188.216831</td
150e0 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 30 30  ><td>BLOB sz=400
150f0 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
15100 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
15110 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
15120 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
15130 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15140 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15150 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15160 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
15170 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
15180 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
15190 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
151a0 35 33 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  538</td><td alig
151b0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
151c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
151d0 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74  right">181972</t
151e0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
151f0 68 74 22 3e 35 30 2e 39 30 30 36 36 33 3c 2f 74  ht">50.900663</t
15200 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15210 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47  td>VIA ANTONIO G
15220 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a  UADAGNOLI</td>..
15230 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
15240 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
15250 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
15260 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15270 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
15280 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20 61  ght">6</td><td a
15290 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
152a0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
152b0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
152c0 22 3e 32 32 34 35 33 37 3c 2f 74 64 3e 3c 74 64  ">224537</td><td
152d0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
152e0 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  81972</td><td al
152f0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
15300 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
15310 3d 22 72 69 67 68 74 22 3e 38 36 2e 33 30 31 30  ="right">86.3010
15320 35 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  51</td><td>NULL<
15330 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c 20  /td><td>VIA DEL 
15340 4e 49 4e 46 45 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  NINFEO</td>..</t
15350 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
15360 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
15370 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15380 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15390 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
153a0 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
153b0 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
153c0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
153d0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
153e0 35 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  527</td><td alig
153f0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30  n="right">182000
15400 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15410 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74  right">183882</t
15420 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15430 68 74 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74  ht">51.015117</t
15440 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15450 74 64 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e  td>VIA LICIO NEN
15460 43 45 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  CETTI</td>..</tr
15470 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
15480 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
15490 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
154a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
154b0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
154c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
154d0 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
154e0 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
154f0 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  ULL<td align="ri
15500 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e  ght">183882</td>
15510 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15520 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
15530 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
15540 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74  54.750839</td><t
15550 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45  d>BLOB sz=240 GE
15560 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
15570 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
15580 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
15590 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
155a0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
155b0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
155c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f  lign="right">7</
155d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
155e0 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
155f0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
15600 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 32 37  n="right">225527
15610 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15620 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74  right">183882</t
15630 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15640 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c  ht">182000</td><
15650 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15660 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c  >51.015117</td><
15670 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
15680 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54  VIA LICIO NENCET
15690 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  TI</td>..</tr>..
156a0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
156b0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
156c0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
156d0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
156e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74  ign="right">7</t
156f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15700 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
15710 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
15720 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 36 3c  ="right">222636<
15730 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
15740 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64  ight">182000</td
15750 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15760 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
15770 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15780 31 30 33 2e 37 33 35 37 32 32 3c 2f 74 64 3e 3c  103.735722</td><
15790 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
157a0 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
157b0 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
157c0 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a  </table>..<br>..
157d0 4c 65 74 27 73 20 6e 6f 77 20 71 75 69 63 6b 6c  Let's now quickl
157e0 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72 65  y examine the re
157f0 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64  sultset returned
15800 20 62 79 20 61 6e 79 20 54 53 50 20 71 75 65 72   by any TSP quer
15810 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68  y:..<ul>..<li>th
15820 65 20 67 65 6e 65 72 61 6c 20 6c 61 79 6f 75 74  e general layout
15830 20 69 73 20 6d 6f 72 65 20 6f 72 20 6c 65 73 73   is more or less
15840 20 74 68 65 20 73 61 6d 65 20 61 73 20 79 6f 75   the same as you
15850 27 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e  've already seen
15860 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20   in the case of 
15870 3c 62 3e 53 68 6f 72 74 65 73 74 50 61 74 68 3c  <b>ShortestPath<
15880 2f 62 3e 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69  /b> queries.</li
15890 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69  >..<li>the <b>fi
158a0 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74  rst row</b> of t
158b0 68 65 20 72 65 73 75 6c 74 73 65 74 20 69 73 20  he resultset is 
158c0 73 6f 6d 65 77 61 79 20 65 78 63 65 70 74 69 6f  someway exceptio
158d0 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74 68 65 20  nal, and is the 
158e0 6f 6e 6c 79 20 72 6f 77 20 6f 66 20 74 68 65 20  only row of the 
158f0 72 65 73 75 6c 74 73 65 74 20 70 72 65 73 65 6e  resultset presen
15900 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c  ting <b>NOT NULL
15910 3c 2f 62 3e 20 76 61 6c 75 65 73 20 69 6e 20 74  </b> values in t
15920 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c  he <b>Algorithm<
15930 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c  /b>, <b>Request<
15940 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c  /b>, <b>Options<
15950 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 6c 69 6d  /b> and <b>Delim
15960 69 74 65 72 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73  iter</b> columns
15970 2e 3c 62 72 3e 0d 0a 49 74 20 63 6f 6e 74 61 69  .<br>..It contai
15980 6e 73 20 74 68 65 20 3c 62 3e 54 53 50 20 73 6f  ns the <b>TSP so
15990 6c 75 74 69 6f 6e 3c 2f 62 3e 20 61 73 20 61 20  lution</b> as a 
159a0 77 68 6f 6c 65 3a 20 63 6f 6c 75 6d 6e 20 3c 62  whole: column <b
159b0 3e 43 6f 73 74 3c 2f 62 3e 20 69 73 20 74 68 65  >Cost</b> is the
159c0 20 3c 75 3e 74 6f 74 61 6c 20 63 6f 73 74 3c 2f   <u>total cost</
159d0 75 3e 20 61 6e 64 20 63 6f 6c 75 6d 6e 20 3c 62  u> and column <b
159e0 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 69 73  >Geometry</b> is
159f0 20 74 68 65 20 3c 75 3e 6f 76 65 72 61 6c 6c 20   the <u>overall 
15a00 73 6f 6c 75 74 69 6f 6e 20 70 61 74 68 3c 2f 75  solution path</u
15a10 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c  >.</li>..<li>col
15a20 75 6d 6e 73 20 3c 62 3e 52 6f 75 74 65 49 64 3c  umns <b>RouteId<
15a30 2f 62 3e 20 61 6e 64 20 3c 62 3e 52 6f 75 74 65  /b> and <b>Route
15a40 52 6f 77 3c 2f 62 3e 20 68 61 76 65 20 74 68 65  Row</b> have the
15a50 20 73 61 6d 65 20 69 6e 74 65 72 70 72 65 74 61   same interpreta
15a60 74 69 6f 6e 20 61 73 20 69 6e 20 3c 62 3e 6d 75  tion as in <b>mu
15a70 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20  lti-destination 
15a80 53 68 6f 72 74 65 73 74 50 61 74 68 3c 2f 62 3e  ShortestPath</b>
15a90 20 71 75 65 72 69 65 73 2c 20 62 75 74 20 69 6e   queries, but in
15aa0 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63   this specific c
15ab0 61 73 65 20 65 61 63 68 20 3c 75 3e 3c 69 3e 72  ase each <u><i>r
15ac0 6f 75 74 65 3c 2f 69 3e 3c 2f 75 3e 20 63 6f 72  oute</i></u> cor
15ad0 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 20 63 6f  responds to a co
15ae0 6e 6e 65 63 74 69 6f 6e 20 62 65 74 77 65 65 6e  nnection between
15af0 20 74 77 6f 20 3c 69 3e 3c 75 3e 63 69 74 69 65   two <i><u>citie
15b00 73 3c 2f 75 3e 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a  s</u></i>.<br>..
15b10 41 6c 6c 20 3c 69 3e 3c 75 3e 72 6f 75 74 65 73  All <i><u>routes
15b20 3c 2f 75 3e 3c 2f 69 3e 20 61 72 65 20 6f 72 64  </u></i> are ord
15b30 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79  ered accordingly
15b40 20 74 6f 20 74 68 65 20 72 75 6e 6e 69 6e 67 20   to the running 
15b50 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20  sequence of the 
15b60 54 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 20 3c 62  TSP solution. <b
15b70 3e 52 6f 75 74 65 49 64 3d 30 3c 2f 62 3e 20 69  >RouteId=0</b> i
15b80 64 65 6e 74 69 66 69 65 73 20 74 68 65 20 6f 76  dentifies the ov
15b90 65 72 61 6c 6c 20 54 53 50 20 73 6f 6c 75 74 69  erall TSP soluti
15ba0 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  on.</li>..</ul><
15bb0 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74  br><br>..<verbat
15bc0 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f  im>..UPDATE byfo
15bd0 6f 74 20 53 45 54 20 52 65 71 75 65 73 74 20 3d  ot SET Request =
15be0 20 27 54 53 50 20 47 41 27 3b 0d 0a 0d 0a 53 45   'TSP GA';....SE
15bf0 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20  LECT Algorithm, 
15c00 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73  Request, Options
15c10 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75  , Delimiter, Rou
15c20 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20  teId, RouteRow, 
15c30 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
15c40 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
15c50 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
15c60 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
15c70 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65  foot..WHERE Node
15c80 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e  From = 178731 AN
15c90 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32  D NodeTo = '1832
15ca0 38 36 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30  86,181999,184030
15cb0 2c 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b  ,183882,178754';
15cc0 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 49  ..</verbatim>..I
15cd0 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 67 65  f you wish to ge
15ce0 74 20 61 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62  t a <b>TSP GA</b
15cf0 3e 20 73 6f 6c 75 74 69 6f 6e 20 79 6f 75 20 73  > solution you s
15d00 69 6d 70 6c 65 20 68 61 76 65 20 74 6f 20 73 65  imple have to se
15d10 74 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e  t <b>Request</b>
15d20 20 61 73 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62   as <b>TSP GA</b
15d30 3e 3b 20 61 6e 64 20 79 6f 75 20 63 61 6e 20 73  >; and you can s
15d40 65 74 20 61 67 61 69 6e 20 3c 62 3e 52 65 71 75  et again <b>Requ
15d50 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 53  est</b> as <b>TS
15d60 50 3c 2f 62 3e 20 6f 72 20 3c 62 3e 54 53 50 20  P</b> or <b>TSP 
15d70 4e 4e 3c 2f 62 3e 20 74 6f 20 72 65 76 65 72 74  NN</b> to revert
15d80 20 62 61 63 6b 20 74 6f 20 74 68 65 20 73 69 6d   back to the sim
15d90 70 6c 65 72 20 2f 20 66 61 73 74 65 72 20 61 6c  pler / faster al
15da0 67 6f 72 69 74 68 6d 2e 0d 0a 3c 62 72 3e 0d 0a  gorithm...<br>..
15db0 41 6c 73 6f 20 69 6e 20 74 68 65 20 63 61 73 65  Also in the case
15dc0 20 6f 66 20 54 53 50 20 79 6f 75 20 63 61 6e 20   of TSP you can 
15dd0 65 76 65 6e 74 75 61 6c 6c 79 20 61 63 74 69 76  eventually activ
15de0 61 74 65 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f  ate the <b>Optio
15df0 6e 73 3c 2f 62 3e 20 61 6c 72 65 61 64 79 20 65  ns</b> already e
15e00 78 70 6c 61 69 6e 65 64 20 69 6e 20 74 68 65 20  xplained in the 
15e10 53 68 6f 72 74 65 73 74 50 61 74 68 20 65 78 61  ShortestPath exa
15e20 6d 70 6c 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e  mples.<br>..<u>N
15e30 6f 74 65 3c 2f 75 3e 3a 54 53 50 20 70 72 6f 62  ote</u>:TSP prob
15e40 6c 65 6d 73 20 77 69 6c 6c 20 61 6c 77 61 79 73  lems will always
15e50 20 69 6d 70 6c 79 20 75 73 69 6e 67 20 74 68 65   imply using the
15e60 20 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c 2f   <b>Dijkstra's</
15e70 62 3e 20 61 6c 67 6f 72 69 74 68 6d 2c 20 65 76  b> algorithm, ev
15e80 65 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65  en when the alte
15e90 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62  rnative <b>A*</b
15ea0 3e 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63  > algorithm is c
15eb0 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65  urrently selecte
15ec0 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  d...<verbatim>..
15ed0 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
15ee0 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50  T Request = 'TSP
15ef0 27 2c 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f  ', Options = 'NO
15f00 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45   LINKS';....SELE
15f10 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65  CT Algorithm, Re
15f20 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20  quest, Options, 
15f30 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65  Delimiter, Route
15f40 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  Id, RouteRow, Ro
15f50 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
15f60 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
15f70 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
15f80 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f   Name..FROM byfo
15f90 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72  ot..WHERE NodeFr
15fa0 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20  om = 178731 AND 
15fb0 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36  NodeTo = '183286
15fc0 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31  ,181999,184030,1
15fd0 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a  83882,178754';..
15fe0 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65  </verbatim>..The
15ff0 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65   following table
16000 20 73 68 6f 77 73 20 61 20 70 61 72 74 69 61 6c   shows a partial
16010 20 72 65 73 75 6c 74 73 65 74 20 74 68 61 74 20   resultset that 
16020 69 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74  is returned by t
16030 68 65 20 73 61 6d 65 20 54 53 50 20 71 75 65 72  he same TSP quer
16040 79 20 75 73 65 64 20 69 6e 20 74 68 65 20 70 72  y used in the pr
16050 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 61  evious example a
16060 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 74 68  fter enabling th
16070 65 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62  e <b>NO LINKS</b
16080 3e 20 6f 70 74 69 6f 6e 2e 20 3c 62 72 3e 3c 62  > option. <br><b
16090 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65  r>..<table borde
160a0 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23  r="1" bgcolor="#
160b0 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63  ffffcf" cellspac
160c0 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64  ing="4" cellpadd
160d0 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74  ing="6">..<tr><t
160e0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
160f0 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74  a0">Algorithm</t
16100 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
16110 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c  d0d0a0">Request<
16120 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
16130 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
16140 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
16150 72 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69  r="#d0d0a0">Deli
16160 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67  miter</th><th bg
16170 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
16180 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20  RouteId</th><th 
16190 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
161a0 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
161b0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
161c0 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
161d0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
161e0 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
161f0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
16200 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
16210 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
16220 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
16230 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
16240 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
16250 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
16260 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
16270 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
16280 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
16290 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
162a0 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61  r>..<td>Dijkstra
162b0 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c  </td><td>TSP NN<
162c0 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73  /td><td>No Links
162d0 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b  </td><td>, &#91;
162e0 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23  dec=44, hex=2c&#
162f0 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  93;</td><td alig
16300 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
16310 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16320 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20  ">0</td><td>TSP 
16330 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64  Solution</td><td
16340 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
16350 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
16360 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
16370 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
16380 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16390 69 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33  ight">1254.43393
163a0 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  3</td><td>BLOB s
163b0 7a 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c  z=2000 GEOMETRY<
163c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
163d0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
163e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
163f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
16400 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
16410 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
16420 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >1</td><td align
16430 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
16440 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
16450 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
16460 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
16470 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
16480 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c  ="right">184030<
16490 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
164a0 69 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35  ight">176.364755
164b0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
164c0 3d 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =304 GEOMETRY</t
164d0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
164e0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
164f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
16500 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16510 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64  </td><td>NULL<td
16520 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
16530 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16540 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
16550 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
16560 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
16570 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30  n="right">184030
16580 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16590 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
165a0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
165b0 68 74 22 3e 31 33 39 2e 31 31 34 39 33 38 3c 2f  ht">139.114938</
165c0 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34  td><td>BLOB sz=4
165d0 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  96 GEOMETRY</td>
165e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
165f0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
16600 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16610 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
16620 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
16630 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16640 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">3</td><td alig
16650 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
16660 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
16670 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
16680 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
16690 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  999</td><td alig
166a0 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
166b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
166c0 72 69 67 68 74 22 3e 32 31 37 2e 36 37 32 38 38  right">217.67288
166d0 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  5</td><td>BLOB s
166e0 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52 59 3c 2f  z=688 GEOMETRY</
166f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
16700 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
16710 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
16720 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16730 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
16740 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16750 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61  ght">4</td><td a
16760 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
16770 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
16780 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
16790 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
167a0 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
167b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
167c0 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  754</td><td alig
167d0 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 31  n="right">378.31
167e0 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  3684</td><td>BLO
167f0 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52  B sz=272 GEOMETR
16800 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
16810 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
16820 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
16830 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
16840 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16850 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
16860 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
16870 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16880 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
16890 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
168a0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
168b0 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74  t">178754</td><t
168c0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
168d0 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61  183882</td><td a
168e0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 38  lign="right">188
168f0 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e  .216831</td><td>
16900 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d  BLOB sz=400 GEOM
16910 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
16920 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
16930 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
16940 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
16950 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
16960 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
16970 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64  gn="right">6</td
16980 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16990 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
169a0 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
169b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
169c0 69 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64  ight">183882</td
169d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
169e0 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
169f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16a00 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c  154.750839</td><
16a10 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47  td>BLOB sz=240 G
16a20 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
16a30 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
16a40 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
16a50 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61  <br><br>..The ma
16a60 70 20 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61  p below graphica
16a70 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 70 72  lly shows the pr
16a80 65 76 69 6f 75 73 20 3c 62 3e 54 53 50 3c 2f 62  evious <b>TSP</b
16a90 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e  > queries...<br>
16aa0 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22  <br>..<img src="
16ab0 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
16ac0 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e  -gis.it/gaia-sin
16ad0 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 74  s/routing-figs/t
16ae0 73 70 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69  sp1.jpg" alt="fi
16af0 67 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  g4">..<ul>..<li>
16b00 52 65 64 20 73 74 61 72 3a 20 74 68 65 20 3c 75  Red star: the <u
16b10 3e 3c 69 3e 62 61 73 65 2d 63 69 74 79 3c 2f 69  ><i>base-city</i
16b20 3e 3c 2f 75 3e 20 28 66 72 6f 6d 20 77 68 65 72  ></u> (from wher
16b30 65 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65  e the <u><i>sale
16b40 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 62 65  sman</i></u>) be
16b50 67 69 6e 73 20 68 69 73 2f 68 65 72 20 74 72 69  gins his/her tri
16b60 70 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65  p.</li>..<li>Gre
16b70 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 3c 75 3e  en dots: the <u>
16b80 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 3c 2f 75  <i>cities</i></u
16b90 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 2e  > to be visited.
16ba0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f  </li>..<li>Yello
16bb0 77 20 6c 69 6e 65 3a 20 74 68 65 20 54 53 50 20  w line: the TSP 
16bc0 73 6f 6c 75 74 69 6f 6e 20 28 74 68 61 74 20 69  solution (that i
16bd0 73 20 61 6c 77 61 79 73 20 61 20 63 69 72 63 75  s always a circu
16be0 6c 61 72 20 70 61 74 68 29 2e 3c 2f 6c 69 3e 0d  lar path).</li>.
16bf0 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62  .</ul><br>..<tab
16c00 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62  le bgcolor="#ffb
16c10 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  060" cellspacing
16c20 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
16c30 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
16c40 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f 77  <h3>Warning: how
16c50 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 68 61   to correctly ha
16c60 6e 64 6c 69 6e 67 20 54 53 50 20 72 65 73 75 6c  ndling TSP resul
16c70 74 73 65 74 73 20 77 69 74 68 20 73 70 61 74 69  tsets with spati
16c80 61 6c 69 74 65 5f 67 75 69 3c 2f 68 33 3e 0d 0a  alite_gui</h3>..
16c90 59 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 65 72  You should never
16ca0 20 66 6f 72 67 65 74 20 6f 72 20 6f 76 65 72 6c   forget or overl
16cb0 6f 6f 6b 20 74 68 61 74 20 62 6f 74 68 20 3c 62  ook that both <b
16cc0 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 61 6e 64 20  >TSP NN</b> and 
16cd0 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 61 72  <b>TSP GA</b> ar
16ce0 65 20 3c 75 3e 3c 69 3e 68 65 75 72 69 73 74 69  e <u><i>heuristi
16cf0 63 20 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 69 3e  c algorithms</i>
16d00 3c 2f 75 3e 20 68 65 61 76 69 6c 79 20 72 65 6c  </u> heavily rel
16d10 79 69 6e 67 20 6f 6e 20 3c 75 3e 3c 69 3e 72 61  ying on <u><i>ra
16d20 6e 64 6f 6d 3c 69 3e 3c 2f 75 3e 20 63 68 6f 69  ndom<i></u> choi
16d30 63 65 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 63  ces.<br>..This c
16d40 6f 75 6c 64 20 65 61 73 69 6c 79 20 68 61 76 65  ould easily have
16d50 20 74 68 65 20 70 72 61 63 74 69 63 61 6c 20 63   the practical c
16d60 6f 6e 73 65 71 75 65 6e 63 65 20 74 68 61 74 20  onsequence that 
16d70 72 65 73 6f 6c 76 69 6e 67 20 74 77 69 63 65 20  resolving twice 
16d80 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65 20 74 69  (or even more ti
16d90 6d 65 73 29 20 74 68 65 20 73 61 6d 65 20 69 64  mes) the same id
16da0 65 6e 74 69 63 61 6c 20 54 53 50 20 71 75 65 72  entical TSP quer
16db0 79 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c  y could eventual
16dc0 6c 79 20 72 65 74 75 72 6e 20 64 69 66 66 65 72  ly return differ
16dd0 65 6e 74 20 72 65 73 75 6c 74 73 65 74 73 2e 3c  ent resultsets.<
16de0 62 72 3e 0d 0a 54 68 65 72 65 20 69 73 20 6e 6f  br>..There is no
16df0 74 68 69 6e 67 20 69 6e 74 72 69 6e 73 69 63 61  thing intrinsica
16e00 6c 6c 79 20 77 72 6f 6e 67 20 69 6e 20 74 68 69  lly wrong in thi
16e10 73 2c 20 69 74 20 73 69 6d 70 6c 79 20 69 73 20  s, it simply is 
16e20 61 20 64 69 72 65 63 74 20 63 6f 6e 73 65 71 75  a direct consequ
16e30 65 6e 63 65 20 6f 66 20 75 73 69 6e 67 20 3c 75  ence of using <u
16e40 3e 3c 69 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f  ><i>randomness</
16e50 69 3e 3c 2f 75 3e 3b 20 77 65 20 61 72 65 20 73  i></u>; we are s
16e60 69 6d 70 6c 79 20 62 61 72 67 61 69 6e 69 6e 67  imply bargaining
16e70 20 3c 62 3e 65 78 61 63 74 6e 65 73 73 3c 2f 62   <b>exactness</b
16e80 3e 20 61 6e 64 20 3c 62 3e 72 65 70 72 6f 64 75  > and <b>reprodu
16e90 63 69 62 69 6c 69 74 79 3c 2f 62 3e 20 66 6f 72  cibility</b> for
16ea0 20 3c 62 3e 71 75 69 63 6b 6e 65 73 73 3c 2f 62   <b>quickness</b
16eb0 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 73  >.<br><br>..<b>s
16ec0 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62  patialite_gui</b
16ed0 3e 20 6f 6e 20 69 74 73 20 6f 77 6e 20 61 64 6f  > on its own ado
16ee0 70 74 73 20 61 20 3c 62 3e 70 61 67 65 64 20 73  pts a <b>paged s
16ef0 74 72 61 74 65 67 79 3c 2f 62 3e 20 77 68 65 6e  trategy</b> when
16f00 20 73 68 6f 77 69 6e 67 20 68 75 67 65 20 72 65   showing huge re
16f10 73 75 6c 74 73 65 74 73 3b 20 74 68 69 73 20 72  sultsets; this r
16f20 65 71 75 69 72 65 73 20 72 65 70 65 61 74 69 6e  equires repeatin
16f30 67 20 74 68 65 20 69 6e 69 74 69 61 6c 20 53 51  g the initial SQ
16f40 4c 20 71 75 65 72 79 20 65 61 63 68 20 74 69 6d  L query each tim
16f50 65 20 74 68 61 74 20 61 20 3c 62 3e 6e 65 77 20  e that a <b>new 
16f60 70 61 67 65 20 6f 66 20 35 30 30 20 72 6f 77 73  page of 500 rows
16f70 3c 2f 62 3e 20 68 61 73 20 74 6f 20 62 65 20 73  </b> has to be s
16f80 68 6f 77 6e 20 6f 6e 20 74 68 65 20 63 75 72 72  hown on the curr
16f90 65 6e 74 20 77 69 6e 64 6f 77 20 70 61 6e 65 6c  ent window panel
16fa0 2e 3c 62 72 3e 0d 0a 54 68 65 73 65 20 74 77 6f  .<br>..These two
16fb0 20 74 68 69 6e 67 73 20 64 6f 6e 27 74 20 67 6f   things don't go
16fc0 20 74 6f 67 65 74 68 65 72 20 77 65 6c 6c 3b 20   together well; 
16fd0 73 6f 20 64 6f 6e 27 74 20 62 65 20 73 75 72 70  so don't be surp
16fe0 72 69 73 65 64 20 77 68 65 6e 20 65 76 65 6e 74  rised when event
16ff0 75 61 6c 6c 79 20 64 69 73 63 6f 76 65 72 69 6e  ually discoverin
17000 67 20 74 68 61 74 20 3c 62 3e 73 70 61 74 69 61  g that <b>spatia
17010 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 77 69 6c  lite_gui</b> wil
17020 6c 20 62 65 68 61 76 65 20 62 69 7a 61 72 72 65  l behave bizarre
17030 6c 79 20 77 68 69 6c 65 20 70 72 65 73 65 6e 74  ly while present
17040 69 6e 67 20 73 6f 6d 65 20 72 65 73 75 6c 74 73  ing some results
17050 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 61  et returned by a
17060 20 54 53 50 20 71 75 65 72 79 2e 20 0d 0a 3c 76   TSP query. ..<v
17070 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45  erbatim>..UPDATE
17080 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65 71 75   byfoot SET Requ
17090 65 73 74 20 3d 20 27 54 53 50 27 3b 0d 0a 0d 0a  est = 'TSP';....
170a0 43 52 45 41 54 45 20 54 41 42 4c 45 20 6d 79 5f  CREATE TABLE my_
170b0 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 41 53 0d  tsp_solution AS.
170c0 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68  .SELECT Algorith
170d0 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69  m, Request, Opti
170e0 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20  ons, Delimiter, 
170f0 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f  RouteId, RouteRo
17100 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77  w, Role, LinkRow
17110 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f  id, NodeFrom, No
17120 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d  deTo, Cost, Geom
17130 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d  etry, Name..FROM
17140 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e   byfoot..WHERE N
17150 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31  odeFrom = 178731
17160 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31   AND NodeTo = '1
17170 38 33 32 38 36 2c 31 38 31 39 39 39 2c 31 38 34  83286,181999,184
17180 30 33 30 2c 31 38 33 38 38 32 2c 31 37 38 37 35  030,183882,17875
17190 34 27 3b 0d 0a 0d 0a 2e 2e 2e 20 20 3c 6e 6f 77  4';.......  <now
171a0 20 71 75 65 72 79 20 22 6d 79 5f 74 73 70 5f 73   query "my_tsp_s
171b0 6f 6c 75 74 69 6f 6e 22 20 75 73 69 6e 67 20 73  olution" using s
171c0 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3e 20 20  patialite_gui>  
171d0 2e 2e 2e 0d 0a 0d 0a 44 52 4f 50 20 54 41 42 4c  .......DROP TABL
171e0 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f  E my_tsp_solutio
171f0 6e 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  n;..</verbatim>.
17200 0a 3c 75 3e 48 69 6e 74 3c 2f 75 3e 3a 20 72 65  .<u>Hint</u>: re
17210 73 6f 6c 76 69 6e 67 20 74 68 69 73 20 70 75 7a  solving this puz
17220 7a 6c 69 6e 67 20 69 73 73 75 65 20 69 73 20 68  zling issue is h
17230 6f 77 65 76 65 72 20 62 61 73 69 63 61 6c 6c 79  owever basically
17240 20 73 69 6d 70 6c 65 3a 0d 0a 3c 6f 6c 3e 0d 0a   simple:..<ol>..
17250 3c 6c 69 3e 79 6f 75 20 73 69 6d 70 6c 79 20 68  <li>you simply h
17260 61 76 65 20 74 6f 20 74 61 6b 65 20 61 20 3c 62  ave to take a <b
17270 3e 73 74 61 74 69 63 20 73 6e 61 70 73 68 6f 74  >static snapshot
17280 3c 2f 62 3e 20 6f 66 20 79 6f 75 72 20 54 53 50  </b> of your TSP
17290 20 72 65 73 75 6c 74 73 65 74 20 62 79 20 75 73   resultset by us
172a0 69 6e 67 20 74 68 65 20 3c 62 3e 43 52 45 41 54  ing the <b>CREAT
172b0 45 20 54 41 42 4c 45 20 3c 69 3e 6e 61 6d 65 3c  E TABLE <i>name<
172c0 2f 69 3e 20 41 53 20 3c 69 3e 54 53 50 20 71 75  /i> AS <i>TSP qu
172d0 65 72 79 3c 69 3e 3c 2f 62 3e 2e 3c 2f 6c 69 3e  ery<i></b>.</li>
172e0 0d 0a 3c 6c 69 3e 74 68 65 6e 20 79 6f 75 20 63  ..<li>then you c
172f0 61 6e 20 66 72 65 65 6c 79 20 65 78 61 6d 69 6e  an freely examin
17300 65 20 74 68 65 20 61 62 6f 76 65 20 73 6e 61 70  e the above snap
17310 73 68 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  shot.</li>..<li>
17320 61 6e 64 20 66 69 6e 61 6c 6c 79 20 79 6f 75 20  and finally you 
17330 63 61 6e 20 64 75 6c 79 20 3c 62 3e 44 52 4f 50  can duly <b>DROP
17340 3c 2f 62 3e 20 74 68 65 20 73 6e 61 70 73 68 6f  </b> the snapsho
17350 74 20 6f 6e 63 65 20 69 74 27 73 20 6e 6f 20 6c  t once it's no l
17360 6f 6e 67 65 72 20 75 73 65 66 75 6c 2e 20 28 6f  onger useful. (o
17370 72 20 75 73 65 20 3c 62 3e 43 52 45 41 54 45 20  r use <b>CREATE 
17380 54 45 4d 50 4f 52 41 52 59 20 54 41 42 4c 45 20  TEMPORARY TABLE 
17390 6e 61 6d 65 20 41 53 20 3c 69 3e 54 53 50 20 71  name AS <i>TSP q
173a0 75 65 72 79 3e 3c 2f 69 3e 3c 2f 62 3e 2c 20 77  uery></i></b>, w
173b0 68 65 72 65 20 74 68 65 20 54 41 42 4c 45 20 77  here the TABLE w
173c0 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 61  ill be removed a
173d0 74 20 74 68 65 20 73 65 73 73 69 6f 6e 20 65 6e  t the session en
173e0 64 29 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a  d)</li>..</ol>..
173f0 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  </td></tr>..</ta
17400 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62  ble>..<br>..<tab
17410 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66  le bgcolor="#c0f
17420 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fc0" cellspacing
17430 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
17440 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
17450 3c 68 33 3e 4d 6f 72 65 20 61 62 6f 75 74 20 4c  <h3>More about L
17460 69 6e 65 61 72 20 52 65 66 65 72 65 6e 63 69 6e  inear Referencin
17470 67 20 61 6e 64 20 56 69 72 74 75 61 6c 52 6f 75  g and VirtualRou
17480 74 69 6e 67 20 4c 69 6e 65 73 74 72 69 6e 67 73  ting Linestrings
17490 3c 2f 68 33 3e 20 0d 0a 59 6f 75 20 68 61 76 65  </h3> ..You have
174a0 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e   already seen in
174b0 20 61 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d   a previous exam
174c0 70 6c 65 20 74 68 61 74 20 61 6c 6c 20 4c 49 4e  ple that all LIN
174d0 45 53 54 52 49 4e 47 73 20 63 72 65 61 74 65 64  ESTRINGs created
174e0 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69   by VirtualRouti
174f0 6e 67 20 73 75 70 70 6f 72 74 20 74 68 65 20 3c  ng support the <
17500 62 3e 4d 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e 6d  b>M</b> (<b><i>m
17510 65 61 73 75 72 65 3c 2f 69 3e 3c 2f 62 3e 29 20  easure</i></b>) 
17520 63 6f 6f 72 64 69 6e 61 74 65 20 69 6e 74 65 6e  coordinate inten
17530 64 65 64 20 61 73 20 61 20 3c 62 3e 70 72 6f 67  ded as a <b>prog
17540 72 65 73 73 69 76 65 20 63 6f 73 74 3c 2f 62 3e  ressive cost</b>
17550 20 66 6f 72 20 65 61 63 68 20 76 65 72 74 65 78   for each vertex
17560 2e 20 41 6e 64 20 79 6f 75 20 61 6c 72 65 61 64  . And you alread
17570 79 20 6b 6e 6f 77 20 74 68 65 20 74 68 65 79 20  y know the they 
17580 63 61 6e 20 73 75 70 70 6f 72 74 20 3c 62 3e 3c  can support <b><
17590 69 3e 6c 69 6e 65 61 72 20 72 65 66 65 72 65 6e  i>linear referen
175a0 63 69 6e 67 3c 2f 69 3e 3c 2f 62 3e 20 28 3c 62  cing</i></b> (<b
175b0 3e 4c 52 3c 2f 62 3e 29 20 53 51 4c 20 66 75 6e  >LR</b>) SQL fun
175c0 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 4e 6f 77  ctions.<br>..Now
175d0 20 6c 65 74 27 73 20 64 69 67 20 69 6e 20 66 75   let's dig in fu
175e0 72 74 68 65 72 2e 0d 0a 3c 68 33 3e 54 72 61 6a  rther...<h3>Traj
175f0 65 63 74 6f 72 79 20 6f 62 6a 65 63 74 73 3c 2f  ectory objects</
17600 68 33 3e 0d 0a 41 20 3c 62 3e 54 72 61 6a 65 63  h3>..A <b>Trajec
17610 74 6f 72 79 3c 2f 62 3e 20 69 73 20 61 6e 79 20  tory</b> is any 
17620 4c 69 6e 65 73 74 72 69 6e 67 20 73 75 70 70 6f  Linestring suppo
17630 72 74 69 6e 67 20 3c 62 3e 4d 20 63 6f 6f 72 64  rting <b>M coord
17640 69 6e 61 74 65 73 3c 2f 62 3e 20 77 69 74 68 20  inates</b> with 
17650 61 20 63 6f 6e 74 69 6e 75 6f 75 73 6c 79 20 69  a continuously i
17660 6e 63 72 65 61 73 69 6e 67 20 74 72 65 6e 64 2e  ncreasing trend.
17670 3c 62 72 3e 0d 0a 49 6e 20 73 69 6d 70 6c 65 72  <br>..In simpler
17680 20 77 6f 72 64 73 2c 20 74 68 65 20 3c 62 3e 4d   words, the <b>M
17690 2d 76 61 6c 75 65 3c 2f 62 3e 20 6f 66 20 65 61  -value</b> of ea
176a0 63 68 20 76 65 72 74 65 78 20 28 65 78 63 65 70  ch vertex (excep
176b0 74 20 74 68 65 20 6c 61 73 74 20 6f 6e 65 29 20  t the last one) 
176c0 6d 75 73 74 20 62 65 20 3c 62 3e 6c 65 73 73 65  must be <b>lesse
176d0 72 3c 2f 62 3e 20 74 68 61 6e 20 74 68 65 20 4d  r</b> than the M
176e0 2d 56 61 6c 75 65 20 6f 66 20 74 68 65 20 6e 65  -Value of the ne
176f0 78 74 20 76 65 72 74 65 78 2e 0d 0a 3c 76 65 72  xt vertex...<ver
17700 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a  batim>..SELECT *
17710 20 46 52 4f 4d 20 6d 79 5f 74 73 70 5f 73 6f 6c   FROM my_tsp_sol
17720 75 74 69 6f 6e 20 57 48 45 52 45 20 53 54 5f 49  ution WHERE ST_I
17730 73 56 61 6c 69 64 54 72 61 6a 65 63 74 6f 72 79  sValidTrajectory
17740 28 67 65 6f 6d 65 74 72 79 29 20 3d 20 31 3b 0d  (geometry) = 1;.
17750 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
17760 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61  ----..1..</verba
17770 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e  tim>..As you can
17780 20 65 61 73 69 6c 79 20 63 68 65 63 6b 20 62 79   easily check by
17790 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53 54 5f 49   calling <b>ST_I
177a0 73 56 61 6c 69 64 54 72 61 6a 65 63 74 6f 72 79  sValidTrajectory
177b0 28 29 3c 2f 62 3e 20 65 76 65 72 79 20 4c 69 6e  ()</b> every Lin
177c0 65 73 74 72 69 6e 67 20 63 72 65 61 74 65 64 20  estring created 
177d0 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  by VirtualRoutin
177e0 67 20 69 73 20 61 20 3c 62 3e 76 61 6c 69 64 20  g is a <b>valid 
177f0 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62 3e 2e 0d  Trajectory</b>..
17800 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
17810 45 43 54 20 53 54 5f 54 72 61 6a 65 63 74 6f 72  ECT ST_Trajector
17820 79 49 6e 74 65 72 70 6f 6c 61 74 65 50 6f 69 6e  yInterpolatePoin
17830 74 28 47 65 6f 6d 65 74 72 79 2c 20 31 30 30 2e  t(Geometry, 100.
17840 30 29 0d 0a 46 52 4f 4d 20 6d 79 5f 74 73 70 5f  0)..FROM my_tsp_
17850 73 6f 6c 75 74 69 6f 6e 0d 0a 57 48 45 52 45 20  solution..WHERE 
17860 52 6f 75 74 65 49 64 20 3d 20 30 3b 0d 0a 3c 2f  RouteId = 0;..</
17870 76 65 72 62 61 74 69 6d 3e 0d 0a 53 6f 20 79 6f  verbatim>..So yo
17880 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 63  u just have to c
17890 61 6c 6c 20 3c 62 3e 53 54 5f 54 72 61 6a 65 63  all <b>ST_Trajec
178a0 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61 74 65 50  toryInterpolateP
178b0 6f 69 6e 74 28 29 3c 2f 62 3e 20 69 6e 20 6f 72  oint()</b> in or
178c0 64 65 72 20 74 6f 20 63 72 65 61 74 65 20 61 20  der to create a 
178d0 50 4f 49 4e 54 20 70 72 65 63 69 73 65 6c 79 20  POINT precisely 
178e0 6c 6f 63 61 74 65 64 20 6f 6e 20 74 68 65 20 4c  located on the L
178f0 69 6e 65 73 74 72 69 6e 67 20 61 74 20 74 68 65  inestring at the
17900 20 67 69 76 65 6e 20 3c 62 3e 63 6f 73 74 3c 2f   given <b>cost</
17910 62 3e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 68 72  b>...<br><br><hr
17920 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 73  ><br><br>..The s
17930 69 64 65 20 6d 61 70 20 67 72 61 70 68 69 63 61  ide map graphica
17940 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 65 73  lly shows the es
17950 74 69 6d 61 74 65 64 20 70 6f 73 69 74 69 6f 6e  timated position
17960 73 20 65 76 65 72 79 20 31 30 30 6d 20 61 73 73  s every 100m ass
17970 75 6d 69 6e 67 20 74 68 65 20 73 61 6d 65 20 70  uming the same p
17980 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 79 20  ath returned by 
17990 74 68 65 20 6c 61 74 65 73 74 20 54 53 50 20 71  the latest TSP q
179a0 75 65 72 79 2e 0d 0a 3c 2f 74 64 3e 3c 74 64 3e  uery...</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 20 20 20 0d 0a 3c 69 6d 67 20 73 72         ..<img sr
20100 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  c="https://www.g
20110 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
20120 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67  sins/routing-fig
20130 73 2f 74 73 70 32 2e 6a 70 67 22 20 61 6c 74 3d  s/tsp2.jpg" alt=
20140 22 66 69 67 35 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f  "fig5">..</td></
20150 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  tr></table>..<br
20160 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d  ><br>..<hr><br>.
20170 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 70 32  .<h1><a name="p2
20180 70 22 3e 38 20 2d 20 53 6f 6c 76 69 6e 67 20 50  p">8 - Solving P
20190 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 70 72  oint-to-Point pr
201a0 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d  oblems</a></h1>.
201b0 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50  .A <b>Point-to-P
201c0 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79 20 69  oint</b> query i
201d0 73 20 76 65 72 79 20 73 69 6d 69 6c 61 72 20 74  s very similar t
201e0 6f 20 61 20 6d 6f 73 74 20 75 73 75 61 6c 20 3c  o a most usual <
201f0 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61  b>single-destina
20200 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61  tion Shortest Pa
20210 74 68 3c 2f 62 3e 20 71 75 65 72 79 2c 20 65 78  th</b> query, ex
20220 63 65 70 74 20 74 68 61 74 3a 0d 0a 3c 75 6c 3e  cept that:..<ul>
20230 0d 0a 3c 6c 69 3e 41 20 63 6c 61 73 73 69 63 20  ..<li>A classic 
20240 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
20250 65 72 79 20 72 65 71 75 69 72 65 73 20 74 6f 20  ery requires to 
20260 73 70 65 63 69 66 79 20 61 20 3c 62 3e 4e 6f 64  specify a <b>Nod
20270 65 46 72 6f 6d 3c 2f 62 3e 20 28 3c 75 3e 3c 69  eFrom</b> (<u><i
20280 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 29  >origin</i></u>)
20290 20 61 6e 64 20 61 20 3c 62 3e 4e 6f 64 65 54 6f   and a <b>NodeTo
202a0 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 64 65 73 74  </b> (<u><i>dest
202b0 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 29  ination</i></u>)
202c0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 50 6f  .</li>..<li>A Po
202d0 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65  int-to-Point que
202e0 72 79 20 68 61 73 20 61 20 6d 6f 72 65 20 72 65  ry has a more re
202f0 6c 61 78 65 64 20 72 65 71 75 69 72 65 6d 65 6e  laxed requiremen
20300 74 2c 20 61 6e 64 20 6a 75 73 74 20 72 65 71 75  t, and just requ
20310 69 72 65 73 20 74 6f 20 73 70 65 63 69 66 79 20  ires to specify 
20320 61 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f  a <b>PointFrom</
20330 62 3e 20 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e  b> (<u><i>origin
20340 3c 2f 69 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 20  </i></u>) and a 
20350 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 28  <b>PointTo</b> (
20360 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f  <u><i>destinatio
20370 6e 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c 62 72 3e 0d  n</i></u>).<br>.
20380 0a 42 6f 74 68 20 3c 62 3e 50 6f 69 6e 74 73 3c  .Both <b>Points<
20390 2f 62 3e 20 63 61 6e 20 62 65 20 66 72 65 65 6c  /b> can be freel
203a0 79 20 70 6f 73 69 74 69 6f 6e 65 64 20 65 76 65  y positioned eve
203b0 72 79 77 68 65 72 65 20 6f 6e 20 61 20 6d 61 70  rywhere on a map
203c0 2c 20 61 6e 64 20 61 72 65 20 6e 6f 74 20 72 65  , and are not re
203d0 71 75 69 72 65 64 20 74 6f 20 70 72 65 63 69 73  quired to precis
203e0 65 6c 79 20 69 6e 74 65 72 73 65 63 74 20 65 69  ely intersect ei
203f0 74 68 65 72 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f  ther a <b>Node</
20400 62 3e 20 6e 6f 72 20 61 20 3c 62 3e 4c 69 6e 6b  b> nor a <b>Link
20410 3c 2f 62 3e 20 6f 66 20 74 68 65 20 75 6e 64 65  </b> of the unde
20420 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e  rlaying Network.
20430 3c 62 72 3e 0d 0a 54 68 65 20 50 6f 69 6e 74 2d  <br>..The Point-
20440 74 6f 2d 50 6f 69 6e 74 27 73 20 3c 75 3e 3c 69  to-Point's <u><i
20450 3e 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69 63 3c  >internal logic<
20460 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c 20 74 68 65  /i></u> will the
20470 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  n automatically 
20480 69 64 65 6e 74 69 66 79 20 28 69 66 20 70 6f 73  identify (if pos
20490 73 69 62 6c 65 29 20 74 68 65 20 61 70 70 72 6f  sible) the appro
204a0 70 72 69 61 74 65 20 4e 6f 64 65 73 20 66 6f 72  priate Nodes for
204b0 20 63 6f 6d 70 75 74 69 6e 67 20 61 20 53 68 6f   computing a Sho
204c0 72 74 65 73 74 20 50 61 74 68 20 73 6f 6c 75 74  rtest Path solut
204d0 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ion.<br>..<u>Not
204e0 65 3c 2f 75 3e 3a 20 74 68 65 20 74 77 6f 20 50  e</u>: the two P
204f0 6f 69 6e 74 73 20 3c 62 3e 6d 75 73 74 3c 2f 62  oints <b>must</b
20500 3e 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 3c  > use the same <
20510 62 3e 53 52 49 44 3c 2f 62 3e 20 6f 66 20 74 68  b>SRID</b> of th
20520 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74  e underlying Net
20530 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  work.</li>..</ul
20540 3e 0d 0a 3c 68 33 3e 48 6f 77 20 69 74 20 77 6f  >..<h3>How it wo
20550 72 6b 73 20 69 6e 20 70 72 61 63 74 69 63 65 3c  rks in practice<
20560 2f 68 33 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e  /h3>..<ol>..<li>
20570 61 20 66 69 72 73 74 20 3c 75 3e 3c 69 3e 73 70  a first <u><i>sp
20580 61 74 69 61 6c 20 73 65 61 72 63 68 3c 2f 69 3e  atial search</i>
20590 3c 2f 75 3e 20 62 61 73 65 64 20 6f 6e 20 74 68  </u> based on th
205a0 65 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f  e <b>PointFrom</
205b0 62 3e 20 77 69 6c 6c 20 61 74 74 65 6d 70 74 20  b> will attempt 
205c0 74 6f 20 69 64 65 6e 74 69 66 79 20 61 6c 6c 20  to identify all 
205d0 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 66 61 6c  <b>Links</b> fal
205e0 6c 69 6e 67 20 77 69 74 68 69 6e 20 61 20 67 69  ling within a gi
205f0 76 65 6e 20 3c 62 3e 74 6f 6c 65 72 61 6e 63 65  ven <b>tolerance
20600 20 72 61 64 69 75 73 3c 2f 62 3e 20 66 72 6f 6d   radius</b> from
20610 20 74 68 65 20 50 6f 69 6e 74 2e 3c 2f 6c 69 3e   the Point.</li>
20620 0d 0a 3c 6c 69 3e 61 20 73 65 63 6f 6e 64 20 73  ..<li>a second s
20630 69 6d 69 6c 61 72 20 73 70 61 74 69 61 6c 20 73  imilar spatial s
20640 65 61 72 63 68 20 77 69 6c 6c 20 61 74 74 65 6d  earch will attem
20650 70 74 20 74 6f 20 69 64 65 6e 74 69 66 79 20 61  pt to identify a
20660 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20  ll <b>Links</b> 
20670 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 3c  related to the <
20680 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c 2f  b>PointTo</b>.</
20690 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 3c 62 3e  li>..<li>all <b>
206a0 4e 6f 64 65 73 3c 2f 62 3e 20 62 65 6c 6f 6e 67  Nodes</b> belong
206b0 69 6e 67 20 74 6f 20 61 6e 79 20 3c 62 3e 4c 69  ing to any <b>Li
206c0 6e 6b 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65  nk</b> identifie
206d0 64 20 62 79 20 74 68 65 20 66 69 72 73 74 20 73  d by the first s
206e0 70 61 74 69 61 6c 20 73 65 61 72 63 68 20 77 69  patial search wi
206f0 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64  ll be considered
20700 20 61 73 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e   as possible <b>
20710 4e 6f 64 65 46 72 6f 6d 20 63 61 6e 64 69 64 61  NodeFrom candida
20720 74 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  tes</b>.</li>..<
20730 6c 69 3e 61 6e 64 20 73 79 6d 6d 65 74 72 69 63  li>and symmetric
20740 61 6c 6c 79 2c 20 61 6c 6c 20 3c 62 3e 4e 6f 64  ally, all <b>Nod
20750 65 73 3c 2f 62 3e 20 62 65 6c 6f 6e 67 69 6e 67  es</b> belonging
20760 20 74 6f 20 61 6e 79 20 3c 62 3e 4c 69 6e 6b 3c   to any <b>Link<
20770 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 64 20 62  /b> identified b
20780 79 20 74 68 65 20 73 65 63 6f 6e 64 20 73 70 61  y the second spa
20790 74 69 61 6c 20 73 65 61 72 63 68 20 77 69 6c 6c  tial search will
207a0 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 61   be considered a
207b0 73 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 4e 6f  s possible <b>No
207c0 64 65 54 6f 20 63 61 6e 64 69 64 61 74 65 73 3c  deTo candidates<
207d0 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61  /b>.</li>..<li>a
207e0 20 66 75 6c 6c 20 70 65 72 6d 75 74 61 74 69 6f   full permutatio
207f0 6e 20 6f 66 20 61 6c 6c 20 53 68 6f 72 74 65 73  n of all Shortes
20800 74 20 50 61 74 68 20 73 6f 6c 75 74 69 6f 6e 73  t Path solutions
20810 20 63 6f 6e 6e 65 63 74 69 6e 67 20 6f 6e 65 20   connecting one 
20820 74 68 65 20 46 72 6f 6d 20 63 61 6e 64 69 64 61  the From candida
20830 74 65 73 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68  tes to one of th
20840 65 20 54 6f 20 63 61 6e 64 69 64 61 74 65 73 20  e To candidates 
20850 77 69 6c 6c 20 62 65 20 74 68 65 6e 20 63 6f 6d  will be then com
20860 70 75 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  puted.</li>..<li
20870 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20 74 68 65  >and finally the
20880 20 3c 62 3e 6f 70 74 69 6d 61 6c 20 50 6f 69 6e   <b>optimal Poin
20890 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f 6c 75 74  t-to-Point solut
208a0 69 6f 6e 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20  ion</b> will be 
208b0 73 65 6c 65 63 74 65 64 20 62 79 20 69 64 65 6e  selected by iden
208c0 74 69 66 79 69 6e 67 20 77 68 69 63 68 20 73 70  tifying which sp
208d0 65 63 69 66 69 63 20 63 61 6e 64 69 64 61 74 65  ecific candidate
208e0 20 70 72 65 73 65 6e 74 73 20 74 68 65 20 3c 62   presents the <b
208f0 3e 6c 65 73 73 65 72 20 43 6f 73 74 3c 2f 62 3e  >lesser Cost</b>
20900 20 6f 66 20 74 68 65 6d 20 61 6c 6c 2e 3c 2f 6c   of them all.</l
20910 69 3e 0d 0a 3c 2f 6f 6c 3e 3c 62 72 3e 0d 0a 3c  i>..</ol><br>..<
20920 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
20930 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63  ffb060" cellspac
20940 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
20950 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
20960 3e 0d 0a 3c 68 33 3e 42 65 20 61 77 61 72 65 3c  >..<h3>Be aware<
20970 2f 68 33 3e 0d 0a 41 74 74 65 6d 70 74 69 6e 67  /h3>..Attempting
20980 20 74 6f 20 73 6f 6c 76 65 20 50 6f 69 6e 74 2d   to solve Point-
20990 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73  to-Point queries
209a0 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 72   strictly requir
209b0 65 73 20 74 68 61 74 20 61 6e 20 61 70 70 72 6f  es that an appro
209c0 70 72 69 61 74 65 20 3c 62 3e 53 70 61 74 69 61  priate <b>Spatia
209d0 6c 20 49 6e 64 65 78 3c 2f 62 3e 20 74 6f 20 65  l Index</b> to e
209e0 66 66 65 63 74 69 76 65 6c 79 20 73 75 70 70 6f  ffectively suppo
209f0 72 74 20 61 6c 6c 20 4c 69 6e 6b 73 20 6f 66 20  rt all Links of 
20a00 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20  the underlaying 
20a10 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 49 66  Network.<br>..If
20a20 20 73 75 63 68 20 61 20 70 72 65 2d 72 65 71 75   such a pre-requ
20a30 69 72 65 6d 65 6e 74 20 69 73 20 6e 6f 74 20 66  irement is not f
20a40 75 6c 66 69 6c 6c 65 64 20 74 68 65 20 61 62 6f  ulfilled the abo
20a50 76 65 20 6d 65 6e 74 69 6f 6e 65 64 20 3c 75 3e  ve mentioned <u>
20a60 3c 69 3e 73 70 61 74 69 61 6c 20 73 65 61 72 63  <i>spatial searc
20a70 68 65 73 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c  hes</i></u> will
20a80 20 66 61 69 6c 20 6d 69 73 65 72 61 62 6c 79 2c   fail miserably,
20a90 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c   and consequentl
20aa0 79 20 61 6c 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50  y all Point-to-P
20ab0 6f 69 6e 74 20 71 75 65 72 69 65 73 20 77 69 6c  oint queries wil
20ac0 6c 20 62 65 20 75 6e 61 62 6c 65 20 74 6f 20 69  l be unable to i
20ad0 64 65 6e 74 69 66 79 20 61 6e 79 20 70 6f 73 73  dentify any poss
20ae0 69 62 6c 65 20 43 61 6e 64 69 64 61 74 65 20 74  ible Candidate t
20af0 6f 20 62 65 20 65 76 61 6c 75 61 74 65 64 2e 0d  o be evaluated..
20b00 0a 3c 68 33 3e 41 6c 77 61 79 73 20 72 65 6d 65  .<h3>Always reme
20b10 6d 62 65 72 3c 2f 68 33 3e 0d 0a 43 61 72 65 66  mber</h3>..Caref
20b20 75 6c 6c 79 20 63 68 65 63 6b 20 69 66 20 61 6e  ully check if an
20b30 20 61 70 70 72 6f 70 72 69 61 74 65 20 53 70 61   appropriate Spa
20b40 74 69 61 6c 20 49 6e 64 65 78 20 61 6c 6c 72 65  tial Index allre
20b50 61 64 79 20 65 78 69 73 74 73 20 62 65 66 6f 72  ady exists befor
20b60 65 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20  e attempting to 
20b70 65 78 65 63 75 74 65 20 61 6e 79 20 50 6f 69 6e  execute any Poin
20b80 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79  t-to-Point query
20b90 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74  ...<br><br>..</t
20ba0 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d  d></tr></table>.
20bb0 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  .<br>..<table bg
20bc0 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20  color="#c0ffc0" 
20bd0 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
20be0 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
20bf0 3e 3c 74 72 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  ><tr><td align="
20c00 63 65 6e 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d  center" colspan=
20c10 22 32 22 3e 0d 0a 3c 68 32 3e 42 61 73 69 63 20  "2">..<h2>Basic 
20c20 63 6f 6e 63 65 70 74 73 2c 20 74 65 63 68 6e 69  concepts, techni
20c30 63 61 6c 20 64 65 74 61 69 6c 73 20 61 6e 64 20  cal details and 
20c40 72 65 6c 61 74 65 64 20 67 6c 6f 73 73 61 72 79  related glossary
20c50 3c 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  </h2>..</td></tr
20c60 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 54 68 65  >..<tr><td>..The
20c70 20 73 69 64 65 20 66 69 67 75 72 65 20 73 68 6f   side figure sho
20c80 77 73 20 61 20 68 79 70 6f 74 68 65 74 69 63 61  ws a hypothetica
20c90 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  l Point-to-Point
20ca0 20 73 6f 6c 75 74 69 6f 6e 20 61 6c 6d 6f 73 74   solution almost
20cb0 20 70 72 65 63 69 73 65 6c 79 20 62 61 73 65 64   precisely based
20cc0 20 6f 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e   on the followin
20cd0 67 20 73 65 71 75 65 6e 63 65 20 6f 66 20 4e 6f  g sequence of No
20ce0 64 65 73 3a 3c 62 72 3e 0d 0a 3c 62 3e 3c 69 3e  des:<br>..<b><i>
20cf0 4e 31 2d 4e 32 2d 4e 33 2d 4e 34 2d 4e 35 2d 4e  N1-N2-N3-N4-N5-N
20d00 36 2d 4e 37 2d 4e 38 2d 4e 39 2d 4e 31 30 2d 4e  6-N7-N8-N9-N10-N
20d10 31 31 2d 4e 31 32 2d 4e 31 33 2d 4e 31 34 2d 4e  11-N12-N13-N14-N
20d20 31 35 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e  15</i></b>..<br>
20d30 3c 62 72 3e 0d 0a 48 6f 77 65 76 65 72 2c 20 61  <br>..However, a
20d40 73 20 79 6f 75 20 63 61 6e 20 73 65 65 2c 20 74  s you can see, t
20d50 68 65 72 65 20 61 72 65 20 74 77 6f 20 6e 6f 74  here are two not
20d60 69 63 65 61 62 6c 65 20 65 78 63 65 70 74 69 6f  iceable exceptio
20d70 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 54  ns:..<ul>..<li>T
20d80 68 65 20 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20  he <b>first</b> 
20d90 4c 69 6e 6b 20 28 63 6f 6e 6e 65 63 74 69 6e 67  Link (connecting
20da0 20 3c 62 3e 4e 31 3c 2f 62 3e 20 74 6f 20 3c 62   <b>N1</b> to <b
20db0 3e 4e 32 3c 2f 62 3e 29 20 69 73 20 6e 6f 74 20  >N2</b>) is not 
20dc0 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65 71 75 69  completely requi
20dd0 72 65 64 20 62 79 20 74 68 65 20 53 6f 6c 75 74  red by the Solut
20de0 69 6f 6e 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 61  ion.<br>..Just a
20df0 20 73 6d 61 6c 6c 20 70 6f 72 74 69 6f 6e 20 28   small portion (
20e00 64 72 61 77 6e 20 69 6e 20 72 65 64 29 20 6f 66  drawn in red) of
20e10 20 74 68 69 73 20 4c 69 6e 6b 20 69 73 20 65 66   this Link is ef
20e20 66 65 63 74 69 76 65 6c 79 20 72 65 71 75 69 72  fectively requir
20e30 65 64 2e 3c 62 72 3e 0d 0a 54 68 65 20 72 65 6d  ed.<br>..The rem
20e40 61 69 6e 69 6e 67 20 70 61 72 74 20 28 64 72 61  aining part (dra
20e50 77 6e 20 69 6e 20 67 72 61 79 29 20 69 73 6e 27  wn in gray) isn'
20e60 74 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 65  t covered by the
20e70 20 53 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d   Solution.</li>.
20e80 0a 3c 6c 69 3e 45 78 61 63 74 6c 79 20 74 68 65  .<li>Exactly the
20e90 20 73 61 6d 65 20 69 73 20 74 72 75 65 20 66 6f   same is true fo
20ea0 72 20 74 68 65 20 3c 62 3e 6c 61 73 74 3c 2f 62  r the <b>last</b
20eb0 3e 20 4c 69 6e 6b 20 63 6f 6e 6e 65 63 74 69 6e  > Link connectin
20ec0 67 20 3c 62 3e 4e 31 34 3c 2f 62 3e 20 74 6f 20  g <b>N14</b> to 
20ed0 3c 62 3e 4e 31 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e  <b>N15</b>.</li>
20ee0 0d 0a 3c 6c 69 3e 54 68 61 74 27 73 20 6e 6f 74  ..<li>That's not
20ef0 20 61 6c 6c 3a 20 74 68 65 72 65 20 61 72 65 20   all: there are 
20f00 74 77 6f 20 73 68 6f 72 74 20 73 65 67 6d 65 6e  two short segmen
20f10 74 73 20 28 64 72 61 77 6e 20 69 6e 20 67 72 65  ts (drawn in gre
20f20 65 6e 29 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c  en) connecting <
20f30 62 3e 50 66 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20  b>Pfrom</b> and 
20f40 3c 62 3e 50 74 6f 3c 2f 62 3e 20 28 3c 69 3e 6f  <b>Pto</b> (<i>o
20f50 72 69 67 69 6e 3c 2f 69 3e 20 61 6e 64 20 3c 69  rigin</i> and <i
20f60 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e  >destination</i>
20f70 20 50 6f 69 6e 74 73 29 20 72 65 73 70 65 63 74   Points) respect
20f80 69 76 65 6c 79 20 74 6f 20 74 68 65 20 3c 62 3e  ively to the <b>
20f90 66 69 72 73 74 3c 2f 62 3e 20 61 6e 64 20 3c 62  first</b> and <b
20fa0 3e 6c 61 73 74 3c 2f 62 3e 20 70 61 72 74 69 61  >last</b> partia
20fb0 6c 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c  l Links.</li>..<
20fc0 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 41 6c 6c 20  /ul>..<br>..All 
20fd0 74 68 69 73 20 69 73 6e 27 74 20 73 75 72 70 72  this isn't surpr
20fe0 69 73 69 6e 67 2c 20 73 69 6e 63 65 20 69 74 20  ising, since it 
20ff0 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20 6d 6f  simply is the mo
21000 73 74 20 6f 62 76 69 6f 75 73 20 64 69 72 65 63  st obvious direc
21010 74 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66  t consequence of
21020 20 74 68 65 20 76 65 72 79 20 62 61 73 69 63 20   the very basic 
21030 61 73 73 75 6d 70 74 69 6f 6e 73 20 61 74 20 74  assumptions at t
21040 68 65 20 62 61 73 69 73 20 6f 66 20 50 6f 69 6e  he basis of Poin
21050 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69  t-to-Point queri
21060 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4e  es:..<ul>..<li>N
21070 65 69 74 68 65 72 20 74 68 65 20 3c 62 3e 50 6f  either the <b>Po
21080 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 6e 6f 72 20  intFrom</b> nor 
21090 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f  the <b>PointTo</
210a0 62 3e 20 61 72 65 20 72 65 71 75 69 72 65 64 20  b> are required 
210b0 74 6f 20 65 78 61 63 74 6c 79 20 69 6e 74 65 72  to exactly inter
210c0 73 65 63 74 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f  sect a <b>Node</
210d0 62 3e 2e 3c 62 72 3e 0d 0a 43 6f 6e 73 65 71 75  b>.<br>..Consequ
210e0 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 66 69 72  ently the <b>fir
210f0 73 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61  st</b> and <b>la
21100 73 74 3c 2f 62 3e 20 4c 69 6e 6b 73 20 6f 66 20  st</b> Links of 
21110 74 68 65 20 6f 76 65 72 61 6c 6c 20 50 6f 69 6e  the overall Poin
21120 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74  t-to-Point Solut
21130 69 6f 6e 20 63 6f 75 6c 64 20 6f 6e 6c 79 20 62  ion could only b
21140 65 20 70 61 72 74 69 61 6c 6c 79 20 69 6e 76 6f  e partially invo
21150 6c 76 65 64 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69  lved.<br>..In Vi
21160 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72  rtualRouting jar
21170 67 6f 6e 20 74 68 65 73 65 20 74 77 6f 20 3c 75  gon these two <u
21180 3e 3c 69 3e 73 70 65 63 69 61 6c 20 69 74 65 6d  ><i>special item
21190 73 3c 2f 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65  s</i></u> are re
211a0 73 70 65 63 74 69 76 65 6c 79 20 63 61 6c 6c 65  spectively calle
211b0 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  d:..<ul>..<li><b
211c0 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53  >Partial Link (S
211d0 74 61 72 74 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a  tart)</b></li>..
211e0 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c  <li><b>Partial L
211f0 69 6e 6b 20 28 45 6e 64 29 3c 2f 62 3e 3c 2f 6c  ink (End)</b></l
21200 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d  i>..</ul></li> .
21210 0a 3c 6c 69 3e 42 6f 74 68 20 74 68 65 20 3c 62  .<li>Both the <b
21220 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 61  >PointFrom</b> a
21230 6e 64 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54  nd the <b>PointT
21240 6f 3c 2f 62 3e 20 63 61 6e 20 6c 65 67 69 74 69  o</b> can legiti
21250 6d 61 74 65 6c 79 20 68 61 76 65 20 62 65 65 6e  mately have been
21260 20 61 74 20 61 6e 79 20 61 72 62 69 74 72 61 72   at any arbitrar
21270 79 20 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20 61  y position and a
21280 72 65 20 6e 65 76 65 72 20 72 65 71 75 69 72 65  re never require
21290 64 20 74 6f 20 65 78 61 63 74 6c 79 20 69 6e 74  d to exactly int
212a0 65 72 73 65 63 74 20 61 20 3c 62 3e 4c 69 6e 6b  ersect a <b>Link
212b0 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20  </b>.<br>..This 
212c0 63 61 6e 20 65 61 73 69 6c 79 20 69 6d 70 6c 79  can easily imply
212d0 20 74 68 61 74 20 61 6e 20 3c 75 3e 3c 69 3e 65   that an <u><i>e
212e0 78 74 72 61 20 73 68 6f 72 74 20 6c 65 67 3c 2f  xtra short leg</
212f0 69 3e 3c 2f 75 3e 20 63 6f 75 6c 64 20 62 65 20  i></u> could be 
21300 72 65 71 75 69 72 65 64 20 69 6e 20 6f 72 64 65  required in orde
21310 72 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 68 65  r to connect the
21320 20 46 72 6f 6d 2f 54 6f 20 50 6f 69 6e 74 73 20   From/To Points 
21330 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  to the correspon
21340 64 69 6e 67 20 4c 69 6e 6b 73 2e 3c 62 72 3e 0d  ding Links.<br>.
21350 0a 49 6e 20 56 69 72 75 74 61 6c 52 6f 75 74 69  .In VirutalRouti
21360 6e 67 20 6a 61 72 67 6f 6e 20 74 68 65 73 65 20  ng jargon these 
21370 74 77 6f 20 3c 75 3e 3c 69 3e 73 70 65 63 69 61  two <u><i>specia
21380 6c 20 69 74 65 6d 73 3c 2f 69 3e 3c 2f 75 3e 20  l items</i></u> 
21390 61 72 65 20 72 65 73 70 65 63 74 69 76 65 6c 79  are respectively
213a0 20 63 61 6c 6c 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a   called:..<ul>..
213b0 3c 6c 69 3e 3c 62 3e 49 6e 67 72 65 73 73 20 50  <li><b>Ingress P
213c0 61 74 68 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ath</b></li>..<l
213d0 69 3e 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68  i><b>Egress Path
213e0 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  </b></li>..</ul>
213f0 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 75 3e 4e  </li> ..<li><u>N
21400 6f 74 65 3c 2f 75 3e 3a 20 6e 6f 6e 65 20 6f 66  ote</u>: none of
21410 20 74 68 65 6d 20 61 72 65 20 73 74 72 69 63 74   them are strict
21420 6c 79 20 6d 61 6e 64 61 74 6f 72 79 20 69 74 65  ly mandatory ite
21430 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74  ms:..<ul>..<li>t
21440 68 65 20 3c 62 3e 49 6e 67 72 65 73 73 3c 2f 62  he <b>Ingress</b
21450 3e 20 61 6e 64 2f 6f 72 20 3c 62 3e 45 67 72 65  > and/or <b>Egre
21460 73 73 20 50 61 74 68 73 3c 2f 62 3e 20 61 72 65  ss Paths</b> are
21470 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 77 68   not required wh
21480 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  en the correspon
21490 64 69 6e 67 20 50 6f 69 6e 74 20 65 78 61 63 74  ding Point exact
214a0 6c 79 20 69 6e 74 65 72 73 65 63 74 73 20 61 20  ly intersects a 
214b0 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  Link.</li>..<li>
214c0 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73  <b>Partial Links
214d0 3c 2f 62 3e 20 28 65 69 74 68 65 72 20 3c 62 3e  </b> (either <b>
214e0 28 53 74 61 72 74 29 3c 2f 62 3e 20 6f 72 20 3c  (Start)</b> or <
214f0 62 3e 28 45 6e 64 29 3c 2f 62 3e 29 20 61 72 65  b>(End)</b>) are
21500 20 6e 65 76 65 72 20 72 65 71 75 69 72 65 64 20   never required 
21510 77 68 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70  when the corresp
21520 6f 6e 64 69 6e 67 20 50 6f 69 6e 74 20 65 78 61  onding Point exa
21530 63 74 6c 79 20 6d 61 74 63 68 65 73 20 61 20 4e  ctly matches a N
21540 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ode.</li>..</ul>
21550 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f  </li>..</ul>..</
21560 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20  td>..<td>..<img 
21570 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77  src="https://www
21580 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69  .gaia-gis.it/gai
21590 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66  a-sins/routing-f
215a0 69 67 73 2f 70 32 70 2d 73 74 72 75 63 74 2e 70  igs/p2p-struct.p
215b0 6e 67 22 20 61 6c 74 3d 22 70 32 70 2d 73 74 72  ng" alt="p2p-str
215c0 75 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72  uct">..</td></tr
215d0 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 41 20 6d  >..<tr><td>..A m
215e0 6f 72 65 20 63 6f 6d 70 72 65 68 65 6e 73 69 76  ore comprehensiv
215f0 65 20 61 6e 64 20 64 65 74 61 69 6c 65 64 20 65  e and detailed e
21600 78 70 6c 61 6e 61 74 69 6f 6e 20 62 61 73 65 64  xplanation based
21610 20 6f 6e 20 74 68 65 20 73 69 64 65 20 66 69 67   on the side fig
21620 75 72 65 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ure:..<ul>..<li>
21630 3c 62 3e 4c 31 3c 2f 62 3e 20 69 73 20 61 20 4c  <b>L1</b> is a L
21640 69 6e 6b 20 63 6f 6e 6e 65 63 74 69 6e 67 20 4e  ink connecting N
21650 6f 64 65 73 20 3c 62 3e 4e 31 3c 2f 62 3e 20 61  odes <b>N1</b> a
21660 6e 64 20 3c 62 3e 4e 32 3c 2f 62 3e 2e 3c 2f 6c  nd <b>N2</b>.</l
21670 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 74 3c 2f 62  i>..<li><b>Pt</b
21680 3e 20 69 73 20 6f 6e 65 20 62 65 74 77 65 65 6e  > is one between
21690 20 50 6f 69 6e 74 46 72 6f 6d 20 6f 72 20 50 6f   PointFrom or Po
216a0 69 6e 74 54 6f 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  intTo.</li>..</u
216b0 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 6f 6c 3e 0d 0a  l>..<br>..<ol>..
216c0 3c 6c 69 3e 54 68 65 20 50 6f 69 6e 74 2d 74 6f  <li>The Point-to
216d0 2d 50 6f 69 6e 74 20 69 6e 74 65 72 6e 61 6c 20  -Point internal 
216e0 6c 6f 67 69 63 20 77 69 6c 6c 20 73 74 61 72 74  logic will start
216f0 20 62 79 20 69 64 65 6e 74 69 66 79 69 6e 67 20   by identifying 
21700 3c 62 3e 69 3c 2f 62 3e 2c 0d 0a 74 68 61 74 20  <b>i</b>,..that 
21710 69 73 20 74 68 65 20 50 6f 69 6e 74 20 69 6e 74  is the Point int
21720 65 72 73 65 63 74 69 6e 67 20 3c 62 3e 4c 31 3c  ersecting <b>L1<
21730 2f 62 3e 20 61 6e 64 20 70 72 65 73 65 6e 74 69  /b> and presenti
21740 6e 67 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 64  ng the minimum d
21750 69 73 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20  istance between 
21760 74 68 65 20 4c 69 6e 6b 20 61 6e 64 20 3c 62 3e  the Link and <b>
21770 50 74 3c 2f 62 3e 0d 0a 28 63 6f 72 72 65 73 70  Pt</b>..(corresp
21780 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 72 65  onding to the re
21790 73 75 6c 74 20 72 65 74 75 72 6e 65 64 20 62 79  sult returned by
217a0 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 3c 62 3e   calling the <b>
217b0 53 54 5f 4c 69 6e 65 5f 4c 6f 63 61 74 65 5f 50  ST_Line_Locate_P
217c0 6f 69 6e 74 28 29 3c 2f 62 3e 20 53 51 4c 20 66  oint()</b> SQL f
217d0 75 6e 63 74 69 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a  unction).</li>..
217e0 3c 6c 69 3e 4e 6f 77 20 74 68 65 20 4c 69 6e 6b  <li>Now the Link
217f0 20 3c 62 3e 4c 31 3c 2f 62 3e 20 77 69 6c 6c 20   <b>L1</b> will 
21800 62 65 20 73 70 6c 69 74 20 69 6e 20 74 77 6f 20  be split in two 
21810 68 61 6c 76 65 73 20 3c 62 3e 4c 31 2d 61 3c 2f  halves <b>L1-a</
21820 62 3e 20 61 6e 64 20 3c 62 3e 4c 31 2d 62 3c 2f  b> and <b>L1-b</
21830 62 3e 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74  b> accordingly t
21840 6f 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f  o the position o
21850 66 20 3c 62 3e 69 3c 2f 62 3e 0d 0a 28 63 6f 72  f <b>i</b>..(cor
21860 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68  responding to th
21870 65 20 72 65 73 75 6c 74 73 20 72 65 74 75 72 6e  e results return
21880 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68  ed by calling th
21890 65 20 3c 62 3e 53 54 5f 4c 69 6e 65 5f 53 75 62  e <b>ST_Line_Sub
218a0 73 74 72 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c  string()</b> SQL
218b0 20 66 75 6e 63 74 69 6f 6e 29 2e 3c 62 72 3e 0d   function).<br>.
218c0 0a 42 6f 74 68 20 68 61 6c 76 65 73 20 77 69 6c  .Both halves wil
218d0 6c 20 6e 6f 77 20 62 65 20 63 6f 6e 73 69 64 65  l now be conside
218e0 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c 65 20  red as possible 
218f0 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73  <b>Partial Links
21900 20 28 53 74 61 72 74 29 20 63 61 6e 64 69 64 61   (Start) candida
21910 74 65 73 3c 2f 62 3e 20 6c 65 61 64 69 6e 67 20  tes</b> leading 
21920 72 65 73 70 65 63 74 69 76 65 6c 79 20 74 6f 20  respectively to 
21930 3c 62 3e 4e 31 3c 2f 62 3e 20 6f 72 20 3c 62 3e  <b>N1</b> or <b>
21940 4e 32 3c 2f 62 3e 3b 0d 0a 64 69 72 65 63 74 69  N2</b>;..directi
21950 6f 6e 73 20 77 69 6c 6c 20 62 65 20 61 75 74 6f  ons will be auto
21960 6d 61 74 69 63 61 6c 6c 79 20 69 6e 76 65 72 74  matically invert
21970 65 64 20 61 73 20 72 65 71 75 69 72 65 64 2c 20  ed as required, 
21980 62 75 74 20 6f 6e 6c 79 20 69 66 20 74 68 65 72  but only if ther
21990 65 20 61 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 2d  e are no <b>one-
219a0 77 61 79 3c 2f 62 3e 20 72 65 73 74 72 69 63 74  way</b> restrict
219b0 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 28 74 68 65 20  ions.<br>..(the 
219c0 64 69 72 65 63 74 69 6f 6e 73 20 77 69 6c 6c 20  directions will 
219d0 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69 6e 76  be obviously inv
219e0 65 72 74 65 64 20 69 6e 20 74 68 65 20 63 61 73  erted in the cas
219f0 65 20 6f 66 20 3c 62 3e 50 61 72 74 69 61 6c 20  e of <b>Partial 
21a00 4c 69 6e 6b 73 20 28 45 6e 64 29 3c 2f 62 3e 20  Links (End)</b> 
21a10 2f 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 29  / <b>NodeTo</b>)
21a20 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 6e 64 20 66  </li>..<li>And f
21a30 69 6e 61 6c 6c 79 20 61 20 73 74 72 61 69 67 68  inally a straigh
21a40 74 20 73 65 67 6d 65 6e 74 20 3c 62 3e 70 3c 2f  t segment <b>p</
21a50 62 3e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62  b> connecting <b
21a60 3e 50 74 3c 2f 62 3e 20 74 6f 20 3c 62 3e 69 3c  >Pt</b> to <b>i<
21a70 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73  /b> will be cons
21a80 74 72 75 63 74 65 64 2e 0d 0a 53 6f 20 3c 62 3e  tructed...So <b>
21a90 70 3c 2f 62 3e 20 65 78 61 63 74 6c 79 20 63 6f  p</b> exactly co
21aa0 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65  rresponds to the
21ab0 20 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 74 68   <b>Ingress Path
21ac0 3c 2f 62 3e 20 69 66 20 3c 62 3e 50 74 3c 2f 62  </b> if <b>Pt</b
21ad0 3e 20 69 73 20 3c 62 3e 50 6f 69 6e 74 46 72 6f  > is <b>PointFro
21ae0 6d 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 28 74 68 65  m</b>.<br>..(the
21af0 20 64 69 72 65 63 74 69 6f 6e 20 73 68 6f 75 6c   direction shoul
21b00 64 20 62 65 20 6f 62 76 69 6f 75 73 6c 79 20 69  d be obviously i
21b10 6e 76 65 72 74 65 64 20 69 6e 20 74 68 65 20 63  nverted in the c
21b20 61 73 65 20 6f 66 20 74 68 65 20 3c 62 3e 45 67  ase of the <b>Eg
21b30 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 20 2f 20  ress Path</b> / 
21b40 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 29 3c  <b>PointTo</b>)<
21b50 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74  /li>..</ol>..</t
21b60 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73  d>..<td>..<img s
21b70 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
21b80 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
21b90 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69  -sins/routing-fi
21ba0 67 73 2f 73 70 6c 69 74 2d 6c 69 6e 6b 2e 70 6e  gs/split-link.pn
21bb0 67 22 20 61 6c 74 3d 22 70 32 70 2d 73 74 72 75  g" alt="p2p-stru
21bc0 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e  ct">..</td></tr>
21bd0 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e  ..</table>..<br>
21be0 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
21bf0 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73  ="#ffb060" cells
21c00 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c  pacing="10" cell
21c10 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e  padding="6"><tr>
21c20 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e  <td>..<h3>Warnin
21c30 67 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52  g</h3>..VirtualR
21c40 6f 75 74 69 6e 67 20 77 68 65 6e 20 73 6f 6c 76  outing when solv
21c50 69 6e 67 20 61 20 50 6f 69 6e 74 2d 74 6f 2d 50  ing a Point-to-P
21c60 72 6f 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20  roblem requires 
21c70 61 20 70 72 65 63 69 73 65 20 65 73 74 69 6d 61  a precise estima
21c80 74 69 6f 6e 20 6f 66 20 3c 62 3e 43 6f 73 74 73  tion of <b>Costs
21c90 3c 2f 62 3e 20 72 65 6c 61 74 65 64 20 74 6f 20  </b> related to 
21ca0 3c 62 3e 49 6e 67 72 65 73 73 3c 2f 62 3e 20 61  <b>Ingress</b> a
21cb0 6e 64 20 3c 62 3e 45 67 72 65 73 73 20 50 61 74  nd <b>Egress Pat
21cc0 68 73 3c 2f 62 3e 20 61 6e 64 20 74 6f 20 3c 62  hs</b> and to <b
21cd0 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 3c 2f  >Partial Links</
21ce0 62 3e 2e 3c 62 72 3e 0d 0a 42 75 74 20 56 69 72  b>.<br>..But Vir
21cf0 74 75 61 6c 52 6f 75 74 69 6e 67 20 69 73 20 63  tualRouting is c
21d00 6f 6d 70 6c 65 74 65 6c 79 20 75 6e 61 62 6c 65  ompletely unable
21d10 20 74 6f 20 63 6f 6d 70 75 74 65 20 63 6f 6d 70   to compute comp
21d20 6c 65 78 20 28 61 6e 64 20 75 6e 73 70 65 63 69  lex (and unspeci
21d30 66 69 65 64 29 20 43 6f 73 74 20 66 6f 72 6d 75  fied) Cost formu
21d40 6c 61 73 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75  las, and consequ
21d50 65 6e 74 6c 79 20 69 74 20 77 69 6c 6c 20 73 69  ently it will si
21d60 6d 70 6c 79 20 61 73 73 75 6d 65 20 61 20 43 6f  mply assume a Co
21d70 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  st corresponding
21d80 20 74 6f 20 74 68 65 20 47 65 6f 6d 65 74 72 69   to the Geometri
21d90 63 20 4c 65 6e 67 74 68 20 6f 66 20 73 75 63 68  c Length of such
21da0 20 69 74 65 6d 73 2e 3c 62 72 3e 3c 62 72 3e 0d   items.<br><br>.
21db0 0a 3c 62 3e 43 6f 6e 63 6c 75 73 69 6f 6e 3c 2f  .<b>Conclusion</
21dc0 62 3e 3a 20 6f 6e 6c 79 20 4e 65 74 77 6f 72 6b  b>: only Network
21dd0 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 43 6f  s based on <b>Co
21de0 73 74 73 3c 2f 62 3e 20 63 6f 72 72 65 73 70 6f  sts</b> correspo
21df0 6e 64 69 6e 67 20 74 6f 20 3c 62 3e 47 65 6f 6d  nding to <b>Geom
21e00 65 74 72 69 63 20 4c 65 6e 67 74 68 73 3c 2f 62  etric Lengths</b
21e10 3e 20 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c  > can effectivel
21e20 79 20 73 75 70 70 6f 72 74 20 50 6f 69 6e 74 2d  y support Point-
21e30 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73  to-Point queries
21e40 2e 3c 62 72 3e 0d 0a 41 6e 79 20 64 69 66 66 65  .<br>..Any diffe
21e50 72 65 6e 74 20 4e 65 74 77 6f 72 6b 20 63 6f 6e  rent Network con
21e60 66 69 67 75 72 61 74 69 6f 6e 20 77 69 6c 6c 20  figuration will 
21e70 73 75 72 65 6c 79 20 6c 65 61 64 20 74 6f 20 77  surely lead to w
21e80 72 6f 6e 67 20 61 6e 64 20 69 6e 63 6f 6e 73 69  rong and inconsi
21e90 73 74 65 6e 74 20 72 65 73 75 6c 74 73 2e 0d 0a  stent results...
21ea0 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c  <br><br>..</td><
21eb0 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  /tr></table>..<b
21ec0 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f  r><br>..Let's no
21ed0 77 20 65 78 61 6d 69 6e 65 20 61 20 70 72 61 63  w examine a prac
21ee0 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 20 6f 66  tical example of
21ef0 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20   Point-to-Point 
21f00 73 6f 6c 76 69 6e 67 20 75 73 69 6e 67 20 56 69  solving using Vi
21f10 72 74 75 61 6c 52 6f 75 74 69 6e 67 2e 0d 0a 3c  rtualRouting...<
21f20 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43  verbatim>..SELEC
21f30 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71  T Algorithm, Req
21f40 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 52  uest, Options, R
21f50 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77  outeId, RouteRow
21f60 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69  , Role, LinkRowi
21f70 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64  d, NodeFrom, Nod
21f80 65 54 6f 2c 20 50 6f 69 6e 74 46 72 6f 6d 2c 20  eTo, PointFrom, 
21f90 50 6f 69 6e 74 54 6f 2c 20 54 6f 6c 65 72 61 6e  PointTo, Toleran
21fa0 63 65 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  ce, Cost, Geomet
21fb0 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
21fc0 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 50 6f 69  yfoot..WHERE Poi
21fd0 6e 74 46 72 6f 6d 20 3d 20 28 53 45 4c 45 43 54  ntFrom = (SELECT
21fe0 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65   geom FROM house
21ff0 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e  _nr_vw WHERE mun
22000 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45  icipality = 'ARE
22010 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73  ZZO' AND address
22020 20 3d 20 27 56 49 41 20 44 45 27 27 20 43 45 4e   = 'VIA DE'' CEN
22030 43 49 20 31 33 27 29 0d 0a 20 20 20 20 41 4e 44  CI 13')..    AND
22040 20 50 6f 69 6e 74 54 6f 20 3d 20 28 53 45 4c 45   PointTo = (SELE
22050 43 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75  CT geom FROM hou
22060 73 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d  se_nr_vw WHERE m
22070 75 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41  unicipality = 'A
22080 52 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65  REZZO' AND addre
22090 73 73 20 3d 20 27 56 49 41 20 41 4e 54 4f 4e 49  ss = 'VIA ANTONI
220a0 4f 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f  O GUADAGNOLI 19/
220b0 42 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  B');..</verbatim
220c0 3e 0d 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f  >..A <b>Point-to
220d0 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79  -Point</b> query
220e0 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 66 6f   has the same fo
220f0 72 6d 20 6f 66 20 61 20 3c 62 3e 73 69 6e 67 6c  rm of a <b>singl
22100 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68  e-destination Sh
22110 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 62 3e 20  ortest Path</b> 
22120 71 75 65 72 79 2c 20 65 78 63 65 70 74 20 74 68  query, except th
22130 61 74 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  at <b>NodeFrom</
22140 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f  b> and <b>NodeTo
22150 3c 2f 62 3e 20 61 72 65 20 6e 6f 77 20 72 65 70  </b> are now rep
22160 6c 61 63 65 64 20 62 79 20 3c 62 3e 50 6f 69 6e  laced by <b>Poin
22170 74 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62  tFrom</b> and <b
22180 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c 62 72  >PointTo</b>.<br
22190 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
221a0 74 68 65 20 73 61 6d 70 6c 65 20 44 42 2d 66 69  the sample DB-fi
221b0 6c 65 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 48  le supports <b>H
221c0 6f 75 73 65 20 4e 75 6d 62 65 72 73 3c 2f 62 3e  ouse Numbers</b>
221d0 2c 20 73 6f 20 79 6f 75 20 63 61 6e 20 64 69 72  , so you can dir
221e0 65 63 74 6c 79 20 75 73 65 20 48 6f 75 73 65 20  ectly use House 
221f0 4e 75 6d 62 65 72 20 63 6f 6f 72 64 69 6e 61 74  Number coordinat
22200 65 73 20 61 73 20 72 65 66 65 72 65 6e 63 65 20  es as reference 
22210 50 6f 69 6e 74 73 2e 0d 0a 3c 62 72 3e 3c 62 72  Points...<br><br
22220 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  >..The following
22230 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65   table shows the
22240 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
22250 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65  ned by the above
22260 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20   Point-to-Point 
22270 71 75 65 72 79 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  query.<br><br>..
22280 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
22290 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
222a0 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
222b0 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
222c0 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
222d0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
222e0 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74  Algorithm</th><t
222f0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
22300 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e  a0">Request</th>
22310 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
22320 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
22330 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
22340 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c  d0d0a0">RouteId<
22350 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
22360 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52  "#d0d0a0">RouteR
22370 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ow</th><th bgcol
22380 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c  or="#d0d0a0">Rol
22390 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  e</th><th bgcolo
223a0 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b  r="#d0d0a0">Link
223b0 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67  Rowid</th><th bg
223c0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
223d0 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  NodeFrom</th><th
223e0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
223f0 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74  0">NodeTo</th><t
22400 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
22410 61 30 22 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74  a0">PointFrom</t
22420 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
22430 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c  d0d0a0">PointTo<
22440 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
22450 22 23 64 30 64 30 61 30 22 3e 54 6f 6c 65 72 61  "#d0d0a0">Tolera
22460 6e 63 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  nce</th><th bgco
22470 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f  lor="#d0d0a0">Co
22480 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
22490 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f  or="#d0d0a0">Geo
224a0 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67  metry</th><th bg
224b0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
224c0 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a  Name</th></tr>..
224d0 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74  <tr>..<td>Dijkst
224e0 72 61 3c 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74  ra</td><td>Point
224f0 32 50 6f 69 6e 74 20 50 61 74 68 3c 2f 74 64 3e  2Point Path</td>
22500 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
22510 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
22520 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22530 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
22540 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c  >Point2Point Sol
22550 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55  ution</td><td>NU
22560 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22570 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22580 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 20  ><td>BLOB sz=68 
22590 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
225a0 3e 42 4c 4f 42 20 73 7a 3d 36 38 20 47 45 4f 4d  >BLOB sz=68 GEOM
225b0 45 54 52 59 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  ETRY</td><td ali
225c0 67 6e 3d 22 72 69 67 68 74 22 3e 32 30 2e 30 30  gn="right">20.00
225d0 30 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  0000</td><td ali
225e0 67 6e 3d 22 72 69 67 68 74 22 3e 36 35 32 2e 38  gn="right">652.8
225f0 31 35 31 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c  15139</td><td>BL
22600 4f 42 20 73 7a 3d 31 35 35 32 20 47 45 4f 4d 45  OB sz=1552 GEOME
22610 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
22620 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
22630 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
22640 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22650 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
22660 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
22670 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22680 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 49  ght">1</td><td>I
22690 6e 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e  ngress Path</td>
226a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
226b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
226c0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
226d0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
226e0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
226f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22700 32 2e 33 30 31 36 38 37 3c 2f 74 64 3e 3c 74 64  2.301687</td><td
22710 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22720 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
22730 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
22740 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22750 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22760 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
22770 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22780 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
22790 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53  >Partial Link (S
227a0 74 61 72 74 29 3c 2f 74 64 3e 3c 74 64 20 61 6c  tart)</td><td al
227b0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 32  ign="right">2242
227c0 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  64</td><td>NULL<
227d0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
227e0 69 67 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64  ight">182630</td
227f0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22800 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22810 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
22820 6e 3d 22 72 69 67 68 74 22 3e 34 36 2e 30 38 32  n="right">46.082
22830 37 36 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  761</td><td>NULL
22840 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 27  </td><td>VIA DE'
22850 20 43 45 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f 74   CENCI</td>..</t
22860 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
22870 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22880 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22890 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
228a0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">0</td><td ali
228b0 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
228c0 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
228d0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
228e0 32 32 33 37 35 38 3c 2f 74 64 3e 3c 74 64 20 61  223758</td><td a
228f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
22900 36 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  630</td><td alig
22910 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 39  n="right">182629
22920 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22930 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22940 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
22950 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 34  align="right">24
22960 2e 31 39 38 31 31 35 3c 2f 74 64 3e 3c 74 64 3e  .198115</td><td>
22970 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52  NULL</td><td>COR
22980 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a  SO ITALIA</td>..
22990 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
229a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
229b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
229c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
229d0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
229e0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
229f0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
22a00 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22a10 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c 74  t">225512</td><t
22a20 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22a30 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61  182629</td><td a
22a40 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
22a50 39 33 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  933</td><td>NULL
22a60 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22a70 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22a80 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22a90 3e 33 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c  >34.184194</td><
22aa0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22ab0 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64  CORSO ITALIA</td
22ac0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
22ad0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22ae0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22af0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
22b00 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
22b10 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22b20 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >5</td><td>Link<
22b30 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22b40 69 67 68 74 22 3e 32 32 35 35 31 31 3c 2f 74 64  ight">225511</td
22b50 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22b60 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74  t">182933</td><t
22b70 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22b80 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 3e 4e  181999</td><td>N
22b90 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22ba0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22bb0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22bc0 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74  ht">49.241735</t
22bd0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22be0 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c  td>CORSO ITALIA<
22bf0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
22c00 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
22c10 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22c20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
22c30 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
22c40 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22c50 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">6</td><td>Li
22c60 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
22c70 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 35 3c  ="right">222635<
22c80 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22c90 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64  ight">181999</td
22ca0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22cb0 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74  t">181998</td><t
22cc0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22cd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22ce0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22cf0 72 69 67 68 74 22 3e 31 30 31 2e 36 32 39 37 35  right">101.62975
22d00 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  0</td><td>NULL</
22d10 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41  td><td>CORSO ITA
22d20 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LIA</td>..</tr>.
22d30 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
22d40 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22d50 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22d60 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22d70 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
22d80 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74  "right">7</td><t
22d90 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
22da0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
22db0 37 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  780</td><td alig
22dc0 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 38  n="right">181998
22dd0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22de0 72 69 67 68 74 22 3e 31 38 33 35 36 30 3c 2f 74  right">183560</t
22df0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22e00 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22e10 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
22e20 67 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e 37 33  gn="right">73.73
22e30 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  3572</td><td>NUL
22e40 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45  L</td><td>VIA DE
22e50 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74  LL'ANFITEATRO</t
22e60 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
22e70 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
22e80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22e90 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
22ea0 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
22eb0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22ec0 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">8</td><td>Link
22ed0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22ee0 72 69 67 68 74 22 3e 32 32 35 38 32 37 3c 2f 74  right">225827</t
22ef0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22f00 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c  ht">183560</td><
22f10 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22f20 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e  >183286</td><td>
22f30 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22f40 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22f50 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22f60 67 68 74 22 3e 34 32 2e 33 30 39 35 36 34 3c 2f  ght">42.309564</
22f70 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22f80 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46  <td>VIA DELL'ANF
22f90 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ITEATRO</td>..</
22fa0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
22fb0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22fc0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22fd0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22fe0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
22ff0 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74  ign="right">9</t
23000 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
23010 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
23020 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64 20  >224897</td><td 
23030 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
23040 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
23050 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 32  gn="right">18312
23060 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
23070 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23080 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
23090 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
230a0 32 2e 34 34 34 36 30 39 3c 2f 74 64 3e 3c 74 64  2.444609</td><td
230b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
230c0 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
230d0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
230e0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
230f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
23100 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
23110 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
23120 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
23130 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  ">10</td><td>Lin
23140 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
23150 22 72 69 67 68 74 22 3e 32 32 34 32 33 32 3c 2f  "right">224232</
23160 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
23170 67 68 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e  ght">183128</td>
23180 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
23190 22 3e 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64  ">182890</td><td
231a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
231b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
231c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
231d0 69 67 68 74 22 3e 31 30 33 2e 36 31 32 32 32 31  ight">103.612221
231e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
231f0 64 3e 3c 74 64 3e 56 49 41 20 4e 49 43 43 4f 4c  d><td>VIA NICCOL
23200 4f 27 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d  O' ARETINO</td>.
23210 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
23220 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
23230 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
23240 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
23250 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
23260 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
23270 31 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 61  1</td><td>Partia
23280 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 74 64  l Link (End)</td
23290 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
232a0 74 22 3e 32 32 34 30 31 39 3c 2f 74 64 3e 3c 74  t">224019</td><t
232b0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
232c0 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e  182890</td><td>N
232d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
232e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
232f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
23300 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
23310 74 22 3e 39 35 2e 37 36 30 32 32 32 3c 2f 74 64  t">95.760222</td
23320 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
23330 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55  d>VIA ANTONIO GU
23340 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c  ADAGNOLI</td>..<
23350 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
23360 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23370 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
23380 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
23390 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
233a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c  lign="right">12<
233b0 2f 74 64 3e 3c 74 64 3e 45 67 72 65 73 73 20 50  /td><td>Egress P
233c0 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ath</td><td>NULL
233d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
233e0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
233f0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
23400 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23410 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
23420 22 72 69 67 68 74 22 3e 37 2e 33 31 36 37 30 39  "right">7.316709
23430 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
23440 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
23450 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
23460 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f  ..<br>..Let's no
23470 77 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e  w quickly examin
23480 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  e the resultset 
23490 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
234a0 61 62 6f 76 65 20 3c 62 3e 50 6f 69 6e 74 2d 74  above <b>Point-t
234b0 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72  o-Point</b> quer
234c0 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68  y:..<ul>..<li>th
234d0 65 20 67 65 6e 65 72 61 6c 20 6c 61 79 6f 75 74  e general layout
234e0 20 69 73 20 61 6c 6d 6f 73 74 20 65 78 61 63 74   is almost exact
234f0 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 79  ly the same as y
23500 6f 75 27 76 65 20 61 6c 72 65 61 64 79 20 73 65  ou've already se
23510 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f  en in the case o
23520 66 20 53 68 6f 72 74 65 73 74 50 61 74 68 20 71  f ShortestPath q
23530 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  ueries.</li>..<l
23540 69 3e 69 6e 20 74 68 65 20 73 70 65 63 69 66 69  i>in the specifi
23550 63 20 63 61 73 65 20 6f 66 20 50 6f 69 6e 74 2d  c case of Point-
23560 74 6f 2d 50 6f 69 6e 74 20 74 68 65 20 3c 62 3e  to-Point the <b>
23570 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66  first row</b> of
23580 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77   the resultset w
23590 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f 6e 74 61  ill always conta
235a0 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  in the following
235b0 73 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62  s <b>NOT NULL</b
235c0 3e 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e  > columns:..<ul>
235d0 0d 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64 65 46 72 6f  ..<li><b>NodeFro
235e0 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64  m</b> and <b>Nod
235f0 65 54 6f 3c 2f 62 3e 3a 20 74 68 65 20 74 77 6f  eTo</b>: the two
23600 20 47 65 6f 6d 65 74 72 69 65 73 20 64 65 66 69   Geometries defi
23610 6e 69 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 6f  ning the <u><i>o
23620 72 69 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 20 61 6e  rigin</i></u> an
23630 64 20 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74  d <u><i>destinat
23640 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 20 50 6f 69 6e  ion</i></u> Poin
23650 74 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  ts.</li>..<li><b
23660 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20  >Tolerance</b>: 
23670 74 68 65 20 6d 61 78 69 6d 75 6d 20 64 69 73 74  the maximum dist
23680 61 6e 63 65 20 61 6c 6c 6f 77 65 64 20 62 65 74  ance allowed bet
23690 77 65 65 6e 20 74 68 65 20 72 65 66 65 72 65 6e  ween the referen
236a0 63 65 64 20 50 6f 69 6e 74 73 20 61 6e 64 20 43  ced Points and C
236b0 61 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73 2e 3c  andidate Links.<
236c0 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
236d0 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f 6c  ..<li>the <b>Rol
236e0 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 63 61 6e  e</b> column can
236f0 20 61 73 73 75 6d 65 20 6f 6e 65 20 6f 66 20 74   assume one of t
23700 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c  he following val
23710 75 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ues:..<ul>..<li>
23720 3c 62 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53  <b>Point2Point S
23730 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 3a 20 74 68 65  olution</b>: the
23740 20 68 65 61 64 65 72 20 72 6f 77 20 73 75 6d 6d   header row summ
23750 61 72 69 7a 69 6e 67 20 74 68 65 20 53 6f 6c 75  arizing the Solu
23760 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e  tion as a whole.
23770 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50  ..<ul>..<li><b>P
23780 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62  ointFrom</b>, <b
23790 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64  >PointTo</b> and
237a0 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62   <b>Tolerance</b
237b0 3e 20 63 6f 6c 75 6d 6e 73 20 77 69 6c 6c 20 68  > columns will h
237c0 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c  ave <b>NOT NULL<
237d0 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 6c 79 20  /b> values only 
237e0 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f  in the header ro
237f0 77 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  w.</li>..</ul></
23800 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 49 6e 67 72  li>..<li><b>Ingr
23810 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20  ess Path</b>: a 
23820 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 6e 74  straight segment
23830 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20   connecting the 
23840 4f 72 69 67 69 6e 20 50 6f 69 6e 74 20 74 6f 20  Origin Point to 
23850 74 68 65 20 66 69 72 73 74 20 4c 69 6e 6b 2e 3c  the first Link.<
23860 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72  /li>..<li><b>Egr
23870 65 73 73 20 50 61 74 68 3c 2f 62 3e 3a 20 61 20  ess Path</b>: a 
23880 73 74 72 61 69 67 68 74 20 73 65 67 6d 65 6e 74  straight segment
23890 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20   connecting the 
238a0 6c 61 73 74 20 4c 69 6e 6b 20 74 6f 20 74 68 65  last Link to the
238b0 20 44 65 73 74 69 6e 61 74 69 6f 6e 20 50 6f 69   Destination Poi
238c0 6e 74 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 62  nt...<ul>..<li>b
238d0 6f 74 68 20 74 68 65 20 49 6e 67 72 65 73 73 20  oth the Ingress 
238e0 61 6e 64 20 74 68 65 20 45 67 72 65 73 73 20 50  and the Egress P
238f0 61 74 68 20 72 6f 77 73 20 77 69 6c 6c 20 61 6c  ath rows will al
23900 77 61 79 73 20 68 61 76 65 20 3c 62 3e 4e 55 4c  ways have <b>NUL
23910 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20  L</b> values on 
23920 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e  <b>LinkRowid</b>
23930 2c 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62  , <b>NodeFrom</b
23940 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c  > and <b>NodeTo<
23950 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69  /b> columns.</li
23960 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
23970 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69  li><b>Partial Li
23980 6e 6b 20 28 53 74 61 72 74 29 3c 2f 62 3e 3a 20  nk (Start)</b>: 
23990 74 68 65 20 70 61 72 74 69 61 6c 20 73 65 63 74  the partial sect
239a0 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74  ion of the first
239b0 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c   Link...<ul>..<l
239c0 69 3e 74 68 69 73 20 73 70 65 63 69 66 69 63 20  i>this specific 
239d0 72 6f 77 20 77 69 6c 6c 20 61 6c 77 61 79 73 20  row will always 
239e0 68 61 76 65 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f  have a <b>NULL</
239f0 62 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20  b> value on the 
23a00 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
23a10 63 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  column.</li>..</
23a20 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  ul></li>..<li><b
23a30 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45  >Partial Link (E
23a40 6e 64 29 3c 2f 62 3e 3a 20 74 68 65 20 70 61 72  nd)</b>: the par
23a50 74 69 61 6c 20 73 65 63 74 69 6f 6e 20 6f 66 20  tial section of 
23a60 74 68 65 20 6c 61 73 74 20 4c 69 6e 6b 2e 0d 0a  the last Link...
23a70 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 73  <ul>..<li>this s
23a80 70 65 63 69 66 69 63 20 72 6f 77 20 77 69 6c 6c  pecific row will
23a90 20 61 6c 77 61 79 73 20 68 61 76 65 20 61 20 3c   always have a <
23aa0 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65  b>NULL</b> value
23ab0 20 6f 6e 20 74 68 65 20 3c 62 3e 4e 6f 64 65 54   on the <b>NodeT
23ac0 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c  o</b> column.</l
23ad0 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
23ae0 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 3a  <li><b>Link</b>:
23af0 20 61 6e 79 20 6f 74 68 65 72 20 4c 69 6e 6b 20   any other Link 
23b00 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20  required by the 
23b10 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 53  Point-to-Point S
23b20 6f 6c 75 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a  olution...<ul>..
23b30 3c 6c 69 3e 61 6c 6c 20 74 68 65 73 65 20 72 6f  <li>all these ro
23b40 77 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68  ws will always h
23b50 61 76 65 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c  ave <b>NOT NULL<
23b60 2f 62 3e 20 76 61 6c 75 65 73 20 6f 6e 20 3c 62  /b> values on <b
23b70 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e 2c 20  >LinkRowid</b>, 
23b80 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
23b90 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  and <b>NodeTo</b
23ba0 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d  > columns.</li>.
23bb0 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  .</ul></li>..</u
23bc0 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  l></li>..</ul>..
23bd0 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62  <br><br><br>..<b
23be0 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c  >Point-to-Point<
23bf0 2f 62 3e 20 71 75 65 72 69 65 73 20 63 61 6e 20  /b> queries can 
23c00 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 2c 20 62  be customized, b
23c10 75 74 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61  ut the configura
23c20 74 69 6f 6e 20 72 75 6c 65 73 20 64 69 66 66 65  tion rules diffe
23c30 72 20 73 6c 69 67 68 74 6c 79 20 66 72 6f 6d 20  r slightly from 
23c40 77 68 61 74 20 79 6f 75 20 68 61 76 65 20 61 6c  what you have al
23c50 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74 68  ready seen in th
23c60 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70  e previous examp
23c70 6c 65 73 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  les...<ul>..<li>
23c80 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e  <b>Algorithm</b>
23c90 3a 20 6f 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74  : only <b>Dijkst
23ca0 72 61 3c 2f 62 3e 20 69 73 20 73 75 70 70 6f 72  ra</b> is suppor
23cb0 74 65 64 20 62 79 20 3c 62 3e 50 6f 69 6e 74 2d  ted by <b>Point-
23cc0 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 2c 20 61 6e  to-Point</b>, an
23cd0 64 20 77 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63  d will be implic
23ce0 69 74 6c 79 20 61 73 73 75 6d 65 64 20 65 76 65  itly assumed eve
23cf0 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72  n when the alter
23d00 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e  native <b>A*</b>
23d10 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75   algorithm is cu
23d20 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64  rrently selected
23d30 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 20 62  .<br>..This is b
23d40 65 63 61 75 73 65 20 74 68 65 20 69 6e 74 65 72  ecause the inter
23d50 6e 61 6c 20 6c 6f 67 69 63 20 6f 66 20 50 6f 69  nal logic of Poi
23d60 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 72 65 71 75  nt-to-Point requ
23d70 69 72 65 73 20 6d 75 6c 74 69 2d 64 65 73 74 69  ires multi-desti
23d80 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 20 69  nation queries i
23d90 6e 20 6f 72 64 65 72 20 74 6f 20 65 76 61 6c 75  n order to evalu
23da0 61 74 65 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65  ate all possible
23db0 20 43 61 6e 64 69 64 61 74 65 20 53 6f 6c 75 74   Candidate Solut
23dc0 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ions.</li>..<li>
23dd0 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20  <b>Options</b>: 
23de0 74 68 65 20 75 73 75 61 6c 20 3c 62 3e 46 55 4c  the usual <b>FUL
23df0 4c 3c 2f 62 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45  L</b>, <b>SIMPLE
23e00 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b  </b>, <b>NO LINK
23e10 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20  S</b> and <b>NO 
23e20 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61  GEOMETRIES</b> a
23e30 72 65 20 73 75 70 70 6f 72 74 65 64 20 61 6e 64  re supported and
23e40 20 77 69 6c 6c 20 68 61 76 65 20 74 68 65 20 73   will have the s
23e50 61 6d 65 20 65 66 66 65 63 74 20 61 73 20 69 6e  ame effect as in
23e60 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74   single-destinat
23e70 69 6f 6e 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69  ion queries.</li
23e80 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61  >..<li><b>Tolera
23e90 6e 63 65 3c 2f 62 3e 3a 20 74 68 69 73 20 73 65  nce</b>: this se
23ea0 74 74 69 6e 67 20 69 73 20 73 70 65 63 69 66 69  tting is specifi
23eb0 63 20 74 6f 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  c to Point-to-Po
23ec0 69 6e 74 2c 20 61 6e 64 20 64 65 66 69 6e 65 73  int, and defines
23ed0 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c   the maximum all
23ee0 6f 77 61 62 6c 65 20 64 69 73 74 61 6e 63 65 20  owable distance 
23ef0 62 65 74 77 65 65 6e 20 61 20 72 65 66 65 72 65  between a refere
23f00 6e 63 65 20 50 6f 69 6e 74 20 61 6e 64 20 43 61  nce Point and Ca
23f10 6e 64 69 64 61 74 65 20 4c 69 6e 6b 73 2e 3c 62  ndidate Links.<b
23f20 72 3e 0d 0a 49 74 20 64 65 66 61 75 6c 74 73 20  r>..It defaults 
23f30 74 6f 20 3c 62 3e 32 30 2e 30 6d 3c 2f 62 3e 20  to <b>20.0m</b> 
23f40 69 66 20 6e 6f 74 20 65 78 70 6c 69 63 69 74 6c  if not explicitl
23f50 79 20 73 65 74 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  y set.</li>..</u
23f60 6c 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  l>..<verbatim>..
23f70 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
23f80 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20  T Options = 'NO 
23f90 47 45 4f 4d 45 54 52 49 45 53 27 2c 20 54 6f 6c  GEOMETRIES', Tol
23fa0 65 72 61 6e 63 65 20 3d 20 32 35 2e 35 3b 0d 0a  erance = 25.5;..
23fb0 0d 0a 53 45 4c 45 43 54 20 52 65 71 75 65 73 74  ..SELECT Request
23fc0 2c 20 4f 70 74 69 6f 6e 73 2c 20 54 6f 6c 65 72  , Options, Toler
23fd0 61 6e 63 65 2c 20 52 6f 75 74 65 52 6f 77 2c 20  ance, RouteRow, 
23fe0 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
23ff0 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
24000 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
24010 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
24020 66 6f 6f 74 0d 0a 57 48 45 52 45 20 50 6f 69 6e  foot..WHERE Poin
24030 74 46 72 6f 6d 20 3d 20 28 53 45 4c 45 43 54 20  tFrom = (SELECT 
24040 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f  geom FROM house_
24050 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e 69  nr_vw WHERE muni
24060 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45 5a  cipality = 'AREZ
24070 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73 20  ZO' AND address 
24080 3d 20 27 56 49 41 20 44 45 27 27 20 43 45 4e 43  = 'VIA DE'' CENC
24090 49 20 31 33 27 29 0d 0a 20 20 20 20 41 4e 44 20  I 13')..    AND 
240a0 50 6f 69 6e 74 54 6f 20 3d 20 28 53 45 4c 45 43  PointTo = (SELEC
240b0 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73  T geom FROM hous
240c0 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75  e_nr_vw WHERE mu
240d0 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52  nicipality = 'AR
240e0 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73  EZZO' AND addres
240f0 73 20 3d 20 27 56 49 41 20 41 4e 54 4f 4e 49 4f  s = 'VIA ANTONIO
24100 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 43   GUADAGNOLI 19/C
24110 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  ');..</verbatim>
24120 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  ..The following 
24130 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20  table shows the 
24140 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e  resultset return
24150 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20  ed by the above 
24160 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71  Point-to-Point q
24170 75 65 72 79 20 61 66 74 65 72 20 73 65 6c 65 63  uery after selec
24180 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 20  ting <b>Options 
24190 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53  = 'NO GEOMETRIES
241a0 27 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c  '</b> and <b>Tol
241b0 65 72 61 6e 63 65 20 3d 20 32 35 2e 35 3c 2f 62  erance = 25.5</b
241c0 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c  ><br><br>..<tabl
241d0 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63  e border="1" bgc
241e0 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63  olor="#ffffcf" c
241f0 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63  ellspacing="4" c
24200 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d  ellpadding="6">.
24210 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  .<tr><th bgcolor
24220 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65  ="#d0d0a0">Reque
24230 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
24240 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74  or="#d0d0a0">Opt
24250 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ions</th><th bgc
24260 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 54  olor="#d0d0a0">T
24270 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c 74 68  olerance</th><th
24280 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
24290 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e  0">RouteRow</th>
242a0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
242b0 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c  d0a0">Role</th><
242c0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
242d0 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  0a0">LinkRowid</
242e0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
242f0 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
24300 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
24310 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
24320 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
24330 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73  or="#d0d0a0">Cos
24340 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
24350 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d  r="#d0d0a0">Geom
24360 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63  etry</th><th bgc
24370 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
24380 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c  ame</th></tr>..<
24390 74 72 3e 0d 0a 3c 74 64 3e 50 6f 69 6e 74 32 50  tr>..<td>Point2P
243a0 6f 69 6e 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74  oint Path</td><t
243b0 64 3e 4e 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c  d>No Geometries<
243c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
243d0 69 67 68 74 22 3e 32 35 2e 35 30 30 30 30 30 3c  ight">25.500000<
243e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
243f0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
24400 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c 75  Point2Point Solu
24410 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  tion</td><td>NUL
24420 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24430 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24440 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24450 22 3e 36 35 31 2e 30 36 37 30 38 32 3c 2f 74 64  ">651.067082</td
24460 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24470 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
24480 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
24490 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
244a0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
244b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
244c0 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 49 6e 67  t">1</td><td>Ing
244d0 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74  ress Path</td><t
244e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
244f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
24500 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24510 72 69 67 68 74 22 3e 32 2e 33 30 31 36 38 37 3c  right">2.301687<
24520 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24530 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
24540 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
24550 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24560 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24570 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24580 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
24590 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74  Partial Link (St
245a0 61 72 74 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  art)</td><td ali
245b0 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 32 36  gn="right">22426
245c0 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
245d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
245e0 67 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e  ght">182630</td>
245f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24600 22 3e 34 36 2e 30 38 32 37 36 31 3c 2f 74 64 3e  ">46.082761</td>
24610 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24620 3e 56 49 41 20 44 45 27 20 43 45 4e 43 49 3c 2f  >VIA DE' CENCI</
24630 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
24640 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
24650 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24660 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
24670 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
24680 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
24690 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
246a0 32 32 33 37 35 38 3c 2f 74 64 3e 3c 74 64 20 61  223758</td><td a
246b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
246c0 36 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  630</td><td alig
246d0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 39  n="right">182629
246e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
246f0 72 69 67 68 74 22 3e 32 34 2e 31 39 38 31 31 35  right">24.198115
24700 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24710 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c  d><td>CORSO ITAL
24720 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  IA</td>..</tr>..
24730 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
24740 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24750 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24760 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
24770 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
24780 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24790 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c  ht">225512</td><
247a0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
247b0 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20  >182629</td><td 
247c0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
247d0 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2933</td><td ali
247e0 67 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31 38  gn="right">34.18
247f0 34 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  4194</td><td>NUL
24800 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20  L</td><td>CORSO 
24810 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74  ITALIA</td>..</t
24820 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
24830 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24840 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24850 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24860 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">5</td><td>Lin
24870 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
24880 22 72 69 67 68 74 22 3e 32 32 35 35 31 31 3c 2f  "right">225511</
24890 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
248a0 67 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e  ght">182933</td>
248b0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
248c0 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64  ">181999</td><td
248d0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
248e0 39 2e 32 34 31 37 33 35 3c 2f 74 64 3e 3c 74 64  9.241735</td><td
248f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f  >NULL</td><td>CO
24900 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d  RSO ITALIA</td>.
24910 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
24920 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24930 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
24940 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24950 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64  right">6</td><td
24960 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
24970 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38  ign="right">2258
24980 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
24990 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
249a0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
249b0 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
249c0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
249d0 74 22 3e 39 35 2e 35 39 32 32 30 34 3c 2f 74 64  t">95.592204</td
249e0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
249f0 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20  d>VIA FRANCESCO 
24a00 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  CRISPI</td>..</t
24a10 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
24a20 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24a30 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24a40 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24a50 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">7</td><td>Lin
24a60 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
24a70 22 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c 2f  "right">219171</
24a80 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24a90 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
24aa0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24ab0 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64  ">178732</td><td
24ac0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
24ad0 33 2e 32 38 35 35 33 38 3c 2f 74 64 3e 3c 74 64  3.285538</td><td
24ae0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
24af0 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
24b00 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
24b10 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
24b20 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24b30 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24b40 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38   align="right">8
24b50 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
24b60 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24b70 68 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c  ht">219058</td><
24b80 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24b90 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
24ba0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
24bb0 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
24bc0 67 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36  gn="right">148.6
24bd0 35 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  56089</td><td>NU
24be0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46  LL</td><td>VIA F
24bf0 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c  RANCESCO CRISPI<
24c00 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
24c10 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
24c20 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24c30 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
24c40 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74  ign="right">9</t
24c50 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c 69  d><td>Partial Li
24c60 6e 6b 20 28 45 6e 64 29 3c 2f 74 64 3e 3c 74 64  nk (End)</td><td
24c70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
24c80 32 34 30 31 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  24019</td><td al
24c90 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
24ca0 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  90</td><td>NULL<
24cb0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24cc0 69 67 68 74 22 3e 31 35 30 2e 32 36 30 36 34 31  ight">150.260641
24cd0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24ce0 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49  d><td>VIA ANTONI
24cf0 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64  O GUADAGNOLI</td
24d00 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
24d10 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24d20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24d30 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
24d40 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e  ="right">10</td>
24d50 3c 74 64 3e 45 67 72 65 73 73 20 50 61 74 68 3c  <td>Egress Path<
24d60 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24d70 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24d80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
24d90 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 32  lign="right">7.2
24da0 36 34 31 31 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55  64118</td><td>NU
24db0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24dc0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74  /td>..</tr>..</t
24dd0 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  able>..<br><br>.
24de0 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 67  .The map below g
24df0 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73  raphically shows
24e00 20 74 68 65 20 74 77 6f 20 50 6f 69 6e 74 2d 74   the two Point-t
24e10 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e  o-Point Solution
24e20 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  s returned by th
24e30 65 20 70 72 65 76 69 6f 75 73 20 71 75 65 72 69  e previous queri
24e40 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  es...<br><br>..<
24e50 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f  img src="https:/
24e60 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74  /www.gaia-gis.it
24e70 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69  /gaia-sins/routi
24e80 6e 67 2d 66 69 67 73 2f 70 6f 69 6e 74 2d 74 6f  ng-figs/point-to
24e90 2d 70 6f 69 6e 74 2e 6a 70 67 22 20 61 6c 74 3d  -point.jpg" alt=
24ea0 22 70 6f 69 6e 74 2d 74 6f 2d 70 6f 69 6e 74 22  "point-to-point"
24eb0 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65  >..<ul>..<li>the
24ec0 20 67 72 65 65 6e 20 6c 69 6e 65 20 63 6f 72 72   green line corr
24ed0 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 66  esponds to the f
24ee0 69 72 73 74 20 73 6f 6c 75 74 69 6f 6e 20 28 3c  irst solution (<
24ef0 69 3e 50 6f 69 6e 74 54 6f 20 3d 20 56 49 41 20  i>PointTo = VIA 
24f00 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 42 3c  GUADAGNOLI 19/B<
24f10 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  /i>).</li>..<li>
24f20 74 68 65 20 79 65 6c 6c 6f 77 20 6c 69 6e 65 20  the yellow line 
24f30 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74  corresponds to t
24f40 68 65 20 73 65 63 6f 6e 64 20 73 6f 6c 75 74 69  he second soluti
24f50 6f 6e 20 28 3c 69 3e 50 6f 69 6e 74 54 6f 20 3d  on (<i>PointTo =
24f60 20 56 49 41 20 47 55 41 44 41 47 4e 4f 4c 49 20   VIA GUADAGNOLI 
24f70 31 39 2f 43 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d  19/C</i>).</li>.
24f80 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75  .</ul>..<br>..<u
24f90 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 50 6f 69 6e 74  >Note</u>: Point
24fa0 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65  -to-Point querie
24fb0 73 20 61 72 65 20 76 65 72 79 20 73 65 6e 73 69  s are very sensi
24fc0 74 69 76 65 2c 20 61 6e 64 20 61 20 76 65 72 79  tive, and a very
24fd0 20 62 6c 61 6e 64 20 73 68 69 66 74 20 61 66 66   bland shift aff
24fe0 65 63 74 69 6e 67 20 74 68 65 20 70 6f 73 69 74  ecting the posit
24ff0 69 6f 6e 20 6f 66 20 61 20 72 65 66 65 72 65 6e  ion of a referen
25000 63 65 20 50 6f 69 6e 74 20 63 6f 75 6c 64 20 65  ce Point could e
25010 61 73 69 6c 79 20 63 61 75 73 65 20 64 72 61 6d  asily cause dram
25020 61 74 69 63 20 63 68 61 6e 67 65 73 20 69 6e 20  atic changes in 
25030 74 68 65 20 53 6f 6c 75 74 69 6f 6e 27 73 20 50  the Solution's P
25040 61 74 68 20 28 61 73 20 69 73 20 69 6e 20 74 68  ath (as is in th
25050 69 73 20 63 61 73 65 29 2e 0d 0a 3c 62 72 3e 3c  is case)...<br><
25060 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c  br>..<hr><br>..<
25070 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
25080 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
25090 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61 74 69 61  fossil/libspatia
250a0 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34  lite/wiki?name=4
250b0 2e 33 2e 30 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f  .3.0-doc">back</
250c0 61 3e 0a 5a 20 61 32 32 38 34 31 61 31 66 38 63  a>.Z a22841a1f8c
250d0 34 39 33 31 36 34 38 66 64 62 34 66 64 39 36 65  4931648fdb4fd96e
250e0 33 62 35 32 63 0a                                3b52c.