Hex Artifact Content
Not logged in

Artifact 68a9504a19d679a19c7cecb3fc45de6d12c80828:

Wiki page [VirtualRouting] by sandro 2018-04-25 15:05:48.
0000: 44 20 32 30 31 38 2d 30 34 2d 32 35 54 31 35 3a  D 2018-04-25T15:
0010: 30 35 3a 34 38 2e 33 33 35 0a 4c 20 56 69 72 74  05:48.335.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 61 63 39  ualRouting.P ac9
0030: 34 65 31 33 37 33 31 64 39 34 30 64 33 35 31 39  4e13731d940d3519
0040: 37 64 37 62 30 36 37 36 64 66 34 39 64 65 37 65  7d7b0676df49de7e
0050: 61 36 37 63 35 0a 55 20 73 61 6e 64 72 6f 0a 57  a67c5.U sandro.W
0060: 20 31 35 31 34 33 30 0a 3c 61 20 68 72 65 66 3d   151430.<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 74 63 74 69 6f 6e 20 70 72 65 73 65 6e 74  netction present
2350: 69 6e 67 20 61 20 6c 6f 77 65 72 20 63 6f 73 74  ing a lower cost
2360: 20 63 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 6c   can conceptuall
2370: 79 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c  y exist.</li>..<
2380: 6c 69 3e 57 68 65 6e 20 44 69 6a 73 6a 74 72 61  li>When Dijsjtra
2390: 27 73 20 66 61 69 6c 73 20 74 6f 20 69 64 65 6e  's fails to iden
23a0: 74 69 66 79 20 61 20 73 6f 6c 75 74 69 6f 6e 20  tify a solution 
23b0: 74 68 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e  this surely mean
23c0: 73 20 74 68 61 74 20 6e 6f 20 73 6f 6c 75 74 69  s that no soluti
23d0: 6f 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 3c  on is possible.<
23e0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33  /li>..</ul>..<h3
23f0: 3e 54 68 65 20 41 2a 20 61 6c 67 6f 72 69 74 68  >The A* algorith
2400: 6d 3c 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74  m</h3>..Many alt
2410: 65 72 6e 61 74 69 76 65 20 52 6f 75 74 69 6e 67  ernative Routing
2420: 20 61 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65   algorithms have
2430: 20 62 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64   been invented d
2440: 75 72 69 6e 67 20 74 68 65 20 79 65 61 72 73 2e  uring the years.
2450: 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d 20 61  <br>..All them a
2460: 72 65 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72  re based on heur
2470: 69 73 74 69 63 20 61 73 73 75 6d 70 74 69 6f 6e  istic assumption
2480: 73 20 61 6e 64 20 61 72 65 20 69 6e 74 65 6e 64  s and are intend
2490: 65 64 20 74 6f 20 62 65 20 66 61 73 74 65 72 20  ed to be faster 
24a0: 74 68 61 6e 20 44 69 6a 6b 73 74 72 61 27 73 2c  than Dijkstra's,
24b0: 20 62 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65   but none of the
24c0: 6d 20 63 61 6e 20 65 6e 73 75 72 65 20 3c 62 3e  m can ensure <b>
24d0: 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73  full correctness
24e0: 3c 2f 62 3e 20 61 73 20 44 69 6a 6b 73 74 72 61  </b> as Dijkstra
24f0: 27 73 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68  's does.<br>..Th
2500: 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73  e <a href="https
2510: 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e  ://en.wikipedia.
2520: 6f 72 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 61 72  org/wiki/A*_sear
2530: 63 68 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 41 2a  ch_algorithm">A*
2540: 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 61   algorithm</a> a
2550: 70 70 6c 69 65 73 20 61 20 6d 69 6c 64 20 68 65  pplies a mild he
2560: 75 72 69 73 74 69 63 20 6f 70 74 69 6d 69 7a 61  uristic optimiza
2570: 74 69 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 62 65  tion, and can be
2580: 20 61 20 72 65 61 6c 69 73 74 69 63 20 61 6c 74   a realistic alt
2590: 65 72 6e 61 74 69 76 65 20 74 6f 20 44 69 6a 6b  ernative to Dijk
25a0: 73 74 72 61 27 73 20 69 6e 20 6d 61 6e 79 20 63  stra's in many c
25b0: 61 73 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  ases.<br><br>..<
25c0: 68 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65  hr>..<h1><a name
25d0: 3d 22 73 61 6d 70 6c 65 22 3e 32 20 2d 20 54 68  ="sample">2 - Th
25e0: 65 20 73 61 6d 70 6c 65 2f 74 65 73 74 20 44 42  e sample/test DB
25f0: 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61  </a></h1>..You a
2600: 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 66  re expected to f
2610: 6f 6c 6c 6f 77 20 74 68 65 20 63 75 72 72 65 6e  ollow the curren
2620: 74 20 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 74  t tutorial about
2630: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69   <b>VirtualRouti
2640: 6e 67 3c 2f 62 3e 20 62 79 20 64 69 72 65 63 74  ng</b> by direct
2650: 6c 79 20 74 65 73 74 69 6e 67 20 61 6c 6c 20 53  ly testing all S
2660: 51 4c 20 71 75 65 72 69 65 73 20 64 69 73 63 75  QL queries discu
2670: 73 73 65 64 20 20 62 65 6c 6f 77 20 77 69 74 68  ssed  below with
2680: 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74   the <a href="ht
2690: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
26a0: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
26b0: 72 6f 75 74 69 6e 67 2d 73 61 6d 70 6c 65 2d 35  routing-sample-5
26c0: 2e 30 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c 65 2f  .0.0.7z">sample/
26d0: 74 65 73 74 20 44 42 20 74 68 61 74 20 79 6f 75  test DB that you
26e0: 20 63 61 6e 20 64 6f 77 6e 6c 6f 61 64 20 66 72   can download fr
26f0: 6f 6d 20 68 65 72 65 3c 2f 61 3e 3c 62 72 3e 3c  om here</a><br><
2700: 62 72 3e 0d 0a 54 68 65 20 73 61 6d 70 6c 65 20  br>..The sample 
2710: 44 42 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20  DB contains the 
2720: 66 75 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e 65 74  full <b>road net
2730: 77 6f 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62 3e 54  work</b> of <b>T
2740: 75 73 63 61 6e 79 20 52 65 67 69 6f 6e 20 28 49  uscany Region (I
2750: 74 61 6c 79 29 3c 2f 62 3e 20 28 3c 61 20 68 72  taly)</b> (<a hr
2760: 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30  ef="http://www50
2770: 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e  2.regione.toscan
2780: 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64  a.it/geoscopio/d
2790: 6f 77 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f 73 74  ownload/grafo_st
27a0: 72 61 64 61 6c 65 2f 69 74 65 72 6e 65 74 2e 7a  radale/iternet.z
27b0: 69 70 22 3e 49 74 65 72 2e 4e 65 74 20 64 61 74  ip">Iter.Net dat
27c0: 61 73 65 74 3c 2f 61 3e 29 20 6b 69 6e 64 6c 79  aset</a>) kindly
27d0: 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20   released under 
27e0: 74 68 65 20 3c 62 3e 43 43 2d 42 59 2d 53 41 20  the <b>CC-BY-SA 
27f0: 34 2e 30 3c 2f 62 3e 20 6c 69 63 65 6e 63 65 20  4.0</b> licence 
2800: 74 65 72 6d 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 74  terms.<br>..Allt
2810: 68 6f 75 67 68 20 74 68 65 20 63 6f 6e 74 65 6e  hough the conten
2820: 74 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65  ts stored in the
2830: 20 73 61 6d 70 6c 65 20 64 61 74 61 62 61 73 65   sample database
2840: 20 68 61 76 65 20 62 65 65 6e 20 72 65 61 72 72   have been rearr
2850: 61 6e 67 65 64 2c 20 69 74 20 69 73 20 73 74 69  anged, it is sti
2860: 6c 6c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68  ll subject to th
2870: 65 20 69 6e 69 74 69 61 6c 20 3c 62 3e 43 43 2d  e initial <b>CC-
2880: 42 59 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 63 6c  BY-SA 4.0</b> cl
2890: 61 75 73 65 73 20 28 3c 69 3e 64 65 72 69 76 65  auses (<i>derive
28a0: 64 20 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a 3c 62  d work</i>)...<b
28b0: 72 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  r><br>..<ul>..<l
28c0: 69 3e 61 6c 6c 20 72 6f 61 64 20 6e 61 6d 65 73  i>all road names
28d0: 20 61 72 65 20 73 74 6f 72 65 64 20 77 69 74 68   are stored with
28e0: 69 6e 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79  in the <b>topony
28f0: 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c 62 72  ms</b> Table.<br
2900: 3e 0d 0a 73 69 6e 63 65 20 74 68 65 20 73 61 6d  >..since the sam
2910: 65 20 72 6f 61 64 20 6e 61 6d 65 73 20 63 6f 75  e road names cou
2920: 6c 64 20 62 65 20 75 73 65 64 20 69 6e 20 64 69  ld be used in di
2930: 66 66 65 72 65 6e 74 20 4d 75 6e 69 63 69 70 61  fferent Municipa
2940: 6c 69 74 69 65 73 2c 20 74 68 65 20 3c 62 3e 74  lities, the <b>t
2950: 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c  oponyms</b> Tabl
2960: 65 20 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72  e relationally r
2970: 65 66 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62  eferences the <b
2980: 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c  >municipalities<
2990: 2f 62 3e 20 54 61 62 6c 65 20 28 76 69 61 20 3c  /b> Table (via <
29a0: 62 3e 50 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20  b>PRIMARY</b> / 
29b0: 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f  <b>FOREIGN KEY</
29c0: 62 3e 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73  b> relationships
29d0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  ).</li>..<li>the
29e0: 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70   <b>roads</b> Sp
29f0: 61 74 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74  atial Table cont
2a00: 61 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e 33 38  ains about <b>38
2a10: 30 2c 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c  0,000</b> Links,
2a20: 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c   and has the fol
2a30: 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d  lowing columns:.
2a40: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64  .<ul>..<li><b>id
2a50: 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65  </b>: unique ide
2a60: 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20  ntifier of each 
2a70: 4c 69 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59  Link (<b>PRIMARY
2a80: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d   KEY</b>).</li>.
2a90: 0a 3c 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f  .<li><b>node_fro
2aa0: 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64  m</b> and <b>nod
2ab0: 65 5f 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69  e_to</b>: Node i
2ac0: 64 65 6e 74 69 66 69 65 72 73 2e 0d 0a 54 68 65  dentifiers...The
2ad0: 20 6f 72 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e   original Iter.N
2ae0: 65 74 20 64 61 74 61 73 65 74 20 61 64 6f 70 74  et dataset adopt
2af0: 73 20 76 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63  s very long an c
2b00: 6f 6d 70 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65  omplex alphanume
2b10: 72 69 63 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20  ric Node codes; 
2b20: 74 68 65 20 69 6e 74 65 67 65 72 20 4e 6f 64 65  the integer Node
2b30: 20 49 44 73 20 77 65 72 65 20 6f 62 74 61 69 6e   IDs were obtain
2b40: 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68  ed by calling th
2b50: 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69  e <b>CreateRouti
2b60: 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51  ngNodes()</b> SQ
2b70: 4c 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 75  L function discu
2b80: 73 73 65 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77  ssed in a follow
2b90: 69 6e 67 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69  ing section.</li
2ba0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70  >..<li><b>id_top
2bb0: 6f 6e 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69  onym</b>: relati
2bc0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74  onal reference t
2bd0: 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64  o the correspond
2be0: 69 6e 67 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f  ing road name co
2bf0: 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65  ntained into the
2c00: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e   <b>toponyms</b>
2c10: 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49   Table (<b>FOREI
2c20: 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69  GN KEY</b>).</li
2c30: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f  >..<li><b>speed_
2c40: 6b 6d 68 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74  kmh</b>: the est
2c50: 69 6d 61 74 65 64 20 61 76 65 72 61 67 65 20 73  imated average s
2c60: 70 65 65 64 20 73 75 70 70 6f 72 74 65 64 20 62  peed supported b
2c70: 79 20 74 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72  y the Link, expr
2c80: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68  essed in <b>km/h
2c90: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  </b>.<br>..<u>No
2ca0: 74 65 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74  te</u>: <b>negat
2cb0: 69 76 65 3c 2f 62 3e 20 73 70 65 65 64 73 20 69  ive</b> speeds i
2cc0: 6e 74 65 6e 64 20 61 20 66 6f 72 62 69 64 64 65  ntend a forbidde
2cd0: 6e 20 4c 69 6e 6b 20 28 61 73 20 69 74 20 63 6f  n Link (as it co
2ce0: 75 6c 64 20 62 65 20 74 68 65 20 63 61 73 65 20  uld be the case 
2cf0: 6f 66 20 70 65 64 65 73 74 72 69 61 6e 20 73 74  of pedestrian st
2d00: 72 65 65 74 73 20 6f 72 20 62 69 63 79 63 6c 65  reets or bicycle
2d10: 20 6c 61 6e 65 73 20 65 78 6c 75 64 69 6e 67 20   lanes exluding 
2d20: 6d 6f 74 6f 72 20 76 65 68 69 63 6c 65 73 29 2e  motor vehicles).
2d30: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6f 6e  </li>..<li><b>on
2d40: 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 3e 20  eway_fromto</b> 
2d50: 61 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f  and <b>oneway_to
2d60: 66 72 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c 65 61  from</b>: boolea
2d70: 6e 20 66 6c 61 67 73 20 64 65 74 65 72 6d 69 6e  n flags determin
2d80: 65 20 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e 20  e if a Link can 
2d90: 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20  be traversed in 
2da0: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20  both directions 
2db0: 6f 72 20 6a 75 73 74 20 69 6e 20 61 20 73 69 6e  or just in a sin
2dc0: 67 6c 65 20 64 69 72 65 63 74 69 6f 6e 20 28 3c  gle direction (<
2dd0: 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c  b>one-way</b>).<
2de0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
2df0: 3a 20 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63 6c  : all Links decl
2e00: 61 72 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79 5f  aring <b>oneway_
2e10: 66 72 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64  fromto=0</b> and
2e20: 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f   <b>oneway_tofro
2e30: 6d 3d 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74 65  m=0</b> are inte
2e40: 6e 64 65 64 20 74 6f 20 62 65 20 61 6c 77 61 79  nded to be alway
2e50: 73 20 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c 69  s forbidden.</li
2e60: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f  >..<li><b>cost</
2e70: 62 3e 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c  b>: the <b>time<
2e80: 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e  /b> expressed in
2e90: 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20   <b>seconds</b> 
2ea0: 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 76  required to trav
2eb0: 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c  erse each Link.<
2ec0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c  br>..<u>Note #1<
2ed0: 2f 75 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77 65  /u> all costs we
2ee0: 72 65 20 63 61 6c 63 75 6c 61 74 65 64 20 61 63  re calculated ac
2ef0: 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65  cordingly to the
2f00: 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 75   following formu
2f10: 6c 61 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28 28  la: <b>cost = ((
2f20: 53 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20  ST_Length(geom) 
2f30: 2f 20 31 30 30 30 2e 30 29 20 2f 20 73 70 65 65  / 1000.0) / spee
2f40: 64 5f 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30 3c  d_kmh) * 3600.0<
2f50: 2f 62 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  /b><br>..<u>Note
2f60: 20 23 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38   #2</u> all <b>8
2f70: 36 2c 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73 74  6,400.0</b> cost
2f80: 20 76 61 6c 75 65 73 20 28 65 71 75 69 76 61 6c   values (equival
2f90: 65 6e 74 20 74 6f 20 31 20 64 61 79 29 20 69 6d  ent to 1 day) im
2fa0: 70 6c 79 20 61 6e 20 3c 62 3e 69 6e 66 69 6e 69  ply an <b>infini
2fb0: 74 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 74 68  tive cost</b> th
2fc0: 75 73 20 69 6e 74 65 6e 64 69 6e 67 20 61 20 3c  us intending a <
2fd0: 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20  b>forbidden</b> 
2fe0: 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  Link.</li>..<li>
2ff0: 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c  <b>geom</b>: a <
3000: 62 3e 33 44 20 4c 69 6e 65 73 74 72 69 6e 67 3c  b>3D Linestring<
3010: 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67  /b> representing
3020: 20 74 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66   the Geometry of
3030: 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d   each Link.<br>.
3040: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68  .<u>Note</u>: th
3050: 65 20 6f 72 69 67 69 6e 61 6c 20 3c 62 3e 49 74  e original <b>It
3060: 65 72 2e 4e 65 74 3c 2f 62 3e 20 64 61 74 61 73  er.Net</b> datas
3070: 65 74 20 69 73 20 6a 75 73 74 20 3c 62 3e 32 44  et is just <b>2D
3080: 3c 2f 62 3e 3b 20 65 6c 65 76 61 74 69 6f 6e 73  </b>; elevations
3090: 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64   (<b>Z</b> coord
30a0: 69 6e 61 74 65 73 29 20 77 65 72 65 20 69 6e 74  inates) were int
30b0: 65 72 70 6f 6c 61 74 65 64 20 62 79 20 64 72 61  erpolated by dra
30c0: 70 69 6e 67 20 74 68 65 20 64 61 74 61 73 65 74  ping the dataset
30d0: 20 6f 76 65 72 20 61 6e 20 3c 61 20 68 72 65 66   over an <a href
30e0: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e  ="http://www502.
30f0: 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e  regione.toscana.
3100: 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77  it/geoscopio/dow
3110: 6e 6c 6f 61 64 2f 61 6c 74 69 6d 65 74 72 69 61  nload/altimetria
3120: 2f 64 61 5f 63 74 72 31 30 6b 2f 67 62 2f 44 54  /da_ctr10k/gb/DT
3130: 4d 5f 4f 72 6f 67 72 61 66 69 63 6f 2e 37 7a 22  M_Orografico.7z"
3140: 3e 6f 72 6f 67 72 61 70 68 69 63 20 44 45 4d 20  >orographic DEM 
3150: 28 31 30 6d 20 58 20 31 30 6d 20 63 65 6c 6c 73  (10m X 10m cells
3160: 29 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  )</a></li>..</ul
3170: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  ></li>..<li>the 
3180: 3c 62 3e 72 6f 61 64 73 5f 76 77 3c 2f 62 3e 20  <b>roads_vw</b> 
3190: 53 70 61 74 69 61 6c 20 56 69 65 77 20 72 65 73  Spatial View res
31a0: 6f 6c 76 65 73 20 61 6c 6c 20 72 65 6c 61 74 69  olves all relati
31b0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20  onal references 
31c0: 62 65 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73  between <b>roads
31d0: 3c 2f 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d  </b>, <b>toponym
31e0: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e  s</b> and <b>mun
31f0: 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c  icipalities</b>,
3200: 20 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66   thus allowing f
3210: 6f 72 20 65 61 73 69 65 72 20 53 51 4c 20 71 75  or easier SQL qu
3220: 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  eries.</li>..<li
3230: 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72  >the <b>house_nr
3240: 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62  </b> Spatial Tab
3250: 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75  le contains abou
3260: 74 20 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f  t <b>1,480,000</
3270: 62 3e 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73  b> House Numbers
3280: 2c 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f  , and has the fo
3290: 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a  llowing columns:
32a0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69  ..<ul>..<li><b>i
32b0: 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64  d</b>: unique id
32c0: 65 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68  entifier of each
32d0: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c   House Number (<
32e0: 62 3e 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62  b>PRIMARY KEY</b
32f0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  >).</li>..<li><b
3300: 3e 69 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65  >id_road</b>: re
3310: 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e  lational referen
3320: 63 65 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73  ce to the corres
3330: 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e  ponding Link con
3340: 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20  tained into the 
3350: 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62  <b>roads</b> Tab
3360: 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b  le (<b>FOREIGN K
3370: 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  EY</b>).</li>..<
3380: 6c 69 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a  li><b>label</b>:
3390: 20 74 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62   the textual lab
33a0: 65 6c 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79  el fully qualify
33b0: 69 6e 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e  ing each House N
33c0: 75 6d 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  umber.</li>..<li
33d0: 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20  ><b>geom</b>: a 
33e0: 3c 62 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20  <b>3D Point</b> 
33f0: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65  representing the
3400: 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63   Geometry of eac
3410: 68 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c  h House Number.<
3420: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c  br>..<u>Note #1<
3430: 2f 75 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69  /u>: also in thi
3440: 73 20 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61  s case all eleva
3450: 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20  tions (<b>Z</b> 
3460: 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72  coordinates) wer
3470: 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62  e interpolated b
3480: 79 20 64 72 61 70 69 6e 67 20 74 68 65 20 64 61  y draping the da
3490: 74 61 73 65 74 20 6f 76 65 72 20 74 68 65 20 73  taset over the s
34a0: 61 6d 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65  ame DEM as above
34b0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23  .<br>..<u>Note #
34c0: 32 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20  2</u>: strictly 
34d0: 73 70 65 61 63 6b 69 6e 67 20 74 68 65 20 48 6f  speacking the Ho
34e0: 75 73 65 20 4e 75 6d 62 65 72 73 20 61 72 65 20  use Numbers are 
34f0: 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 65 20  not part of the 
3500: 52 6f 61 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68  Road Network; th
3510: 65 79 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20  ey are included 
3520: 69 6e 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65  in the sample/te
3530: 73 74 20 64 61 74 61 62 61 73 65 20 61 73 20 75  st database as u
3540: 73 65 66 75 6c 20 65 78 61 6d 70 6c 65 73 20 65  seful examples e
3550: 78 70 6c 61 69 6e 65 64 20 6c 61 74 65 72 20 69  xplained later i
3560: 6e 20 74 68 69 73 20 74 65 78 74 2e 3c 2f 6c 69  n this text.</li
3570: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
3580: 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f  li>the <b>house_
3590: 6e 72 5f 76 77 3c 2f 62 3e 20 53 70 61 74 69 61  nr_vw</b> Spatia
35a0: 6c 20 56 69 65 77 20 72 65 73 6f 6c 76 65 73 20  l View resolves 
35b0: 61 6c 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72  all relational r
35c0: 65 66 65 72 65 6e 63 65 73 20 62 65 74 77 65 65  eferences betwee
35d0: 6e 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62  n <b>house_nr</b
35e0: 3e 2c 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c  >, <b>roads</b>,
35f0: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e   <b>toponyms</b>
3600: 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61   and <b>municipa
3610: 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73  lities</b>, thus
3620: 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61   allowing for ea
3630: 73 69 65 72 20 53 51 4c 20 71 75 65 72 69 65 73  sier SQL queries
3640: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
3650: 62 72 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e  br>.. <hr>..<h1>
3660: 3c 61 20 6e 61 6d 65 3d 22 63 72 65 61 74 65 22  <a name="create"
3670: 3e 33 20 2d 20 43 72 65 61 74 69 6e 67 20 56 69  >3 - Creating Vi
3680: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62  rtualRouting Tab
3690: 6c 65 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c  les</a></h1>..Al
36a0: 6c 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  l VirtualRouting
36b0: 20 71 75 65 72 69 65 73 20 61 72 65 20 62 61 73   queries are bas
36c0: 65 64 20 6f 6e 20 61 20 73 70 65 63 69 66 69 63  ed on a specific
36d0: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69   <b>VirtualRouti
36e0: 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 2c 20 61 6e  ng Table</b>, an
36f0: 64 20 69 6e 20 74 75 72 6e 2c 20 74 68 65 20 56  d in turn, the V
3700: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
3710: 62 6c 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20  ble is based on 
3720: 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  a corresponding 
3730: 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54  <b>Binary Data T
3740: 61 62 6c 65 3c 2f 62 3e 20 77 68 69 63 68 2c 20  able</b> which, 
3750: 74 61 6b 65 6e 20 74 6f 67 65 61 74 68 65 72 2c  taken togeather,
3760: 20 69 73 20 61 6e 20 65 66 66 69 63 69 65 6e 74   is an efficient
3770: 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20   representation 
3780: 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e  of the underlyin
3790: 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a  g Network.<br>..
37a0: 53 6f 20 77 65 27 6c 6c 20 73 74 61 72 74 20 66  So we'll start f
37b0: 69 72 73 74 20 62 79 20 63 72 65 61 74 69 6e 67  irst by creating
37c0: 20 74 68 65 73 65 20 74 61 62 6c 65 73 2e 3c 62   these tables.<b
37d0: 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6f 6c 64 2c  r><br>..The old,
37e0: 20 61 6e 64 20 6e 6f 77 20 73 75 70 65 72 73 65   and now superse
37f0: 64 65 64 2c 20 3c 62 3e 56 69 72 74 75 61 6c 4e  ded, <b>VirtualN
3800: 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 71 75 69  etwork</b> requi
3810: 72 65 64 20 74 68 65 20 75 73 65 20 6f 66 20 61  red the use of a
3820: 20 73 65 70 61 72 61 74 65 20 43 4c 49 20 74 6f   separate CLI to
3830: 6f 6c 20 28 3c 62 3e 73 70 61 74 69 61 6c 69 74  ol (<b>spatialit
3840: 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69  e_network</b>) i
3850: 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65  n order to prope
3860: 72 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65 20 61  rly initialize a
3870: 20 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20   VirtualNetwork 
3880: 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20 63 6f  Table and its co
3890: 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44  mpanion Binary D
38a0: 61 74 61 20 54 61 62 6c 65 3b 0d 0a 61 6c 74 65  ata Table;..alte
38b0: 72 6e 61 74 69 76 65 6c 79 20 3c 62 3e 73 70 61  rnatively <b>spa
38c0: 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20  tialite_gui</b> 
38d0: 73 75 70 70 6f 72 74 65 64 20 61 20 3c 62 3e 47  supported a <b>G
38e0: 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20 66 6f  UI wizard</b> fo
38f0: 72 20 74 68 65 20 73 61 6d 65 20 74 61 73 6b 2e  r the same task.
3900: 20 53 69 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c   Since version <
3910: 62 3e 35 2e 30 2e 30 3c 2f 62 3e 2c 20 53 70 61  b>5.0.0</b>, Spa
3920: 74 69 61 4c 69 74 65 20 20 73 75 70 70 6f 72 74  tiaLite  support
3930: 73 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 61  s this functiona
3940: 6c 69 74 79 20 64 69 72 65 63 74 6c 79 2c 20 77  lity directly, w
3950: 69 74 68 20 74 68 65 20 3c 62 3e 43 72 65 61 74  ith the <b>Creat
3960: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53  eRouting()</b> S
3970: 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76  QL function...<v
3980: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
3990: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27   CreateRouting('
39a0: 62 79 66 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62  byfoot_data', 'b
39b0: 79 66 6f 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76  yfoot', 'roads_v
39c0: 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c  w', 'node_from',
39d0: 20 27 6e 6f 64 65 74 6f 27 2c 20 27 67 65 6f 6d   'nodeto', 'geom
39e0: 27 2c 20 4e 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c  ', NULL);....SEL
39f0: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e  ECT CreateRoutin
3a00: 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29  g_GetLastError()
3a10: 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ;..-------------
3a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a30: 2d 2d 2d 2d 2d 2d 2d 0d 0a 54 6f 4e 6f 64 65 20  -------..ToNode 
3a40: 43 6f 6c 75 6d 6e 20 22 6e 6f 64 65 74 6f 22 20  Column "nodeto" 
3a50: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69  is not defined i
3a60: 6e 20 74 68 65 20 49 6e 70 75 74 20 54 61 62 6c  n the Input Tabl
3a70: 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  e..</verbatim>..
3a80: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69  <u>Note</u>: thi
3a90: 73 20 66 69 72 73 74 20 71 75 65 72 79 20 28 62  s first query (b
3aa0: 61 73 65 64 20 6f 6e 20 74 68 65 20 3c 69 3e 6d  ased on the <i>m
3ab0: 69 6e 69 6d 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20  inimal form</i> 
3ac0: 6f 66 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  of <b>CreateRout
3ad0: 69 6e 67 3c 2f 62 3e 29 20 3c 62 3e 3c 69 3e 3c  ing</b>) <b><i><
3ae0: 75 3e 64 65 6c 69 62 65 72 61 74 65 6c 79 3c 2f  u>deliberately</
3af0: 75 3e 3c 2f 69 3e 3c 2f 62 3e 20 63 6f 6e 74 61  u></i></b> conta
3b00: 69 6e 73 20 61 6e 20 69 6e 74 65 6e 64 65 64 20  ins an intended 
3b10: 65 72 72 6f 72 20 63 61 75 73 69 6e 67 20 61 20  error causing a 
3b20: 66 61 69 6c 75 72 65 20 74 6f 20 20 72 61 69 73  failure to  rais
3b30: 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 3c  e an exception.<
3b40: 62 72 3e 0d 0a 43 72 65 61 74 65 52 6f 75 74 69  br>..CreateRouti
3b50: 6e 67 28 29 20 63 61 6e 20 66 61 69 6c 20 66 6f  ng() can fail fo
3b60: 72 20 6d 75 6c 74 69 70 6c 65 20 72 65 61 73 6f  r multiple reaso
3b70: 6e 73 2c 20 61 6e 64 20 62 79 20 63 61 6c 6c 69  ns, and by calli
3b80: 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  ng <b>CreateRout
3b90: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72  ing_GetLastError
3ba0: 28 29 3c 2f 62 3e 20 79 6f 75 20 63 61 6e 20 65  ()</b> you can e
3bb0: 61 73 69 6c 79 20 69 64 65 6e 74 69 66 79 20 74  asily identify t
3bc0: 68 65 20 65 78 61 63 74 20 72 65 61 73 6f 6e 20  he exact reason 
3bd0: 77 68 79 20 74 68 65 20 6d 6f 73 74 20 72 65 63  why the most rec
3be0: 65 6e 74 20 63 61 6c 6c 20 74 6f 20 43 72 65 61  ent call to Crea
3bf0: 74 65 52 6f 75 74 69 6e 67 28 29 20 66 61 69 6c  teRouting() fail
3c00: 65 64 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74  ed.<br>..<verbat
3c10: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  im>..SELECT Crea
3c20: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 6f 6f  teRouting('byfoo
3c30: 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f 6f 74  t_data', 'byfoot
3c40: 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27  ', 'roads_vw', '
3c50: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64  node_from', 'nod
3c60: 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e  e_to', 'geom', N
3c70: 55 4c 4c 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20  ULL, 'toponym', 
3c80: 31 2c 20 31 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d  1, 1);..--------
3c90: 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d 0a 53 45 4c 45  -----..1....SELE
3ca0: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67  CT CreateRouting
3cb0: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3b  _GetLastError();
3cc0: 0d 0a 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: 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c 4c 0d 0a 3c 2f  ------..NULL..</
3cf0: 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69 73 20  verbatim>..This 
3d00: 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 20 77  second attempt w
3d10: 69 6c 6c 20 73 75 63 63 65 65 64 2c 20 77 69 74  ill succeed, wit
3d20: 68 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28  h CreateRouting(
3d30: 29 20 72 65 74 75 72 6e 69 6e 67 20 3c 62 3e 31  ) returning <b>1
3d40: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  </b> (<i>aka</i>
3d50: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 2c 20 61   <b>TRUE</b>), a
3d60: 6e 64 20 61 73 20 79 6f 75 20 63 61 6e 20 65 61  nd as you can ea
3d70: 73 69 6c 79 20 63 68 65 63 6b 20 6e 6f 77 20 74  sily check now t
3d80: 68 65 20 44 61 74 61 62 61 73 65 20 63 6f 6e 74  he Database cont
3d90: 61 69 6e 73 20 74 77 6f 20 6e 65 77 20 54 61 62  ains two new Tab
3da0: 6c 65 73 3a 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f  les: <b>byfoot</
3db0: 62 3e 20 61 6e 64 20 3c 62 3e 62 79 66 6f 6f 74  b> and <b>byfoot
3dc0: 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  _data</b>.<br>..
3dd0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 66 74  <u>Note</u>: aft
3de0: 65 72 20 61 20 73 75 63 63 65 73 73 66 75 6c 20  er a successful 
3df0: 63 61 6c 6c 20 74 6f 20 43 72 65 61 74 65 52 6f  call to CreateRo
3e00: 75 74 69 6e 67 28 29 20 3c 62 3e 43 72 65 61 74  uting() <b>Creat
3e10: 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74  eRouting_GetLast
3e20: 45 72 72 6f 72 28 29 3c 2f 62 3e 20 77 69 6c 6c  Error()</b> will
3e30: 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 3c   always return <
3e40: 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 62 72 3e 3c  b>NULL</b>.<br><
3e50: 62 72 3e 0d 0a 4c 65 74 27 73 20 6c 6f 6f 6b 2c  br>..Let's look,
3e60: 20 69 6e 20 6d 6f 72 65 20 64 65 74 61 69 6c 2c   in more detail,
3e70: 20 6f 66 20 74 68 65 20 3c 69 3e 6d 69 6e 69 6d   of the <i>minim
3e80: 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43  al form</i> of C
3e90: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3b 20  reateRouting(); 
3ea0: 61 6e 64 20 74 68 65 20 6d 65 61 6e 69 6e 67 20  and the meaning 
3eb0: 6f 66 20 65 61 63 68 20 61 72 67 75 6d 65 6e 74  of each argument
3ec0: 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e  :..<ol>..<li><i>
3ed0: 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f 69 3e 3a  byfoot_data</i>:
3ee0: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65   the name of the
3ef0: 20 4e 65 74 77 6f 72 6b 20 42 69 6e 61 72 79 20   Network Binary 
3f00: 44 61 74 61 20 54 61 62 6c 65 20 74 6f 20 62 65  Data Table to be
3f10: 20 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a   created.</li>..
3f20: 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 3c 2f 69  <li><i>byfoot</i
3f30: 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  >: the name of t
3f40: 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  he VirtualRoutin
3f50: 67 20 54 61 62 6c 65 20 74 6f 20 62 65 20 63 72  g Table to be cr
3f60: 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  eated.</li>..<li
3f70: 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 3c 2f 69 3e  ><i>roads_vw</i>
3f80: 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68  : the name of th
3f90: 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 54 61 62  e <b>Spatial Tab
3fa0: 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 53 70 61  le</b> or <b>Spa
3fb0: 74 69 61 6c 20 56 69 65 77 3c 2f 62 3e 20 72 65  tial View</b> re
3fc0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 75  presenting the u
3fd0: 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72  nderlying Networ
3fe0: 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  k.<br>..<u>Note<
3ff0: 2f 75 3e 3a 20 69 6e 20 74 68 69 73 20 63 61 73  /u>: in this cas
4000: 65 20 77 65 20 61 63 74 75 61 6c 6c 79 20 75 73  e we actually us
4010: 65 64 20 61 20 53 70 61 74 69 61 6c 20 56 69 65  ed a Spatial Vie
4020: 77 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  w.</li>..<li><i>
4030: 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e  node_from</i>: n
4040: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
4050: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
4060: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65  Table or View) e
4070: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61  xpected to conta
4080: 69 6e 20 3c 62 3e 6e 6f 64 65 2d 66 72 6f 6d 3c  in <b>node-from<
4090: 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e  /b> values.</li>
40a0: 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f  ..<li><i>node_to
40b0: 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68  </i>: name of th
40c0: 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65  e column (in the
40d0: 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20   above Table or 
40e0: 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74  View) expected t
40f0: 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f 64  o contain <b>nod
4100: 65 2d 74 6f 3c 2f 62 3e 20 76 61 6c 75 65 73 2e  e-to</b> values.
4110: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65  </li>..<li><i>ge
4120: 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20  om</i>: name of 
4130: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74  the column (in t
4140: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f  he above Table o
4150: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64  r View) expected
4160: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 4c   to contain <b>L
4170: 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c  inestrings</b>.<
4180: 62 72 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73 65  br>..In the case
4190: 20 6f 66 20 61 20 3c 62 3e 4c 6f 67 69 63 61 6c   of a <b>Logical
41a0: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 3a 20 61 20   Network</b>: a 
41b0: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 73 68 6f   <b>NULL</b> sho
41c0: 75 6c 64 20 62 65 20 70 61 73 73 65 64 2e 2e 3c  uld be passed..<
41d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c  /li>..<li><i>NUL
41e0: 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74  L</i>: name of t
41f0: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68  he column (in th
4200: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72  e above Table or
4210: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20   View) expected 
4220: 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 63 6f  to contain <b>co
4230: 73 74 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62  st</b> values.<b
4240: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65  r>..In this case
4250: 20 77 65 20 68 61 76 65 20 70 61 73 73 65 64 20   we have passed 
4260: 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61  a <b>NULL</b> va
4270: 6c 75 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75  lue, and consequ
4280: 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 63 6f 73  ently the <b>cos
4290: 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69  t</b> of each Li
42a0: 6e 6b 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  nk will be assum
42b0: 65 64 20 74 6f 20 62 65 20 72 65 70 72 65 73 65  ed to be represe
42c0: 6e 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 67  nted by the <b>g
42d0: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c  eometric length<
42e0: 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65  /b> of the corre
42f0: 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 65 73 74 72  sponding Linestr
4300: 69 6e 67 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ing.<br>..<u>Not
4310: 65 20 23 31 3c 2f 75 3e 3a 20 69 6e 20 74 68 65  e #1</u>: in the
4320: 20 63 61 73 65 20 6f 66 20 4e 65 74 77 6f 72 6b   case of Network
4330: 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 6c 6f  s based on <b>lo
4340: 6e 67 69 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64  ngitudes</b> and
4350: 20 3c 62 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62   <b>latitudes</b
4360: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62  > (<i>aka</i> <b
4370: 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e 20  >geographic</b> 
4380: 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d  Reference System
4390: 73 29 20 74 68 65 20 67 65 6f 6d 65 74 72 79 20  s) the geometry 
43a0: 6c 65 6e 67 74 68 20 6f 66 20 61 6c 6c 20 4c 69  length of all Li
43b0: 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62  nestrings will b
43c0: 65 20 70 72 65 63 69 73 65 6c 79 20 3c 62 3e 6d  e precisely <b>m
43d0: 65 61 73 75 72 65 64 20 6f 6e 20 74 68 65 20 65  easured on the e
43e0: 6c 6c 69 70 73 6f 69 64 3c 2f 62 3e 20 62 79 20  llipsoid</b> by 
43f0: 61 70 70 6c 79 69 6e 67 20 74 68 65 20 6d 6f 73  applying the mos
4400: 74 20 61 63 63 75 72 61 74 65 20 3c 62 3e 67 65  t accurate <b>ge
4410: 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c 61 73 3c  odesic formulas<
4420: 2f 62 3e 20 61 6e 64 20 77 69 6c 6c 20 63 6f 6e  /b> and will con
4430: 73 65 71 75 65 6e 74 6c 79 20 62 65 20 65 78 70  sequently be exp
4440: 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74  ressed in <b>met
4450: 65 72 73 3c 2f 62 3e 2e 20 49 6e 20 61 6e 79 20  ers</b>. In any 
4460: 6f 74 68 65 72 20 63 61 73 65 20 28 3c 62 3e 70  other case (<b>p
4470: 72 6f 6a 65 63 74 65 64 3c 2f 62 3e 20 52 65 66  rojected</b> Ref
4480: 65 72 65 6e 63 65 20 53 79 73 74 65 6d 73 29 20  erence Systems) 
4490: 6c 65 6e 67 74 68 73 20 77 69 6c 6c 20 62 65 20  lengths will be 
44a0: 65 78 70 72 65 73 73 65 64 20 69 6e 20 74 68 65  expressed in the
44b0: 20 3c 62 3e 6d 65 61 73 75 72 65 20 75 6e 69 74   <b>measure unit
44c0: 3c 2f 62 3e 20 64 65 66 69 6e 65 64 20 62 79 20  </b> defined by 
44d0: 74 68 65 20 52 65 66 65 72 65 6e 63 65 20 53 79  the Reference Sy
44e0: 73 74 65 6d 20 28 65 2e 67 2e 20 3c 62 3e 6d 65  stem (e.g. <b>me
44f0: 74 65 72 73 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e  ters</b> for <b>
4500: 55 54 4d 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69  UTM</b> projecti
4510: 6f 6e 73 20 61 6e 64 20 3c 62 3e 66 65 65 74 3c  ons and <b>feet<
4520: 2f 62 3e 20 66 6f 72 20 3c 62 3e 4e 41 44 2d 66  /b> for <b>NAD-f
4530: 74 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 6f 6e  t</b> projection
4540: 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  s).<br>..<u>Note
4550: 20 23 32 3c 2f 75 3e 3a 20 74 68 65 20 3c 62 3e   #2</u>: the <b>
4560: 67 65 6f 6d 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20  geom-column</b> 
4570: 61 6e 64 20 3c 62 3e 63 6f 73 74 2d 63 6f 6c 75  and <b>cost-colu
4580: 6d 6e 3c 2f 62 3e 20 61 72 67 75 6d 65 6e 74 73  mn</b> arguments
4590: 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77   are never allow
45a0: 65 64 20 74 6f 20 62 65 20 3c 62 3e 4e 55 4c 4c  ed to be <b>NULL
45b0: 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65  </b> at the same
45c0: 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   time.</li>..<li
45d0: 3e 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a  ><i>toponym</i>:
45e0: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c   name of the col
45f0: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76  umn (in the abov
4600: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29  e Table or View)
4610: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e   expected to con
4620: 74 61 69 6e 20 3c 62 3e 72 6f 61 64 2d 6e 61 6d  tain <b>road-nam
4630: 65 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 72  e</b> values.<br
4640: 3e 0d 0a 49 74 20 63 6f 75 6c 64 20 62 65 20 6c  >..It could be l
4650: 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20  egitimately set 
4660: 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69  to <b>NULL</b> i
4670: 66 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20  f all Links are 
4680: 61 6e 6f 6e 79 6d 6f 75 73 2e 3c 2f 6c 69 3e 0d  anonymous.</li>.
4690: 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 61  .<li><i>1</i>: a
46a0: 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e   boolean flag in
46b0: 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69 66  tended to specif
46c0: 79 20 69 66 20 74 68 65 20 4e 65 74 77 6f 72 6b  y if the Network
46d0: 20 6d 75 73 74 20 73 75 70 70 6f 72 74 20 74 68   must support th
46e0: 65 20 3c 62 3e 41 2a 20 61 6c 67 6f 72 69 74 68  e <b>A* algorith
46f0: 6d 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 73 65  m</b> or not (se
4700: 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e  t to <b>TRUE</b>
4710: 20 62 79 20 64 65 66 61 75 6c 74 29 2e 3c 2f 6c   by default).</l
4720: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e  i>..<li><i>1</i>
4730: 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67  : a boolean flag
4740: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65   intended to spe
4750: 63 69 66 79 20 69 66 20 61 6c 6c 20 4e 65 74 77  cify if all Netw
4760: 6f 72 6b 27 73 20 4c 69 6e 6b 73 20 61 72 65 20  ork's Links are 
4770: 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 3c 62  assumed to be <b
4780: 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f  >bidirectional</
4790: 62 3e 20 6f 72 20 6e 6f 74 20 28 61 73 73 75 6d  b> or not (assum
47a0: 65 64 20 74 6f 20 62 65 20 3c 62 3e 54 52 55 45  ed to be <b>TRUE
47b0: 3c 2f 62 3e 20 62 79 20 64 65 66 61 75 6c 74 29  </b> by default)
47c0: 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 6f 6c 3e 0d 0a  .</li> ..</ol>..
47d0: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
47e0: 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61  #c0ffc0" cellspa
47f0: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
4800: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
4810: 64 3e 0d 0a 3c 68 33 3e 54 65 63 68 6e 69 63 61  d>..<h3>Technica
4820: 6c 20 6e 6f 74 65 3c 2f 68 33 3e 0d 0a 54 68 65  l note</h3>..The
4830: 20 69 6e 74 65 72 6e 61 6c 20 65 6e 63 6f 64 69   internal encodi
4840: 6e 67 20 61 64 6f 70 74 65 64 20 62 79 20 74 68  ng adopted by th
4850: 65 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61  e <b>Binary Data
4860: 20 54 61 62 6c 65 3c 2f 62 3e 20 69 73 20 75 6e   Table</b> is un
4870: 63 68 61 6e 67 65 64 20 61 6e 64 20 69 73 20 74  changed and is t
4880: 68 65 20 73 61 6d 65 20 66 6f 72 20 62 6f 74 68  he same for both
4890: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f   <b>VirtualNetwo
48a0: 6b 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 56 69 72  k</b> and <b>Vir
48b0: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 2e  tualRouting</b>.
48c0: 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 73 61  <br>..You can sa
48d0: 66 65 6c 79 20 62 61 73 65 20 61 20 3c 62 3e 56  fely base a <b>V
48e0: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
48f0: 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 65  ble</b> on any e
4900: 78 69 73 74 69 6e 67 20 42 69 6e 61 72 79 20 44  xisting Binary D
4910: 61 74 61 0d 0a 54 61 62 6c 65 20 63 72 65 61 74  ata..Table creat
4920: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 73 70 61  ed by the <b>spa
4930: 74 69 61 6c 69 74 65 2d 6e 65 74 77 6f 72 6b 3c  tialite-network<
4940: 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 2c 20 65 78  /b> CLI tool, ex
4950: 61 63 74 6c 79 20 61 73 20 79 6f 75 20 63 61 6e  actly as you can
4960: 20 62 61 73 65 20 61 20 3c 62 3e 56 69 72 74 75   base a <b>Virtu
4970: 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 3c  alNetwork Table<
4980: 2f 62 3e 20 6f 6e 20 61 6e 79 20 42 69 6e 61 72  /b> on any Binar
4990: 79 20 44 61 74 61 20 54 61 62 6c 65 20 63 72 65  y Data Table cre
49a0: 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 43  ated by the <b>C
49b0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f  reateRouting()</
49c0: 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e  b> SQL function.
49d0: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 43 52  ..<verbatim>..CR
49e0: 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42  EATE VIRTUAL TAB
49f0: 4c 45 20 74 65 73 74 5f 6e 65 74 77 6f 72 6b 20  LE test_network 
4a00: 55 53 49 4e 47 20 56 69 72 74 75 61 6c 4e 65 74  USING VirtualNet
4a10: 77 6f 72 6b 28 27 73 6f 6d 65 5f 64 61 74 61 5f  work('some_data_
4a20: 74 61 62 6c 65 27 29 3b 0d 0a 0d 0a 43 52 45 41  table');....CREA
4a30: 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45  TE VIRTUAL TABLE
4a40: 20 74 65 73 74 5f 72 6f 75 74 69 6e 67 20 55 53   test_routing US
4a50: 49 4e 47 20 56 69 72 74 75 61 6c 52 6f 75 74 69  ING VirtualRouti
4a60: 6e 67 28 27 73 6f 6d 65 5f 64 61 74 61 5f 74 61  ng('some_data_ta
4a70: 62 6c 65 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74  ble');..</verbat
4a80: 69 6d 3e 0d 0a 49 6e 20 6f 72 64 65 72 20 74 6f  im>..In order to
4a90: 20 6d 61 6e 75 61 6c 6c 79 20 63 72 65 61 74 65   manually create
4aa0: 20 79 6f 75 72 20 56 69 72 74 75 61 6c 20 54 61   your Virtual Ta
4ab0: 62 6c 65 73 20 79 6f 75 20 6a 75 73 74 20 68 61  bles you just ha
4ac0: 76 65 20 74 6f 20 65 78 65 63 75 74 65 20 61 6e  ve to execute an
4ad0: 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e   appropriate <b>
4ae0: 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54  CREATE VIRTUAL T
4af0: 41 42 4c 45 20 2e 2e 2e 20 55 53 49 4e 47 20 56  ABLE ... USING V
4b00: 69 72 74 75 61 6c 2e 2e 2e 20 28 2e 2e 2e 29 3c  irtual... (...)<
4b10: 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0d 0a  /b> statement...
4b20: 3c 68 34 3e 57 61 72 6e 69 6e 67 3c 2f 68 34 3e  <h4>Warning</h4>
4b30: 0d 0a 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66  ..In the case of
4b40: 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77   <b>Spatial Netw
4b50: 6f 72 6b 73 3c 2f 62 3e 20 62 61 73 65 64 20 6f  orks</b> based o
4b60: 6e 20 61 6e 79 20 3c 62 3e 67 65 6f 67 72 61 70  n any <b>geograp
4b70: 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63  hic</b> Referenc
4b80: 65 20 53 79 73 74 65 6d 20 28 75 73 69 6e 67 20  e System (using 
4b90: 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73 3c 2f 62  <b>longitudes</b
4ba0: 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69 74 75 64  > and <b>latitud
4bb0: 65 73 3c 2f 62 3e 29 20 74 68 65 72 65 20 69 73  es</b>) there is
4bc0: 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 64 69   an important di
4bd0: 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e  fference between
4be0: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62   Binary Data Tab
4bf0: 6c 65 73 20 63 72 65 61 74 65 64 20 62 79 20 74  les created by t
4c00: 68 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65  he <b>spatialite
4c10: 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 47 55 49  _network</b> GUI
4c20: 20 74 6f 6f 6c 20 61 6e 64 20 20 42 69 6e 61 72   tool and  Binar
4c30: 79 20 44 61 74 61 20 54 61 62 6c 65 73 20 63 72  y Data Tables cr
4c40: 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e  eated by the <b>
4c50: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c  CreateRouting()<
4c60: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  /b> SQL function
4c70: 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74 73 3c 2f   when <b>costs</
4c80: 62 3e 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c  b> are implicitl
4c90: 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 67  y based on the g
4ca0: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 20  eometric length 
4cb0: 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73 20 4c 69  of the Link's Li
4cc0: 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c 3e 0d  nestring:..<ul>.
4cd0: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 70 61 74  .<li>the <b>spat
4ce0: 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f  ialite_network</
4cf0: 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28 61 6e 64  b> CLI tool (and
4d00: 20 74 68 65 20 3c 62 3e 47 55 49 20 77 69 7a 61   the <b>GUI wiza
4d10: 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65 6e 74  rd</b> implement
4d20: 65 64 20 62 79 20 70 72 65 76 69 6f 75 73 20 76  ed by previous v
4d30: 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e 73 70  ersions of <b>sp
4d40: 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e  atialite_gui</b>
4d50: 29 20 63 6f 6d 70 75 74 65 20 74 68 65 20 4c 69  ) compute the Li
4d60: 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74  nestring's lengt
4d70: 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e 67 75 6c  h as an <b>angul
4d80: 61 72 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20  ar distance</b> 
4d90: 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e  expressed in <b>
4da0: 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f 6c 69  degrees</b>.</li
4db0: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 43 72  >..<li>the <b>Cr
4dc0: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62  eateRouting()</b
4dd0: 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 63  > SQL function c
4de0: 6f 6d 70 75 74 65 73 20 74 68 65 20 4c 69 6e 65  omputes the Line
4df0: 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 68 20  string's length 
4e00: 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61 72 20 64  as a <b>linear d
4e10: 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78 70 72  istance</b> expr
4e20: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 72  essed in <b>metr
4e30: 65 73 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69  es</b> by applyi
4e40: 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75  ng the most accu
4e50: 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63  rate <b>geodesic
4e60: 20 66 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20 6f 6e   formulas</b> on
4e70: 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64 2e 3c   the ellipsoid.<
4e80: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74  /li>..</ul>..</t
4e90: 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 3c  d></tr></table><
4ea0: 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74  br><br>..<verbat
4eb0: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  im>..SELECT Crea
4ec0: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 63 61 72  teRouting('bycar
4ed0: 5f 64 61 74 61 27 2c 20 27 62 79 63 61 72 27 2c  _data', 'bycar',
4ee0: 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e 6f   'roads_vw', 'no
4ef0: 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f  de_from', 'node_
4f00: 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 27 63 6f  to', 'geom', 'co
4f10: 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20  st', 'toponym', 
4f20: 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79 5f 66 72  1, 1, 'oneway_fr
4f30: 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61 79 5f 74  omto', 'oneway_t
4f40: 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d 2d 2d  ofrom', 0);..---
4f50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4f60: 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  -..1..</verbatim
4f70: 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c 69 6e 67  >..After calling
4f80: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e   <b>CreateRoutin
4f90: 67 28 29 3c 2f 62 3e 20 63 6f 72 72 65 63 74 6c  g()</b> correctl
4fa0: 79 2c 20 20 74 68 65 20 44 61 74 61 62 61 73 65  y,  the Database
4fb0: 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 66 75   contains two fu
4fc0: 72 74 68 65 72 20 54 61 62 6c 65 73 3a 20 3c 62  rther Tables: <b
4fd0: 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e 64 20 3c  >bycar</b> and <
4fe0: 62 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f 62 3e  b>bycar_data</b>
4ff0: 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69 6d 65  .<br>..This time
5000: 20 79 6f 75 27 76 65 20 75 73 65 64 20 74 68 65   you've used the
5010: 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20 66 6f 72   <i>complete for
5020: 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 52  m</i> of CreateR
5030: 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27 73 20  outing(); let's 
5040: 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65 70 74  see in more dept
5050: 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65  h all the argume
5060: 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65  nts and their me
5070: 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c  aning:..<ol>..<l
5080: 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61 74 61 3c  i><i>bycar_data<
5090: 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f  /i>: same as abo
50a0: 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  ve.</li>..<li><i
50b0: 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73 61 6d 65  >bycar</i>: same
50c0: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d   as above.</li>.
50d0: 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76 77  .<li><i>roads_vw
50e0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
50f0: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ove.</li>..<li><
5100: 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a  i>node_from</i>:
5110: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c   same as above.<
5120: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64  /li>..<li><i>nod
5130: 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d 65 20 61  e_to</i>: same a
5140: 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c  s above.</li>..<
5150: 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20  li><i>geom</i>: 
5160: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f  same as above.</
5170: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63 6f 73 74  li>..<li><i>cost
5180: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
5190: 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73 20 63 61  ove...In this ca
51a0: 73 65 20 77 65 20 68 61 76 65 20 72 65 66 65 72  se we have refer
51b0: 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d 6e 20 70  enced a column p
51c0: 72 65 6c 6f 61 64 65 64 20 77 69 74 68 20 76 61  reloaded with va
51d0: 6c 75 65 73 20 63 6f 72 72 65 73 70 6f 6e 64 69  lues correspondi
51e0: 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e 74 69 6d  ng to the <b>tim
51f0: 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65 64 20 69  e</b> measured i
5200: 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e  n <b>seconds</b>
5210: 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61   required to tra
5220: 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e  verse each Link.
5230: 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 69 3e 74  </li> ..<li><i>t
5240: 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73 61 6d 65  oponym</i>: same
5250: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d   as above.</li>.
5260: 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 73  .<li><i>1</i>: s
5270: 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 3c 69  ame as above (<i
5280: 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f 69 3e 29  >A* enabled</i>)
5290: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31  .</li>..<li><i>1
52a0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
52b0: 6f 76 65 20 28 3c 69 3e 62 69 64 69 72 65 63 74  ove (<i>bidirect
52c0: 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f 69 3e 29  ional Links</i>)
52d0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6f  .</li>..<li><i>o
52e0: 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 69 3e  neway_fromto</i>
52f0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f  : name of the co
5300: 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f  lumn (in the abo
5310: 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77  ve Table or View
5320: 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f  ) expected to co
5330: 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20 66 6c  ntain boolean fl
5340: 61 67 73 20 73 70 65 63 69 66 79 69 6e 67 20 69  ags specifying i
5350: 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 61 6e 20  f each Link can 
5360: 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20  be traversed in 
5370: 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f  the <b>from-to</
5380: 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f 72 20  b> direction or 
5390: 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  not.</li>..<li><
53a0: 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 3c  i>oneway_tofrom<
53b0: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65  /i>: name of the
53c0: 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20   column (in the 
53d0: 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56  above Table or V
53e0: 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f  iew) expected to
53f0: 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e   contain boolean
5400: 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e   flags specifyin
5410: 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63  g if each Link c
5420: 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20  an be traversed 
5430: 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d 66 72 6f  in the <b>to-fro
5440: 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20  m</b> direction 
5450: 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a 3c 75 3e  or not.<br>..<u>
5460: 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 62 6f 74  Note #1</u>: bot
5470: 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e  h <b>from-to</b>
5480: 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c   and <b>to-from<
5490: 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73  /b> column names
54a0: 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 6d 61   can be legitima
54b0: 74 65 6c 79 20 73 65 74 20 61 73 20 3c 62 3e 4e  tely set as <b>N
54c0: 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f 20 3c 62  ULL</b> if no <b
54d0: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65 73  >one-way</b> res
54e0: 74 72 69 63 74 69 6f 6e 73 20 61 70 70 6c 79 20  trictions apply 
54f0: 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 4e  to the current N
5500: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e  etwork.<br>..<u>
5510: 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 4e 65 74  Note #2</u>: Net
5520: 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 3c 62 3e  works of the <b>
5530: 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f  unidirectional</
5540: 62 3e 20 74 79 70 65 20 61 72 65 20 6e 65 76 65  b> type are neve
5550: 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 72 65 66  r enabled to ref
5560: 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 2d 77 61  erence <b>one-wa
5570: 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 28 74  y</b> columns (t
5580: 68 65 79 20 73 68 6f 75 6c 64 20 61 6c 77 61 79  hey should alway
5590: 73 20 62 65 20 73 65 74 20 74 6f 20 3c 62 3e 4e  s be set to <b>N
55a0: 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a  ULL</b>).</li>..
55b0: 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a 20 61 20  <li><i>0</i>: a 
55c0: 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e 74  boolean flag int
55d0: 65 6e 64 69 6e 67 20 61 6e 20 3c 62 3e 6f 76 65  ending an <b>ove
55e0: 72 77 72 69 74 65 20 61 75 74 68 6f 72 69 7a 61  rwrite authoriza
55f0: 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d  tion</b>...<ul>.
5600: 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 6f 20 3c  .<li>If set to <
5610: 62 3e 46 41 4c 53 45 3c 2f 62 3e 20 61 6e 20 65  b>FALSE</b> an e
5620: 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65  xception will be
5630: 20 72 61 69 73 65 64 20 69 66 20 74 68 65 20 3c   raised if the <
5640: 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54 61  b>Binary Data Ta
5650: 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20 74  ble</b> and/or t
5660: 68 65 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75  he <b>VirtualRou
5670: 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 20 61  ting Table</b> a
5680: 6c 72 65 61 64 79 20 65 78 69 73 74 2e 3c 2f 6c  lready exist.</l
5690: 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74  i>..<li>If set t
56a0: 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 65 76  o <b>TRUE</b> ev
56b0: 65 6e 74 75 61 6c 6c 79 20 65 78 69 73 74 69 6e  entually existin
56c0: 67 20 54 61 62 6c 65 73 20 77 69 6c 6c 20 62 65  g Tables will be
56d0: 2c 20 74 6f 20 61 76 6f 69 64 20 65 72 72 6f 72  , to avoid error
56e0: 73 2c 20 64 72 6f 70 70 65 64 20 62 65 66 6f 72  s, dropped befor
56f0: 65 20 73 74 61 72 74 69 6e 67 20 74 68 65 20 65  e starting the e
5700: 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c 62 3e 43  xecution of <b>C
5710: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f  reateRouting()</
5720: 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  b>.</li>..</ul><
5730: 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 72  /li>..</ol>..<br
5740: 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f  >..<table bgcolo
5750: 72 3d 22 23 66 66 66 66 63 30 22 20 63 65 6c 6c  r="#ffffc0" cell
5760: 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c  spacing="10" cel
5770: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72  lpadding="6"><tr
5780: 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 69 67 68 6c  ><td>..<h3>Highl
5790: 69 67 68 74 3a 20 77 68 65 72 65 20 79 6f 75 20  ight: where you 
57a0: 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f 75 27 76 65  are</h3>..You've
57b0: 20 6a 75 73 74 20 63 72 65 61 74 65 64 20 74 77   just created tw
57c0: 6f 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  o VirtualRouting
57d0: 20 54 61 62 6c 65 73 20 62 61 73 65 64 20 6f 6e   Tables based on
57e0: 20 64 69 66 66 65 72 65 6e 74 20 73 65 74 74 69   different setti
57f0: 6e 67 73 3b 20 62 6f 74 68 20 74 68 65 6d 20 61  ngs; both them a
5800: 72 65 20 70 65 72 66 65 63 74 6c 79 20 76 61 6c  re perfectly val
5810: 69 64 20 61 6e 64 20 72 65 61 73 6f 6e 61 62 6c  id and reasonabl
5820: 65 2c 20 62 75 74 20 74 68 65 79 20 61 72 65 20  e, but they are 
5830: 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 64 69 66  intended for dif
5840: 66 65 72 65 6e 74 20 70 75 72 70 6f 73 65 73 3a  ferent purposes:
5850: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62  ..<ul>..<li><b>b
5860: 79 66 6f 6f 74 3c 2f 62 3e 20 69 73 20 73 70 65  yfoot</b> is spe
5870: 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e 64  cifically intend
5880: 65 64 20 66 6f 72 20 3c 62 3e 70 65 64 65 73 74  ed for <b>pedest
5890: 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e  rians</b>:..<ul>
58a0: 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69 6e 6b 73 20  ..<li>all Links 
58b0: 61 72 65 20 61 6c 77 61 79 73 20 61 73 73 75 6d  are always assum
58c0: 65 64 20 74 6f 20 62 65 20 61 63 63 65 73 73 69  ed to be accessi
58d0: 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64  ble in <b>both d
58e0: 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 3b 20 74  irections</b>; t
58f0: 68 65 72 65 20 61 72 65 20 6e 6f 20 3c 62 3e 6f  here are no <b>o
5900: 6e 65 2d 77 61 79 73 3c 2f 62 3e 20 61 6e 64 20  ne-ways</b> and 
5910: 6e 6f 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c  no <b>forbidden<
5920: 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d  /b> Links.</li>.
5930: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 63 6f 73 74  .<li>the <b>cost
5940: 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e  </b> of each Lin
5950: 6b 20 69 73 20 64 69 72 65 63 74 6c 79 20 72 65  k is directly re
5960: 70 72 65 73 65 6e 74 65 64 20 62 79 20 69 74 73  presented by its
5970: 20 67 65 6f 6d 65 74 72 69 63 20 3c 62 3e 6c 65   geometric <b>le
5980: 6e 67 74 68 3c 2f 62 3e 2c 20 77 68 69 63 68 20  ngth</b>, which 
5990: 69 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69  is consistent wi
59a0: 74 68 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f  th the assumptio
59b0: 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f 73 74 20 63  n of an almost c
59c0: 6f 6e 73 74 61 6e 74 20 73 70 65 65 64 20 73 75  onstant speed su
59d0: 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6d 6d 75  bstantially immu
59e0: 6e 65 20 66 72 6f 6d 20 61 64 76 65 72 73 65 20  ne from adverse 
59f0: 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20  road conditions 
5a00: 61 6e 64 20 74 72 61 66 66 69 63 20 63 6f 6e 67  and traffic cong
5a10: 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  estion.</li>..</
5a20: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  ul></li>..<li><b
5a30: 3e 62 79 63 61 72 3c 2f 62 3e 20 69 73 20 73 70  >bycar</b> is sp
5a40: 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e  ecifically inten
5a50: 64 65 64 20 66 6f 72 20 3c 62 3e 6d 6f 74 6f 72  ded for <b>motor
5a60: 20 76 65 68 69 63 6c 65 73 3c 2f 62 3e 3a 0d 0a   vehicles</b>:..
5a70: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61 6e 79 20 4c  <ul>..<li>many L
5a80: 69 6e 6b 73 20 61 72 65 20 65 78 70 65 63 74 65  inks are expecte
5a90: 64 20 74 6f 20 62 65 20 61 63 63 65 73 73 69 62  d to be accessib
5aa0: 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64 69  le in <b>both di
5ab0: 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 20 62 75 74  rections</b> but
5ac0: 20 6f 74 68 65 72 73 20 63 6f 75 6c 64 20 65 61   others could ea
5ad0: 73 69 6c 79 20 62 65 20 73 75 62 6a 65 63 74 20  sily be subject 
5ae0: 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62  to <b>one-way</b
5af0: 3e 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f  > restrictions o
5b00: 72 20 65 76 65 6e 20 62 65 20 63 6f 6d 70 6c 65  r even be comple
5b10: 74 65 6c 79 20 3c 62 3e 66 6f 72 62 69 64 64 65  tely <b>forbidde
5b20: 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  n</b>.</li>..<li
5b30: 3e 74 68 65 20 63 6f 73 74 20 6f 66 20 65 61 63  >the cost of eac
5b40: 68 20 4c 69 6e 6b 20 69 73 20 65 78 70 72 65 73  h Link is expres
5b50: 73 65 64 20 61 73 20 61 6e 20 65 73 74 69 6d 61  sed as an estima
5b60: 74 65 64 20 3c 62 3e 74 72 61 76 65 6c 20 74 69  ted <b>travel ti
5b70: 6d 65 3c 2f 62 3e 2c 20 62 65 63 61 75 73 65 20  me</b>, because 
5b80: 74 68 65 20 65 78 70 65 63 74 65 64 20 73 70 65  the expected spe
5b90: 65 64 73 20 63 61 6e 20 67 72 65 61 74 6c 79 20  eds can greatly 
5ba0: 76 61 72 79 20 61 63 63 6f 72 64 69 6e 67 6c 79  vary accordingly
5bb0: 20 74 6f 20 73 70 65 63 69 66 69 63 20 72 6f 61   to specific roa
5bc0: 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 74 72  d conditions, tr
5bd0: 61 66 66 69 63 20 63 6f 6e 67 65 73 74 69 6f 6e  affic congestion
5be0: 20 61 6e 64 20 6c 65 67 61 6c 20 72 65 67 75 6c   and legal regul
5bf0: 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  ations.</li>..</
5c00: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  ul></li>..</ul>.
5c10: 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f 6e 63 6c 75  .<br>..<u>Conclu
5c20: 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20 73 69 6e 67  sion</u>: a sing
5c30: 6c 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  le VirtualRoutin
5c40: 67 20 54 61 62 6c 65 20 63 61 6e 6e 6f 74 20 61  g Table cannot a
5c50: 64 65 71 75 61 74 65 6c 79 20 73 75 70 70 6f 72  dequately suppor
5c60: 74 20 61 6c 6c 20 72 65 71 75 69 72 65 6d 65 6e  t all requiremen
5c70: 74 73 20 61 6e 64 20 65 78 70 65 63 74 61 74 69  ts and expectati
5c80: 6f 6e 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74  ons of different
5c90: 20 75 73 65 72 73 2e 3c 62 72 3e 0d 0a 44 65 66   users.<br>..Def
5ca0: 69 6e 69 6e 67 20 6d 6f 72 65 20 52 6f 75 74 69  ining more Routi
5cb0: 6e 67 20 54 61 62 6c 65 73 20 77 69 74 68 20 64  ng Tables with d
5cc0: 69 66 66 65 72 65 6e 74 20 73 65 74 74 69 6e 67  ifferent setting
5cd0: 73 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 4e  s for the same N
5ce0: 65 74 77 6f 72 6b 20 75 73 75 61 6c 6c 79 20 69  etwork usually i
5cf0: 73 20 61 20 67 6f 6f 64 20 64 65 73 69 67 6e 20  s a good design 
5d00: 63 68 6f 69 63 65 20 6c 65 61 64 69 6e 67 20 74  choice leading t
5d10: 6f 20 6d 6f 72 65 20 72 65 61 6c 69 73 74 69 63  o more realistic
5d20: 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e 0d 0a 3c   results.<br>..<
5d30: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  /td></tr>..</tab
5d40: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  le>..<br><br>..<
5d50: 68 33 3e 55 74 69 6c 69 74 79 20 66 75 6e 63 74  h3>Utility funct
5d60: 69 6f 6e 20 66 6f 72 20 61 75 74 6f 6d 61 74 69  ion for automati
5d70: 63 61 6c 6c 79 20 73 65 74 74 69 6e 67 20 4e 6f  cally setting No
5d80: 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f 64 65 54  deFrom and NodeT
5d90: 6f 20 49 44 73 3c 2f 68 33 3e 0d 0a 49 74 20 63  o IDs</h3>..It c
5da0: 6f 75 6c 64 20 68 61 70 70 65 6e 20 74 68 61 74  ould happen that
5db0: 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65   a <b>Spatial Ne
5dc0: 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 70 72 65 73  twork</b> repres
5dd0: 65 6e 74 61 74 69 6f 6e 20 69 73 20 74 6f 70 6f  entation is topo
5de0: 6c 6f 67 69 63 61 6c 6c 79 20 63 6f 6e 73 69 73  logically consis
5df0: 74 65 6e 74 2c 20 62 75 74 20 63 6f 6d 70 6c 65  tent, but comple
5e00: 74 65 6c 79 20 6c 61 63 6b 69 6e 67 20 6f 66 20  tely lacking of 
5e10: 61 6e 79 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c  any <b>NodeFrom<
5e20: 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54  /b> and <b>NodeT
5e30: 6f 3c 2f 62 3e 20 64 65 66 69 6e 69 74 69 6f 6e  o</b> definition
5e40: 73 2e 3c 62 72 3e 0d 0a 49 6e 20 73 75 63 68 20  s.<br>..In such 
5e50: 61 20 63 61 73 65 20 79 6f 75 20 63 61 6e 20 73  a case you can s
5e60: 75 63 63 65 73 73 66 75 6c 6c 79 20 72 65 62 75  uccessfully rebu
5e70: 69 6c 64 20 74 68 65 20 6d 69 73 73 69 6e 67 20  ild the missing 
5e80: 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f   NodeFrom and No
5e90: 64 65 54 6f 20 64 65 66 69 6e 69 74 69 6f 6e 73  deTo definitions
5ea0: 20 66 72 6f 6d 20 61 20 76 61 6c 69 64 20 4e 65   from a valid Ne
5eb0: 74 77 6f 72 6b 20 62 79 20 63 61 6c 6c 69 6e 67  twork by calling
5ec0: 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f   the <b>CreateRo
5ed0: 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e  utingNodes()</b>
5ee0: 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a   SQL function...
5ef0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45  <verbatim>..SELE
5f00: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67  CT CreateRouting
5f10: 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20 27 74 61 62  Nodes(NULL, 'tab
5f20: 6c 65 5f 6e 61 6d 65 27 2c 20 27 67 65 6f 6d 27  le_name', 'geom'
5f30: 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27  , 'node_from', '
5f40: 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a 5f 5f 5f 5f  node_to');..____
5f50: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
5f60: 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c 2f 76 65 72 62  _____..1..</verb
5f70: 61 74 69 6d 3e 0d 0a 4c 65 74 27 73 20 65 78 61  atim>..Let's exa
5f80: 6d 69 6e 65 20 61 6c 6c 20 61 72 67 75 6d 65 6e  mine all argumen
5f90: 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65 61  ts and their mea
5fa0: 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69  ning:..<ol>..<li
5fb0: 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e 61  ><i>NULL</i>: na
5fc0: 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e 41 74 74  me of the <b>Att
5fd0: 61 63 68 65 64 2d 44 42 3c 2f 62 3e 20 63 6f 6e  ached-DB</b> con
5fe0: 74 61 69 6e 69 6e 67 20 74 68 65 20 53 70 61 74  taining the Spat
5ff0: 69 61 6c 20 54 61 62 6c 65 2e 3c 62 72 3e 0d 0a  ial Table.<br>..
6000: 49 74 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69  It can be legiti
6010: 6d 61 74 65 6c 79 20 73 65 74 20 74 6f 20 3c 62  mately set to <b
6020: 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61 6e 64 20 69  >NULL</b>, and i
6030: 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20  n this case the 
6040: 3c 62 3e 4d 41 49 4e 3c 2f 62 3e 20 44 42 20 69  <b>MAIN</b> DB i
6050: 73 20 61 73 73 75 6d 65 64 2e 3c 2f 6c 69 3e 0d  s assumed.</li>.
6060: 0a 3c 6c 69 3e 3c 69 3e 74 61 62 6c 65 5f 6e 61  .<li><i>table_na
6070: 6d 65 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20  me</i>: name of 
6080: 74 68 65 20 53 70 61 74 69 61 6c 20 54 61 62 6c  the Spatial Tabl
6090: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  e.</li>..<li><i>
60a0: 67 65 6f 6d 3c 2f 6c 69 3e 3a 20 6e 61 6d 65 20  geom</li>: name 
60b0: 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 28  of the column ((
60c0: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62  in the above Tab
60d0: 6c 65 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20 3c  le) containing <
60e0: 62 3e 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62  b>Linestrings</b
60f0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  >.</li>..<li><i>
6100: 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e  node_from</i>: n
6110: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
6120: 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f  n to be added to
6130: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65   the above Table
6140: 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77   and populated w
6150: 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65 20  ith appropriate 
6160: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
6170: 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  IDs.</li>..<li><
6180: 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e  i>node_to</i>: n
6190: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
61a0: 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f  n to be added to
61b0: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65   the above Table
61c0: 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77   and populated w
61d0: 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65 20  ith appropriate 
61e0: 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 49 44  <b>NodeTo</b> ID
61f0: 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  s.<br>..<u>Note<
6200: 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e 4e 6f 64  /u>: both <b>Nod
6210: 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62  eFrom</b> and <b
6220: 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75  >NodeTo</b> colu
6230: 6d 6e 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62  mns should not b
6240: 65 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e 65  e already define
6250: 64 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54  d in the above T
6260: 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c  able.</li>..</ol
6270: 3e 0d 0a 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  >..<b>CreateRout
6280: 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 77  ingNodes()</b> w
6290: 69 6c 6c 20 72 65 74 75 72 6e 20 3c 62 3e 31 3c  ill return <b>1<
62a0: 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20  /b> (<i>aka</i> 
62b0: 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 20 6f 6e 20  <b>TRUE</b>) on 
62c0: 73 75 63 63 65 73 73 3b 20 61 6e 20 65 78 63 65  success; an exce
62d0: 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61  ption will be ra
62e0: 69 73 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 2e  ised on failure.
62f0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
6300: 3e 3a 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20  >: you can call 
6310: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
6320: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3c  _GetLastError()<
6330: 2f 62 3e 20 73 6f 20 74 6f 20 70 72 65 63 69 73  /b> so to precis
6340: 65 6c 79 20 69 64 65 6e 74 69 66 79 20 74 68 65  ely identify the
6350: 20 63 61 75 73 65 20 61 63 63 6f 75 6e 74 69 6e   cause accountin
6360: 67 20 66 6f 72 20 66 61 69 6c 75 72 65 2e 3c 62  g for failure.<b
6370: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62  r><br><br>..<tab
6380: 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66  le bgcolor="#c0f
6390: 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fc0" cellspacing
63a0: 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
63b0: 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
63c0: 3c 68 33 3e 48 61 6e 64 6c 69 6e 67 20 64 79 6e  <h3>Handling dyn
63d0: 61 6d 69 63 20 4e 65 74 77 6f 72 6b 73 3c 2f 68  amic Networks</h
63e0: 33 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20 63 6f  3>..A Network co
63f0: 75 6c 64 20 62 65 20 73 75 62 6a 65 63 74 20 74  uld be subject t
6400: 6f 20 72 61 74 68 65 72 20 66 72 65 71 75 65 6e  o rather frequen
6410: 74 20 63 68 61 6e 67 65 73 2c 20 73 75 63 68 20  t changes, such 
6420: 61 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6e  as:..<ul>..<li>n
6430: 65 77 20 4c 69 6e 6b 73 20 6e 65 65 64 20 74 6f  ew Links need to
6440: 20 62 65 20 61 64 64 65 64 2e 3c 2f 6c 69 3e 0d   be added.</li>.
6450: 0a 3c 6c 69 3e 6f 62 73 6f 6c 65 74 65 20 4c 69  .<li>obsolete Li
6460: 6e 6b 73 20 61 72 65 20 72 65 71 75 69 72 65 64  nks are required
6470: 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 2e 3c   to be removed.<
6480: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 74 68 65 72 20  /li>..<li>other 
6490: 4c 69 6e 6b 73 20 6d 61 79 20 72 65 63 65 69 76  Links may receiv
64a0: 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 43 6f  e a different Co
64b0: 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 6e  st.</li>..<li>on
64c0: 65 2d 77 61 79 73 20 63 6f 75 6c 64 20 62 65 20  e-ways could be 
64d0: 72 65 76 65 72 73 65 64 2c 20 74 68 65 20 64 69  reversed, the di
64e0: 73 63 69 70 6c 69 6e 65 20 6f 66 20 70 65 64 65  scipline of pede
64f0: 73 74 72 69 61 6e 20 61 72 65 61 73 20 63 6f 75  strian areas cou
6500: 6c 64 20 62 65 20 6d 6f 64 69 66 69 65 64 20 61  ld be modified a
6510: 6e 64 20 73 6f 20 6f 6e 2e 3c 2f 6c 69 3e 0d 0a  nd so on.</li>..
6520: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 3c 62 72 3e 0d 0a  </ul></li><br>..
6530: 41 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  A VirtualRouting
6540: 20 54 61 62 6c 65 20 69 73 20 61 6c 77 61 79 73   Table is always
6550: 20 62 61 73 65 64 20 6f 6e 20 61 20 63 6f 6d 70   based on a comp
6560: 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74  anion Binary Dat
6570: 61 20 54 61 62 6c 65 2c 20 74 68 61 74 20 69 73  a Table, that is
6580: 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79 20 3c   intrinsically <
6590: 62 3e 73 74 61 74 69 63 3c 2f 62 3e 2c 20 61 6e  b>static</b>, an
65a0: 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 79  d consequently y
65b0: 6f 75 20 61 72 65 20 72 65 71 75 69 72 65 64 20  ou are required 
65c0: 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62 6f 74  to re-create bot
65d0: 68 20 6f 66 20 74 68 65 6d 20 66 72 6f 6d 20 74  h of them from t
65e0: 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 6e 20 6f  ime to time in o
65f0: 72 64 65 72 20 74 6f 20 73 75 70 70 6f 72 74 20  rder to support 
6600: 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 61 6e 67  all recent chang
6610: 65 73 20 61 66 66 65 63 74 69 6e 67 20 74 68 65  es affecting the
6620: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74   underlaying Net
6630: 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20 6f  work.<br>..The o
6640: 70 74 69 6d 61 6c 20 66 72 65 71 75 65 6e 63 79  ptimal frequency
6650: 20 66 6f 72 20 74 68 65 20 72 65 66 72 65 73 68   for the refresh
6660: 69 6e 67 20 6f 66 20 74 68 65 20 74 68 65 20 52  ing of the the R
6670: 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 64 65  outing Tables de
6680: 70 65 6e 64 73 20 20 73 74 72 69 63 74 6c 79 20  pends  strictly 
6690: 6f 6e 20 74 68 65 20 73 70 65 63 69 66 69 63 20  on the specific 
66a0: 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 62 75  requirements, bu
66b0: 74 20 74 68 65 73 65 20 74 77 6f 20 6f 76 65 72  t these two over
66c0: 61 6c 6c 20 61 70 70 72 6f 61 63 68 65 73 20 61  all approaches a
66d0: 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61 64 6f 70  re commonly adop
66e0: 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e  ted:..<ol>..<li>
66f0: 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65 6e 63 79  <b>low frequency
6700: 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65   refresh</b>: be
6710: 73 74 20 66 69 74 20 66 6f 72 20 73 6c 6f 77 6c  st fit for slowl
6720: 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f  y evolving Netwo
6730: 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69  rks.<br>..In thi
6740: 73 20 63 61 73 65 20 72 65 2d 63 72 65 61 74 69  s case re-creati
6750: 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 54  ng the Network T
6760: 61 62 6c 65 73 20 6f 6e 63 65 20 61 20 6d 6f 6e  ables once a mon
6770: 74 68 20 2f 20 77 65 65 6b 20 2f 20 64 61 79 20  th / week / day 
6780: 63 6f 75 6c 64 20 62 65 20 72 65 61 73 6f 6e 61  could be reasona
6790: 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a 52 65 63  bly enough...Rec
67a0: 72 65 61 74 69 6e 67 20 74 68 65 20 54 61 62 6c  reating the Tabl
67b0: 65 73 20 66 72 6f 6d 20 73 63 72 61 74 63 68 20  es from scratch 
67c0: 75 73 75 61 6c 6c 79 20 72 65 71 75 69 72 65 73  usually requires
67d0: 20 73 65 76 65 72 61 6c 20 73 65 63 6f 6e 64 73   several seconds
67e0: 20 28 6f 72 20 65 76 65 6e 20 6c 65 73 73 2c 20   (or even less, 
67f0: 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65  depending on the
6800: 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69 6e 6b 73   number of Links
6810: 29 2e 3c 62 72 3e 0d 0a 41 6e 20 6f 70 74 69 6f  ).<br>..An optio
6820: 6e 61 6c 20 72 65 66 72 65 73 68 20 61 63 74 69  nal refresh acti
6830: 76 69 74 79 20 63 6f 75 6c 64 20 62 65 20 70 6c  vity could be pl
6840: 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74 72 61  anned at low tra
6850: 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e 67 2e  ffic hours (e.g.
6860: 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69 67 68   during the nigh
6870: 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65 61 74  t), and <b>Creat
6880: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 63  eRouting()</b> c
6890: 6f 75 6c 64 20 62 65 20 6f 70 74 69 6f 6e 61 6c  ould be optional
68a0: 6c 79 20 63 61 6c 6c 65 64 20 62 79 20 65 6e 61  ly called by ena
68b0: 62 6c 69 6e 67 20 74 68 65 20 6f 76 65 72 77 72  bling the overwr
68c0: 69 74 65 20 6f 70 74 69 6f 6e 2e 3c 2f 6c 69 3e  ite option.</li>
68d0: 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75 6d 2d  ..<li><b>medium-
68e0: 68 69 67 68 20 66 72 65 71 75 65 6e 63 79 20 72  high frequency r
68f0: 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65 73 74  efresh</b>: best
6900: 20 66 69 74 20 66 6f 72 20 73 77 69 66 74 6c 79   fit for swiftly
6910: 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f 72   evolving Networ
6920: 6b 73 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72 65 61  ks.<br>..Re-crea
6930: 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b  ting the Network
6940: 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 70 65 72   Tables once per
6950: 20 68 6f 75 72 20 28 6f 72 20 65 76 65 6e 20 6d   hour (or even m
6960: 6f 72 65 20 66 72 65 71 75 65 6e 74 6c 79 29 20  ore frequently) 
6970: 63 6f 75 6c 64 20 62 65 20 73 74 72 69 63 74 6c  could be strictl
6980: 79 20 72 65 71 75 69 72 65 64 2c 20 61 6e 64 20  y required, and 
6990: 66 72 65 71 75 65 6e 74 20 3c 62 3e 6f 75 74 20  frequent <b>out 
69a0: 6f 66 20 73 65 72 76 69 63 65 3c 2f 62 3e 20 70  of service</b> p
69b0: 65 72 69 6f 64 73 20 77 68 69 6c 65 20 77 61 69  eriods while wai
69c0: 74 69 6e 67 20 66 6f 72 20 74 68 65 20 72 65 66  ting for the ref
69d0: 72 65 73 68 20 70 72 6f 63 65 73 73 20 74 6f 20  resh process to 
69e0: 63 6f 6d 70 6c 65 74 65 20 63 6f 75 6c 64 20 65  complete could e
69f0: 61 73 69 6c 79 20 62 65 63 6f 6d 65 20 75 6e 61  asily become una
6a00: 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 3e 0d 0a  cceptable.<br>..
6a10: 49 6e 20 73 75 63 68 20 63 61 73 65 73 20 79 6f  In such cases yo
6a20: 75 20 63 6f 75 6c 64 20 61 64 6f 70 74 20 61 20  u could adopt a 
6a30: 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65 61 64 65  <b>multi-threade
6a40: 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e 3a 0d  d strategy</b>:.
6a50: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68  .<ul>..<li><b>th
6a60: 72 65 61 64 20 23 31 3c 2f 62 3e 20 28 3c 69 3e  read #1</b> (<i>
6a70: 74 68 65 20 72 65 61 64 65 72 3c 2f 69 3e 29 3a  the reader</i>):
6a80: 20 74 68 69 73 20 66 69 72 73 74 20 74 68 72 65   this first thre
6a90: 61 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74  ad is intended t
6aa0: 6f 20 73 65 72 76 69 63 65 20 61 6e 79 20 69 6e  o service any in
6ab0: 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e 67 20 72  coming Routing r
6ac0: 65 71 75 65 73 74 2e 20 49 74 20 77 69 6c 6c 20  equest. It will 
6ad0: 62 65 20 61 6c 77 61 79 73 20 61 63 74 69 76 65  be always active
6ae0: 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61 72 67 65  , and will targe
6af0: 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 56  t a well known V
6b00: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
6b10: 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e 6d 79 5f  ble (e.g. <b>my_
6b20: 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 61 73 65  routing</b> base
6b30: 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f 75 74 69  d on <b>my_routi
6b40: 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e 3c 2f 6c  ng_data</b>).</l
6b50: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72 65 61  i>..<li><b>threa
6b60: 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e 74 68 65  d #2</b> (<i>the
6b70: 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a 20 74 68   writer</i>): th
6b80: 69 73 20 73 65 63 6f 6e 64 20 74 68 72 65 61 64  is second thread
6b90: 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e 64 65   is just intende
6ba0: 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62  d to re-create b
6bb0: 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c  oth Network Tabl
6bc0: 65 73 20 61 74 20 70 72 65 64 65 66 69 6e 65 64  es at predefined
6bd0: 20 69 6e 74 65 72 76 61 6c 73 2c 20 61 6e 64 20   intervals, and 
6be0: 69 74 20 77 69 6c 6c 20 73 6c 65 65 70 20 74 68  it will sleep th
6bf0: 65 20 6e 65 78 74 20 69 6e 74 65 72 76 61 6c 2e  e next interval.
6c00: 3c 62 72 3e 0d 0a 41 74 20 65 61 63 68 20 69 6e  <br>..At each in
6c10: 74 65 72 76 61 6c 20 61 20 63 6f 70 79 20 6f 66  terval a copy of
6c20: 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61   both Network Ta
6c30: 62 6c 65 73 2c 20 77 69 6c 6c 20 62 65 20 6d 61  bles, will be ma
6c40: 64 65 20 61 6e 64 2c 20 77 68 65 6e 20 63 6f 6d  de and, when com
6c50: 70 6c 65 61 74 65 64 2c 20 77 69 6c 6c 20 6f 76  pleated, will ov
6c60: 65 72 77 72 69 74 65 20 74 68 65 20 6f 72 69 67  erwrite the orig
6c70: 69 6e 61 6c 20 54 61 62 6c 65 73 20 28 61 63 74  inal Tables (act
6c80: 69 76 61 74 69 6e 67 20 61 20 73 65 6d 61 70 68  ivating a semaph
6c90: 6f 72 65 20 64 75 72 69 6e 67 20 74 68 69 73 20  ore during this 
6ca0: 73 68 6f 72 74 2d 74 69 6d 65 64 20 6c 61 73 74  short-timed last
6cb0: 20 73 74 65 70 20 69 73 20 68 69 67 68 6c 79 20   step is highly 
6cc0: 72 65 63 6f 6d 6d 65 6e 64 65 64 29 2e 3c 62 72  recommended).<br
6cd0: 3e 0d 0a 53 6f 6d 65 74 68 69 6e 67 20 6c 69 6b  >..Something lik
6ce0: 65 20 74 68 69 73 20 70 73 65 75 64 6f 2d 63 6f  e this pseudo-co
6cf0: 64 65 20 65 78 65 6d 70 6c 69 66 69 65 73 3a 0d  de exemplifies:.
6d00: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
6d10: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e  ECT CreateRoutin
6d20: 67 28 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e  g('new_my_routin
6d30: 67 5f 64 61 74 61 27 2c 20 27 6e 65 77 5f 6d 79  g_data', 'new_my
6d40: 5f 72 6f 75 74 69 6e 67 27 2c 20 2e 2e 2e 29 3b  _routing', ...);
6d50: 0d 0a 0d 0a 2d 2d 3e 20 73 74 61 72 74 20 74 68  ....--> start th
6d60: 65 20 73 65 6d 61 70 68 6f 72 65 20 73 6f 20 74  e semaphore so t
6d70: 6f 20 6c 6f 63 6b 20 74 68 65 20 6f 74 68 65 72  o lock the other
6d80: 20 74 68 72 65 61 64 0d 0a 0d 0a 42 45 47 49 4e   thread....BEGIN
6d90: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d 79  ;..DROP TABLE my
6da0: 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 20  _routing;..DROP 
6db0: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67  TABLE my_routing
6dc0: 5f 64 61 74 61 3b 0d 0a 53 45 4c 45 43 54 20 43  _data;..SELECT C
6dd0: 6c 6f 6e 65 54 61 62 6c 65 28 27 4d 41 49 4e 27  loneTable('MAIN'
6de0: 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e  , 'new_my_routin
6df0: 67 5f 64 61 74 61 27 2c 20 27 6d 79 5f 72 6f 75  g_data', 'my_rou
6e00: 74 69 6e 67 5f 64 61 74 61 27 2c 20 30 29 3b 0d  ting_data', 0);.
6e10: 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20  .CREATE VIRTUAL 
6e20: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67  TABLE my_routing
6e30: 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 52 6f   USING VirtualRo
6e40: 75 74 69 6e 67 28 27 6d 79 5f 72 6f 75 74 69 6e  uting('my_routin
6e50: 67 5f 64 61 74 61 27 29 3b 0d 0a 44 52 4f 50 20  g_data');..DROP 
6e60: 54 41 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f 75  TABLE new_my_rou
6e70: 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41 42 4c  ting;..DROP TABL
6e80: 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67  E new_my_routing
6e90: 5f 64 61 74 61 3b 0d 0a 43 4f 4d 4d 49 54 3b 0d  _data;..COMMIT;.
6ea0: 0a 0d 0a 2d 2d 3e 20 72 65 6d 6f 76 65 20 74 68  ...--> remove th
6eb0: 65 20 73 65 6d 61 70 68 6f 72 65 0d 0a 3c 2f 76  e semaphore..</v
6ec0: 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74  erbatim>..<u>Not
6ed0: 65 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20  e</u>: strictly 
6ee0: 72 65 73 70 65 63 74 69 6e 67 20 74 68 65 20 61  respecting the a
6ef0: 62 6f 76 65 20 73 65 71 75 65 6e 63 65 20 6f 66  bove sequence of
6f00: 20 53 51 4c 20 6f 70 65 72 61 74 69 6f 6e 73 20   SQL operations 
6f10: 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 72 65  is absolutely re
6f20: 71 75 69 72 65 64 2e 3c 2f 6c 69 3e 20 0d 0a 3c  quired.</li> ..<
6f30: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e  /ul></li>..</ol>
6f40: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f  ..</td></tr>..</
6f50: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74  table>..<br>..<t
6f60: 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66  able bgcolor="#f
6f70: 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69  fb060" cellspaci
6f80: 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
6f90: 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
6fa0: 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68  ..<h3>Warning: h
6fb0: 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20  ow to correctly 
6fc0: 64 72 6f 70 20 4e 65 74 77 6f 72 6b 20 54 61 62  drop Network Tab
6fd0: 6c 65 73 3c 2f 68 33 3e 0d 0a 57 68 65 6e 20 64  les</h3>..When d
6fe0: 72 6f 70 70 69 6e 67 20 61 20 56 69 72 74 75 61  ropping a Virtua
6ff0: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 61  lRouting Table a
7000: 6e 64 20 69 74 73 20 63 6f 6d 70 61 6e 69 6f 6e  nd its companion
7010: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62   Binary Data Tab
7020: 6c 65 20 73 74 72 69 63 74 6c 79 20 72 65 73 70  le strictly resp
7030: 65 63 74 69 6e 67 20 74 68 65 20 63 6f 72 72 65  ecting the corre
7040: 63 74 20 73 65 71 75 65 6e 63 65 20 6f 66 20 53  ct sequence of S
7050: 51 4c 20 63 6f 6d 6d 61 6e 64 73 20 69 73 20 65  QL commands is e
7060: 73 73 65 6e 74 69 61 6c 2e 3c 62 72 3e 0d 0a 46  ssential.<br>..F
7070: 61 69 6c 69 6e 67 20 74 6f 20 73 74 72 69 63 74  ailing to strict
7080: 6c 79 20 72 65 73 70 65 63 74 20 74 68 65 20 65  ly respect the e
7090: 78 70 65 63 74 65 64 20 73 65 71 75 65 6e 63 65  xpected sequence
70a0: 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 63 61 75   will surely cau
70b0: 73 65 20 79 6f 75 20 73 65 76 65 72 61 6c 20 74  se you several t
70c0: 72 6f 75 62 6c 65 73 20 61 6e 64 20 73 65 76 65  roubles and seve
70d0: 72 65 20 68 65 61 64 61 63 68 65 73 2c 20 61 6e  re headaches, an
70e0: 64 20 77 69 6c 6c 20 70 6f 73 73 69 62 6c 79 20  d will possibly 
70f0: 6c 65 61 64 20 74 6f 20 61 20 63 6f 6d 70 6c 65  lead to a comple
7100: 74 65 6c 79 20 63 6f 72 72 75 70 74 65 64 20 64  tely corrupted d
7110: 61 74 61 62 61 73 65 2e 2e 0d 0a 3c 6f 6c 3e 0d  atabase....<ol>.
7120: 0a 3c 6c 69 3e 66 69 72 73 74 20 44 52 4f 50 20  .<li>first DROP 
7130: 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69  the VirtualRouti
7140: 6e 67 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a  ng Table.</li>..
7150: 3c 6c 69 3e 74 68 65 20 63 6f 6d 70 61 6e 69 6f  <li>the companio
7160: 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61  n Binary Data Ta
7170: 62 6c 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20  ble can only be 
7180: 73 61 66 65 6c 79 20 44 52 4f 50 65 64 20 61 66  safely DROPed af
7190: 74 65 72 20 74 68 65 20 56 69 72 74 75 61 6c 52  ter the VirtualR
71a0: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 68 61 73  outing Table has
71b0: 20 62 65 65 6e 20 72 65 6d 6f 76 65 64 2e 3c 2f   been removed.</
71c0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 42 65 20 77  li>..<li><u>Be w
71d0: 61 72 6e 65 64 3c 2f 75 3e 3a 20 69 66 20 79 6f  arned</u>: if yo
71e0: 75 20 44 52 4f 50 20 74 68 65 20 42 69 6e 61 72  u DROP the Binar
71f0: 79 20 44 61 74 61 20 54 61 62 6c 65 20 66 69 72  y Data Table fir
7200: 73 74 2c 20 74 68 65 20 56 69 72 74 75 61 6c 52  st, the VirtualR
7210: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 77 69 6c  outing Table wil
7220: 6c 20 62 65 20 3c 62 3e 6f 72 70 68 61 6e 65 64  l be <b>orphaned
7230: 3c 2f 62 3e 20 61 6e 64 20 63 61 6e 20 6e 6f 20  </b> and can no 
7240: 6c 6f 6e 67 65 72 20 62 65 20 44 52 4f 50 65 64  longer be DROPed
7250: 20 21 3c 62 72 3e 0d 0a 3c 62 3e 42 65 20 77 61   !<br>..<b>Be wa
7260: 72 6e 65 64 20 21 21 3c 2f 62 3e 3c 2f 6c 69 3e  rned !!</b></li>
7270: 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f  ..</ol>..</td></
7280: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
7290: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72  br><br>..<hr><br
72a0: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22  >..<h1><a name="
72b0: 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53 6f 6c  from_to">4 - Sol
72c0: 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53 68 6f  ving classic Sho
72d0: 72 74 65 73 74 20 50 61 74 68 20 70 72 6f 62 6c  rtest Path probl
72e0: 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 54 68  ems</a></h1>..Th
72f0: 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63 20 53  e most classic S
7300: 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f  hortest Path pro
7310: 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 74 6f  blem requires to
7320: 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 6f 70   identify the op
7330: 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e  timal connection
7340: 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62 3e 4f   between an <b>O
7350: 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61  rigin Node</b> a
7360: 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e 61 74  nd a <b>Destinat
7370: 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 62 72  ion Node</b>.<br
7380: 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69 6c 79  >..We can easily
7390: 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63 68 20   translate such 
73a0: 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f 20 61  a problem into a
73b0: 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75 65 72   simple SQL quer
73c0: 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f 6d 65  y targeting some
73d0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
73e0: 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61 74 69  Table...<verbati
73f0: 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d 0a 46  m>..SELECT * ..F
7400: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
7410: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
7420: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
7430: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62   183286;..</verb
7440: 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  atim>..<table bo
7450: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
7460: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
7470: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
7480: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
7490: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
74a0: 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d  0d0a0">Algorithm
74b0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
74c0: 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65  ="#d0d0a0">Reque
74d0: 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
74e0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74  or="#d0d0a0">Opt
74f0: 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ions</th><th bgc
7500: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44  olor="#d0d0a0">D
7510: 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68  elimiter</th><th
7520: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
7530: 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c  0">RouteId</th><
7540: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
7550: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74  0a0">RouteRow</t
7560: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
7570: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68  d0d0a0">Role</th
7580: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
7590: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64  0d0a0">LinkRowid
75a0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
75b0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46  ="#d0d0a0">NodeF
75c0: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  rom</th><th bgco
75d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
75e0: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63  deTo</th><th bgc
75f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50  olor="#d0d0a0">P
7600: 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  ointFrom</th><th
7610: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
7620: 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c  0">PointTo</th><
7630: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
7640: 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f  0a0">Tolerance</
7650: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7660: 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74  #d0d0a0">Cost</t
7670: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
7680: 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79  d0d0a0">Geometry
7690: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
76a0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c  ="#d0d0a0">Name<
76b0: 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  /th></tr>..<tr>.
76c0: 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74  .<td>Dijkstra</t
76d0: 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 50  d><td>Shortest P
76e0: 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c  ath</td><td>Full
76f0: 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b  </td><td>, &#91;
7700: 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23  dec=44, hex=2c&#
7710: 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  93;</td><td alig
7720: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
7730: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7740: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
7750: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
7760: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7770: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
7780: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7790: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
77a0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
77b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
77c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
77d0: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38  ight">300.912208
77e0: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
77f0: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =272 GEOMETRY</t
7800: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
7810: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
7820: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7830: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
7840: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7850: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7860: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
7870: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
7880: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
7890: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
78a0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20  >224014</td><td 
78b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
78c0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
78d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
78e0: 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  5</td><td>NULL</
78f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7900: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7910: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
7920: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64  4.812424</td><td
7930: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
7940: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
7950: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
7960: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
7970: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7980: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7990: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
79a0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
79b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
79c0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
79d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
79e0: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74  right">224446</t
79f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7a00: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
7a10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
7a20: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 3e  >178880</td><td>
7a30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7a40: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
7a50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7a60: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f  ght">69.727726</
7a70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7a80: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
7a90: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
7aa0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
7ab0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7ac0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7ad0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
7ae0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
7af0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7b00: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
7b10: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
7b20: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34  n="right">224414
7b30: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7b40: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
7b50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7b60: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
7b70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7b80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7b90: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
7ba0: 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30  "right">136.3720
7bb0: 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  57</td><td>NULL<
7bc0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
7bd0: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
7be0: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
7bf0: 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b  br>..Let's quick
7c00: 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72  ly examine the r
7c10: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
7c20: 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 52  d by the above R
7c30: 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d 0a 3c  outing query:..<
7c40: 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  ul>..<li>the <b>
7c50: 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 28 3c  first row</b> (<
7c60: 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64 65 72  i>aka</i> header
7c70: 20 72 6f 77 29 20 68 61 73 20 61 20 73 70 65 63   row) has a spec
7c80: 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61 74 69  ial interpretati
7c90: 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e  on, and is inten
7ca0: 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69 7a 65  ded to summarize
7cb0: 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f 6c 75   the travel solu
7cc0: 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e  tion as a whole.
7cd0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 74  </li>..<li>all t
7ce0: 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e 67 20  he <b>following 
7cf0: 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65 73 65  rows</b> represe
7d00: 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69 6e 6b  nt a single Link
7d10: 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 75 69   required to bui
7d20: 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e 20  ld the solution 
7d30: 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b 20 4c  (optima path); L
7d40: 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72 65 64  inks are ordered
7d50: 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20   accordingly to 
7d60: 74 68 65 20 74 72 61 76 65 6c 20 64 69 72 65 63  the travel direc
7d70: 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20  tion connecting 
7d80: 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 20 74  the Origin and t
7d90: 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 2e 3c  he Destination.<
7da0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e  /li>..<li>column
7db0: 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f  s <b>Algorithm</
7dc0: 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f  b>, <b>Request</
7dd0: 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f  b>, <b>Options</
7de0: 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72  b>, <b>Delimiter
7df0: 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 72  </b>, <b>PointFr
7e00: 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74  om</b>, <b>Point
7e10: 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c 65 72  To</b>, <b>Toler
7e20: 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  ance</b> and <b>
7e30: 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61 72 65  Geometry</b> are
7e40: 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c   always set to <
7e50: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 65 78 63 65 70  b>NULL</b> excep
7e60: 74 20 74 68 61 74 20 69 6e 20 74 68 65 20 66 69  t that in the fi
7e70: 72 73 74 20 72 6f 77 20 6f 66 20 74 68 65 20 72  rst row of the r
7e80: 65 73 75 6c 74 73 65 74 3a 0d 0a 3c 75 6c 3e 0d  esultset:..<ul>.
7e90: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 41  .<li>column <b>A
7ea0: 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 61 63 63  lgorithm</b> acc
7eb0: 6f 75 6e 74 73 20 66 6f 72 20 74 68 65 20 52 6f  ounts for the Ro
7ec0: 75 74 69 6e 67 20 41 6c 67 6f 72 69 74 68 6d 20  uting Algorithm 
7ed0: 75 73 65 64 20 62 79 20 74 68 65 20 63 75 72 72  used by the curr
7ee0: 65 6e 74 20 71 75 65 72 79 20 28 3c 69 3e 44 69  ent query (<i>Di
7ef0: 6a 6b 73 74 72 61 27 73 3c 2f 69 3e 20 6f 72 20  jkstra's</i> or 
7f00: 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e  <i>A*</i>).</li>
7f10: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e  ..<li>column <b>
7f20: 52 65 71 75 65 73 74 3c 2f 62 3e 20 73 70 65 63  Request</b> spec
7f30: 69 66 69 65 73 20 74 68 65 20 65 78 61 63 74 20  ifies the exact 
7f40: 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20 63 75  nature of the cu
7f50: 72 72 65 6e 74 20 71 75 65 72 79 20 28 69 6e 20  rrent query (in 
7f60: 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63 61  this specific ca
7f70: 73 65 20 3c 69 3e 53 68 6f 72 74 65 73 74 20 50  se <i>Shortest P
7f80: 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a  ath</i>).</li>..
7f90: 3c 6c 69 3e 66 6f 72 20 6e 6f 77 20 77 65 27 6c  <li>for now we'l
7fa0: 6c 20 69 67 6e 6f 72 65 20 74 68 65 20 63 6f 6c  l ignore the col
7fb0: 75 6d 6e 73 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c  umns <b>Options<
7fc0: 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65  /b>, <b>Delimite
7fd0: 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46  r</b>, <b>PointF
7fe0: 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e  rom</b>, <b>Poin
7ff0: 74 54 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54  tTo</b> and <b>T
8000: 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68  olerance</b>: th
8010: 65 69 72 20 72 65 73 70 65 63 74 69 76 65 20 6d  eir respective m
8020: 65 61 6e 69 6e 67 73 20 77 69 6c 6c 20 62 65 20  eanings will be 
8030: 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 66 6f 6c  explained in fol
8040: 6c 6f 77 69 6e 67 20 70 61 72 61 67 72 61 70 68  lowing paragraph
8050: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c  s.</li>..<li>col
8060: 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c  umn <b>Geometry<
8070: 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 3c  /b> contains a <
8080: 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c 2f 62 3e  b>LINESTRING</b>
8090: 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20   representation 
80a0: 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 74 72 61  of the whole tra
80b0: 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 62 72  vel solution.<br
80c0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
80d0: 6f 6e 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65  on <b>Logical Ne
80e0: 74 77 6f 72 6b 73 3c 2f 62 3e 20 28 6e 6f 74 20  tworks</b> (not 
80f0: 73 75 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65  supporting Geome
8100: 74 72 69 65 73 29 20 3c 62 3e 47 65 6f 6d 65 74  tries) <b>Geomet
8110: 72 79 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61  ry</b> will alwa
8120: 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62  ys be <b>NULL</b
8130: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  >.</li>..</ul></
8140: 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69  li>..<li>we'll i
8150: 67 6e 6f 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f  gnore for now co
8160: 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 49 64 3c  lumn <b>RouteId<
8170: 2f 62 3e 3b 20 69 74 73 20 6d 65 61 6e 69 6e 67  /b>; its meaning
8180: 20 77 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e   will be explain
8190: 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20  ed in following 
81a0: 70 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e  paragraphs.</li>
81b0: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e  ..<li>column <b>
81c0: 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 73 69 6d  RouteRow</b> sim
81d0: 70 6c 79 20 69 73 20 74 68 65 20 70 72 6f 67 72  ply is the progr
81e0: 65 73 73 69 76 65 20 6e 75 6d 62 65 72 20 6f 66  essive number of
81f0: 20 74 68 65 20 72 6f 77 20 69 6e 20 74 68 65 20   the row in the 
8200: 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20  travel solution 
8210: 28 61 6c 77 61 79 73 20 3c 62 3e 30 3c 2f 62 3e  (always <b>0</b>
8220: 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72   in the header r
8230: 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63  ow).</li>..<li>c
8240: 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 6c 65 3c 2f 62  olumn <b>Role</b
8250: 3e 20 63 61 6e 20 62 65 20 3c 69 3e 52 6f 75 74  > can be <i>Rout
8260: 65 3c 2f 69 3e 20 28 68 65 61 64 65 72 20 72 6f  e</i> (header ro
8270: 77 29 20 6f 72 20 3c 69 3e 4c 69 6e 6b 3c 2f 69  w) or <i>Link</i
8280: 3e 20 28 61 6c 6c 20 66 6f 6c 6c 6f 77 69 6e 67  > (all following
8290: 20 72 6f 77 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c   rows).</li>..<l
82a0: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4c 69 6e 6b  i>column <b>Link
82b0: 52 6f 77 69 64 3c 2f 62 3e 20 72 65 66 65 72 65  Rowid</b> refere
82c0: 6e 63 65 73 20 74 68 65 20 3c 62 3e 52 4f 57 49  nces the <b>ROWI
82d0: 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72  D</b> of the cor
82e0: 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20  responding Link 
82f0: 28 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c  (always set to <
8300: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68  b>NULL</b> in th
8310: 65 20 68 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f  e header row).</
8320: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20  li>..<li>column 
8330: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
8340: 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  and <b>NodeTo</b
8350: 3e 20 68 61 76 65 20 74 68 65 20 66 6f 6c 6c 6f  > have the follo
8360: 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74 61 74  wing interpretat
8370: 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ion:..<ul>..<li>
8380: 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f  in the header ro
8390: 77 20 74 68 65 79 20 63 6f 72 72 65 73 70 6f 6e  w they correspon
83a0: 64 20 74 6f 20 68 65 20 3c 62 3e 4f 72 69 67 69  d to he <b>Origi
83b0: 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 73  n</b> and <b>Des
83c0: 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 4e 6f 64  tination</b> Nod
83d0: 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e  es.</li>..<li>in
83e0: 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c   all of the foll
83f0: 6f 77 69 6e 67 20 72 6f 77 73 20 74 68 65 79 20  owing rows they 
8400: 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20  are intended to 
8410: 73 70 65 63 69 66 79 20 74 68 65 20 64 69 72 65  specify the dire
8420: 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 75 72  ction of the cur
8430: 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d  rent Link.</li>.
8440: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  .</ul></li>..<li
8450: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c  >column <b>Cost<
8460: 2f 62 3e 20 68 61 73 20 74 68 65 20 66 6f 6c 6c  /b> has the foll
8470: 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74 61  owing interpreta
8480: 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  tion:..<ul>..<li
8490: 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72  >in the header r
84a0: 6f 77 20 69 74 20 63 6f 72 72 65 73 70 6f 6e 64  ow it correspond
84b0: 73 20 74 6f 20 74 68 65 20 3c 62 3e 74 6f 74 61  s to the <b>tota
84c0: 6c 20 63 6f 73 74 3c 2f 62 3e 20 6f 66 20 74 68  l cost</b> of th
84d0: 65 20 72 6f 75 74 65 2e 3c 2f 6c 69 3e 0d 0a 3c  e route.</li>..<
84e0: 6c 69 3e 69 6e 20 61 6c 6c 20 6f 66 20 74 68 65  li>in all of the
84f0: 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20   following rows 
8500: 69 74 20 72 65 70 72 65 73 65 6e 74 73 20 74 68  it represents th
8510: 65 20 73 70 65 63 69 66 69 63 20 63 6f 73 74 20  e specific cost 
8520: 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c  of the current L
8530: 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ink.</li>..</ul>
8540: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d  </li>..<li>colum
8550: 6e 20 3c 62 3e 4e 61 6d 65 3c 2f 62 3e 20 63 6f  n <b>Name</b> co
8560: 6e 74 61 69 6e 73 20 74 68 65 20 64 65 73 63 72  ntains the descr
8570: 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 75  iption of the cu
8580: 72 72 65 6e 74 20 4c 69 6e 6b 20 28 75 73 75 61  rrent Link (usua
8590: 6c 6c 79 20 61 20 72 6f 61 64 20 6e 61 6d 65 29  lly a road name)
85a0: 2c 20 61 6e 64 20 69 73 20 61 6c 77 61 79 73 20  , and is always 
85b0: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74  <b>NULL</b> in t
85c0: 68 65 20 68 65 61 64 65 72 20 72 6f 77 2e 3c 62  he header row.<b
85d0: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 20  r>..<u>Note</u> 
85e0: 69 74 20 63 6f 75 6c 64 20 62 65 20 61 6c 77 61  it could be alwa
85f0: 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62  ys be <b>NULL</b
8600: 3e 20 69 66 20 74 68 65 20 56 69 72 74 75 61 6c  > if the Virtual
8610: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 64 6f  Routing Table do
8620: 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 73 20  es not supports 
8630: 6e 61 6d 65 73 20 28 69 2e 65 2e 20 74 68 65 20  names (i.e. the 
8640: 3c 62 3e 72 6f 61 64 5f 6e 61 6d 65 5f 63 6f 6c  <b>road_name_col
8650: 75 6d 6e 3c 2f 62 3e 20 70 61 72 6d 20 6f 66 20  umn</b> parm of 
8660: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 20 77 61  CreateRouting wa
8670: 73 20 6e 6f 74 20 75 73 65 64 29 2e 3c 2f 6c 69  s not used).</li
8680: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
8690: 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  /ul>..<br><br>..
86a0: 54 65 73 74 69 6e 67 20 74 68 65 20 72 65 74 75  Testing the retu
86b0: 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a 75  rn connection ju
86c0: 73 74 20 72 65 71 75 69 72 65 73 20 73 77 61 70  st requires swap
86d0: 70 69 6e 67 20 74 68 65 20 4f 72 69 67 69 6e 20  ping the Origin 
86e0: 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e 61 74  and the Destinat
86f0: 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20 65 78 61  ion; in this exa
8700: 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a 75 73 74  mple you'll just
8710: 20 71 75 65 72 79 20 74 68 65 20 6e 65 65 64 65   query the neede
8720: 64 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 76 65 72  d columns:..<ver
8730: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52  batim>..SELECT R
8740: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
8750: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
8760: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
8770: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
8780: 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
8790: 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20 31 37  HERE NodeTo = 17
87a0: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46 72 6f  8731 AND NodeFro
87b0: 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76  m = 183286;..</v
87c0: 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65  erbatim>..<table
87d0: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
87e0: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
87f0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
8800: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
8810: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
8820: 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52  "#d0d0a0">RouteR
8830: 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ow</th><th bgcol
8840: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c  or="#d0d0a0">Rol
8850: 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  e</th><th bgcolo
8860: 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b  r="#d0d0a0">Link
8870: 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67  Rowid</th><th bg
8880: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8890: 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  NodeFrom</th><th
88a0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
88b0: 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74  0">NodeTo</th><t
88c0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
88d0: 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68  a0">Cost</th><th
88e0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
88f0: 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e  0">Geometry</th>
8900: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
8910: 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c  d0a0">Name</th><
8920: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
8930: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
8940: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
8950: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
8960: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8970: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
8980: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
8990: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
89a0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39  gn="right">300.9
89b0: 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c  12208</td><td>BL
89c0: 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54  OB sz=272 GEOMET
89d0: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
89e0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
89f0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
8a00: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
8a10: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
8a20: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34  n="right">224414
8a30: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8a40: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
8a50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8a60: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
8a70: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8a80: 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e  >136.372057</td>
8a90: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
8aa0: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45  >VIA MARGARITONE
8ab0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
8ac0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8ad0: 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
8ae0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8af0: 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e  ght">224446</td>
8b00: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8b10: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
8b20: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
8b30: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
8b40: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37  ign="right">69.7
8b50: 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55  27726</td><td>NU
8b60: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
8b70: 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d  ARGARITONE</td>.
8b80: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
8b90: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8ba0: 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
8bb0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8bc0: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e  ght">224014</td>
8bd0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8be0: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
8bf0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
8c00: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
8c10: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38  ign="right">94.8
8c20: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12424</td><td>NU
8c30: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
8c40: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
8c50: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  d>..</tr>..</tab
8c60: 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f  le>..<br>..As yo
8c70: 75 27 6c 6c 20 72 65 6d 65 6d 62 65 72 2c 20 74  u'll remember, t
8c80: 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e  he <b>byfoot</b>
8c90: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
8ca0: 54 61 62 6c 65 20 68 61 73 20 6e 6f 20 3c 62 3e  Table has no <b>
8cb0: 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 2c 20 61 6e  one-ways</b>, an
8cc0: 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74  d consequently t
8cd0: 68 65 20 72 65 74 75 72 6e 20 70 61 74 68 20 63  he return path c
8ce0: 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68  orresponds to th
8cf0: 65 20 66 69 72 73 74 20 6f 6e 65 2c 20 65 78 63  e first one, exc
8d00: 65 70 74 20 69 6e 20 74 68 61 74 20 61 6c 6c 20  ept in that all 
8d10: 64 69 72 65 63 74 69 6f 6e 73 20 61 72 65 20 6e  directions are n
8d20: 6f 77 20 72 65 76 65 72 73 65 64 2e 0d 0a 3c 62  ow reversed...<b
8d30: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f 77 20  r><br><br>..Now 
8d40: 79 6f 75 27 6c 6c 20 74 65 73 74 20 74 68 65 20  you'll test the 
8d50: 73 61 6d 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 73  same connections
8d60: 2c 20 62 75 74 20 74 68 69 73 20 74 69 6d 65 20  , but this time 
8d70: 79 6f 75 27 6c 6c 20 74 61 72 67 65 74 20 74 68  you'll target th
8d80: 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 56  e <b>bycar</b> V
8d90: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
8da0: 62 6c 65 20 74 68 61 74 20 66 75 6c 6c 79 20 73  ble that fully s
8db0: 75 70 70 6f 72 74 73 20 3c 62 3e 6f 6e 65 2d 77  upports <b>one-w
8dc0: 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76 65 72 62 61  ays</b>:..<verba
8dd0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 6f 75  tim>..SELECT Rou
8de0: 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e  teRow, Role, Lin
8df0: 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d  kRowid, NodeFrom
8e00: 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20  , NodeTo, Cost, 
8e10: 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a  Geometry, Name..
8e20: 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48 45 52  FROM bycar..WHER
8e30: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
8e40: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
8e50: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62   183286;..</verb
8e60: 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  atim>..<table bo
8e70: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
8e80: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
8e90: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
8ea0: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
8eb0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
8ec0: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
8ed0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
8ee0: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
8ef0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
8f00: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
8f10: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
8f20: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
8f30: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
8f40: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8f50: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
8f60: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
8f70: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  >Cost</th><th bg
8f80: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8f90: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68  Geometry</th><th
8fa0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
8fb0: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72  0">Name</th></tr
8fc0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
8fd0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
8fe0: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
8ff0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
9000: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
9010: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
9020: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
9030: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
9040: 22 72 69 67 68 74 22 3e 31 30 31 2e 38 31 35 35  "right">101.8155
9050: 35 32 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  52</td><td>BLOB 
9060: 73 7a 3d 32 30 33 32 20 47 45 4f 4d 45 54 52 59  sz=2032 GEOMETRY
9070: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
9080: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
9090: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
90a0: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">1</td><td>Lin
90b0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
90c0: 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f  "right">224014</
90d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
90e0: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
90f0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9100: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
9110: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9120: 33 2e 31 32 37 38 37 34 3c 2f 74 64 3e 3c 74 64  3.127874</td><td
9130: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9140: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
9150: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9160: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
9170: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
9180: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9190: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34  gn="right">22444
91a0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
91b0: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f  "right">182885</
91c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
91d0: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
91e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
91f0: 22 3e 39 2e 36 35 34 36 30 38 3c 2f 74 64 3e 3c  ">9.654608</td><
9200: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9210: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c  VIA MARGARITONE<
9220: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9230: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
9240: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
9250: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
9260: 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 37 31  n="right">219171
9270: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9280: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
9290: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
92a0: 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c  ht">178732</td><
92b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
92c0: 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e 3c 74  >7.809952</td><t
92d0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
92e0: 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49  IA FRANCESCO CRI
92f0: 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  SPI</td>..</tr>.
9300: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9310: 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c  ="right">4</td><
9320: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
9330: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
9340: 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9058</td><td ali
9350: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
9360: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
9370: 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f  "right">178754</
9380: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9390: 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36 3c 2f  ght">12.445626</
93a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
93b0: 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43  <td>VIA FRANCESC
93c0: 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c  O CRISPI</td>..<
93d0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
93e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c  align="right">5<
93f0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
9400: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9410: 74 22 3e 32 32 35 38 38 38 3c 2f 74 64 3e 3c 74  t">225888</td><t
9420: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9430: 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
9440: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9450: 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  461</td><td alig
9460: 6e 3d 22 72 69 67 68 74 22 3e 31 2e 35 39 39 38  n="right">1.5998
9470: 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  65</td><td>NULL<
9480: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e  /td><td>VIA FRAN
9490: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64  CESCO CRISPI</td
94a0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
94b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
94c0: 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">6</td><td>Link
94d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
94e0: 72 69 67 68 74 22 3e 32 32 35 38 38 37 3c 2f 74  right">225887</t
94f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9500: 68 74 22 3e 31 38 33 34 36 31 3c 2f 74 64 3e 3c  ht">183461</td><
9510: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9520: 3e 31 38 32 38 30 30 3c 2f 74 64 3e 3c 74 64 20  >182800</td><td 
9530: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e  align="right">3.
9540: 33 30 30 35 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e  300590</td><td>N
9550: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
9560: 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49  FRANCESCO CRISPI
9570: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9580: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
9590: 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e  ight">7</td><td>
95a0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
95b0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33 39 33  gn="right">22393
95c0: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
95d0: 22 72 69 67 68 74 22 3e 31 38 32 38 30 30 3c 2f  "right">182800</
95e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
95f0: 67 68 74 22 3e 31 38 32 37 39 39 3c 2f 74 64 3e  ght">182799</td>
9600: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9610: 22 3e 36 2e 36 38 38 37 38 36 3c 2f 74 64 3e 3c  ">6.688786</td><
9620: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9630: 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f  VIALE LUCA SIGNO
9640: 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RELLI</td>..</tr
9650: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9660: 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64  gn="right">8</td
9670: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9680: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9690: 32 32 36 30 33 38 3c 2f 74 64 3e 3c 74 64 20 61  226038</td><td a
96a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
96b0: 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  799</td><td alig
96c0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 35 36  n="right">183456
96d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
96e0: 72 69 67 68 74 22 3e 31 2e 32 39 34 30 31 37 3c  right">1.294017<
96f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9700: 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20  ><td>VIALE LUCA 
9710: 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d  SIGNORELLI</td>.
9720: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
9730: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9740: 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  9</td><td>Link</
9750: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9760: 67 68 74 22 3e 32 32 35 38 33 32 3c 2f 74 64 3e  ght">225832</td>
9770: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9780: 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c 74 64  ">183456</td><td
9790: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
97a0: 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  83444</td><td al
97b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33 38  ign="right">2.38
97c0: 35 34 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5486</td><td>NUL
97d0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20  L</td><td>VIALE 
97e0: 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c  LUCA SIGNORELLI<
97f0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9800: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
9810: 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e  ght">10</td><td>
9820: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9830: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 33  gn="right">22583
9840: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
9850: 22 72 69 67 68 74 22 3e 31 38 33 34 34 34 3c 2f  "right">183444</
9860: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9870: 67 68 74 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e  ght">183554</td>
9880: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9890: 22 3e 33 2e 31 36 30 36 36 32 3c 2f 74 64 3e 3c  ">3.160662</td><
98a0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
98b0: 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f  VIALE LUCA SIGNO
98c0: 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RELLI</td>..</tr
98d0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
98e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f 74  gn="right">11</t
98f0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
9900: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9910: 3e 32 32 35 37 36 35 3c 2f 74 64 3e 3c 74 64 20  >225765</td><td 
9920: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9930: 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3554</td><td ali
9940: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 35  gn="right">18395
9950: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
9960: 22 72 69 67 68 74 22 3e 37 2e 34 36 39 39 31 37  "right">7.469917
9970: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
9980: 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41  d><td>VIALE LUCA
9990: 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e   SIGNORELLI</td>
99a0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
99b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
99c0: 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  >12</td><td>Link
99d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
99e0: 72 69 67 68 74 22 3e 32 32 35 37 36 36 3c 2f 74  right">225766</t
99f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9a00: 68 74 22 3e 31 38 33 39 35 34 3c 2f 74 64 3e 3c  ht">183954</td><
9a10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9a20: 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74 64 20  >183905</td><td 
9a30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e  align="right">3.
9a40: 32 33 36 33 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e  236389</td><td>N
9a50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c  ULL</td><td>VIAL
9a60: 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c  E LUCA SIGNORELL
9a70: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
9a80: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
9a90: 72 69 67 68 74 22 3e 31 33 3c 2f 74 64 3e 3c 74  right">13</td><t
9aa0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9ab0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
9ac0: 39 37 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  979</td><td alig
9ad0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 30 35  n="right">183905
9ae0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9af0: 72 69 67 68 74 22 3e 31 38 33 36 32 36 3c 2f 74  right">183626</t
9b00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9b10: 68 74 22 3e 31 33 2e 39 38 33 36 32 39 3c 2f 74  ht">13.983629</t
9b20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
9b30: 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a 41 20  td>STRADA SENZA 
9b40: 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NOME</td>..</tr>
9b50: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
9b60: 6e 3d 22 72 69 67 68 74 22 3e 31 34 3c 2f 74 64  n="right">14</td
9b70: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9b80: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9b90: 32 32 34 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61  224905</td><td a
9ba0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9bb0: 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  626</td><td alig
9bc0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 32 38  n="right">183128
9bd0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9be0: 72 69 67 68 74 22 3e 35 2e 36 32 37 33 35 38 3c  right">5.627358<
9bf0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9c00: 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a  ><td>STRADA SENZ
9c10: 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  A NOME</td>..</t
9c20: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
9c30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 3c 2f  ign="right">15</
9c40: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
9c50: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9c60: 22 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64  ">224897</td><td
9c70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9c80: 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  83128</td><td al
9c90: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
9ca0: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
9cb0: 3d 22 72 69 67 68 74 22 3e 31 30 2e 30 33 30 37  ="right">10.0307
9cc0: 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  92</td><td>NULL<
9cd0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
9ce0: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
9cf0: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
9d00: 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43  verbatim>..SELEC
9d10: 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65  T RouteRow, Role
9d20: 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64  , LinkRowid, Nod
9d30: 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43  eFrom, NodeTo, C
9d40: 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e  ost, Geometry, N
9d50: 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d  ame..FROM bycar.
9d60: 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20  .WHERE NodeTo = 
9d70: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46  178731 AND NodeF
9d80: 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c  rom = 183286;..<
9d90: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62  /verbatim>..<tab
9da0: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67  le border="1" bg
9db0: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20  color="#ffffcf" 
9dc0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20  cellspacing="4" 
9dd0: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
9de0: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f  ..<tr><th bgcolo
9df0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
9e00: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
9e10: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
9e20: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
9e30: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
9e40: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
9e50: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
9e60: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
9e70: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
9e80: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
9e90: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
9ea0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
9eb0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
9ec0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
9ed0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
9ee0: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
9ef0: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ></tr>..<tr>..<t
9f00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9f10: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
9f20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9f30: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9f40: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
9f50: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9f60: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
9f70: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33  lign="right">103
9f80: 2e 33 30 35 32 35 39 3c 2f 74 64 3e 3c 74 64 3e  .305259</td><td>
9f90: 42 4c 4f 42 20 73 7a 3d 39 34 34 20 47 45 4f 4d  BLOB sz=944 GEOM
9fa0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
9fb0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
9fc0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
9fd0: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
9fe0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
9ff0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
a000: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
a010: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
a020: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a030: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
a040: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a050: 74 22 3e 31 38 2e 38 38 32 32 38 35 3c 2f 74 64  t">18.882285</td
a060: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
a070: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
a080: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
a090: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
a0a0: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
a0b0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
a0c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31  ign="right">2191
a0d0: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  71</td><td align
a0e0: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
a0f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a100: 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64  ight">178732</td
a110: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a120: 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e  t">7.809952</td>
a130: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
a140: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43  >VIA FRANCESCO C
a150: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RISPI</td>..</tr
a160: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
a170: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
a180: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
a190: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a1a0: 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61  219058</td><td a
a1b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
a1c0: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  732</td><td alig
a1d0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
a1e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a1f0: 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36  right">12.445626
a200: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
a210: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45  d><td>VIA FRANCE
a220: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d  SCO CRISPI</td>.
a230: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
a240: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a250: 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  4</td><td>Link</
a260: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a270: 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e  ght">224538</td>
a280: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a290: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
a2a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a2b0: 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  81972</td><td al
a2c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 30 34  ign="right">7.04
a2d0: 37 37 38 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  7784</td><td>NUL
a2e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e  L</td><td>VIA AN
a2f0: 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49  TONIO GUADAGNOLI
a300: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
a310: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
a320: 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e  ight">5</td><td>
a330: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
a340: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 35 37  gn="right">22257
a350: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
a360: 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f  "right">181972</
a370: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a380: 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74 64 3e  ght">181971</td>
a390: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a3a0: 22 3e 31 2e 38 35 32 32 38 33 3c 2f 74 64 3e 3c  ">1.852283</td><
a3b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
a3c0: 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44  VIA ANTONIO GUAD
a3d0: 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  AGNOLI</td>..</t
a3e0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
a3f0: 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e  ight">6</td><td>
a400: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
a410: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 39 36  gn="right">22496
a420: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
a430: 22 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f  "right">181971</
a440: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a450: 67 68 74 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e  ght">182891</td>
a460: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a470: 22 3e 31 34 2e 32 37 33 31 38 35 3c 2f 74 64 3e  ">14.273185</td>
a480: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
a490: 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41  >VIA ANTONIO GUA
a4a0: 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f  DAGNOLI</td>..</
a4b0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a4c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f  lign="right">7</
a4d0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
a4e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a4f0: 22 3e 32 32 34 31 36 38 3c 2f 74 64 3e 3c 74 64  ">224168</td><td
a500: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a510: 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  82891</td><td al
a520: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30  ign="right">1830
a530: 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  57</td><td align
a540: 3d 22 72 69 67 68 74 22 3e 36 2e 36 34 33 33 30  ="right">6.64330
a550: 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
a560: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c  td><td>VIA MACAL
a570: 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LE'</td>..</tr>.
a580: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a590: 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c  ="right">8</td><
a5a0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a5b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a5c0: 34 31 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4167</td><td ali
a5d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35  gn="right">18305
a5e0: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
a5f0: 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c 2f  "right">183056</
a600: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a610: 67 68 74 22 3e 33 2e 31 35 31 32 37 32 3c 2f 74  ght">3.151272</t
a620: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a630: 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45 27 3c  td>VIA MACALLE'<
a640: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
a650: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
a660: 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">9</td><td>L
a670: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
a680: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31 37 34  n="right">224174
a690: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a6a0: 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c 2f 74  right">183056</t
a6b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a6c0: 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c  ht">182941</td><
a6d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a6e0: 3e 37 2e 39 36 36 38 37 30 3c 2f 74 64 3e 3c 74  >7.966870</td><t
a6f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
a700: 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f  IA RODI</td>..</
a710: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a720: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c  lign="right">10<
a730: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
a740: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a750: 74 22 3e 32 32 34 30 35 39 3c 2f 74 64 3e 3c 74  t">224059</td><t
a760: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a770: 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64 20 61  182941</td><td a
a780: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
a790: 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  001</td><td alig
a7a0: 6e 3d 22 72 69 67 68 74 22 3e 36 2e 33 39 33 37  n="right">6.3937
a7b0: 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  47</td><td>NULL<
a7c0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f 44 49  /td><td>VIA RODI
a7d0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
a7e0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
a7f0: 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64  ight">11</td><td
a800: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
a810: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36  ign="right">2226
a820: 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  37</td><td align
a830: 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 31 3c  ="right">182001<
a840: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a850: 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64  ight">182000</td
a860: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a870: 74 22 3e 32 2e 34 37 35 35 33 38 3c 2f 74 64 3e  t">2.475538</td>
a880: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
a890: 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54  >VIA PIETRO ARET
a8a0: 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  INO</td>..</tr>.
a8b0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a8c0: 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 64 3e  ="right">12</td>
a8d0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
a8e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
a8f0: 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  22636</td><td al
a900: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
a910: 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
a920: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
a930: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a940: 69 67 68 74 22 3e 31 34 2e 33 36 33 34 30 38 3c  ight">14.363408<
a950: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a960: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20  ><td>VIA PIETRO 
a970: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ARETINO</td>..</
a980: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
a990: 62 72 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20  br>..As you can 
a9a0: 73 65 65 2c 20 74 68 65 20 6f 70 74 69 6d 61 6c  see, the optimal
a9b0: 20 70 61 74 68 73 20 72 65 74 75 72 6e 65 64 20   paths returned 
a9c0: 62 79 20 74 68 65 20 3c 62 3e 62 79 63 61 72 3c  by the <b>bycar<
a9d0: 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69  /b> VirtualRouti
a9e0: 6e 67 20 54 61 62 6c 65 20 69 6e 20 74 68 65 20  ng Table in the 
a9f0: 6f 70 70 6f 73 69 74 65 20 64 69 72 65 63 74 69  opposite directi
aa00: 6f 6e 73 20 73 74 72 6f 6e 67 6c 79 20 64 69 66  ons strongly dif
aa10: 66 65 72 2c 20 61 6e 64 20 62 6f 74 68 20 61 72  fer, and both ar
aa20: 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69 66  e completely dif
aa30: 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65 20  ferent from the 
aa40: 70 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 79  path returned by
aa50: 20 71 75 65 72 79 69 6e 67 20 3c 62 3e 62 79 66   querying <b>byf
aa60: 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 20  oot</b>.<br>..A 
aa70: 71 75 69 63 6b 20 67 6c 61 6e 63 65 20 61 74 20  quick glance at 
aa80: 74 68 65 20 62 65 6c 6f 77 20 6d 61 70 20 77 69  the below map wi
aa90: 6c 6c 20 68 65 6c 70 20 74 6f 20 75 6e 64 65 72  ll help to under
aaa0: 73 74 61 6e 64 20 62 65 74 74 65 72 20 77 68 61  stand better wha
aab0: 74 27 73 20 72 65 61 6c 6c 79 20 68 61 70 70 65  t's really happe
aac0: 6e 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 69 73 20  ning.<br>..This 
aad0: 69 73 20 61 20 63 65 6e 74 72 61 6c 20 61 72 65  is a central are
aae0: 61 20 6f 66 20 74 68 65 20 74 6f 77 6e 20 6f 66  a of the town of
aaf0: 20 41 72 65 7a 7a 6f 20 61 72 6f 75 6e 64 20 74   Arezzo around t
ab00: 68 65 20 61 72 63 68 61 65 6f 6c 6f 67 69 63 61  he archaeologica
ab10: 6c 20 72 75 69 6e 73 20 6f 66 20 74 68 65 20 52  l ruins of the R
ab20: 6f 6d 61 6e 20 41 6d 70 68 69 74 68 65 61 74 65  oman Amphitheate
ab30: 72 3b 20 74 72 61 76 65 6c 69 6e 67 20 62 79 20  r; traveling by 
ab40: 63 61 72 20 73 68 6f 75 6c 64 20 62 65 20 61 76  car should be av
ab50: 6f 69 64 65 64 2c 20 64 75 65 20 74 6f 20 74 68  oided, due to th
ab60: 65 20 6d 61 6e 79 20 6f 6e 65 2d 77 61 79 20 72  e many one-way r
ab70: 65 73 74 72 69 63 74 69 6f 6e 73 2e 20 4e 6f 74  estrictions. Not
ab80: 20 73 75 72 70 72 69 73 69 6e 67 6c 79 2c 20 67   surprisingly, g
ab90: 6f 69 6e 67 20 62 79 20 66 6f 6f 74 20 69 73 20  oing by foot is 
aba0: 74 68 65 20 66 61 73 74 65 72 20 6f 70 74 69 6f  the faster optio
abb0: 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69  n...<br><br>..<i
abc0: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  mg src="https://
abd0: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
abe0: 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e  gaia-sins/routin
abf0: 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e 67 31 2e  g-figs/routing1.
ac00: 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 31 22 3e  jpg" alt="fig1">
ac10: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79 65 6c 6c  ..<ul>..<li>yell
ac20: 6f 77 20 70 61 74 68 3a 20 70 65 64 65 73 74 72  ow path: pedestr
ac30: 69 61 6e 73 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 67  ians</li>..<li>g
ac40: 72 65 65 6e 20 70 61 74 68 3a 20 63 61 72 2c 20  reen path: car, 
ac50: 66 6f 72 77 61 72 64 20 64 69 72 65 63 74 69 6f  forward directio
ac60: 6e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 72 65 64 20  n</li>..<li>red 
ac70: 70 61 74 68 3a 20 63 61 72 2c 20 72 65 74 75 72  path: car, retur
ac80: 6e 20 64 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e  n direction</li>
ac90: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c  ..</ul>..<br>..<
aca0: 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
acb0: 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63  c0ffc0" cellspac
acc0: 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
acd0: 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
ace0: 3e 0d 0a 3c 68 33 3e 4c 69 6e 65 73 74 72 69 6e  >..<h3>Linestrin
acf0: 67 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 56  gs returned by V
ad00: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 68  irtualRouting</h
ad10: 33 3e 0d 0a 41 6c 6c 20 4c 49 4e 45 53 54 52 49  3>..All LINESTRI
ad20: 4e 47 20 47 65 6f 6d 65 74 72 69 65 73 20 63 72  NG Geometries cr
ad30: 65 61 74 65 64 20 62 79 20 61 6e 79 20 56 69 72  eated by any Vir
ad40: 74 75 61 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c  tualRouting will
ad50: 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 20   always contain 
ad60: 3c 62 3e 4d 20 76 61 6c 75 65 73 3c 2f 62 3e 3a  <b>M values</b>:
ad70: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20 74  ..<ul>..<li>if t
ad80: 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e  he underlaying N
ad90: 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72  etwork's Geometr
ada0: 69 65 73 20 61 72 65 20 3c 62 3e 58 59 3c 2f 62  ies are <b>XY</b
adb0: 3e 20 74 68 65 6e 20 3c 62 3e 58 59 4d 3c 2f 62  > then <b>XYM</b
adc0: 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 77 69  > Linestrings wi
add0: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c  ll be returned.<
ade0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65  /li>..<li>if the
adf0: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74   underlaying Net
ae00: 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 69 65  work's Geometrie
ae10: 73 20 61 72 65 20 3c 62 3e 58 59 5a 3c 2f 62 3e  s are <b>XYZ</b>
ae20: 20 74 68 65 6e 20 3c 62 3e 58 59 5a 4d 3c 2f 62   then <b>XYZM</b
ae30: 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 77 69  > Linestrings wi
ae40: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c  ll be returned.<
ae50: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65  /li>..<li>if the
ae60: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74   underlaying Net
ae70: 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 69 65  work's Geometrie
ae80: 73 20 61 72 65 20 3c 62 3e 58 59 4d 3c 2f 62 3e  s are <b>XYM</b>
ae90: 20 6f 72 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20   or <b>XYZM</b> 
aea0: 74 68 65 6e 20 20 4c 69 6e 65 73 74 72 69 6e 67  then  Linestring
aeb0: 73 20 72 65 74 75 72 6e 65 64 20 69 6e 74 6f 20  s returned into 
aec0: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69  the resultset wi
aed0: 6c 6c 20 6d 61 69 6e 74 61 69 6e 20 74 68 65 20  ll maintain the 
aee0: 73 61 6d 65 20 64 69 6d 65 6e 73 69 6f 6e 73 20  same dimensions 
aef0: 61 73 20 69 6e 20 74 68 65 20 75 6e 64 65 72 6c  as in the underl
af00: 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f  aying Network.</
af10: 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 79 20  li>..<li>in any 
af20: 63 61 73 65 20 74 68 65 20 3c 62 3e 4d 3c 2f 62  case the <b>M</b
af30: 3e 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 62 65  > values will be
af40: 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 73   appropriately s
af50: 65 74 20 73 6f 20 74 6f 20 72 65 70 72 65 73 65  et so to represe
af60: 6e 74 20 74 68 65 20 3c 75 3e 70 61 72 74 69 61  nt the <u>partia
af70: 6c 20 63 6f 73 74 3c 2f 75 3e 20 63 6f 72 72 65  l cost</u> corre
af80: 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65 61 63 68  sponding to each
af90: 20 76 65 72 74 65 78 2e 0d 0a 28 69 66 20 74 68   vertex...(if th
afa0: 65 20 69 6e 70 75 74 20 4c 69 6e 65 73 74 72 69  e input Linestri
afb0: 6e 67 73 20 61 6c 72 65 61 64 79 20 63 6f 6e 74  ngs already cont
afc0: 61 69 6e 73 20 4d 2d 76 61 6c 75 65 73 20 74 68  ains M-values th
afd0: 65 79 27 6c 6c 20 62 65 20 6f 76 65 72 77 72 69  ey'll be overwri
afe0: 74 74 65 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  tten).</li>..</u
aff0: 6c 3e 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68  l>..<br>..In oth
b000: 65 72 20 77 6f 72 64 73 2c 20 61 6c 6c 20 4c 69  er words, all Li
b010: 6e 65 73 74 72 69 6e 67 73 20 72 65 74 75 72 6e  nestrings return
b020: 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75  ed by VirtualRou
b030: 74 69 6e 67 20 63 61 6e 20 65 66 66 65 63 74 69  ting can effecti
b040: 76 65 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e  vely support <b>
b050: 4c 52 3c 2f 62 3e 20 28 3c 69 3e 4c 69 6e 65 61  LR</b> (<i>Linea
b060: 72 20 52 65 66 65 72 65 6e 63 69 6e 67 3c 2f 69  r Referencing</i
b070: 3e 29 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73  >) SQL functions
b080: 2c 20 61 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c  , as in the foll
b090: 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 73 3a 0d  owing examples:.
b0a0: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
b0b0: 45 43 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42 65  ECT ST_Locate_Be
b0c0: 74 77 65 65 6e 5f 4d 65 61 73 75 72 65 73 28 3c  tween_Measures(<
b0d0: 67 65 6f 6d 65 74 72 79 3e 2c 20 33 30 2e 30 2c  geometry>, 30.0,
b0e0: 20 34 35 2e 30 29 3b 0d 0a 0d 0a 53 45 4c 45 43   45.0);....SELEC
b0f0: 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77  T ST_Locate_Betw
b100: 65 65 6e 5f 4d 65 61 73 75 72 65 73 28 3c 67 65  een_Measures(<ge
b110: 6f 6d 65 74 72 79 3e 2c 20 38 30 2e 30 2c 20 39  ometry>, 80.0, 9
b120: 35 2e 30 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69  5.0);..</verbati
b130: 6d 3e 0d 0a 54 68 65 20 73 69 64 65 20 6d 61 70  m>..The side map
b140: 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f   graphically sho
b150: 77 73 20 74 68 65 20 65 73 74 69 6d 61 74 65 64  ws the estimated
b160: 20 70 6f 73 69 74 69 6f 6e 73 20 72 65 73 70 65   positions respe
b170: 63 74 69 76 65 6c 79 20 3c 62 3e 33 30 3c 2f 62  ctively <b>30</b
b180: 3e 2d 3c 62 3e 34 35 3c 2f 62 3e 20 73 65 63 6f  >-<b>45</b> seco
b190: 6e 64 73 20 61 66 74 65 72 20 73 74 61 72 74 69  nds after starti
b1a0: 6e 67 20 28 79 65 6c 6c 6f 77 20 64 6f 74 74 65  ng (yellow dotte
b1b0: 64 20 6c 69 6e 65 29 20 61 6e 64 20 3c 62 3e 38  d line) and <b>8
b1c0: 30 3c 2f 62 3e 2d 3c 62 3e 39 35 3c 2f 62 3e 20  0</b>-<b>95</b> 
b1d0: 73 65 63 6f 6e 64 73 20 61 66 74 65 72 20 73 74  seconds after st
b1e0: 61 72 74 69 6e 67 20 28 67 72 65 65 6e 20 64 6f  arting (green do
b1f0: 74 74 65 64 20 6c 69 6e 65 29 2e 3c 62 72 3e 0d  tted line).<br>.
b200: 0a 28 61 73 73 75 6d 69 6e 67 20 74 68 65 20 73  .(assuming the s
b210: 61 6d 65 20 70 61 74 68 20 72 65 74 75 72 6e 65  ame path returne
b220: 64 20 62 79 20 74 68 65 20 6c 61 74 65 73 74 20  d by the latest 
b230: 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 71 75 65  <b>bycar</b> que
b240: 72 79 29 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64  ry)...</td>..<td
b250: 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73  ><img src="https
b260: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
b270: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75  it/gaia-sins/rou
b280: 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e  ting-figs/routin
b290: 67 32 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67  g2.jpg" alt="fig
b2a0: 32 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  2"></td>..</tr>.
b2b0: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  .</table>..<br>.
b2c0: 0a 3c 68 32 3e 50 6c 61 79 69 6e 67 20 77 69 74  .<h2>Playing wit
b2d0: 68 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  h VirtualRouting
b2e0: 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 20 6f 70   configurable op
b2f0: 74 69 6f 6e 73 3c 2f 68 32 3e 0d 0a 53 65 76 65  tions</h2>..Seve
b300: 72 61 6c 20 61 73 70 65 63 74 73 20 6f 66 20 56  ral aspects of V
b310: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 61  irtualRouting ca
b320: 6e 20 62 65 20 66 72 65 65 6c 79 20 63 75 73 74  n be freely cust
b330: 6f 6d 69 7a 65 64 2e 0d 0a 3c 76 65 72 62 61 74  omized...<verbat
b340: 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f  im>..UPDATE byfo
b350: 6f 74 20 53 45 54 20 41 6c 67 6f 72 69 74 68 6d  ot SET Algorithm
b360: 20 3d 20 27 41 2a 27 3b 0d 0a 0d 0a 53 45 4c 45   = 'A*';....SELE
b370: 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70  CT Algorithm, Op
b380: 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c  tions, RouteRow,
b390: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64   Role, LinkRowid
b3a0: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65  , NodeFrom, Node
b3b0: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  To, Cost, Geomet
b3c0: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
b3d0: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
b3e0: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41  eFrom = 178731 A
b3f0: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32  ND NodeTo = 1832
b400: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  86;..</verbatim>
b410: 0d 0a 41 73 20 79 6f 75 27 6c 6c 20 72 65 6d 65  ..As you'll reme
b420: 6d 62 65 72 20 69 6e 20 61 6c 6c 20 74 68 65 20  mber in all the 
b430: 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65  previous example
b440: 73 20 74 68 65 20 3c 62 3e 44 69 6a 6b 73 74 72  s the <b>Dijkstr
b450: 61 27 73 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68  a's</b> algorith
b460: 6d 20 77 61 73 20 75 73 65 64 3b 20 6e 6f 77 20  m was used; now 
b470: 28 61 66 74 65 72 20 65 78 65 63 75 74 69 6e 67  (after executing
b480: 20 74 68 65 20 61 62 6f 76 65 20 3c 62 3e 55 50   the above <b>UP
b490: 44 41 54 45 3c 2f 62 3e 29 20 61 6c 6c 20 53 68  DATE</b>) all Sh
b4a0: 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72  ortest Path quer
b4b0: 69 65 73 20 77 69 6c 6c 20 62 65 20 62 61 73 65  ies will be base
b4c0: 64 20 6f 6e 20 74 68 65 20 61 6c 74 65 72 6e 61  d on the alterna
b4d0: 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61  tive <b>A*</b> a
b4e0: 6c 67 6f 72 69 74 68 6d 2e 3c 62 72 3e 0d 0a 49  lgorithm.<br>..I
b4f0: 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 73 77  f you wish to sw
b500: 69 74 63 68 20 62 61 63 6b 20 74 6f 20 74 68 65  itch back to the
b510: 20 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f   Dijkstra's algo
b520: 72 69 74 68 6d 20 79 6f 75 20 6a 75 73 74 20 68  rithm you just h
b530: 61 76 65 20 74 6f 20 65 78 65 63 75 74 65 3c 62  ave to execute<b
b540: 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 62 79 66  r> <b>UPDATE byf
b550: 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72 69 74 68  oot SET Algorith
b560: 6d 20 3d 20 27 44 49 4a 4b 53 54 52 41 27 3b 3c  m = 'DIJKSTRA';<
b570: 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68  /b>.<br><br>..Th
b580: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c  e following tabl
b590: 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75  e shows the resu
b5a0: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62  ltset returned b
b5b0: 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 53  y the previous S
b5c0: 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65  hortest Path que
b5d0: 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69 63  ry; please notic
b5e0: 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 74  e the value in t
b5f0: 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c  he <b>Algorithm<
b600: 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72  /b> column...<br
b610: 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  ><br>..<table bo
b620: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
b630: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
b640: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
b650: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
b660: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
b670: 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d  0d0a0">Algorithm
b680: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
b690: 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f  ="#d0d0a0">Optio
b6a0: 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ns</th><th bgcol
b6b0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75  or="#d0d0a0">Rou
b6c0: 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67  teRow</th><th bg
b6d0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
b6e0: 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Role</th><th bgc
b6f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c  olor="#d0d0a0">L
b700: 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68  inkRowid</th><th
b710: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
b720: 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e  0">NodeFrom</th>
b730: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
b740: 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68  d0a0">NodeTo</th
b750: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
b760: 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e  0d0a0">Cost</th>
b770: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
b780: 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f  d0a0">Geometry</
b790: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
b7a0: 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74  #d0d0a0">Name</t
b7b0: 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64  h></tr>..<tr><td
b7c0: 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c  >A*</td><td>Full
b7d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b7e0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
b7f0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
b800: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
b810: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
b820: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b830: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
b840: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
b850: 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f  ht">300.912208</
b860: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32  td><td>BLOB sz=2
b870: 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  72 GEOMETRY</td>
b880: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
b890: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
b8a0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
b8b0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
b8c0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
b8d0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
b8e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
b8f0: 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  014</td><td alig
b900: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
b910: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b920: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
b930: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
b940: 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74  ht">94.812424</t
b950: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
b960: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52  td>VIA PIETRO AR
b970: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
b980: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
b990: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
b9a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b9b0: 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">2</td><td>L
b9c0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
b9d0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36  n="right">224446
b9e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
b9f0: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
ba00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
ba10: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
ba20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
ba30: 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c  >69.727726</td><
ba40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
ba50: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c  VIA MARGARITONE<
ba60: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
ba70: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
ba80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ba90: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
baa0: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
bab0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
bac0: 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e 3c  ht">224414</td><
bad0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
bae0: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
baf0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
bb00: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
bb10: 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e 33  gn="right">136.3
bb20: 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  72057</td><td>NU
bb30: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
bb40: 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d  ARGARITONE</td>.
bb50: 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
bb60: 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a  ..<br><br><br>..
bb70: 6f 75 20 63 61 6e 20 61 6c 73 6f 20 63 6f 6e 66  ou can also conf
bb80: 69 67 75 72 65 20 74 68 65 20 72 65 73 75 6c 74  igure the result
bb90: 73 65 74 20 72 65 74 75 72 6e 65 64 20 74 68 65  set returned the
bba0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
bbb0: 71 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 62 61  queries...<verba
bbc0: 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66  tim>..UPDATE byf
bbd0: 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20  oot SET Options 
bbe0: 3d 20 27 4e 4f 20 4c 49 4e 4b 53 27 3b 0d 0a 0d  = 'NO LINKS';...
bbf0: 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68  .SELECT Algorith
bc00: 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74  m, Options, Rout
bc10: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
bc20: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
bc30: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
bc40: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
bc50: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
bc60: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
bc70: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
bc80: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62   183286;..</verb
bc90: 61 74 69 6d 3e 0d 0a 41 66 74 65 72 20 73 65 74  atim>..After set
bca0: 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d  ting <b>Options=
bcb0: 27 4e 4f 20 4c 49 4e 4b 53 27 3c 2f 62 3e 20 74  'NO LINKS'</b> t
bcc0: 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c  he resultset wil
bcd0: 6c 20 73 69 6d 70 6c 79 20 63 6f 6e 74 61 69 6e  l simply contain
bce0: 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 2c   the header row,
bcf0: 20 61 6e 64 20 61 6c 6c 20 6f 66 20 74 68 65 20   and all of the 
bd00: 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20 77  following rows w
bd10: 69 6c 6c 20 62 65 20 73 75 70 70 72 65 73 73 65  ill be suppresse
bd20: 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  d.<br>..<u>Note<
bd30: 2f 75 3e 3a 20 70 72 6f 64 75 63 69 6e 67 20 61  /u>: producing a
bd40: 20 72 65 64 75 63 65 64 20 72 65 73 75 6c 74 73   reduced results
bd50: 65 74 20 69 73 20 65 78 70 65 63 74 65 64 20 74  et is expected t
bd60: 6f 20 62 65 20 73 6f 6d 65 77 61 79 20 66 61 73  o be someway fas
bd70: 74 65 72 2e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f  ter.<br>..The fo
bd80: 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68  llowing table sh
bd90: 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65  ows the resultse
bda0: 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  t returned by th
bdb0: 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74  e previous Short
bdc0: 65 73 74 20 50 61 74 68 20 71 75 65 72 79 2e 3c  est Path query.<
bdd0: 62 72 3e 0d 0a 4e 6f 74 69 63 65 20 74 68 61 74  br>..Notice that
bde0: 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62   value in the <b
bdf0: 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c  >Options</b> col
be00: 75 6d 6e 20 73 68 6f 77 73 20 79 6f 75 20 77 68  umn shows you wh
be10: 69 63 68 20 74 79 70 65 20 6f 66 20 72 65 73 75  ich type of resu
be20: 6c 74 73 65 74 20 79 6f 75 20 61 72 65 20 75 73  ltset you are us
be30: 69 6e 67 20 28 6a 75 73 74 20 61 73 20 74 68 65  ing (just as the
be40: 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62   <b>Algorithm</b
be50: 3e 20 63 6f 6c 75 6d 6e 20 73 68 6f 77 73 20 77  > column shows w
be60: 68 69 63 68 20 61 6c 67 6f 72 69 74 68 6d 20 69  hich algorithm i
be70: 73 20 61 63 74 69 76 65 29 2e 0d 0a 3c 62 72 3e  s active)...<br>
be80: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72  <br>..<table bor
be90: 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d  der="1" bgcolor=
bea0: 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70  "#ffffcf" cellsp
beb0: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61  acing="4" cellpa
bec0: 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e  dding="6">..<tr>
bed0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
bee0: 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c  d0a0">Algorithm<
bef0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
bf00: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
bf10: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
bf20: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
bf30: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
bf40: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
bf50: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
bf60: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
bf70: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
bf80: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
bf90: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
bfa0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
bfb0: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
bfc0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
bfd0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
bfe0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
bff0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
c000: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
c010: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
c020: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ></tr>..<tr>..<t
c030: 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20  d>A*</td><td>No 
c040: 4c 69 6e 6b 73 3c 2f 74 64 3e 3c 74 64 20 61 6c  Links</td><td al
c050: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
c060: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
c070: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
c080: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c090: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
c0a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
c0b0: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
c0c0: 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32  ="right">300.912
c0d0: 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  208</td><td>BLOB
c0e0: 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59   sz=272 GEOMETRY
c0f0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
c100: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  d>..</tr>..</tab
c110: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72  le>..<br><br><br
c120: 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55  >..<verbatim>..U
c130: 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54  PDATE byfoot SET
c140: 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47   Options = 'NO G
c150: 45 4f 4d 45 54 52 49 45 53 27 3b 0d 0a 0d 0a 53  EOMETRIES';....S
c160: 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c  ELECT Algorithm,
c170: 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52   Options, RouteR
c180: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
c190: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
c1a0: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
c1b0: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
c1c0: 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
c1d0: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
c1e0: 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31  1 AND NodeTo = 1
c1f0: 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74  83286;..</verbat
c200: 69 6d 3e 41 66 74 65 72 20 73 65 74 74 69 6e 67  im>After setting
c210: 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f 20   <b>Options='NO 
c220: 47 45 4f 4d 45 54 52 49 45 53 27 3c 2f 62 3e 20  GEOMETRIES'</b> 
c230: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69  the resultset wi
c240: 6c 6c 20 63 6f 6e 74 61 69 6e 20 61 6c 6c 20 72  ll contain all r
c250: 6f 77 73 2c 20 62 75 74 20 61 6c 6c 20 47 65 6f  ows, but all Geo
c260: 6d 65 74 72 69 65 73 20 77 69 6c 6c 20 62 65 20  metries will be 
c270: 73 75 70 70 72 65 73 73 65 64 2e 3c 62 72 3e 0d  suppressed.<br>.
c280: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68  .<u>Note</u>: th
c290: 69 73 20 74 6f 6f 20 69 73 20 65 78 70 65 63 74  is too is expect
c2a0: 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77 68 61  ed to be somewha
c2b0: 74 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54  t faster.<br>..T
c2c0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62  he following tab
c2d0: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73  le shows the res
c2e0: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
c2f0: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20  by the previous 
c300: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
c310: 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69  ery; please noti
c320: 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20  ce the value in 
c330: 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f  the <b>Options</
c340: 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e  b> column...<br>
c350: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72  <br>..<table bor
c360: 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d  der="1" bgcolor=
c370: 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70  "#ffffcf" cellsp
c380: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61  acing="4" cellpa
c390: 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e  dding="6">..<tr>
c3a0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c3b0: 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c  d0a0">Algorithm<
c3c0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
c3d0: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
c3e0: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
c3f0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
c400: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
c410: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
c420: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
c430: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
c440: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
c450: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c460: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
c470: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
c480: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
c490: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c4a0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
c4b0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
c4c0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
c4d0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
c4e0: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
c4f0: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e  ></tr>..<tr><td>
c500: 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 47 65  A*</td><td>No Ge
c510: 6f 6d 65 74 72 69 65 73 3c 2f 74 64 3e 3c 74 64  ometries</td><td
c520: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
c530: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
c540: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
c550: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c560: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
c570: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c580: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
c590: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e  ign="right">300.
c5a0: 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e  912208</td><td>N
c5b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
c5c0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
c5d0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
c5e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
c5f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c600: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
c610: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c620: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e  ght">224014</td>
c630: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c640: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
c650: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c660: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
c670: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38  ign="right">94.8
c680: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12424</td><td>NU
c690: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
c6a0: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
c6b0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
c6c0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
c6d0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
c6e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
c6f0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
c700: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c710: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64  ">224446</td><td
c720: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c730: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
c740: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
c750: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
c760: 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37  ="right">69.7277
c770: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  26</td><td>NULL<
c780: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
c790: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
c7a0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
c7b0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
c7c0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
c7d0: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
c7e0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
c7f0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
c800: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
c810: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
c820: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c830: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
c840: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c850: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74  t">136.372057</t
c860: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
c870: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
c880: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
c890: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62  </table>..<br><b
c8a0: 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69  r><br>..<verbati
c8b0: 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f  m>..UPDATE byfoo
c8c0: 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20  t SET Options = 
c8d0: 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c  'SIMPLE';....SEL
c8e0: 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f  ECT Algorithm, O
c8f0: 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77  ptions, RouteRow
c900: 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69  , Role, LinkRowi
c910: 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64  d, NodeFrom, Nod
c920: 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65  eTo, Cost, Geome
c930: 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20  try, Name..FROM 
c940: 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f  byfoot..WHERE No
c950: 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20  deFrom = 178731 
c960: 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33  AND NodeTo = 183
c970: 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  286;..</verbatim
c980: 3e 53 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69  >Setting <b>Opti
c990: 6f 6e 73 3d 27 53 49 4d 50 4c 45 27 3c 2f 62 3e  ons='SIMPLE'</b>
c9a0: 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 65 66   has the same ef
c9b0: 66 65 63 74 20 74 68 61 6e 20 73 65 74 74 69 6e  fect than settin
c9c0: 67 20 62 6f 74 68 20 3c 62 3e 4e 4f 20 4c 49 4e  g both <b>NO LIN
c9d0: 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f  KS</b> and <b>NO
c9e0: 20 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20   GEOMETRIES</b> 
c9f0: 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65  at the same time
ca00: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
ca10: 75 3e 3a 20 74 68 69 73 20 69 73 20 65 78 70 65  u>: this is expe
ca20: 63 74 65 64 20 74 6f 20 62 65 20 74 68 65 20 66  cted to be the f
ca30: 61 73 74 65 73 74 20 73 65 74 74 69 6e 67 2e 3c  astest setting.<
ca40: 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69  br>..The followi
ca50: 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74  ng table shows t
ca60: 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74  he resultset ret
ca70: 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65  urned by the pre
ca80: 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50  vious Shortest P
ca90: 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73  ath query; pleas
caa0: 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c  e notice the val
cab0: 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74  ue in the <b>Opt
cac0: 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e  ions</b> column.
cad0: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62  ..<br><br>..<tab
cae0: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67  le border="1" bg
caf0: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20  color="#ffffcf" 
cb00: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20  cellspacing="4" 
cb10: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
cb20: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f  ..<tr><th bgcolo
cb30: 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f  r="#d0d0a0">Algo
cb40: 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  rithm</th><th bg
cb50: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
cb60: 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20  Options</th><th 
cb70: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
cb80: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
cb90: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
cba0: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
cbb0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
cbc0: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
cbd0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
cbe0: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
cbf0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
cc00: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
cc10: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
cc20: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
cc30: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
cc40: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
cc50: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
cc60: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
cc70: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
cc80: 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c  r>..<td>A*</td><
cc90: 74 64 3e 53 69 6d 70 6c 65 3c 2f 74 64 3e 3c 74  td>Simple</td><t
cca0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
ccb0: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
ccc0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ccd0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
cce0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
ccf0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
cd00: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
cd10: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30  lign="right">300
cd20: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e  .912208</td><td>
cd30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
cd40: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
cd50: 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 46  /table>..<br>..F
cd60: 69 6e 61 6c 6c 79 2c 20 69 66 20 79 6f 75 20 77  inally, if you w
cd70: 69 73 68 20 74 6f 20 72 65 76 65 72 74 20 62 61  ish to revert ba
cd80: 63 6b 20 74 6f 20 74 68 65 20 69 6e 69 74 69 61  ck to the initia
cd90: 6c 20 73 65 74 74 69 6e 67 2c 20 79 6f 75 20 64  l setting, you d
cda0: 6f 20 74 68 69 73 20 77 69 74 68 20 74 68 65 20  o this with the 
cdb0: 66 6f 6c 6c 6f 77 69 6e 67 20 71 75 65 72 79 3c  following query<
cdc0: 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 62 79  br> <b>UPDATE by
cdd0: 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73  foot SET Options
cde0: 20 3d 20 27 46 55 4c 4c 27 3b 3c 2f 62 3e 2e 3c   = 'FULL';</b>.<
cdf0: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72  br><br>..<hr><br
ce00: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22  >..<h1><a name="
ce10: 6d 75 6c 74 69 22 3e 35 20 2d 20 53 6f 6c 76 69  multi">5 - Solvi
ce20: 6e 67 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61  ng multi-destina
ce30: 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61  tion Shortest Pa
ce40: 74 68 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c  th problems</a><
ce50: 2f 68 31 3e 0d 0a 41 6e 20 69 6e 74 65 72 65 73  /h1>..An interes
ce60: 74 69 6e 67 20 66 65 61 74 75 72 65 20 73 75 70  ting feature sup
ce70: 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 44 69  ported by the Di
ce80: 6a 6b 73 74 72 61 27 73 20 41 6c 67 6f 72 69 74  jkstra's Algorit
ce90: 68 6d 20 69 73 3a 20 77 68 65 6e 20 61 20 64 65  hm is: when a de
cea0: 73 74 69 6e 61 74 69 6f 6e 20 69 73 20 62 65 65  stination is bee
ceb0: 6e 20 72 65 61 63 68 65 64 2c 20 61 6c 6c 20 6f  n reached, all o
cec0: 66 20 74 68 65 20 3c 62 3e 6c 65 73 73 65 72 20  f the <b>lesser 
ced0: 63 6f 73 74 3c 2f 62 3e 20 64 65 73 74 69 6e 61  cost</b> destina
cee0: 74 69 6f 6e 73 20 68 61 76 65 20 73 75 72 65 6c  tions have surel
cef0: 79 20 62 65 65 6e 20 72 65 61 63 68 65 64 2e 3c  y been reached.<
cf00: 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f 77 73  br>..This allows
cf10: 20 74 68 65 20 73 75 70 70 6f 72 74 20 6f 66 20   the support of 
cf20: 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61  multiple destina
cf30: 74 69 6f 6e 73 20 53 68 6f 72 74 65 73 74 20 50  tions Shortest P
cf40: 61 74 68 20 71 75 65 72 69 65 73 2e 3c 62 72 3e  ath queries.<br>
cf50: 0d 0a 41 6c 6c 20 79 6f 75 20 68 61 76 65 20 74  ..All you have t
cf60: 6f 20 64 6f 20 69 73 20 73 70 65 63 69 66 79 20  o do is specify 
cf70: 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69 67  a <b>single orig
cf80: 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 77 69 74 68  in Node</b> with
cf90: 20 61 6e 20 3c 62 3e 61 72 62 69 74 72 61 72 79   an <b>arbitrary
cfa0: 20 6c 69 73 74 20 6f 66 20 64 65 73 74 69 6e 61   list of destina
cfb0: 74 69 6f 6e 20 4e 6f 64 65 73 3c 2f 62 3e 20 69  tion Nodes</b> i
cfc0: 6e 20 6f 6e 65 20 44 69 6a 6b 73 74 72 61 27 73  n one Dijkstra's
cfd0: 20 71 75 65 72 79 2e 3c 62 72 3e 3c 62 72 3e 0d   query.<br><br>.
cfe0: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65 78  .<u>Note</u>: ex
cff0: 65 63 75 74 69 6e 67 20 61 20 6d 75 6c 74 69 2d  ecuting a multi-
d000: 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72  destination Shor
d010: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 20  test Path query 
d020: 72 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70 72  requires a <b>pr
d030: 6f 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f 62  ocessing time</b
d040: 3e 20 74 68 61 74 20 69 73 6e 27 74 20 74 68 65  > that isn't the
d050: 20 3c 75 3e 73 75 6d 20 6f 66 20 61 6c 6c 20 69   <u>sum of all i
d060: 6e 64 69 76 69 64 75 61 6c 20 74 69 6d 69 6e 67  ndividual timing
d070: 73 20 74 6f 20 65 61 63 68 20 64 65 73 74 69 6e  s to each destin
d080: 61 74 69 6f 6e 3c 2f 75 3e 2c 20 62 75 74 20 73  ation</u>, but s
d090: 69 6d 70 6c 79 20 74 68 65 20 74 69 6d 65 20 72  imply the time r
d0a0: 65 71 75 69 72 65 64 20 74 6f 20 72 65 61 63 68  equired to reach
d0b0: 20 74 68 65 20 3c 75 3e 6d 6f 73 74 20 63 6f 73   the <u>most cos
d0c0: 74 6c 79 20 64 65 73 74 69 6e 61 74 69 6f 6e 20  tly destination 
d0d0: 6f 66 20 74 68 65 20 6c 69 73 74 3c 2f 75 3e 2e  of the list</u>.
d0e0: 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 6e 27 74  <br>..This isn't
d0f0: 20 73 74 72 69 63 74 6c 79 20 74 72 75 65 20 69   strictly true i
d100: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 74 68  n the case of th
d110: 69 73 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  is VirtualRoutin
d120: 67 20 73 70 65 63 69 66 69 63 20 69 6d 70 6c 65  g specific imple
d130: 6d 65 6e 74 61 74 69 6f 6e 2c 20 73 69 6e 63 65  mentation, since
d140: 20 74 68 65 20 61 72 72 61 6e 67 6d 65 6e 74 20   the arrangment 
d150: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 74 6f  the resultset to
d160: 20 62 65 20 72 65 74 75 72 6e 65 64 20 61 6e 64   be returned and
d170: 20 63 72 65 61 74 69 6f 6e 20 61 6c 6c 20 74 68   creation all th
d180: 65 20 69 6e 64 69 76 69 64 75 61 6c 20 4c 69 6e  e individual Lin
d190: 65 73 74 72 69 6e 67 73 20 66 6f 72 20 65 61 63  estrings for eac
d1a0: 68 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 77 69  h destination wi
d1b0: 6c 6c 20 73 75 72 65 6c 79 20 69 6d 70 6f 73 65  ll surely impose
d1c0: 20 73 6f 6d 65 20 66 75 72 74 68 65 72 20 6f 76   some further ov
d1d0: 65 72 68 65 61 64 2e 3c 62 72 3e 0d 0a 4e 65 76  erhead.<br>..Nev
d1e0: 65 72 74 68 65 6c 65 73 73 20 74 68 65 20 74 69  ertheless the ti
d1f0: 6d 65 20 6e 65 65 64 65 64 20 66 6f 72 20 61 20  me needed for a 
d200: 73 69 6e 67 6c 65 20 6d 75 6c 74 69 2d 64 65 73  single multi-des
d210: 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 79 20 77  tination query w
d220: 69 6c 6c 20 62 65 20 6c 65 73 73 20 74 68 61 6e  ill be less than
d230: 20 74 68 65 20 74 69 6d 65 20 6e 65 65 64 65 64   the time needed
d240: 20 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20 73 69   for multiple si
d250: 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ngle-destination
d260: 20 71 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72 62   queries...<verb
d270: 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c  atim>..SELECT Al
d280: 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74  gorithm, Request
d290: 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d  , Options, Delim
d2a0: 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52  iter, RouteId, R
d2b0: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
d2c0: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
d2d0: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
d2e0: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
d2f0: 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
d300: 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20  HERE NodeFrom = 
d310: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54  178731 AND NodeT
d320: 6f 20 3d 20 27 31 38 33 32 38 36 2c 32 39 30 34  o = '183286,2904
d330: 35 38 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30  58,181999,184030
d340: 2c 31 32 34 36 32 32 2c 31 38 33 38 38 32 2c 31  ,124622,183882,1
d350: 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61  78754';..</verba
d360: 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e  tim>..As you can
d370: 20 73 65 65 2c 20 61 20 3c 62 3e 6d 75 6c 74 69   see, a <b>multi
d380: 70 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73  ple-destinations
d390: 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20 74  </b> query has t
d3a0: 68 65 20 73 61 6d 65 20 69 64 65 6e 74 69 63 61  he same identica
d3b0: 6c 20 66 6f 72 6d 20 6f 66 20 61 6e 79 20 6e 6f  l form of any no
d3c0: 72 6d 61 6c 20 53 68 6f 72 74 65 73 74 20 50 61  rmal Shortest Pa
d3d0: 74 68 20 71 75 65 72 79 2c 20 74 68 65 20 6f 6e  th query, the on
d3e0: 6c 79 20 64 69 66 66 65 72 65 6e 63 65 20 62 65  ly difference be
d3f0: 69 6e 67 20 61 20 63 6f 6d 6d 61 2d 73 65 70 61  ing a comma-sepa
d400: 72 61 74 65 64 20 6c 69 73 74 20 28 69 6e 73 74  rated list (inst
d410: 65 61 64 20 6f 66 20 61 20 73 69 6e 67 6c 65 2d  ead of a single-
d420: 65 6e 74 72 79 29 20 66 6f 72 20 3c 62 3e 4e 6f  entry) for <b>No
d430: 64 65 54 6f 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54  deTo</b>.<br>..T
d440: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62  he following tab
d450: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73  le shows the res
d460: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
d470: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20  by the previous 
d480: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
d490: 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  n Shortest Path 
d4a0: 71 75 65 72 79 3a 0d 0a 3c 62 72 3e 3c 62 72 3e  query:..<br><br>
d4b0: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
d4c0: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
d4d0: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
d4e0: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
d4f0: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
d500: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d510: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
d520: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
d530: 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74  d0a0">Request</t
d540: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
d550: 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c  d0d0a0">Options<
d560: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d570: 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69  "#d0d0a0">Delimi
d580: 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ter</th><th bgco
d590: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
d5a0: 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67  uteId</th><th bg
d5b0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d5c0: 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
d5d0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
d5e0: 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
d5f0: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d600: 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
d610: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
d620: 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
d630: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
d640: 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
d650: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d660: 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
d670: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
d680: 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
d690: 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
d6a0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
d6b0: 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
d6c0: 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f  ..<td>Dijkstra</
d6d0: 74 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20  td><td>Shortest 
d6e0: 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c  Path</td><td>Ful
d6f0: 6c 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31  l</td><td>, &#91
d700: 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26  ;dec=44, hex=2c&
d710: 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  #93;</td><td ali
d720: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
d730: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d740: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
d750: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
d760: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d770: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
d780: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d790: 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74  t">183882</td><t
d7a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d7b0: 31 35 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c  154.750839</td><
d7c0: 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47  td>BLOB sz=240 G
d7d0: 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
d7e0: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
d7f0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
d800: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
d810: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
d820: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
d830: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
d840: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d850: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
d860: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
d870: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33  gn="right">22263
d880: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
d890: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
d8a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d8b0: 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e  ght">182000</td>
d8c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d8d0: 22 3e 31 30 33 2e 37 33 35 37 32 32 3c 2f 74 64  ">103.735722</td
d8e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
d8f0: 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45  d>VIA PIETRO ARE
d900: 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TINO</td>..</tr>
d910: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
d920: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
d930: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
d940: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
d950: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
d960: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d970: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
d980: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
d990: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 32  gn="right">22552
d9a0: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
d9b0: 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f  "right">182000</
d9c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
d9d0: 67 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e  ght">183882</td>
d9e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d9f0: 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e  ">51.015117</td>
da00: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
da10: 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45  >VIA LICIO NENCE
da20: 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  TTI</td>..</tr>.
da30: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
da40: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
da50: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
da60: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
da70: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
da80: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
da90: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
daa0: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
dab0: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
dac0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
dad0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
dae0: 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e  ght">184030</td>
daf0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
db00: 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64  ">176.364755</td
db10: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34  ><td>BLOB sz=304
db20: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
db30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
db40: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
db50: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
db60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
db70: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
db80: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
db90: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
dba0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
dbb0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
dbc0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
dbd0: 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  014</td><td alig
dbe0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
dbf0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
dc00: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
dc10: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dc20: 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74  ht">94.812424</t
dc30: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
dc40: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52  td>VIA PIETRO AR
dc50: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
dc60: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
dc70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
dc80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
dc90: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dca0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
dcb0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
dcc0: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
dcd0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
dce0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38  ign="right">2248
dcf0: 36 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  62</td><td align
dd00: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
dd10: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dd20: 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64  ight">182043</td
dd30: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
dd40: 74 22 3e 33 37 2e 30 39 35 32 38 37 3c 2f 74 64  t">37.095287</td
dd50: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
dd60: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
dd70: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
dd80: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
dd90: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
dda0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
ddb0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
ddc0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
ddd0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
dde0: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
ddf0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
de00: 22 72 69 67 68 74 22 3e 32 32 36 30 37 30 3c 2f  "right">226070</
de10: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
de20: 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e  ght">182043</td>
de30: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
de40: 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64  ">184030</td><td
de50: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
de60: 34 2e 34 35 37 30 34 34 3c 2f 74 64 3e 3c 74 64  4.457044</td><td
de70: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 50 49  >NULL</td><td>PI
de80: 41 5a 5a 41 20 53 41 4e 54 27 41 47 4f 53 54 49  AZZA SANT'AGOSTI
de90: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
dea0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
deb0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
dec0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ded0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
dee0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
def0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
df00: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
df10: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
df20: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
df30: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
df40: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
df50: 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c  ht">178754</td><
df60: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
df70: 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f 74 64 3e  >224.677095</td>
df80: 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20  <td>BLOB sz=240 
df90: 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64  GEOMETRY</td><td
dfa0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
dfb0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
dfc0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
dfd0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
dfe0: 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67  <td>NULL<td alig
dff0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
e000: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e010: 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">1</td><td>Link
e020: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e030: 72 69 67 68 74 22 3e 32 31 39 30 34 35 3c 2f 74  right">219045</t
e040: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e050: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
e060: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e070: 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
e080: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 36  align="right">76
e090: 2e 30 32 31 30 30 37 3c 2f 74 64 3e 3c 74 64 3e  .021007</td><td>
e0a0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
e0b0: 20 41 53 53 41 42 3c 2f 74 64 3e 0d 0a 3c 2f 74   ASSAB</td>..</t
e0c0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
e0d0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e0e0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e0f0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e100: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e110: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
e120: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
e130: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
e140: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39  lign="right">219
e150: 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  058</td><td alig
e160: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32  n="right">178732
e170: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e180: 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74  right">178754</t
e190: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e1a0: 68 74 22 3e 31 34 38 2e 36 35 36 30 38 39 3c 2f  ht">148.656089</
e1b0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e1c0: 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43  <td>VIA FRANCESC
e1d0: 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c  O CRISPI</td>..<
e1e0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
e1f0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e200: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e210: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e220: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e230: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">3</td><td alig
e240: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
e250: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
e260: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
e270: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
e280: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
e290: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
e2a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e2b0: 72 69 67 68 74 22 3e 32 36 30 2e 31 33 32 33 35  right">260.13235
e2c0: 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  4</td><td>BLOB s
e2d0: 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f  z=240 GEOMETRY</
e2e0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e2f0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
e300: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e310: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e320: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e330: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e340: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61  ght">3</td><td a
e350: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
e360: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
e370: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e380: 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64  ">224014</td><td
e390: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e3a0: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
e3b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
e3c0: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  85</td><td align
e3d0: 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34  ="right">94.8124
e3e0: 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  24</td><td>NULL<
e3f0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54  /td><td>VIA PIET
e400: 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d  RO ARETINO</td>.
e410: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
e420: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e430: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e440: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e450: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e460: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">3</td><td al
e470: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
e480: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
e490: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e4a0: 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20  >224446</td><td 
e4b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
e4c0: 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2885</td><td ali
e4d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38  gn="right">17888
e4e0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
e4f0: 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32  "right">69.72772
e500: 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  6</td><td>NULL</
e510: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41  td><td>VIA MARGA
e520: 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  RITONE</td>..</t
e530: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
e540: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e550: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e560: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e570: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e580: 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
e590: 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
e5a0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
e5b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
e5c0: 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  800</td><td alig
e5d0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
e5e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e5f0: 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
e600: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e610: 68 74 22 3e 39 35 2e 35 39 32 32 30 34 3c 2f 74  ht">95.592204</t
e620: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e630: 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
e640: 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
e650: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
e660: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e670: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e680: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e690: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e6a0: 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >4</td><td align
e6b0: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
e6c0: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
e6d0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e6e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
e6f0: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
e700: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
e710: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e720: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38  ight">300.912208
e730: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
e740: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =272 GEOMETRY</t
e750: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
e760: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
e770: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
e780: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e790: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e7a0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e7b0: 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">4</td><td al
e7c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
e7d0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
e7e0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e7f0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20  >224014</td><td 
e800: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
e810: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
e820: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
e830: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
e840: 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32  "right">94.81242
e850: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
e860: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52  td><td>VIA PIETR
e870: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  O ARETINO</td>..
e880: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
e890: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e8a0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e8b0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e8c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e8d0: 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">4</td><td ali
e8e0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
e8f0: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
e900: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e910: 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61  224446</td><td a
e920: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
e930: 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  885</td><td alig
e940: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
e950: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e960: 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36  right">69.727726
e970: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e980: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52  d><td>VIA MARGAR
e990: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ITONE</td>..</tr
e9a0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
e9b0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e9c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e9d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e9e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
e9f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
ea00: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
ea10: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
ea20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
ea30: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
ea40: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
ea50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
ea60: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
ea70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
ea80: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74  t">136.372057</t
ea90: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
eaa0: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
eab0: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
eac0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
ead0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
eae0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
eaf0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
eb00: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
eb10: 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61  /td><td>Unreacha
eb20: 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c  ble NodeTo</td><
eb30: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
eb40: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
eb50: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
eb60: 67 6e 3d 22 72 69 67 68 74 22 3e 32 39 30 34 35  gn="right">29045
eb70: 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
eb80: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
eb90: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
eba0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
ebb0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
ebc0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
ebd0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ebe0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ebf0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e  >NULL</td><td>Un
ec00: 72 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f  reachable NodeTo
ec10: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ec20: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
ec30: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
ec40: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
ec50: 3e 31 32 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e  >124622</td><td>
ec60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
ec70: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
ec80: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
ec90: 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27  ble>..<br>..Let'
eca0: 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e  s quickly examin
ecb0: 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  e the resultset 
ecc0: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
ecd0: 61 62 6f 76 65 20 3c 62 3e 6d 75 6c 74 69 2d 64  above <b>multi-d
ece0: 65 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20  estinations</b> 
ecf0: 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  query...<ul>..<l
ed00: 69 3e 74 68 65 20 6f 76 65 72 61 6c 6c 20 6c 61  i>the overall la
ed10: 79 6f 75 74 20 69 73 20 61 6c 6d 6f 73 74 20 65  yout is almost e
ed20: 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20  xactly the same 
ed30: 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 61 64  as you've alread
ed40: 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63 61  y seen in the ca
ed50: 73 65 20 6f 66 20 3c 62 3e 73 69 6e 67 6c 65 2d  se of <b>single-
ed60: 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20  destination</b> 
ed70: 71 75 65 72 69 65 73 2c 20 62 75 74 20 69 6e 20  queries, but in 
ed80: 74 68 69 73 20 63 61 73 65 20 6d 6f 72 65 20 69  this case more i
ed90: 6e 64 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c  ndividual travel
eda0: 20 73 6f 6c 75 74 69 6f 6e 73 20 61 72 65 20 67   solutions are g
edb0: 72 6f 75 70 65 64 20 61 6c 74 6f 67 65 74 68 65  rouped altogethe
edc0: 72 2e 20 28 45 61 63 68 20 61 6c 74 65 72 6e 61  r. (Each alterna
edd0: 74 69 76 65 20 72 6f 75 74 65 20 68 61 76 69 6e  tive route havin
ede0: 67 20 61 20 64 69 66 66 65 72 65 6e 74 20 3c 62  g a different <b
edf0: 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 61 6e 64  >RouteId</b> and
ee00: 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 3c   starting with <
ee10: 62 3e 27 52 6f 75 74 65 27 3c 2f 62 3e 20 69 6e  b>'Route'</b> in
ee20: 20 74 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e   the <b>Role</b>
ee30: 20 63 6f 6c 75 6d 6e 29 2e 3c 2f 6c 69 3e 0d 0a   column).</li>..
ee40: 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74  <li>the <b>first
ee50: 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20   row</b> of the 
ee60: 72 65 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d  resultset is som
ee70: 65 77 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c  eway exceptional
ee80: 2c 20 61 6e 64 20 69 73 20 74 68 65 20 75 6e 69  , and is the uni
ee90: 71 75 65 20 72 6f 77 20 6f 66 20 74 68 65 20 72  que row of the r
eea0: 65 73 75 6c 74 73 65 74 20 70 72 65 73 65 6e 74  esultset present
eeb0: 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c  ing <b>NOT NULL<
eec0: 2f 62 3e 20 76 61 6c 75 65 73 20 69 6e 20 74 68  /b> values in th
eed0: 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f  e <b>Algorithm</
eee0: 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f  b>, <b>Request</
eef0: 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f  b>, <b>Options</
ef00: 62 3e 20 61 6e 64 20 3c 62 3e 44 65 6c 69 6d 69  b> and <b>Delimi
ef10: 74 65 72 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e  ter</b> columns.
ef20: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  </li>..<li>the <
ef30: 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e 20 63 6f  b>RouteId</b> co
ef40: 6c 75 6d 6e 20 69 73 20 69 6e 74 65 6e 64 65 64  lumn is intended
ef50: 20 74 6f 20 67 72 6f 75 70 20 74 6f 67 65 74 68   to group togeth
ef60: 65 72 20 61 6c 6c 20 72 6f 77 73 20 62 65 6c 6f  er all rows belo
ef70: 6e 67 69 6e 67 20 74 6f 20 73 61 6d 65 20 74 72  nging to same tr
ef80: 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20 28 3c  avel solution (<
ef90: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 52 6f 75  i>aka</i> <b>Rou
efa0: 74 65 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 52 6f  te</b>).<br>..Ro
efb0: 75 74 65 73 20 61 72 65 20 70 72 6f 67 72 65 73  utes are progres
efc0: 73 69 76 65 6c 79 20 6e 75 6d 62 65 72 65 64 20  sively numbered 
efd0: 61 6e 64 20 61 72 65 20 6f 72 64 65 72 65 64 20  and are ordered 
efe0: 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74  accordingly to t
eff0: 68 65 69 72 20 3c 62 3e 74 6f 74 61 6c 20 63 6f  heir <b>total co
f000: 73 74 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  st</b>.</li>..<l
f010: 69 3e 74 68 65 20 3c 62 3e 52 6f 75 74 65 52 6f  i>the <b>RouteRo
f020: 77 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 68 61 73  w</b> column has
f030: 20 74 68 65 20 73 61 6d 65 20 69 6e 74 65 72 70   the same interp
f040: 72 65 74 61 74 69 6f 6e 20 61 73 20 69 6e 20 73  retation as in s
f050: 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f  ingle-destinatio
f060: 6e 20 72 65 73 75 6c 74 73 65 74 73 2c 20 61 6e  n resultsets, an
f070: 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f  d is intended to
f080: 20 70 72 6f 67 72 65 73 73 69 76 65 6c 79 20 6f   progressively o
f090: 72 64 65 72 20 69 6e 20 74 68 65 20 63 6f 72 72  rder in the corr
f0a0: 65 63 74 20 73 65 71 75 65 6e 63 65 20 61 6c 6c  ect sequence all
f0b0: 20 4c 69 6e 6b 73 20 63 6f 6e 6e 65 63 74 69 6e   Links connectin
f0c0: 67 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64  g the Origin and
f0d0: 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e   the Destination
f0e0: 20 6f 66 20 65 61 63 68 20 52 6f 75 74 65 2e 3c   of each Route.<
f0f0: 62 72 3e 0d 0a 3c 62 3e 52 6f 75 74 65 52 6f 77  br>..<b>RouteRow
f100: 3d 30 3c 2f 62 3e 20 61 6c 77 61 79 73 20 69 64  =0</b> always id
f110: 65 6e 74 69 66 69 65 73 20 74 68 65 20 68 65 61  entifies the hea
f120: 64 65 72 20 72 6f 77 20 6f 66 20 65 61 63 68 20  der row of each 
f130: 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 2e  travel solution.
f140: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62  </li>..</ul>..<b
f150: 72 3e 0d 0a 3c 75 3e 4e 6f 74 69 63 65 3c 2f 75  r>..<u>Notice</u
f160: 3e 3a 20 74 68 65 20 6c 61 73 74 20 74 77 6f 20  >: the last two 
f170: 72 6f 77 73 20 69 6e 20 74 68 65 20 72 65 73 75  rows in the resu
f180: 6c 74 73 65 74 20 72 65 70 6f 72 74 73 20 3c 62  ltset reports <b
f190: 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f 64  >Unreachable Nod
f1a0: 65 54 6f 09 3c 2f 62 3e 20 69 6e 20 74 68 65 20  eTo.</b> in the 
f1b0: 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20 63 6f 6c 75  <b>Role</b> colu
f1c0: 6d 6e 2c 20 74 68 75 73 20 69 6d 70 6c 79 69 6e  mn, thus implyin
f1d0: 67 20 61 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e  g a <b>forbidden
f1e0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 3c 2f 62 3e 2e   connection</b>.
f1f0: 3c 62 72 3e 0d 0a 54 68 69 73 20 77 61 73 20 70  <br>..This was p
f200: 75 72 70 6f 73 65 6c 79 20 69 6e 74 65 6e 64 65  urposely intende
f210: 64 3a 20 4e 6f 64 65 73 20 3c 62 3e 32 39 30 34  d: Nodes <b>2904
f220: 35 38 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 31 32  58</b> and <b>12
f230: 34 36 32 32 3c 2f 62 3e 20 61 72 65 20 6c 6f 63  4622</b> are loc
f240: 61 74 65 64 20 6f 6e 20 45 6c 62 61 20 61 6e 64  ated on Elba and
f250: 20 47 69 67 6c 69 6f 20 69 73 6c 61 6e 64 73 2e   Giglio islands.
f260: 20 54 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67   The underlaying
f270: 20 4e 65 74 77 6f 72 6b 20 69 73 20 62 61 73 65   Network is base
f280: 64 20 6f 6e 20 3c 62 3e 49 74 65 72 2e 4e 65 74  d on <b>Iter.Net
f290: 3c 2f 62 3e 20 74 68 61 74 20 64 6f 6e 27 74 20  </b> that don't 
f2a0: 73 75 70 70 6f 72 74 73 20 66 65 72 72 79 20 63  supports ferry c
f2b0: 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 73 6f 20 61  onnections, so a
f2c0: 6e 79 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69  ny travel soluti
f2d0: 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 69  on between the i
f2e0: 73 6c 61 6e 64 73 20 61 6e 64 20 74 68 65 20 6d  slands and the m
f2f0: 61 69 6e 6c 61 6e 64 20 77 69 6c 6c 20 61 6c 77  ainland will alw
f300: 61 79 73 20 66 61 69 6c 2e 0d 0a 3c 62 72 3e 3c  ays fail...<br><
f310: 62 72 3e 3c 62 72 3e 0d 0a 41 6c 73 6f 20 3c 62  br><br>..Also <b
f320: 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
f330: 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73 20  ons</b> queries 
f340: 63 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65  can be customize
f350: 64 2c 20 62 75 74 20 74 68 65 20 63 6f 6e 66 69  d, but the confi
f360: 67 75 72 61 74 69 6f 6e 20 72 75 6c 65 73 20 73  guration rules s
f370: 6c 69 67 68 74 6c 79 20 64 69 66 66 65 72 20 66  lightly differ f
f380: 72 6f 6d 20 77 68 61 74 20 79 6f 75 20 68 61 76  rom what you hav
f390: 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69  e already seen i
f3a0: 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 73 69  n the case of si
f3b0: 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ngle-destination
f3c0: 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  ...<ul>..<li><b>
f3d0: 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 3a 20 6f  Algorithm</b>: o
f3e0: 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74 72 61 3c  nly <b>Dijkstra<
f3f0: 2f 62 3e 20 69 73 20 73 75 70 70 6f 72 74 65 64  /b> is supported
f400: 20 62 79 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e   by multi-destin
f410: 61 74 69 6f 6e 2c 20 61 6e 64 20 77 69 6c 6c 20  ation, and will 
f420: 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 73  be implicitly as
f430: 73 75 6d 65 64 20 65 76 65 6e 20 77 68 65 6e 20  sumed even when 
f440: 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20  the alternative 
f450: 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69  <b>A*</b> algori
f460: 74 68 6d 20 69 73 20 63 75 72 72 65 6e 74 6c 79  thm is currently
f470: 20 73 65 6c 65 63 74 65 64 2e 3c 2f 6c 69 3e 0d   selected.</li>.
f480: 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e 73 3c  .<li><b>Options<
f490: 2f 62 3e 3a 20 74 68 65 20 75 73 75 61 6c 20 3c  /b>: the usual <
f4a0: 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62 3e 53  b>FULL</b>, <b>S
f4b0: 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e 4e 4f  IMPLE</b>, <b>NO
f4c0: 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c   LINKS</b> and <
f4d0: 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 3c  b>NO GEOMETRIES<
f4e0: 2f 62 3e 20 61 72 65 20 73 75 70 70 6f 72 74 65  /b> are supporte
f4f0: 64 20 61 6e 64 20 77 69 6c 6c 20 68 61 76 65 20  d and will have 
f500: 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74 20  the same effect 
f510: 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73  as in single-des
f520: 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73  tination queries
f530: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
f540: 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
f550: 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70 74  E byfoot SET Opt
f560: 69 6f 6e 73 20 3d 20 27 53 49 4d 50 4c 45 27 3b  ions = 'SIMPLE';
f570: 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72  ....SELECT Algor
f580: 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f  ithm, Request, O
f590: 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65  ptions, Delimite
f5a0: 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74  r, RouteId, Rout
f5b0: 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
f5c0: 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
f5d0: 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
f5e0: 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
f5f0: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
f600: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
f610: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
f620: 20 27 31 38 33 32 38 36 2c 32 39 30 34 35 38 2c   '183286,290458,
f630: 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31 32  181999,184030,12
f640: 34 36 32 32 2c 31 38 33 38 38 32 2c 31 37 38 37  4622,183882,1787
f650: 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  54';..</verbatim
f660: 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  >..The following
f670: 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65   table shows the
f680: 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72   resultset retur
f690: 6e 65 64 20 62 79 20 74 68 65 20 73 61 6d 65 20  ned by the same 
f6a0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
f6b0: 6e 20 71 75 65 72 79 20 75 73 65 64 20 69 6e 20  n query used in 
f6c0: 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61  the previous exa
f6d0: 6d 70 6c 65 20 61 66 74 65 72 20 65 6e 61 62 6c  mple after enabl
f6e0: 69 6e 67 20 74 68 65 20 3c 62 3e 53 49 4d 50 4c  ing the <b>SIMPL
f6f0: 45 3c 2f 62 3e 20 6f 70 74 69 6f 6e 2e 0d 0a 3c  E</b> option...<
f700: 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  br><br>..<table 
f710: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
f720: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
f730: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
f740: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
f750: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
f760: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
f770: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
f780: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
f790: 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
f7a0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
f7b0: 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
f7c0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f7d0: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c  >Delimiter</th><
f7e0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f7f0: 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68  0a0">RouteId</th
f800: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
f810: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
f820: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
f830: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
f840: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
f850: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
f860: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
f870: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
f880: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
f890: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f8a0: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
f8b0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f8c0: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  >Cost</th><th bg
f8d0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f8e0: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68  Geometry</th><th
f8f0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
f900: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72  0">Name</th></tr
f910: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a  >..<tr>..<td>Dij
f920: 6b 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 53 68  kstra</td><td>Sh
f930: 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 74 64 3e  ortest Path</td>
f940: 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
f950: 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20  >, &#91;dec=44, 
f960: 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e  hex=2c&#93;</td>
f970: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
f980: 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
f990: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
f9a0: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
f9b0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
f9c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
f9d0: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
f9e0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32  n="right">183882
f9f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fa00: 72 69 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33  right">154.75083
fa10: 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
fa20: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fa30: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
fa40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fa50: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fa60: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fa70: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
fa80: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61  ght">1</td><td a
fa90: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
faa0: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
fab0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fac0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fad0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
fae0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
faf0: 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
fb00: 6e 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36  n="right">176.36
fb10: 34 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  4755</td><td>NUL
fb20: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fb30: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
fb40: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
fb50: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fb60: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fb70: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
fb80: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
fb90: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fba0: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
fbb0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fbc0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fbd0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
fbe0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fbf0: 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
fc00: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
fc10: 2e 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74 64 3e  .677095</td><td>
fc20: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fc30: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
fc40: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
fc50: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fc60: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fc70: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
fc80: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
fc90: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fca0: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
fcb0: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
fcc0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fcd0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
fce0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fcf0: 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
fd00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fd10: 32 36 30 2e 31 33 32 33 35 34 3c 2f 74 64 3e 3c  260.132354</td><
fd20: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fd30: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
fd40: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
fd50: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fd60: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fd70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
fd80: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
fd90: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fda0: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
fdb0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
fdc0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
fdd0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
fde0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
fdf0: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
fe00: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fe10: 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74  t">300.912208</t
fe20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fe30: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
fe40: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
fe50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fe60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fe70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fe80: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fe90: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72  NULL</td><td>Unr
fea0: 65 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c  eachable NodeTo<
feb0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fec0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fed0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
fee0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fef0: 32 39 30 34 35 38 3c 2f 74 64 3e 3c 74 64 3e 4e  290458</td><td>N
ff00: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
ff10: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ff20: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
ff30: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
ff40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
ff50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
ff60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ff70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
ff80: 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e  td>Unreachable N
ff90: 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55  odeTo</td><td>NU
ffa0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
ffb0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
ffc0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
ffd0: 69 67 68 74 22 3e 31 32 34 36 32 32 3c 2f 74 64  ight">124622</td
ffe0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fff0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
10000 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
10010 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  .</table>..<br>.
10020 0a 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 67  .The map below g
10030 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73  raphically shows
10040 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c 62   the previous <b
10050 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
10060 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e  ons</b> queries.
10070 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67  ..<br><br>..<img
10080 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
10090 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
100a0 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
100b0 66 69 67 73 2f 72 6f 75 74 69 6e 67 33 2e 6a 70  figs/routing3.jp
100c0 67 22 20 61 6c 74 3d 22 66 69 67 33 22 3e 0d 0a  g" alt="fig3">..
100d0 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65 64 20 73 74  <ul>..<li>Red st
100e0 61 72 3a 20 74 68 65 20 4f 72 69 67 69 6e 20 4e  ar: the Origin N
100f0 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47  ode.</li>..<li>G
10100 72 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20 44  reen dots: the D
10110 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65 73  estination Nodes
10120 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c  .</li>..<li>Yell
10130 6f 77 20 6c 69 6e 65 73 3a 20 61 6c 6c 20 69 6e  ow lines: all in
10140 64 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c 20  dividual travel 
10150 73 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d  solutions.</li>.
10160 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74  .</ul>..<br>..<t
10170 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66  able bgcolor="#f
10180 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69  fb060" cellspaci
10190 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
101a0 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
101b0 0d 0a 3c 68 33 3e 44 61 6e 67 65 72 6f 75 73 20  ..<h3>Dangerous 
101c0 70 69 74 66 61 6c 6c 73 20 72 65 6c 61 74 65 64  pitfalls related
101d0 20 74 6f 20 6d 75 6c 74 69 70 6c 65 20 64 65 73   to multiple des
101e0 74 69 6e 61 74 69 6f 6e 20 6c 69 73 74 73 3c 2f  tination lists</
101f0 68 33 3e 0d 0a 53 51 4c 20 73 79 6e 74 61 78 20  h3>..SQL syntax 
10200 64 69 72 65 63 74 6c 79 20 61 6c 6c 6f 77 73 20  directly allows 
10210 74 6f 20 73 70 65 63 69 66 79 20 6c 69 73 74 73  to specify lists
10220 20 6f 66 20 20 6d 75 6c 74 69 70 6c 65 20 76 61   of  multiple va
10230 6c 75 65 73 2c 20 73 6f 20 6d 61 79 20 62 65 20  lues, so may be 
10240 79 6f 75 20 61 72 65 20 6e 6f 77 20 77 6f 6e 64  you are now wond
10250 65 72 69 6e 67 20 61 62 6f 75 74 20 77 72 69 74  ering about writ
10260 69 6e 67 20 74 68 65 20 3c 62 3e 6d 75 6c 74 69  ing the <b>multi
10270 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73  ple destinations
10280 3c 2f 62 3e 20 71 75 65 72 79 20 74 65 73 74 65  </b> query teste
10290 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75  d in the previou
102a0 73 20 65 78 61 6d 70 6c 65 73 20 74 68 69 73 20  s examples this 
102b0 77 61 79 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  way:..<verbatim>
102c0 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74  ..SELECT Algorit
102d0 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74  hm, Request, Opt
102e0 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c  ions, Delimiter,
102f0 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52   RouteId, RouteR
10300 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
10310 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
10320 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
10330 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
10340 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
10350 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
10360 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 49 4e 20  1 AND NodeTo IN 
10370 28 31 38 33 32 38 36 2c 20 32 39 30 34 35 38 2c  (183286, 290458,
10380 20 31 38 31 39 39 39 2c 20 31 38 34 30 33 30 2c   181999, 184030,
10390 20 31 32 34 36 32 32 2c 20 31 38 33 38 38 32 2c   124622, 183882,
103a0 20 31 37 38 37 35 34 29 3b 0d 0a 3c 2f 76 65 72   178754);..</ver
103b0 62 61 74 69 6d 3e 0d 0a 54 68 65 72 65 20 69 73  batim>..There is
103c0 20 61 20 76 65 72 79 20 67 6f 6f 64 20 72 65 61   a very good rea
103d0 73 6f 6e 20 74 6f 20 64 69 73 63 6f 75 72 61 67  son to discourag
103e0 65 20 79 6f 75 20 66 72 6f 6d 20 64 6f 69 6e 67  e you from doing
103f0 20 73 75 63 68 20 61 20 74 68 69 6e 67 2c 20 6c   such a thing, l
10400 65 74 27 73 20 73 65 65 20 77 68 79 3a 3c 62 72  et's see why:<br
10410 3e 3c 62 72 3e 0d 0a 46 6f 72 20 53 51 4c 69 74  ><br>..For SQLit
10420 65 3a 20 3c 62 3e 4e 6f 64 65 54 6f 20 49 4e 20  e: <b>NodeTo IN 
10430 28 31 38 33 32 38 36 2c 20 32 39 30 34 35 38 2c  (183286, 290458,
10440 20 31 38 31 39 39 39 2c 20 31 38 34 30 33 30 2c   181999, 184030,
10450 20 31 32 34 36 32 32 2c 20 31 38 33 38 38 32 2c   124622, 183882,
10460 20 31 37 38 37 35 34 29 3c 2f 62 3e 20 69 73 20   178754)</b> is 
10470 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65  considered to be
10480 20 37 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f   7 parameters fo
10490 72 20 77 68 69 63 68 20 56 69 72 74 75 61 6c 52  r which VirtualR
104a0 6f 75 74 69 6e 67 20 77 69 6c 6c 20 62 65 20 63  outing will be c
104b0 61 6c 6c 65 64 20 66 6f 72 20 65 61 63 68 2e 3c  alled for each.<
104c0 62 72 3e 0d 0a 57 68 65 72 65 61 73 3a 20 3c 62  br>..Whereas: <b
104d0 3e 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38  >NodeTo = '18328
104e0 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 39 2c  6,290458,181999,
104f0 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 31 38  184030,124622,18
10500 33 38 38 32 2c 31 37 38 37 35 34 27 3c 2f 62 3e  3882,178754'</b>
10510 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 74   is considered t
10520 6f 20 62 65 20 31 20 70 61 72 61 6d 65 74 65 72  o be 1 parameter
10530 20 66 6f 72 20 77 68 69 63 68 20 56 69 72 74 75   for which Virtu
10540 61 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c 20 62  alRouting will b
10550 65 20 63 61 6c 6c 65 64 20 3c 62 3e 6f 6e 63 65  e called <b>once
10560 3c 2f 62 3e 20 61 6e 64 20 73 65 61 72 63 68 20  </b> and search 
10570 66 6f 72 20 74 68 65 20 37 20 69 74 65 6d 73 2e  for the 7 items.
10580 0d 0a 3c 68 33 3e 42 65 77 61 72 65 3c 2f 68 33  ..<h3>Beware</h3
10590 3e 0d 0a 3c 62 3e 4e 65 76 65 72 20 65 76 65 72  >..<b>Never ever
105a0 3c 2f 62 3e 20 61 74 74 65 6d 70 74 20 74 6f 20  </b> attempt to 
105b0 64 65 66 69 6e 65 20 61 20 6c 69 73 74 20 6f 66  define a list of
105c0 20 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e   multiple destin
105d0 61 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68 65  ations using the
105e0 20 73 74 61 6e 64 61 72 64 20 53 51 4c 20 73 79   standard SQL sy
105f0 6e 74 61 78 20 3c 62 3e 3c 69 3e 57 48 45 52 45  ntax <b><i>WHERE
10600 20 4e 6f 64 65 54 6f 20 49 4e 20 28 2e 2e 2e 2e   NodeTo IN (....
10610 2e 2e 29 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65 63  ..)</i></b>, bec
10620 61 75 73 65 20 74 68 69 73 20 77 69 6c 6c 20 63  ause this will c
10630 65 72 74 61 69 6e 6c 79 20 63 61 75 73 65 20 6d  ertainly cause m
10640 61 6e 79 20 75 6e 65 78 70 65 63 74 65 64 20 20  any unexpected  
10650 27 3c 69 3e 72 65 73 75 6c 74 73 3c 2f 69 3e 27  '<i>results</i>'
10660 2e 3c 62 72 3e 0d 0a 42 61 64 6c 79 20 66 6f 72  .<br>..Badly for
10670 6d 61 74 74 65 64 20 72 65 73 75 6c 74 73 65 74  matted resultset
10680 73 20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20 72  s will be then r
10690 65 74 75 72 6e 65 64 2c 20 6d 61 6e 79 20 6f 66  eturned, many of
106a0 20 77 68 69 63 68 20 6d 61 79 20 62 65 20 77 72   which may be wr
106b0 6f 6e 67 2e 20 3c 62 3e 59 6f 75 20 61 72 65 20  ong. <b>You are 
106c0 77 61 72 6e 65 64 3c 2f 62 3e 2e 3c 62 72 3e 3c  warned</b>.<br><
106d0 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c  br>..</td></tr><
106e0 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c  /table>..<br>..<
106f0 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
10700 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63  c0ffc0" cellspac
10710 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
10720 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
10730 3e 0d 0a 3c 68 33 3e 48 6f 77 20 74 6f 20 63 6f  >..<h3>How to co
10740 72 72 65 63 74 6c 79 20 66 6f 72 6d 61 74 20 6d  rrectly format m
10750 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74  ultiple destinat
10760 69 6f 6e 73 20 6c 69 73 74 73 3c 2f 68 33 3e 0d  ions lists</h3>.
10770 0a 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20  .VirtualRouting 
10780 61 6c 77 61 79 73 20 65 78 70 65 63 74 73 20 74  always expects t
10790 6f 20 72 65 63 65 69 76 65 20 61 20 3c 62 3e 6d  o receive a <b>m
107a0 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ulti-destination
107b0 73 3c 2f 62 3e 20 6c 69 73 74 20 61 73 20 61 20  s</b> list as a 
107c0 3c 62 3e 54 45 58 54 3c 2f 62 3e 20 73 74 72 69  <b>TEXT</b> stri
107d0 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 69  ng containing ti
107e0 67 68 74 6c 79 20 70 61 63 6b 65 64 20 76 61 6c  ghtly packed val
107f0 75 65 73 20 73 65 70 61 72 61 74 65 64 20 62 79  ues separated by
10800 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 20   a conventional 
10810 3c 62 3e 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e  <b>delimiter</b>
10820 20 28 75 73 75 61 6c 6c 79 20 72 65 70 72 65 73   (usually repres
10830 65 6e 74 65 64 20 62 79 20 61 20 3c 62 3e 63 6f  ented by a <b>co
10840 6d 6d 61 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 45  mma</b>).<br>..E
10850 78 61 6d 70 6c 65 73 20 6f 66 20 3c 62 3e 77 65  xamples of <b>we
10860 6c 6c 20 66 6f 72 6d 61 74 74 65 64 3c 2f 62 3e  ll formatted</b>
10870 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69   multi-destinati
10880 6f 6e 73 20 6c 69 73 74 73 3a 0d 0a 3c 76 65 72  ons lists:..<ver
10890 62 61 74 69 6d 3e 0d 0a 27 31 2c 32 2c 33 2c 34  batim>..'1,2,3,4
108a0 2c 35 2c 31 30 2c 31 30 30 2c 31 30 30 30 2c 31  ,5,10,100,1000,1
108b0 30 30 30 30 30 27 20 20 20 2d 2d 20 69 6e 74 65  00000'   -- inte
108c0 67 65 72 20 4e 6f 64 65 20 49 44 73 0d 0a 0d 0a  ger Node IDs....
108d0 27 41 31 30 30 42 2c 41 31 30 30 46 2c 42 32 35  'A100B,A100F,B25
108e0 30 5a 2c 43 30 31 30 4d 2c 5a 39 39 39 41 27 20  0Z,C010M,Z999A' 
108f0 20 2d 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69 63   -- alphanumeric
10900 20 4e 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76   Node Codes..</v
10910 65 72 62 61 74 69 6d 3e 0d 0a 45 78 61 6d 70 6c  erbatim>..Exampl
10920 65 73 20 6f 66 20 3c 62 3e 62 61 64 6c 79 20 66  es of <b>badly f
10930 6f 72 6d 61 74 74 65 64 3c 2f 62 3e 20 6d 75 6c  ormatted</b> mul
10940 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 73 20  ti-destinations 
10950 6c 69 73 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69  lists:..<verbati
10960 6d 3e 0d 0a 27 20 20 31 2c 20 32 2c 20 33 2c 20  m>..'  1, 2, 3, 
10970 34 20 2c 20 35 20 2c 20 31 30 2c 20 31 30 30 2c  4 , 5 , 10, 100,
10980 20 31 30 30 30 2c 20 31 30 30 30 30 30 20 20 27   1000, 100000  '
10990 20 20 20 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f     -- integer No
109a0 64 65 20 49 44 73 0d 0a 0d 0a 27 20 20 41 31 30  de IDs....'  A10
109b0 30 42 2c 20 41 31 30 30 46 20 2c 20 42 32 35 30  0B, A100F , B250
109c0 5a 20 2c 20 43 30 31 30 4d 2c 20 5a 39 39 39 41  Z , C010M, Z999A
109d0 20 20 27 20 20 20 20 20 20 2d 2d 20 61 6c 70 68    '      -- alph
109e0 61 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f  anumeric Node Co
109f0 64 65 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  des..</verbatim>
10a00 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61  ..<u>Note</u>: a
10a10 6c 6c 20 77 68 69 74 65 73 70 61 63 65 73 20 69  ll whitespaces i
10a20 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65  mmediately prece
10a30 64 69 6e 67 20 6f 72 20 66 6f 6c 6c 6f 77 69 6e  ding or followin
10a40 67 20 74 68 65 20 3c 62 3e 64 65 6c 69 6d 69 74  g the <b>delimit
10a50 65 72 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 63  er</b> will be c
10a60 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20  onsidered to be 
10a70 69 6e 74 65 67 72 61 6c 20 70 61 72 74 20 6f 66  integral part of
10a80 20 74 68 65 20 76 61 6c 75 65 20 69 74 73 65 6c   the value itsel
10a90 66 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 77 69 6c  f.<br>..This wil
10aa0 6c 20 68 61 76 65 20 6e 6f 20 61 64 76 65 72 73  l have no advers
10ab0 65 20 63 6f 6e 73 65 71 75 65 6e 63 65 73 20 69  e consequences i
10ac0 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 69 6e  n the case of in
10ad0 74 65 67 65 72 20 76 61 6c 75 65 73 2c 20 62 75  teger values, bu
10ae0 74 20 63 61 6e 20 65 61 73 69 6c 79 20 68 61 76  t can easily hav
10af0 65 20 63 61 74 61 73 74 72 6f 70 68 69 63 20 65  e catastrophic e
10b00 66 66 65 63 74 73 20 6f 6e 20 61 6c 70 68 61 6e  ffects on alphan
10b10 75 6d 65 72 69 63 20 76 61 6c 75 65 73 2e 0d 0a  umeric values...
10b20 3c 68 33 3e 44 65 66 69 6e 69 6e 67 20 61 20 63  <h3>Defining a c
10b30 75 73 74 6f 6d 20 64 65 6c 69 6d 69 74 65 72 3c  ustom delimiter<
10b40 2f 68 33 3e 0d 0a 53 6f 6d 65 74 69 6d 65 73 20  /h3>..Sometimes 
10b50 69 74 20 63 6f 75 6c 64 20 62 65 20 75 73 65 66  it could be usef
10b60 75 6c 20 73 65 74 74 69 6e 67 20 75 70 20 61 20  ul setting up a 
10b70 64 65 6c 69 6d 69 74 65 72 20 6f 74 68 65 72 20  delimiter other 
10b80 74 68 61 6e 20 61 20 3c 62 3e 63 6f 6d 6d 61 3c  than a <b>comma<
10b90 2f 62 3e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  /b>...<verbatim>
10ba0 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20  ..UPDATE byfoot 
10bb0 53 45 54 20 44 65 6c 69 6d 69 74 65 72 20 3d 20  SET Delimiter = 
10bc0 27 2a 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 44  '*';....SELECT D
10bd0 65 6c 69 6d 69 74 65 72 20 46 52 4f 4d 20 62 79  elimiter FROM by
10be0 66 6f 6f 74 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  foot;..---------
10bf0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65  ---------..* [de
10c00 63 3d 34 32 2c 20 68 65 78 3d 32 61 5d 0d 0a 3c  c=42, hex=2a]..<
10c10 2f 76 65 72 62 61 74 69 6d 3e 20 0d 0a 59 6f 75  /verbatim> ..You
10c20 20 73 69 6d 70 6c 79 20 68 61 76 65 20 74 6f 20   simply have to 
10c30 65 78 65 63 75 74 65 20 61 6e 20 3c 62 3e 55 50  execute an <b>UP
10c40 44 41 54 45 3c 2f 62 3e 20 73 74 61 74 65 6d 65  DATE</b> stateme
10c50 6e 74 20 62 79 20 73 70 65 63 69 66 79 69 6e 67  nt by specifying
10c60 20 74 68 65 20 6e 65 77 20 64 65 6c 69 6d 69 74   the new delimit
10c70 65 72 20 76 61 6c 75 65 2e 3c 62 72 3e 3c 62 72  er value.<br><br
10c80 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74  >..</td></tr></t
10c90 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  able>..<br><br>.
10ca0 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c  .<hr><br>..<h1><
10cb0 61 20 6e 61 6d 65 3d 22 69 73 6f 63 68 72 6f 6e  a name="isochron
10cc0 65 22 3e 36 20 2d 20 53 6f 6c 76 69 6e 67 20 49  e">6 - Solving I
10cd0 73 6f 63 68 72 6f 6e 65 20 70 72 6f 62 6c 65 6d  sochrone problem
10ce0 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 3c 61 20 68  s</a></h1>..<a h
10cf0 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e  ref="https://en.
10d00 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69  wikipedia.org/wi
10d10 6b 69 2f 49 73 6f 63 68 72 6f 6e 65 5f 6d 61 70  ki/Isochrone_map
10d20 22 3e 49 73 6f 63 68 72 6f 6e 65 73 3c 2f 61 3e  ">Isochrones</a>
10d30 20 61 72 65 20 61 72 65 61 73 20 28 6f 72 20 63   are areas (or c
10d40 75 72 76 65 73 29 20 63 6f 6e 6e 65 63 74 69 6e  urves) connectin
10d50 67 20 70 6f 69 6e 74 73 20 61 74 20 77 68 69 63  g points at whic
10d60 68 20 73 6f 6d 65 74 68 69 6e 67 20 6f 63 63 75  h something occu
10d70 72 73 20 6f 72 20 61 72 72 69 76 65 73 20 61 74  rs or arrives at
10d80 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c   the same time.<
10d90 62 72 3e 0d 0a 49 73 6f 63 68 72 6f 6e 65 73 20  br>..Isochrones 
10da0 61 72 65 20 75 73 75 61 6c 6c 79 20 72 65 6c 61  are usually rela
10db0 74 65 64 20 74 6f 20 4e 65 74 77 6f 72 6b 20 41  ted to Network A
10dc0 6e 61 6c 79 73 69 73 20 61 6e 64 20 52 6f 75 74  nalysis and Rout
10dd0 69 6e 67 20 62 65 63 61 75 73 65 20 74 68 65 79  ing because they
10de0 20 61 6c 6c 6f 77 20 74 6f 20 65 61 73 69 6c 79   allow to easily
10df0 20 69 64 65 6e 74 69 66 79 20 77 68 69 63 68 20   identify which 
10e00 73 70 65 63 69 66 69 63 20 70 6f 72 74 69 6f 6e  specific portion
10e10 20 6f 66 20 74 68 65 20 4e 65 74 77 6f 72 6b 20   of the Network 
10e20 63 61 6e 20 62 65 20 72 65 61 63 68 65 64 20 73  can be reached s
10e30 74 61 72 74 69 6e 67 20 62 79 20 73 6f 6d 65 20  tarting by some 
10e40 3c 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f  <b>origin Node</
10e50 62 3e 20 73 70 65 6e 64 69 6e 67 20 6e 6f 20 6d  b> spending no m
10e60 6f 72 65 20 74 68 61 6e 20 61 20 67 69 76 65 6e  ore than a given
10e70 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 62 72   <b>Cost</b>.<br
10e80 3e 3c 62 72 3e 0d 0a 41 73 20 79 6f 75 20 68 61  ><br>..As you ha
10e90 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20  ve already seen 
10ea0 61 62 6f 75 74 20 3c 62 3e 6d 75 6c 74 69 2d 64  about <b>multi-d
10eb0 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71  estination</b> q
10ec0 75 65 72 69 65 73 2c 20 74 68 65 20 44 69 6a 6b  ueries, the Dijk
10ed0 73 74 72 61 27 73 20 41 6c 67 6f 72 69 74 68 6d  stra's Algorithm
10ee0 20 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72 65   robustly ensure
10ef0 73 20 74 68 61 74 20 77 68 65 6e 20 61 20 64 65  s that when a de
10f00 73 74 69 6e 61 74 69 6f 6e 20 69 73 20 72 65 61  stination is rea
10f10 63 68 65 64 20 61 6c 6c 20 74 68 65 20 64 65 73  ched all the des
10f20 74 69 6e 61 74 69 6f 6e 73 20 70 72 65 73 65 6e  tinations presen
10f30 74 69 6e 67 20 61 20 3c 62 3e 6c 65 73 73 65 72  ting a <b>lesser
10f40 20 63 6f 73 74 3c 2f 62 3e 20 68 61 76 65 20 61   cost</b> have a
10f50 6c 72 65 61 64 79 20 62 65 65 6e 20 72 65 61 63  lready been reac
10f60 68 65 64 20 69 6e 20 73 6f 6d 65 20 70 72 65 76  hed in some prev
10f70 69 6f 75 73 20 73 74 65 70 20 6f 66 20 74 68 65  ious step of the
10f80 20 70 72 6f 63 65 73 73 2e 3c 62 72 3e 0d 0a 54   process.<br>..T
10f90 68 69 73 20 61 6c 6c 6f 77 73 20 74 6f 20 65 66  his allows to ef
10fa0 66 69 63 69 65 6e 74 6c 79 20 73 75 70 70 6f 72  ficiently suppor
10fb0 74 20 3c 62 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f  t <b>Isochrone</
10fc0 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a 59 6f 75  b> queries...You
10fd0 20 73 69 6d 70 6c 79 20 68 61 76 65 20 74 6f 20   simply have to 
10fe0 73 70 65 63 69 66 79 20 61 20 3c 62 3e 73 69 6e  specify a <b>sin
10ff0 67 6c 65 20 6f 72 69 67 69 6e 20 4e 6f 64 65 3c  gle origin Node<
11000 2f 62 3e 20 61 6e 64 20 61 20 3c 62 3e 43 6f 73  /b> and a <b>Cos
11010 74 20 74 68 72 65 73 68 6f 6c 64 3c 2f 62 3e 2e  t threshold</b>.
11020 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  <br><br>..<u>Not
11030 65 3c 2f 75 3e 3a 20 65 78 65 63 75 74 69 6e 67  e</u>: executing
11040 20 61 6e 20 49 73 6f 63 68 72 6f 6e 65 20 71 75   an Isochrone qu
11050 65 72 79 20 72 65 71 75 69 72 65 73 20 61 20 3c  ery requires a <
11060 62 3e 70 72 6f 63 65 73 73 69 6e 67 20 74 69 6d  b>processing tim
11070 65 3c 2f 62 3e 20 74 68 61 74 20 69 73 6e 27 74  e</b> that isn't
11080 20 74 68 65 20 3c 75 3e 73 75 6d 20 6f 66 20 61   the <u>sum of a
11090 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 74 69  ll individual ti
110a0 6d 69 6e 67 73 20 66 6f 72 20 65 61 63 68 20 64  mings for each d
110b0 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c 20  estination</u>, 
110c0 62 75 74 20 73 69 6d 70 6c 79 20 69 73 20 74 68  but simply is th
110d0 65 20 3c 75 3e 74 69 6d 65 20 72 65 71 75 69 72  e <u>time requir
110e0 65 64 20 74 6f 20 72 65 61 63 68 20 74 68 65 20  ed to reach the 
110f0 6d 6f 73 74 20 63 6f 73 74 6c 79 20 64 65 73 74  most costly dest
11100 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2e 3c 62 72 3e  ination</u>.<br>
11110 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45  ..<verbatim>..SE
11120 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20  LECT Algorithm, 
11130 52 65 71 75 65 73 74 2c 20 52 6f 6c 65 2c 20 4e  Request, Role, N
11140 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
11150 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 0d   Cost, Geometry.
11160 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
11170 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
11180 38 31 39 39 39 20 41 4e 44 20 43 6f 73 74 20 3c  81999 AND Cost <
11190 3d 20 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72  = 1000.0;..</ver
111a0 62 61 74 69 6d 3e 0d 0a 41 6e 20 3c 62 3e 49 73  batim>..An <b>Is
111b0 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72  ochrone</b> quer
111c0 79 20 61 73 20 73 75 70 70 6f 72 74 65 64 20 62  y as supported b
111d0 79 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74  y <b>VirtualRout
111e0 69 6e 67 3c 2f 62 3e 20 6a 75 73 74 20 72 65 71  ing</b> just req
111f0 75 69 72 65 73 20 74 6f 20 73 70 65 63 69 66 79  uires to specify
11200 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
11210 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 3a 20 74 68  NodeFrom</b>: th
11220 65 20 3c 62 3e 3c 69 3e 49 44 3c 2f 69 3e 3c 2f  e <b><i>ID</i></
11230 62 3e 20 6f 72 20 3c 62 3e 3c 69 3e 43 6f 64 65  b> or <b><i>Code
11240 3c 2f 69 3e 3c 2f 62 3e 20 75 6e 69 71 75 65 6c  </i></b> uniquel
11250 79 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68  y identifying th
11260 65 20 3c 62 3e 6f 72 69 67 69 6e 20 4e 6f 64 65  e <b>origin Node
11270 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </b>.</li>..<li>
11280 3c 62 3e 43 6f 73 74 3c 2f 62 3e 3a 20 74 68 65  <b>Cost</b>: the
11290 20 6d 61 78 69 6d 75 6d 20 3c 62 3e 43 6f 73 74   maximum <b>Cost
112a0 20 74 68 72 65 73 68 6f 6c 64 3c 2f 62 3e 20 6e   threshold</b> n
112b0 6f 74 20 74 6f 20 62 65 20 65 78 63 65 65 64 65  ot to be exceede
112c0 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  d.<br>..<u>Note<
112d0 2f 75 3e 3a 20 61 6e 79 20 76 61 6c 69 64 20 49  /u>: any valid I
112e0 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 20 3c  sochrone query <
112f0 62 3e 6d 75 73 74 3c 2f 62 3e 20 6e 65 63 65 73  b>must</b> neces
11300 73 61 72 69 6c 79 20 73 70 65 63 69 66 79 20 61  sarily specify a
11310 20 3c 62 3e 3c 3d 3c 2f 62 3e 20 28 3c 75 3e 3c   <b><=</b> (<u><
11320 69 3e 6c 65 73 73 65 72 20 74 68 61 6e 20 6f 72  i>lesser than or
11330 20 65 71 75 61 6c 20 74 6f 3c 2f 69 3e 3c 2f 75   equal to</i></u
11340 3e 29 20 63 6f 6d 70 61 72 69 73 6f 6e 20 6f 70  >) comparison op
11350 65 72 61 74 6f 72 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  erator.</li>..</
11360 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 66  ul>..<br>..The f
11370 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73  ollowing table s
11380 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73  hows the results
11390 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74  et returned by t
113a0 68 65 20 61 62 6f 76 65 20 49 73 6f 63 68 72 6f  he above Isochro
113b0 6e 65 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c  ne query...<br><
113c0 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64  br>..<table bord
113d0 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22  er="1" bgcolor="
113e0 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61  #ffffcf" cellspa
113f0 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64  cing="4" cellpad
11400 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c  ding="6">..<tr><
11410 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
11420 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f  0a0">Algorithm</
11430 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
11440 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73 74  #d0d0a0">Request
11450 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
11460 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
11470 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
11480 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72  "#d0d0a0">NodeFr
11490 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  om</th><th bgcol
114a0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
114b0 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  eTo</th><th bgco
114c0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f  lor="#d0d0a0">Co
114d0 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
114e0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f  or="#d0d0a0">Geo
114f0 6d 65 74 72 79 3c 2f 74 68 3e 3c 2f 74 72 3e 0d  metry</th></tr>.
11500 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  .<tr>..<tr>..<td
11510 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74  >Dijkstra</td><t
11520 64 3e 49 73 6f 63 68 72 6f 6e 65 3c 2f 74 64 3e  d>Isochrone</td>
11530 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64  <td>Solution</td
11540 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
11550 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
11560 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
11570 31 37 38 37 31 37 3c 2f 74 64 3e 3c 74 64 20 61  178717</td><td a
11580 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 37 32  lign="right">572
11590 2e 34 35 35 31 34 33 3c 2f 74 64 3e 3c 74 64 3e  .455143</td><td>
115a0 42 4c 4f 42 20 73 7a 3d 36 30 20 47 45 4f 4d 45  BLOB sz=60 GEOME
115b0 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  TRY</td>..</tr>.
115c0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
115d0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
115e0 3e 3c 74 64 3e 53 6f 6c 75 74 69 6f 6e 3c 74 64  ><td>Solution<td
115f0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
11600 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
11610 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
11620 31 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  18</td><td align
11630 3d 22 72 69 67 68 74 22 3e 35 38 37 2e 33 30 33  ="right">587.303
11640 37 37 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  779</td><td>BLOB
11650 20 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c   sz=60 GEOMETRY<
11660 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
11670 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65  >..<td align="ce
11680 6e 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d 22 37  nter" colspan="7
11690 22 3e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 3c  ">.............<
116a0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
116b0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
116c0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
116d0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 53   align="right">S
116e0 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20  olution</td><td 
116f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
11700 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
11710 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33  gn="right">18403
11720 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
11730 22 72 69 67 68 74 22 3e 35 37 39 2e 37 38 36 37  "right">579.7867
11740 32 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  24</td><td>BLOB 
11750 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f  sz=60 GEOMETRY</
11760 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
11770 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
11780 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
11790 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64  Solution</td><td
117a0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
117b0 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
117c0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30  ign="right">1840
117d0 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  36</td><td align
117e0 3d 22 72 69 67 68 74 22 3e 36 34 32 2e 36 39 31  ="right">642.691
117f0 35 39 37 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  597</td><td>BLOB
11800 20 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c   sz=60 GEOMETRY<
11810 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74  /td>..</tr>..</t
11820 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74  able>..<br>..Let
11830 27 73 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69  's quickly exami
11840 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  ne the resultset
11850 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
11860 20 61 62 6f 76 65 20 3c 62 3e 69 73 6f 63 68 72   above <b>isochr
11870 6f 6e 65 3c 2f 62 3e 20 71 75 65 72 79 2e 0d 0a  one</b> query...
11880 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  <ul>..<li>the <b
11890 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f  >first row</b> o
118a0 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  f the resultset 
118b0 69 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65 70  is someway excep
118c0 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74  tional, and is t
118d0 68 65 20 75 6e 69 71 75 65 20 72 6f 77 20 6f 66  he unique row of
118e0 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 70   the resultset p
118f0 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54  resenting <b>NOT
11900 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73   NULL</b> values
11910 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72   in the <b>Algor
11920 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71  ithm</b>, <b>Req
11930 75 65 73 74 3c 2f 62 3e 2c 20 3c 2f 62 3e 4f 70  uest</b>, </b>Op
11940 74 69 6f 6e 73 3c 2f 62 3e 20 28 61 6e 64 20 3c  tions</b> (and <
11950 2f 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e  /b>Delimiter</b>
11960 29 20 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d  ) columns.</li>.
11970 0a 3c 6c 69 3e 61 6c 6c 20 72 6f 77 73 20 28 69  .<li>all rows (i
11980 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 66 69 72  ncluding the fir
11990 73 74 20 6f 6e 65 29 20 68 61 76 65 20 3c 62 3e  st one) have <b>
119a0 52 6f 6c 65 20 3d 20 53 6f 6c 75 74 69 6f 6e 3c  Role = Solution<
119b0 2f 62 3e 2c 20 61 6e 64 20 72 65 70 72 65 73 65  /b>, and represe
119c0 6e 74 20 61 20 73 69 6e 67 6c 65 20 63 6f 6e 6e  nt a single conn
119d0 65 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 3c  ection between <
119e0 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61  b>NodeFrom</b> a
119f0 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e  nd <b>NodeTo</b>
11a00 2c 20 77 69 74 68 20 74 68 65 20 63 6f 72 72 65  , with the corre
11a10 73 70 6f 6e 64 69 6e 67 20 3c 62 3e 43 6f 73 74  sponding <b>Cost
11a20 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </b>.</li>..<li>
11a30 74 68 65 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c  the <b>Geometry<
11a40 2f 62 3e 20 63 6f 6c 75 6d 6e 20 61 6c 77 61 79  /b> column alway
11a50 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f  s corresponds to
11a60 20 74 68 65 20 3c 62 3e 32 44 20 50 6f 69 6e 74   the <b>2D Point
11a70 3c 2f 62 3e 20 77 68 65 72 65 20 3c 62 3e 4e 6f  </b> where <b>No
11a80 64 65 54 6f 3c 2f 62 3e 20 69 73 20 6c 6f 63 61  deTo</b> is loca
11a90 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ted.</li>..</ul>
11aa0 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  ..<br>..<u>Note<
11ab0 2f 75 3e 3a 20 3c 62 3e 69 73 6f 63 68 72 6f 6e  /u>: <b>isochron
11ac0 65 3c 2f 62 3e 20 71 75 65 72 69 65 73 20 61 72  e</b> queries ar
11ad0 65 20 6e 6f 74 20 61 66 66 65 63 74 65 64 20 62  e not affected b
11ae0 79 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 20 6f  y configurable o
11af0 70 74 69 6f 6e 73 2e 0d 0a 3c 62 3e 41 6c 67 6f  ptions...<b>Algo
11b00 72 69 74 68 6d 3c 2f 62 3e 20 77 69 6c 6c 20 62  rithm</b> will b
11b10 65 20 61 6c 77 61 79 73 20 61 73 73 75 6d 65 64  e always assumed
11b20 20 74 6f 20 62 65 20 3c 62 3e 44 69 6a 73 6b 74   to be <b>Dijskt
11b30 72 61 3c 2f 62 3e 2c 20 61 6e 64 20 74 68 65 20  ra</b>, and the 
11b40 63 75 72 72 65 6e 74 20 3c 62 3e 4f 70 74 69 6f  current <b>Optio
11b50 6e 73 3c 2f 62 3e 20 73 65 74 74 69 6e 67 73 20  ns</b> settings 
11b60 77 69 6c 6c 20 62 65 20 73 69 6d 70 6c 79 20 69  will be simply i
11b70 67 6e 6f 72 65 64 2e 0d 0a 3c 76 65 72 62 61 74  gnored...<verbat
11b80 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 43  im>..SELECT ST_C
11b90 6f 6e 63 61 76 65 48 75 6c 6c 28 53 54 5f 43 6f  oncaveHull(ST_Co
11ba0 6c 6c 65 63 74 28 47 65 6f 6d 65 74 72 79 29 29  llect(Geometry))
11bb0 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
11bc0 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20  HERE NodeFrom = 
11bd0 31 38 31 39 39 39 20 41 4e 44 20 43 6f 73 74 20  181999 AND Cost 
11be0 3c 3d 20 31 30 30 30 2e 30 3b 0d 0a 3c 2f 76 65  <= 1000.0;..</ve
11bf0 72 62 61 74 69 6d 3e 0d 0a 41 6e 79 20 69 73 6f  rbatim>..Any iso
11c00 63 68 72 6f 6e 65 20 71 75 65 72 79 20 77 69 6c  chrone query wil
11c10 6c 20 6a 75 73 74 20 72 65 74 75 72 6e 20 61 20  l just return a 
11c20 50 6f 69 6e 74 2d 73 65 74 3b 20 69 66 20 79 6f  Point-set; if yo
11c30 75 20 65 76 65 6e 74 75 61 6c 6c 79 20 77 69 73  u eventually wis
11c40 68 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20  h to obtain the 
11c50 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 61 72  corresponding ar
11c60 65 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69  eal representati
11c70 6f 6e 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65  on you just have
11c80 20 74 6f 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 43   to call <b>ST_C
11c90 6f 6c 6c 65 63 74 28 29 3c 2f 62 3e 20 69 6e 20  ollect()</b> in 
11ca0 6f 72 64 65 72 20 74 6f 20 67 65 74 20 61 20 6d  order to get a m
11cb0 6f 6e 6f 6c 69 74 68 69 63 20 4d 75 6c 74 69 50  onolithic MultiP
11cc0 6f 69 6e 74 2c 20 74 68 65 6e 20 63 61 6c 6c 69  oint, then calli
11cd0 6e 67 20 3c 62 3e 53 54 5f 43 6f 6e 63 61 76 65  ng <b>ST_Concave
11ce0 48 75 6c 6c 28 29 3c 2f 62 3e 20 69 6e 20 6f 72  Hull()</b> in or
11cf0 64 65 72 20 74 6f 20 67 65 74 20 61 20 50 6f 6c  der to get a Pol
11d00 79 67 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c  ygon...<br><br><
11d10 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65 6c  br>..The map bel
11d20 6f 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73  ow graphically s
11d30 68 6f 77 73 20 74 68 65 20 70 72 65 76 69 6f 75  hows the previou
11d40 73 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f  s <b>isochrone</
11d50 62 3e 20 71 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c  b> query...<br><
11d60 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68  br>..<img src="h
11d70 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
11d80 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73  gis.it/gaia-sins
11d90 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 69 73  /routing-figs/is
11da0 6f 63 68 72 6f 6e 65 2e 6a 70 67 22 20 61 6c 74  ochrone.jpg" alt
11db0 3d 22 69 73 6f 63 68 72 6f 6e 65 22 3e 0d 0a 3c  ="isochrone">..<
11dc0 75 6c 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20  ul>..<li>Yellow 
11dd0 73 74 61 72 3a 20 74 68 65 20 4f 72 69 67 69 6e  star: the Origin
11de0 20 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   Node.</li>..<li
11df0 3e 42 6c 75 65 20 64 6f 74 73 3a 20 61 6c 6c 20  >Blue dots: all 
11e00 44 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64 65  Destination Node
11e10 73 20 77 69 74 68 69 6e 20 74 68 65 20 67 69 76  s within the giv
11e20 65 6e 20 43 6f 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c  en Cost.</li>..<
11e30 6c 69 3e 57 68 69 74 65 20 6c 69 6e 65 3a 20 74  li>White line: t
11e40 68 65 20 62 6f 75 6e 64 61 72 79 20 6f 66 20 74  he boundary of t
11e50 68 65 20 49 73 6f 63 68 72 6f 6e 65 2e 20 0d 0a  he Isochrone. ..
11e60 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
11e70 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63   bgcolor="#c0ffc
11e80 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  0" cellspacing="
11e90 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  10" cellpadding=
11ea0 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 62  "6"><tr><td>..<b
11eb0 72 3e 3c 62 72 3e 0d 0a 3c 75 3e 3c 62 3e 4e 6f  r><br>..<u><b>No
11ec0 74 65 3c 2f 62 3e 3c 2f 75 3e 3a 20 69 74 20 74  te</b></u>: it t
11ed0 68 69 73 20 65 78 61 6d 70 6c 65 20 79 6f 75 27  his example you'
11ee0 76 65 20 75 73 65 64 20 74 68 65 20 3c 62 3e 62  ve used the <b>b
11ef0 79 66 6f 6f 74 3c 2f 62 3e 20 4e 65 74 77 6f 72  yfoot</b> Networ
11f00 6b 2c 20 74 68 61 74 20 69 73 20 62 61 73 65 64  k, that is based
11f10 20 6f 6e 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e   on <b>Costs</b>
11f20 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62   expressed in <b
11f30 3e 6d 65 74 65 72 73 3c 2f 62 3e 20 28 67 65 6f  >meters</b> (geo
11f40 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 20 6f 66  metric length of
11f50 20 65 61 63 68 20 4c 69 6e 6b 29 2e 3c 62 72 3e   each Link).<br>
11f60 0d 0a 54 68 69 73 20 4e 65 74 77 6f 72 6b 20 69  ..This Network i
11f70 73 20 6d 61 69 6e 6c 79 20 69 6e 74 65 6e 64 65  s mainly intende
11f80 64 20 66 6f 72 20 3c 62 3e 70 65 64 65 73 74 72  d for <b>pedestr
11f90 69 61 6e 73 3c 2f 62 3e 2c 20 73 6f 20 77 65 20  ians</b>, so we 
11fa0 63 61 6e 20 73 61 66 65 6c 79 20 61 73 73 75 6d  can safely assum
11fb0 65 20 61 20 3c 75 3e 3c 69 3e 63 6f 6e 73 74 61  e a <u><i>consta
11fc0 6e 74 20 73 70 65 65 64 3c 2f 69 3e 3c 2f 75 3e  nt speed</i></u>
11fd0 20 6f 66 20 61 62 6f 75 74 20 3c 62 3e 34 3c 2f   of about <b>4</
11fe0 62 3e 20 74 6f 20 3c 62 3e 36 20 6b 6d 2f 68 3c  b> to <b>6 km/h<
11ff0 2f 62 3e 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75  /b>, and consequ
12000 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 49 73 6f  ently the <b>Iso
12010 63 68 72 6f 6e 65 3c 2f 62 3e 20 65 66 66 65 63  chrone</b> effec
12020 74 69 76 65 6c 79 20 72 65 73 70 65 63 74 73 20  tively respects 
12030 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 74  the <u><i>same t
12040 69 6d 65 3c 2f 69 3e 3c 2f 75 3e 20 72 65 71 75  ime</i></u> requ
12050 69 73 69 74 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  isite.<br><br>..
12060 53 70 65 61 6b 69 6e 67 20 69 6e 20 6d 6f 72 65  Speaking in more
12070 20 67 65 6e 65 72 61 6c 20 74 65 72 6d 73 2c 20   general terms, 
12080 61 6e 20 49 73 6f 63 68 72 6f 6e 65 20 63 61 6e  an Isochrone can
12090 20 62 65 20 69 6e 74 65 6e 64 65 64 20 61 73 20   be intended as 
120a0 61 20 67 65 6e 65 72 69 63 20 73 79 6e 6f 6e 79  a generic synony
120b0 6d 20 66 6f 72 20 3c 75 3e 3c 69 3e 73 61 6d 65  m for <u><i>same
120c0 20 43 6f 73 74 3c 2f 69 3e 3c 2f 75 3e 2c 20 65   Cost</i></u>, e
120d0 76 65 6e 20 77 68 65 6e 20 74 68 65 72 65 20 69  ven when there i
120e0 73 20 6e 6f 20 6f 62 76 69 6f 75 73 20 63 6f 6e  s no obvious con
120f0 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 3c 62 3e  nection with <b>
12100 54 69 6d 65 2e 3c 2f 62 3e 2e 3c 62 72 3e 3c 62  Time.</b>.<br><b
12110 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f  r>..</td></tr></
12120 74 61 62 6c 65 3e 0d 0a 3c 68 72 3e 3c 62 72 3e  table>..<hr><br>
12130 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 74  ..<h1><a name="t
12140 73 70 22 3e 37 20 2d 20 53 6f 6c 76 69 6e 67 20  sp">7 - Solving 
12150 54 53 50 20 28 74 72 61 76 65 6c 69 6e 67 20 73  TSP (traveling s
12160 61 6c 65 73 6d 61 6e 29 20 70 72 6f 62 6c 65 6d  alesman) problem
12170 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 3c 62 3e 54  s</a></h1>..<b>T
12180 53 50 3c 2f 62 3e 20 28 3c 61 20 68 72 65 66 3d  SP</b> (<a href=
12190 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69  "https://en.wiki
121a0 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 54  pedia.org/wiki/T
121b0 72 61 76 65 6c 6c 69 6e 67 5f 73 61 6c 65 73 6d  ravelling_salesm
121c0 61 6e 5f 70 72 6f 62 6c 65 6d 22 3e 54 72 61 76  an_problem">Trav
121d0 65 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50  eling Salesman P
121e0 72 6f 62 6c 65 6d 3c 2f 61 3e 29 20 69 73 20 61  roblem</a>) is a
121f0 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 4f 70 65 72   well known Oper
12200 61 74 69 6f 6e 73 20 52 65 73 65 61 72 63 68 20  ations Research 
12210 70 72 6f 62 6c 65 6d 2e 0d 0a 3c 62 72 3e 3c 62  problem...<br><b
12220 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c  r>..<table bgcol
12230 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c  or="#c0ffc0" cel
12240 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65  lspacing="10" ce
12250 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74  llpadding="6"><t
12260 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 54 68 65 20  r><td>..<h3>The 
12270 54 72 61 76 65 6c 69 6e 67 20 53 61 6c 65 73 6d  Traveling Salesm
12280 61 6e 20 50 72 6f 62 6c 65 6d 3c 2f 68 33 3e 0d  an Problem</h3>.
12290 0a 3c 62 3e 3c 69 3e 47 69 76 65 6e 20 61 20 6c  .<b><i>Given a l
122a0 69 73 74 20 6f 66 20 63 69 74 69 65 73 20 61 6e  ist of cities an
122b0 64 20 74 68 65 20 64 69 73 74 61 6e 63 65 73 20  d the distances 
122c0 62 65 74 77 65 65 6e 20 65 61 63 68 20 70 61 69  between each pai
122d0 72 20 6f 66 20 63 69 74 69 65 73 2c 20 77 68 61  r of cities, wha
122e0 74 20 69 73 20 74 68 65 20 73 68 6f 72 74 65 73  t is the shortes
122f0 74 20 70 6f 73 73 69 62 6c 65 20 72 6f 75 74 65  t possible route
12300 20 74 68 61 74 20 76 69 73 69 74 73 20 65 61 63   that visits eac
12310 68 20 63 69 74 79 20 61 6e 64 20 72 65 74 75 72  h city and retur
12320 6e 73 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e  ns to the origin
12330 20 63 69 74 79 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d   city ?</i></b>.
12340 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e  .<br><br>..</td>
12350 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  </tr></table>..<
12360 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3a 3c 2f 75  br>..<u>Note:</u
12370 3e 20 74 68 65 20 74 65 72 6d 73 20 3c 69 3e 3c  > the terms <i><
12380 75 3e 73 61 6c 65 73 6d 61 6e 3c 2f 75 3e 3c 2f  u>salesman</u></
12390 69 3e 20 61 6e 64 20 3c 69 3e 3c 75 3e 63 69 74  i> and <i><u>cit
123a0 79 3c 2f 75 3e 3c 2f 69 3e 20 61 72 65 20 75 6e  y</u></i> are un
123b0 69 76 65 72 73 61 6c 6c 79 20 75 73 65 64 20 66  iversally used f
123c0 6f 72 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65  or historical re
123d0 61 73 6f 6e 73 2c 20 62 75 74 20 79 6f 75 20 73  asons, but you s
123e0 68 6f 75 6c 64 20 61 76 6f 69 64 20 74 6f 20 6c  hould avoid to l
123f0 69 74 65 72 61 6c 6c 79 20 69 6e 74 65 6e 64 20  iterally intend 
12400 62 6f 74 68 20 74 68 65 6d 2e 3c 62 72 3e 0d 0a  both them.<br>..
12410 54 68 65 20 74 65 72 6d 20 3c 75 3e 3c 69 3e 73  The term <u><i>s
12420 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20  alesman</i></u> 
12430 69 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63  in this specific
12440 20 63 6f 6e 74 65 78 74 20 69 6e 74 65 6e 64 73   context intends
12450 20 61 6e 79 20 70 6f 73 73 69 62 6c 65 20 6b 69   any possible ki
12460 6e 64 20 6f 66 20 3c 75 3e 3c 69 3e 6d 6f 76 69  nd of <u><i>movi
12470 6e 67 20 61 67 65 6e 74 3c 2f 69 3e 3c 2f 75 3e  ng agent</i></u>
12480 20 28 70 65 64 65 73 74 72 69 61 6e 2c 20 76 65   (pedestrian, ve
12490 68 69 63 6c 65 2c 20 70 61 73 73 65 6e 67 65 72  hicle, passenger
124a0 20 6f 72 20 77 68 61 74 65 76 65 72 20 65 6c 73   or whatever els
124b0 65 29 2c 20 65 78 61 63 74 6c 79 20 61 73 20 3c  e), exactly as <
124c0 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69  i><u>city</u></i
124d0 3e 20 73 69 6d 70 6c 79 20 73 74 61 6e 64 73 20  > simply stands 
124e0 66 6f 72 20 61 6e 79 20 3c 69 3e 3c 75 3e 67 65  for any <i><u>ge
124f0 6e 65 72 69 63 20 64 65 73 74 69 6e 61 74 69 6f  neric destinatio
12500 6e 3c 2f 75 3e 3c 2f 69 3e 20 6f 6e 20 61 20 67  n</u></i> on a g
12510 69 76 65 6e 20 4e 65 74 77 6f 72 6b 2e 0d 0a 3c  iven Network...<
12520 62 72 3e 3c 62 72 3e 0d 0a 57 65 20 63 61 6e 20  br><br>..We can 
12530 63 6f 6e 63 65 70 74 75 61 6c 79 20 73 70 6c 69  conceptualy spli
12540 74 20 54 50 53 20 69 6e 20 74 77 6f 20 68 61 6c  t TPS in two hal
12550 76 65 73 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e  ves:..<ol>..<li>
12560 63 6f 6d 70 75 74 69 6e 67 20 61 6c 6c 20 64 69  computing all di
12570 73 74 61 6e 63 65 73 20 62 65 74 77 65 65 6e 20  stances between 
12580 70 61 69 72 73 20 6f 66 20 3c 69 3e 63 69 74 69  pairs of <i>citi
12590 65 73 3c 2f 69 3e 2e 20 54 68 69 73 20 69 73 20  es</i>. This is 
125a0 61 20 74 79 70 69 63 61 6c 20 3c 62 3e 53 68 6f  a typical <b>Sho
125b0 72 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 70 72  rtestPath</b> pr
125c0 6f 62 6c 65 6d 2c 20 61 6e 64 20 77 65 20 63 61  oblem, and we ca
125d0 6e 20 64 75 6c 79 20 75 73 65 20 74 68 65 20 44  n duly use the D
125e0 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72 69  ijkstra's algori
125f0 74 68 6d 20 66 6f 72 20 74 68 69 73 2e 3c 2f 6c  thm for this.</l
12600 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 77 65 20  i>..<li>then we 
12610 68 61 76 65 20 74 6f 20 63 68 65 63 6b 20 61 6c  have to check al
12620 6c 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 70 65  l possible <b>pe
12630 72 6d 75 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 2f  rmutations</b> /
12640 20 3c 62 3e 63 6f 6d 62 69 6e 61 74 69 6f 6e 73   <b>combinations
12650 3c 2f 62 3e 20 73 6f 20 74 6f 20 69 64 65 6e 74  </b> so to ident
12660 69 66 79 20 74 68 65 20 6f 70 74 69 6d 61 6c 20  ify the optimal 
12670 54 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c  TSP solution.</l
12680 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 55 6e 68 61 70  i>..</ol>..Unhap
12690 70 69 6c 79 20 74 68 65 72 65 20 69 73 20 61 20  pily there is a 
126a0 70 72 61 63 74 69 63 61 6c 20 64 69 66 66 69 63  practical diffic
126b0 75 6c 74 79 20 69 6e 20 73 75 63 68 20 61 20 73  ulty in such a s
126c0 74 72 61 69 67 68 74 20 61 70 70 72 6f 61 63 68  traight approach
126d0 3b 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20  ; the number of 
126e0 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 77 69 6c  combinations wil
126f0 6c 20 67 72 6f 77 20 65 78 74 72 65 6d 65 6c 79  l grow extremely
12700 20 66 61 73 74 20 61 73 20 74 68 65 20 6e 75 6d   fast as the num
12710 62 65 72 20 6f 66 20 3c 62 3e 3c 69 3e 63 69 74  ber of <b><i>cit
12720 69 65 73 3c 2f 69 3e 3c 2f 62 3e 20 69 6e 63 72  ies</i></b> incr
12730 65 61 73 65 73 2e 3c 62 72 3e 0d 0a 53 69 6d 70  eases.<br>..Simp
12740 6c 79 20 63 6f 6d 70 75 74 69 6e 67 20 74 68 65  ly computing the
12750 20 63 6f 6d 70 6c 65 74 65 20 54 53 50 20 73 6f   complete TSP so
12760 6c 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74  lution for about
12770 20 74 65 6e 20 63 69 74 69 65 73 20 77 69 6c 6c   ten cities will
12780 20 72 65 71 75 69 72 65 20 61 20 3c 62 3e 76 65   require a <b>ve
12790 72 79 20 6c 6f 6e 67 20 74 69 6d 65 3c 2f 62 3e  ry long time</b>
127a0 20 65 76 65 6e 20 75 73 69 6e 67 20 61 20 73 75   even using a su
127b0 70 65 72 63 6f 6d 70 75 74 65 72 2e 3c 62 72 3e  percomputer.<br>
127c0 0d 0a 41 6e 64 20 61 74 74 65 6d 70 74 69 6e 67  ..And attempting
127d0 20 74 6f 20 63 6f 6d 70 75 74 65 20 61 20 54 53   to compute a TS
127e0 50 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 61  P solution for a
127f0 62 6f 75 74 20 68 75 6e 64 72 65 64 20 63 69 74  bout hundred cit
12800 69 65 73 20 77 69 6c 6c 20 72 65 71 75 69 72 65  ies will require
12810 20 61 20 3c 62 3e 70 72 61 63 74 69 63 61 6c 6c   a <b>practicall
12820 79 20 69 6e 66 69 6e 69 74 65 3c 2f 62 3e 20 74  y infinite</b> t
12830 69 6d 65 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ime...<br><br>..
12840 48 6f 77 65 76 65 72 20 73 6f 6c 76 69 6e 67 20  However solving 
12850 54 53 50 20 69 73 20 68 69 67 68 6c 79 20 64 65  TSP is highly de
12860 73 69 72 61 62 6c 65 20 69 6e 20 6d 61 6e 79 20  sirable in many 
12870 61 70 70 6c 69 63 61 74 69 6f 6e 20 66 69 65 6c  application fiel
12880 64 73 3a 20 3c 62 3e 6c 6f 67 69 73 74 69 63 73  ds: <b>logistics
12890 3c 2f 62 3e 20 28 6a 75 73 74 20 74 68 69 6e 6b  </b> (just think
128a0 20 61 62 6f 75 74 20 63 6f 75 72 69 65 72 20 63   about courier c
128b0 6f 6d 70 61 6e 69 65 73 20 61 73 20 44 48 4c 2c  ompanies as DHL,
128c0 20 46 65 64 45 58 2c 20 55 50 53 20 6f 72 20 54   FedEX, UPS or T
128d0 4e 54 29 2c 20 3c 62 3e 66 69 65 6c 64 20 6d 61  NT), <b>field ma
128e0 69 6e 74 65 6e 61 6e 63 65 3c 2f 62 3e 20 2f 20  intenance</b> / 
128f0 3c 62 3e 61 73 73 69 73 74 61 6e 63 65 3c 2f 62  <b>assistance</b
12900 3e 2c 20 3c 62 3e 77 61 73 74 65 20 63 6f 6c 6c  >, <b>waste coll
12910 65 63 74 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e 73  ection</b>, <b>s
12920 63 68 6f 6f 6c 62 75 73 3c 2f 62 3e 20 2f 20 3c  choolbus</b> / <
12930 62 3e 73 68 61 72 65 64 20 74 61 78 69 20 73 65  b>shared taxi se
12940 72 76 69 63 65 73 3c 2f 62 3e 20 65 74 63 2e 3c  rvices</b> etc.<
12950 62 72 3e 0d 0a 4d 61 6e 79 20 61 6c 67 6f 72 69  br>..Many algori
12960 74 68 6d 73 20 68 61 76 65 20 62 65 65 6e 20 69  thms have been i
12970 6e 76 65 6e 74 65 64 20 64 75 72 69 6e 67 20 6c  nvented during l
12980 61 73 74 20 64 65 63 61 64 65 73 20 69 6e 74 65  ast decades inte
12990 6e 64 65 64 20 74 6f 20 70 72 6f 64 75 63 65 20  nded to produce 
129a0 70 72 61 63 74 69 63 61 6c 20 61 6c 74 68 6f 75  practical althou
129b0 67 68 20 61 70 70 72 6f 78 69 6d 61 74 65 20 2f  gh approximate /
129c0 20 69 6d 70 65 72 66 65 63 74 20 54 53 50 20 73   imperfect TSP s
129d0 6f 6c 75 74 69 6f 6e 73 20 69 6e 20 61 20 72 65  olutions in a re
129e0 61 73 6f 6e 61 62 6c 79 20 73 68 6f 72 74 20 74  asonably short t
129f0 69 6d 65 2e 0d 0a 4d 61 6e 79 20 6f 66 20 74 68  ime...Many of th
12a00 65 6d 20 73 74 72 6f 6e 67 6c 79 20 64 65 70 65  em strongly depe
12a10 6e 64 20 6f 6e 20 3c 61 20 68 72 65 66 3d 22 68  nd on <a href="h
12a20 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65  ttps://en.wikipe
12a30 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 48 65 75  dia.org/wiki/Heu
12a40 72 69 73 74 69 63 22 3e 68 65 75 72 69 73 74 69  ristic">heuristi
12a50 63 3c 2f 61 3e 20 61 6e 64 20 2f 20 6f 72 20 3c  c</a> and / or <
12a60 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
12a70 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67  en.wikipedia.org
12a80 2f 77 69 6b 69 2f 52 61 6e 64 6f 6d 6e 65 73 73  /wiki/Randomness
12a90 22 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f 61 3e  ">randomness</a>
12aa0 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e  ...<br><br>..<b>
12ab0 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f  VirtualRouting</
12ac0 62 3e 20 73 75 70 70 6f 72 74 73 20 74 77 6f 20  b> supports two 
12ad0 64 69 66 66 65 72 65 6e 74 20 54 53 50 20 61 6c  different TSP al
12ae0 67 6f 72 69 74 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d  gorithms:..<ul>.
12af0 0a 3c 6c 69 3e 3c 62 3e 54 53 50 20 4e 4e 3c 2f  .<li><b>TSP NN</
12b00 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c  b> (<i>aka</i> <
12b10 62 3e 3c 69 3e 4e 65 61 72 65 73 74 20 4e 65 69  b><i>Nearest Nei
12b20 67 68 62 6f 75 72 3c 2f 69 3e 3c 2f 62 3e 29 3c  ghbour</i></b>)<
12b30 62 72 3e 0d 0a 54 68 69 73 20 3c 61 20 68 72 65  br>..This <a hre
12b40 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69  f="https://en.wi
12b50 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69  kipedia.org/wiki
12b60 2f 4e 65 61 72 65 73 74 5f 6e 65 69 67 68 62 6f  /Nearest_neighbo
12b70 75 72 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 66 69  ur_algorithm">fi
12b80 72 73 74 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61  rst algorithm</a
12b90 3e 20 69 73 20 73 74 72 61 69 67 68 74 66 6f 72  > is straightfor
12ba0 77 61 72 64 20 73 69 6d 70 6c 65 20 61 6e 64 20  ward simple and 
12bb0 76 65 72 79 20 66 61 73 74 3b 20 69 74 20 63 61  very fast; it ca
12bc0 6e 20 65 66 66 65 63 74 69 76 65 6c 79 20 73 6f  n effectively so
12bd0 6c 76 65 20 68 75 67 65 20 54 53 50 20 73 6f 6c  lve huge TSP sol
12be0 75 74 69 6f 6e 73 20 28 74 68 6f 75 73 61 6e 64  utions (thousand
12bf0 20 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 20 6f   <i>cities</i> o
12c00 72 20 65 76 65 6e 20 6d 6f 72 65 29 20 69 6e 20  r even more) in 
12c10 61 20 76 65 72 79 20 73 68 6f 72 74 20 74 69 6d  a very short tim
12c20 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72 74  e.<br>..<u>Short
12c30 20 64 65 73 63 72 69 70 74 69 6f 6e 3c 2f 75 3e   description</u>
12c40 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 73 74 61  :..<ul>..<li>sta
12c50 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 3c  rting from the <
12c60 75 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f  u><i>base city</
12c70 69 3e 3c 2f 75 3e 20 74 68 65 20 3c 75 3e 3c 69  i></u> the <u><i
12c80 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75  >salesman</i></u
12c90 3e 20 67 6f 65 73 20 74 6f 20 74 68 65 20 3c 75  > goes to the <u
12ca0 3e 3c 69 3e 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e  ><i>city</i></u>
12cb0 20 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20   presenting the 
12cc0 3c 69 3e 3c 75 3e 6c 65 73 73 65 72 20 63 6f 6e  <i><u>lesser con
12cd0 6e 65 63 74 69 6f 6e 20 63 6f 73 74 3c 2f 75 3e  nection cost</u>
12ce0 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </i>.</li>..<li>
12cf0 74 68 65 20 61 6c 72 65 61 64 79 20 76 69 73 69  the already visi
12d00 74 65 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f  ted <i><u>city</
12d10 75 3e 3c 2f 69 3e 20 69 73 20 63 61 6e 63 65 6c  u></i> is cancel
12d20 6c 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 69 73  led from the lis
12d30 74 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20  t, and then the 
12d40 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f  <u><i>salesman</
12d50 69 3e 3c 2f 75 3e 20 67 6f 65 73 20 74 6f 20 74  i></u> goes to t
12d60 68 65 20 6e 65 78 74 20 3c 75 3e 3c 69 3e 63 69  he next <u><i>ci
12d70 74 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65  ty</i></u> prese
12d80 6e 74 69 6e 67 20 74 68 65 20 3c 69 3e 3c 75 3e  nting the <i><u>
12d90 6c 65 73 73 65 72 20 63 6f 6e 6e 65 63 74 69 6f  lesser connectio
12da0 6e 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c  n cost</u></i>.<
12db0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 63 79  /li>..<li>the cy
12dc0 63 6c 65 20 63 6f 6e 74 69 6e 75 65 73 20 75 6e  cle continues un
12dd0 74 69 6c 20 61 6c 6c 20 20 3c 69 3e 3c 75 3e 63  til all  <i><u>c
12de0 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 69 6e  ities</u></i> in
12df0 20 74 68 65 20 6c 69 73 74 20 68 61 76 65 20 62   the list have b
12e00 65 65 6e 20 76 69 73 69 74 65 64 2e 3c 2f 6c 69  een visited.</li
12e10 3e 0d 0a 3c 6c 69 3e 66 69 6e 61 6c 6c 79 2c 20  >..<li>finally, 
12e20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d  the <u><i>salesm
12e30 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 72 65 74 75 72  an</i></u> retur
12e40 6e 73 20 74 6f 20 68 69 73 2f 68 65 72 20 69 6e  ns to his/her in
12e50 69 74 69 61 6c 20 3c 75 3e 3c 69 3e 62 61 73 65  itial <u><i>base
12e60 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c   city</i></u></l
12e70 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f  i>..</ul>..<u>No
12e80 74 65 3c 2f 75 3e 20 69 74 27 73 20 76 65 72 79  te</u> it's very
12e90 20 75 6e 6c 69 6b 65 20 74 68 61 74 20 54 53 50   unlike that TSP
12ea0 20 4e 4e 20 63 6f 75 6c 64 20 66 69 6e 64 20 74   NN could find t
12eb0 68 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c 2f 62  he <b>optimal</b
12ec0 3e 20 73 6f 6c 75 74 69 6f 6e 2c 20 62 75 74 20  > solution, but 
12ed0 69 74 20 63 61 6e 20 71 75 69 63 6b 6c 79 20 66  it can quickly f
12ee0 69 6e 64 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61  ind some reasona
12ef0 62 6c 65 20 3c 62 3e 61 70 70 72 6f 78 69 6d 61  ble <b>approxima
12f00 74 65 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20  te</b> solution 
12f10 28 3c 69 3e 66 65 77 20 69 73 20 73 75 72 65 6c  (<i>few is surel
12f20 79 20 62 65 74 74 65 72 20 74 68 61 6e 20 6e 6f  y better than no
12f30 74 68 69 6e 67 3c 2f 69 3e 29 2e 3c 62 72 3e 0d  thing</i>).<br>.
12f40 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 75 6e 6c  .In the most unl
12f50 75 63 6b 79 20 63 61 73 65 20 54 53 50 20 4e 4e  ucky case TSP NN
12f60 20 63 6f 75 6c 64 20 70 6f 73 73 69 62 6c 79 20   could possibly 
12f70 72 65 74 75 72 6e 20 74 68 65 20 3c 62 3e 77 6f  return the <b>wo
12f80 72 73 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e  rst solution</b>
12f90 2c 20 62 75 74 20 74 68 65 20 73 70 65 63 69 66  , but the specif
12fa0 69 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ic implementatio
12fb0 6e 20 61 64 6f 70 74 65 64 20 62 79 20 56 69 72  n adopted by Vir
12fc0 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 68 65 63  tualRouting chec
12fd0 6b 73 20 61 67 61 69 6e 73 74 20 74 68 69 73 20  ks against this 
12fe0 70 6f 73 73 69 62 69 6c 69 74 79 3a 0d 0a 3c 75  possibility:..<u
12ff0 6c 3e 0d 0a 3c 6c 69 3e 65 61 63 68 20 54 53 50  l>..<li>each TSP
13000 20 4e 4e 20 69 73 20 61 6c 77 61 79 73 20 63 6f   NN is always co
13010 6d 70 75 74 65 64 20 74 77 69 63 65 20 62 79 20  mputed twice by 
13020 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e  randomly choosin
13030 67 20 61 20 64 69 66 66 65 72 65 6e 74 20 3c 75  g a different <u
13040 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69  ><i>base city</i
13050 3e 3c 2f 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e  ></u> and then n
13060 6f 72 6d 61 6c 69 7a 69 6e 67 20 74 68 65 20 73  ormalizing the s
13070 6f 6c 75 74 69 6f 6e 3b 20 74 68 65 20 62 65 73  olution; the bes
13080 74 20 6f 66 20 74 68 65 20 74 77 6f 20 73 6f 6c  t of the two sol
13090 75 74 69 6f 6e 73 20 69 73 20 74 68 65 6e 20 72  utions is then r
130a0 65 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c  eturned.</li>..<
130b0 6c 69 3e 74 68 69 73 20 73 69 6d 70 6c 65 20 62  li>this simple b
130c0 75 74 20 65 66 66 65 63 74 69 76 65 20 70 72 65  ut effective pre
130d0 63 61 75 74 69 6f 6e 20 72 6f 62 75 73 74 6c 79  caution robustly
130e0 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 74 68   ensures that th
130f0 65 20 3c 62 3e 77 6f 72 73 74 20 73 6f 6c 75 74  e <b>worst solut
13100 69 6f 6e 3c 2f 62 3e 20 77 69 6c 6c 20 6e 65 76  ion</b> will nev
13110 65 72 20 62 65 20 72 65 74 75 72 6e 65 64 2c 20  er be returned, 
13120 61 6e 64 20 6a 75 73 74 20 69 6d 70 6c 69 65 73  and just implies
13130 20 61 20 6d 6f 64 65 72 61 74 65 6c 79 20 69 6e   a moderately in
13140 63 72 65 61 73 65 64 20 65 78 65 63 75 74 69 6f  creased executio
13150 6e 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  n time.</li>..</
13160 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  ul></li>..<li><b
13170 3e 54 53 50 20 47 41 3c 2f 62 3e 20 28 3c 69 3e  >TSP GA</b> (<i>
13180 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c 69 3e 47 65  aka</i> <b><i>Ge
13190 6e 65 74 69 63 20 41 6c 67 6f 72 69 74 68 6d 3c  netic Algorithm<
131a0 2f 69 3e 3c 2f 62 3e 29 2e 3c 62 72 3e 0d 0a 54  /i></b>).<br>..T
131b0 68 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74  his <a href="htt
131c0 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69  ps://en.wikipedi
131d0 61 2e 6f 72 67 2f 77 69 6b 69 2f 47 65 6e 65 74  a.org/wiki/Genet
131e0 69 63 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 61 6c  ic_algorithm">al
131f0 74 65 72 6e 61 74 69 76 65 20 61 6c 67 6f 72 69  ternative algori
13200 74 68 6d 3c 2f 61 3e 20 69 73 20 6d 75 63 68 20  thm</a> is much 
13210 6d 6f 72 65 20 63 6f 6d 70 6c 65 78 20 61 6e 64  more complex and
13220 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 2c 20   sophisticated, 
13230 61 6e 64 20 69 73 20 64 69 72 65 63 74 6c 79 20  and is directly 
13240 69 6e 73 70 69 72 65 64 20 62 79 20 62 69 6f 6c  inspired by biol
13250 6f 67 69 63 61 6c 20 63 6f 6e 63 65 70 74 73 20  ogical concepts 
13260 73 75 63 68 20 61 73 20 3c 62 3e 73 65 78 75 61  such as <b>sexua
13270 6c 20 72 65 70 72 6f 64 75 63 74 69 6f 6e 3c 2f  l reproduction</
13280 62 3e 2c 20 3c 62 3e 67 65 6e 65 74 69 63 20 6d  b>, <b>genetic m
13290 75 74 61 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64  utations</b> and
132a0 20 3c 62 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65   <b>natural sele
132b0 63 74 69 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  ction</b>.<br>..
132c0 3c 75 3e 53 68 6f 72 74 20 64 65 73 63 72 69 70  <u>Short descrip
132d0 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d  tion</u>:..<ul>.
132e0 0a 3c 6c 69 3e 61 20 66 69 72 73 74 20 69 6e 69  .<li>a first ini
132f0 74 69 61 6c 20 73 65 74 20 6f 66 20 73 6f 6c 75  tial set of solu
13300 74 69 6f 6e 73 20 28 3c 69 3e 3c 75 3e 74 68 65  tions (<i><u>the
13310 20 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f 75 3e 3c   population</u><
13320 2f 69 3e 29 20 69 73 20 63 72 65 61 74 65 64 20  /i>) is created 
13330 62 79 20 75 73 69 6e 67 20 54 53 50 20 4e 4e 20  by using TSP NN 
13340 61 66 74 65 72 20 72 61 6e 64 6f 6d 6c 79 20 63  after randomly c
13350 68 6f 6f 73 69 6e 67 20 74 68 65 20 3c 75 3e 3c  hoosing the <u><
13360 69 3e 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c  i>base city</i><
13370 2f 75 3e 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72  /u> and then nor
13380 6d 61 6c 69 7a 69 6e 67 20 65 61 63 68 20 73 6f  malizing each so
13390 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  lution.</li>..<l
133a0 69 3e 74 68 65 6e 20 64 75 72 69 6e 67 20 65 61  i>then during ea
133b0 63 68 20 73 74 65 70 20 6f 66 20 74 68 65 20 65  ch step of the e
133c0 78 65 63 75 74 69 6f 6e 20 6c 6f 6f 70 20 28 3c  xecution loop (<
133d0 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e 3c  i><u>generation<
133e0 2f 75 3e 3c 2f 69 3e 29 20 70 61 69 72 73 20 6f  /u></i>) pairs o
133f0 66 20 73 6f 6c 75 74 69 6f 6e 73 20 3c 69 3e 3c  f solutions <i><
13400 75 3e 73 65 78 75 61 6c 6c 79 20 72 65 70 72 6f  u>sexually repro
13410 64 75 63 65 73 3c 2f 69 3e 3c 2f 75 3e 20 67 69  duces</i></u> gi
13420 76 69 6e 67 20 62 69 72 74 68 20 74 6f 20 3c 75  ving birth to <u
13430 3e 3c 69 3e 63 68 69 6c 64 72 65 6e 20 73 6f 6c  ><i>children sol
13440 75 74 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 3b 20  utions</i></u>; 
13450 72 65 70 72 6f 64 75 63 74 69 6f 6e 20 69 73 20  reproduction is 
13460 73 75 62 6a 65 63 74 20 74 6f 20 3c 75 3e 3c 69  subject to <u><i
13470 3e 63 68 72 6f 6d 6f 73 6f 6d 65 20 63 72 6f 73  >chromosome cros
13480 73 6f 76 65 72 73 3c 2f 69 3e 3c 2f 75 3e 20 61  sovers</i></u> a
13490 6e 64 20 3c 69 3e 3c 75 3e 72 61 6e 64 6f 6d 20  nd <i><u>random 
134a0 6d 75 74 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e  mutation</u></i>
134b0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 66 6f 72 20  .</li>..<li>for 
134c0 65 61 63 68 20 3c 69 3e 3c 75 3e 67 65 6e 65 72  each <i><u>gener
134d0 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 74 68  ation</u></i> th
134e0 65 20 3c 69 3e 3c 75 3e 6e 61 74 75 72 61 6c 20  e <i><u>natural 
134f0 73 65 6c 65 63 74 69 6f 6e 3c 2f 75 3e 3c 2f 69  selection</u></i
13500 3e 20 65 6c 69 6d 69 6e 61 74 65 73 20 61 6c 6c  > eliminates all
13510 20 70 6f 6f 72 6c 79 20 66 69 74 20 69 6e 64 69   poorly fit indi
13520 76 69 64 75 61 6c 73 20 66 72 6f 6d 20 74 68 65  viduals from the
13530 20 3c 75 3e 3c 69 3e 70 6f 70 75 6c 61 74 69 6f   <u><i>populatio
13540 6e 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 63 6f  n</i></u> and co
13550 6e 73 65 71 75 65 6e 74 6c 79 20 6f 6e 6c 79 20  nsequently only 
13560 74 68 65 20 62 65 73 74 20 66 69 74 20 69 6e 64  the best fit ind
13570 69 76 69 64 75 61 6c 73 20 63 61 6e 20 66 75 72  ividuals can fur
13580 74 68 65 72 20 70 72 6f 70 61 67 61 74 65 20 74  ther propagate t
13590 68 65 69 72 20 3c 75 3e 3c 69 3e 67 65 6e 6f 6d  heir <u><i>genom
135a0 65 3c 2f 69 3e 3c 2f 75 3e 20 74 6f 20 74 68 65  e</i></u> to the
135b0 20 6e 65 78 74 20 3c 75 3e 3c 69 3e 67 65 6e 65   next <u><i>gene
135c0 72 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c  ration</i></u>.<
135d0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 66 74 65 72 20  /li>..<li>after 
135e0 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72  a certain number
135f0 20 6f 66 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 61   of <i><u>genera
13600 74 69 6f 6e 73 3c 2f 69 3e 3c 2f 75 3e 20 28 6c  tions</i></u> (l
13610 65 74 27 73 20 73 61 79 20 61 62 6f 75 74 20 73  et's say about s
13620 6f 6d 65 20 68 75 6e 64 72 65 64 74 68 20 69 74  ome hundredth it
13630 65 72 61 74 69 6f 6e 73 29 20 74 68 65 20 3c 62  erations) the <b
13640 3e 6f 70 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f  >optimal solutio
13650 6e 3c 2f 62 3e 20 28 6f 72 20 61 74 20 6c 65 61  n</b> (or at lea
13660 73 74 20 61 20 3c 62 3e 66 61 69 72 6c 79 20 67  st a <b>fairly g
13670 6f 6f 64 20 73 75 62 2d 6f 70 74 69 6d 61 6c 20  ood sub-optimal 
13680 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 29 20 73 68  solution</b>) sh
13690 6f 75 6c 64 20 66 69 6e 61 6c 6c 79 20 65 6d 65  ould finally eme
136a0 72 67 65 2c 20 61 6e 64 20 73 6f 20 74 68 65 20  rge, and so the 
136b0 6c 6f 6f 70 20 63 61 6e 20 65 78 69 74 2e 3c 2f  loop can exit.</
136c0 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
136d0 0a 3c 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  .<li><u>Note</u>
136e0 3a 20 54 53 50 20 47 41 20 69 73 20 75 73 75 61  : TSP GA is usua
136f0 6c 6c 79 20 65 78 70 65 63 74 65 64 20 74 6f 20  lly expected to 
13700 69 64 65 6e 74 69 66 79 20 62 65 74 74 65 72 20  identify better 
13710 73 6f 6c 75 74 69 6f 6e 73 20 74 68 61 6e 20 54  solutions than T
13720 53 50 20 4e 4e 20 63 61 6e 20 64 6f 2c 20 62 75  SP NN can do, bu
13730 74 20 69 74 20 77 69 6c 6c 20 73 75 72 65 6c 79  t it will surely
13740 20 72 65 71 75 69 72 65 20 6d 75 63 68 20 6d 6f   require much mo
13750 72 65 20 74 69 6d 65 20 74 6f 20 63 6f 6d 70 6c  re time to compl
13760 65 74 65 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c  ete.</li> ..</ul
13770 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74  >..<br><br>..Let
13780 27 73 20 6e 6f 77 20 65 78 61 6d 69 6e 65 20 61  's now examine a
13790 20 70 72 61 63 74 69 63 61 6c 20 65 78 61 6d 70   practical examp
137a0 6c 65 20 6f 66 20 54 53 50 20 73 6f 6c 76 69 6e  le of TSP solvin
137b0 67 20 75 73 69 6e 67 20 56 69 72 74 75 61 6c 52  g using VirtualR
137c0 6f 75 74 69 6e 67 2e 20 0d 0a 3c 76 65 72 62 61  outing. ..<verba
137d0 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66  tim>..UPDATE byf
137e0 6f 6f 74 20 53 45 54 20 52 65 71 75 65 73 74 20  oot SET Request 
137f0 3d 20 27 54 53 50 27 3b 0d 0a 0d 0a 53 45 4c 45  = 'TSP';....SELE
13800 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65  CT Algorithm, Re
13810 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20  quest, Options, 
13820 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65  Delimiter, Route
13830 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  Id, RouteRow, Ro
13840 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
13850 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
13860 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
13870 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f   Name..FROM byfo
13880 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72  ot..WHERE NodeFr
13890 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20  om = 178731 AND 
138a0 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36  NodeTo = '183286
138b0 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c 31  ,181999,184030,1
138c0 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a  83882,178754';..
138d0 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 20 56  </verbatim>..A V
138e0 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 3c 62  irtualRouting <b
138f0 3e 54 53 50 3c 2f 62 3e 20 71 75 65 72 79 20 68  >TSP</b> query h
13900 61 73 20 74 68 65 20 73 61 6d 65 20 69 64 65 6e  as the same iden
13910 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66 20 61 20  tical form of a 
13920 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61  <b>multi-destina
13930 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 79 3b 20  tion</b> query; 
13940 74 68 65 20 3c 69 3e 3c 75 3e 62 61 73 65 20 63  the <i><u>base c
13950 69 74 79 3c 75 3e 3c 2f 69 3e 20 69 73 20 61 6c  ity<u></i> is al
13960 77 61 79 73 20 65 78 70 65 63 74 65 64 20 74 6f  ways expected to
13970 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 3c   correspond to <
13980 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61  b>NodeFrom</b> a
13990 6e 64 20 61 6c 6c 20 6f 74 68 65 72 20 3c 69 3e  nd all other <i>
139a0 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69  <u>cities</u></i
139b0 3e 20 74 6f 20 62 65 20 76 69 73 69 74 65 64 20  > to be visited 
139c0 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20  are expected to 
139d0 62 65 20 65 6e 75 6d 65 72 61 74 65 64 20 69 6e  be enumerated in
139e0 74 6f 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65  to a <b>multi-de
139f0 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 6c 69  stination</b> li
13a00 73 74 20 61 73 73 69 67 6e 65 64 20 74 6f 20 3c  st assigned to <
13a10 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c  b>NodeTo</b>...<
13a20 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 79 6f 75 20  u>Note</u>: you 
13a30 6d 75 73 74 20 65 78 70 6c 69 63 69 74 6c 79 20  must explicitly 
13a40 73 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20  set the current 
13a50 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 61  <b>Request</b> a
13a60 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 2c 20 3c 62  s <b>TSP</b>, <b
13a70 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 6f 72 20 3c  >TSP NN</b> or <
13a80 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 28 54 53  b>TSP GA</b> (TS
13a90 50 20 61 6e 64 20 54 53 50 20 4e 4e 20 61 72 65  P and TSP NN are
13aa0 20 73 79 6e 6f 6e 79 6d 73 29 2e 0d 0a 3c 62 72   synonyms)...<br
13ab0 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  ><br>..<table bo
13ac0 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
13ad0 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
13ae0 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
13af0 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
13b00 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
13b10 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d  0d0a0">Algorithm
13b20 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
13b30 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65  ="#d0d0a0">Reque
13b40 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
13b50 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74  or="#d0d0a0">Opt
13b60 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ions</th><th bgc
13b70 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44  olor="#d0d0a0">D
13b80 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68  elimiter</th><th
13b90 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
13ba0 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c  0">RouteId</th><
13bb0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
13bc0 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74  0a0">RouteRow</t
13bd0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
13be0 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68  d0d0a0">Role</th
13bf0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
13c00 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64  0d0a0">LinkRowid
13c10 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
13c20 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46  ="#d0d0a0">NodeF
13c30 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  rom</th><th bgco
13c40 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
13c50 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63  deTo</th><th bgc
13c60 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43  olor="#d0d0a0">C
13c70 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ost</th><th bgco
13c80 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65  lor="#d0d0a0">Ge
13c90 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62  ometry</th><th b
13ca0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
13cb0 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d  >Name</th></tr>.
13cc0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73  .<tr>..<td>Dijks
13cd0 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20  tra</td><td>TSP 
13ce0 4e 4e 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c  NN</td><td>Full<
13cf0 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64  /td><td>, &#91;d
13d00 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39  ec=44, hex=2c&#9
13d10 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  3;</td><td align
13d20 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
13d30 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13d40 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53  >0</td><td>TSP S
13d50 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e  olution</td><td>
13d60 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
13d70 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
13d80 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
13d90 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
13da0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13db0 67 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33 33  ght">1254.433933
13dc0 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
13dd0 3d 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f  =2000 GEOMETRY</
13de0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
13df0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
13e00 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
13e10 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
13e20 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74  L</td><td>NULL<t
13e30 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13e40 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
13e50 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
13e60 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
13e70 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
13e80 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
13e90 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
13ea0 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f  "right">184030</
13eb0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13ec0 67 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c  ght">176.364755<
13ed0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
13ee0 33 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  304 GEOMETRY</td
13ef0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
13f00 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
13f10 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
13f20 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
13f30 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13f40 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13f50 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">2</td><td ali
13f60 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
13f70 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
13f80 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13f90 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224014</td><td a
13fa0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
13fb0 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
13fc0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
13fd0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
13fe0 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34  right">94.812424
13ff0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14000 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f  d><td>VIA PIETRO
14010 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c   ARETINO</td>..<
14020 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 72 3e  /tr>..<tr>..<tr>
14030 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
14040 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14050 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14060 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
14070 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
14080 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14090 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
140a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
140b0 67 68 74 22 3e 32 32 34 38 36 32 3c 2f 74 64 3e  ght">224862</td>
140c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
140d0 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
140e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
140f0 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  82043</td><td al
14100 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 2e 30  ign="right">37.0
14110 39 35 32 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  95287</td><td>NU
14120 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
14130 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d  ARGARITONE</td>.
14140 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
14150 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14160 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14170 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14180 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14190 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">2</td><td al
141a0 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
141b0 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
141c0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
141d0 3e 32 32 36 30 37 30 3c 2f 74 64 3e 3c 74 64 20  >226070</td><td 
141e0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
141f0 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2043</td><td ali
14200 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33  gn="right">18403
14210 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
14220 22 72 69 67 68 74 22 3e 34 34 2e 34 35 37 30 34  "right">44.45704
14230 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
14240 74 64 3e 3c 74 64 3e 50 49 41 5a 5a 41 20 53 41  td><td>PIAZZA SA
14250 4e 54 27 41 47 4f 53 54 49 4e 4f 3c 2f 74 64 3e  NT'AGOSTINO</td>
14260 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
14270 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14280 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14290 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
142a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
142b0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61  ght">2</td><td a
142c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
142d0 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
142e0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
142f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14300 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61  184030</td><td a
14310 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
14320 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  999</td><td alig
14330 6e 3d 22 72 69 67 68 74 22 3e 31 33 39 2e 31 31  n="right">139.11
14340 34 39 33 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  4938</td><td>BLO
14350 42 20 73 7a 3d 34 39 36 20 47 45 4f 4d 45 54 52  B sz=496 GEOMETR
14360 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
14370 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
14380 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
14390 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
143a0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
143b0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
143c0 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
143d0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
143e0 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
143f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14400 67 68 74 22 3e 32 32 36 30 37 31 3c 2f 74 64 3e  ght">226071</td>
14410 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14420 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64  ">184030</td><td
14430 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14440 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  82629</td><td al
14450 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 35 2e 36  ign="right">55.6
14460 38 39 30 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55  89009</td><td>NU
14470 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 47  LL</td><td>VIA G
14480 49 55 53 45 50 50 45 20 47 41 52 49 42 41 4c 44  IUSEPPE GARIBALD
14490 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
144a0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
144b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
144c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
144d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
144e0 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
144f0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14500 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
14510 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
14520 22 72 69 67 68 74 22 3e 32 32 35 35 31 32 3c 2f  "right">225512</
14530 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14540 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e  ght">182629</td>
14550 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14560 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64  ">182933</td><td
14570 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
14580 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64  4.184194</td><td
14590 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f  >NULL</td><td>CO
145a0 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d  RSO ITALIA</td>.
145b0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
145c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
145d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
145e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
145f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14600 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">3</td><td al
14610 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
14620 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
14630 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14640 3e 32 32 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20  >225511</td><td 
14650 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14660 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2933</td><td ali
14670 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39  gn="right">18199
14680 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
14690 22 72 69 67 68 74 22 3e 34 39 2e 32 34 31 37 33  "right">49.24173
146a0 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  5</td><td>NULL</
146b0 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41  td><td>CORSO ITA
146c0 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LIA</td>..</tr>.
146d0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
146e0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
146f0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14700 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
14710 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
14720 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14730 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
14740 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
14750 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
14760 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
14770 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14780 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
14790 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
147a0 22 3e 32 31 37 2e 36 37 32 38 38 35 3c 2f 74 64  ">217.672885</td
147b0 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 38  ><td>BLOB sz=688
147c0 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
147d0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
147e0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
147f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14800 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14810 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14820 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14830 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
14840 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
14850 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
14860 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32  lign="right">222
14870 36 33 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  635</td><td alig
14880 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
14890 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
148a0 72 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f 74  right">181998</t
148b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
148c0 68 74 22 3e 31 30 31 2e 36 32 39 37 35 30 3c 2f  ht">101.629750</
148d0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
148e0 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41  <td>CORSO ITALIA
148f0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14900 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14910 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14920 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14930 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
14940 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e  n="right">4</td>
14950 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14960 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
14970 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14980 72 69 67 68 74 22 3e 32 32 34 37 38 30 3c 2f 74  right">224780</t
14990 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
149a0 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c  ht">181998</td><
149b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
149c0 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20  >183560</td><td 
149d0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 33  align="right">73
149e0 2e 37 33 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e  .733572</td><td>
149f0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
14a00 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f   DELL'ANFITEATRO
14a10 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
14a20 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
14a30 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14a40 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
14a50 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  ULL<td align="ri
14a60 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61  ght">4</td><td a
14a70 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
14a80 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
14a90 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14aa0 22 3e 32 32 35 38 32 37 3c 2f 74 64 3e 3c 74 64  ">225827</td><td
14ab0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14ac0 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  83560</td><td al
14ad0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
14ae0 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
14af0 3d 22 72 69 67 68 74 22 3e 34 32 2e 33 30 39 35  ="right">42.3095
14b00 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  64</td><td>NULL<
14b10 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c  /td><td>VIA DELL
14b20 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e  'ANFITEATRO</td>
14b30 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
14b40 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14b50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14b60 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14b70 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14b80 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61  ght">4</td><td a
14b90 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
14ba0 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
14bb0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14bc0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14bd0 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
14be0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
14bf0 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  754</td><td alig
14c00 6e 3d 22 72 69 67 68 74 22 3e 33 37 38 2e 33 31  n="right">378.31
14c10 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  3684</td><td>BLO
14c20 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52  B sz=272 GEOMETR
14c30 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
14c40 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
14c50 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
14c60 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14c70 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14c80 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
14c90 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
14ca0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14cb0 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
14cc0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14cd0 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64 3e  ght">224414</td>
14ce0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14cf0 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
14d00 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14d10 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  78880</td><td al
14d20 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36 2e  ign="right">136.
14d30 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e  372057</td><td>N
14d40 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
14d50 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
14d60 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
14d70 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14d80 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14d90 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14da0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14db0 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61  ght">5</td><td a
14dc0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
14dd0 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
14de0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14df0 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64  ">219171</td><td
14e00 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14e10 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  78880</td><td al
14e20 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
14e30 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  32</td><td align
14e40 3d 22 72 69 67 68 74 22 3e 39 33 2e 32 38 35 35  ="right">93.2855
14e50 33 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  38</td><td>NULL<
14e60 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e  /td><td>VIA FRAN
14e70 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64  CESCO CRISPI</td
14e80 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
14e90 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14ea0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14eb0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14ec0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14ed0 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20  ight">5</td><td 
14ee0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
14ef0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
14f00 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14f10 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74  t">219058</td><t
14f20 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14f30 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61  178732</td><td a
14f40 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
14f50 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  754</td><td alig
14f60 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36 35  n="right">148.65
14f70 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  6089</td><td>NUL
14f80 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
14f90 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
14fa0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
14fb0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
14fc0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14fd0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
14fe0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
14ff0 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74  "right">5</td><t
15000 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15010 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
15020 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15030 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15040 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74  t">178754</td><t
15050 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15060 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61  183882</td><td a
15070 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 38  lign="right">188
15080 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e  .216831</td><td>
15090 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d  BLOB sz=400 GEOM
150a0 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
150b0 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
150c0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
150d0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
150e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
150f0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
15100 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64  gn="right">6</td
15110 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15120 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">1</td><td>Lin
15130 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
15140 22 72 69 67 68 74 22 3e 32 32 34 35 33 38 3c 2f  "right">224538</
15150 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15160 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e  ght">178754</td>
15170 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15180 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64  ">181972</td><td
15190 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35   align="right">5
151a0 30 2e 39 30 30 36 36 33 3c 2f 74 64 3e 3c 74 64  0.900663</td><td
151b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
151c0 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47  A ANTONIO GUADAG
151d0 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NOLI</td>..</tr>
151e0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
151f0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</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 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74  td>NULL</td>..<t
15220 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15230 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
15240 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
15250 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
15260 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
15270 35 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  537</td><td alig
15280 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37 32  n="right">181972
15290 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
152a0 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74  right">182000</t
152b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
152c0 68 74 22 3e 38 36 2e 33 30 31 30 35 31 3c 2f 74  ht">86.301051</t
152d0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
152e0 74 64 3e 56 49 41 20 44 45 4c 20 4e 49 4e 46 45  td>VIA DEL NINFE
152f0 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
15300 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
15310 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15320 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
15330 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
15340 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64  gn="right">6</td
15350 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15360 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
15370 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
15380 22 72 69 67 68 74 22 3e 32 32 35 35 32 37 3c 2f  "right">225527</
15390 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
153a0 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e  ght">182000</td>
153b0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
153c0 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64  ">183882</td><td
153d0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35   align="right">5
153e0 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64  1.015117</td><td
153f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
15400 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 49  A LICIO NENCETTI
15410 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
15420 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
15430 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15440 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
15450 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
15460 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e  n="right">6</td>
15470 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15480 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
15490 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74  e</td><td>NULL<t
154a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
154b0 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61  183882</td><td a
154c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
154d0 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
154e0 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e 37 35  n="right">154.75
154f0 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  0839</td><td>BLO
15500 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45 54 52  B sz=240 GEOMETR
15510 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
15520 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
15530 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
15540 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
15550 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
15560 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
15570 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74  "right">7</td><t
15580 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15590 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
155a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
155b0 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e  ght">225527</td>
155c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
155d0 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64  ">183882</td><td
155e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
155f0 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  82000</td><td al
15600 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30  ign="right">51.0
15610 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  15117</td><td>NU
15620 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c  LL</td><td>VIA L
15630 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74  ICIO NENCETTI</t
15640 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
15650 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
15660 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
15670 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
15680 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15690 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64  right">7</td><td
156a0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
156b0 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
156c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
156d0 68 74 22 3e 32 32 32 36 33 36 3c 2f 74 64 3e 3c  ht">222636</td><
156e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
156f0 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20  >182000</td><td 
15700 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
15710 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
15720 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 37  gn="right">103.7
15730 33 35 37 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55  35722</td><td>NU
15740 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
15750 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
15760 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  d>..</tr>..</tab
15770 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73  le>..<br>..Let's
15780 20 6e 6f 77 20 71 75 69 63 6b 6c 79 20 65 78 61   now quickly exa
15790 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73  mine the results
157a0 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 61  et returned by a
157b0 6e 79 20 54 53 50 20 71 75 65 72 79 3a 0d 0a 3c  ny TSP query:..<
157c0 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 65 6e  ul>..<li>the gen
157d0 65 72 61 6c 20 6c 61 79 6f 75 74 20 69 73 20 6d  eral layout is m
157e0 6f 72 65 20 6f 72 20 6c 65 73 73 20 74 68 65 20  ore or less the 
157f0 73 61 6d 65 20 61 73 20 79 6f 75 27 76 65 20 61  same as you've a
15800 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74  lready seen in t
15810 68 65 20 63 61 73 65 20 6f 66 20 3c 62 3e 53 68  he case of <b>Sh
15820 6f 72 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 71  ortestPath</b> q
15830 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  ueries.</li>..<l
15840 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72  i>the <b>first r
15850 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65  ow</b> of the re
15860 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d 65 77  sultset is somew
15870 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c 2c 20  ay exceptional, 
15880 61 6e 64 20 69 73 20 74 68 65 20 75 6e 69 71 75  and is the uniqu
15890 65 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73  e row of the res
158a0 75 6c 74 73 65 74 20 70 72 65 73 65 6e 74 69 6e  ultset presentin
158b0 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62  g <b>NOT NULL</b
158c0 3e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20  > values in the 
158d0 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e  <b>Algorithm</b>
158e0 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e  , <b>Request</b>
158f0 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e  , <b>Options</b>
15900 20 61 6e 64 20 3c 62 3e 44 65 6c 69 6d 69 74 65   and <b>Delimite
15910 72 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 62  r</b> columns.<b
15920 72 3e 0d 0a 49 74 20 63 6f 6e 74 61 69 6e 73 20  r>..It contains 
15930 74 68 65 20 3c 62 3e 54 53 50 20 73 6f 6c 75 74  the <b>TSP solut
15940 69 6f 6e 3c 2f 62 3e 20 61 73 20 61 20 77 68 6f  ion</b> as a who
15950 6c 65 3a 20 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f  le: column <b>Co
15960 73 74 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c 75  st</b> is the <u
15970 3e 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 75 3e 20  >total cost</u> 
15980 61 6e 64 20 63 6f 6c 75 6d 6e 20 3c 62 3e 47 65  and column <b>Ge
15990 6f 6d 65 74 72 79 3c 2f 62 3e 20 69 73 20 74 68  ometry</b> is th
159a0 65 20 3c 75 3e 6f 76 65 72 61 6c 6c 20 73 6f 6c  e <u>overall sol
159b0 75 74 69 6f 6e 20 70 61 74 68 3c 2f 75 3e 2e 3c  ution path</u>.<
159c0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e  /li>..<li>column
159d0 73 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f 62 3e  s <b>RouteId</b>
159e0 20 61 6e 64 20 3c 62 3e 52 6f 75 74 65 52 6f 77   and <b>RouteRow
159f0 3c 2f 62 3e 20 68 61 76 65 20 74 68 65 20 73 61  </b> have the sa
15a00 6d 65 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f  me interpretatio
15a10 6e 20 61 73 20 69 6e 20 3c 62 3e 6d 75 6c 74 69  n as in <b>multi
15a20 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f  -destination Sho
15a30 72 74 65 73 74 50 61 74 68 3c 2f 62 3e 20 71 75  rtestPath</b> qu
15a40 65 72 69 65 73 2c 20 62 75 74 20 69 6e 20 74 68  eries, but in th
15a50 69 73 20 73 70 65 63 69 66 69 63 20 63 61 73 65  is specific case
15a60 20 65 61 63 68 20 3c 75 3e 3c 69 3e 72 6f 75 74   each <u><i>rout
15a70 65 3c 2f 69 3e 3c 2f 75 3e 20 63 6f 72 72 65 73  e</i></u> corres
15a80 70 6f 6e 64 73 20 74 6f 20 61 20 63 6f 6e 6e 65  ponds to a conne
15a90 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 77  ction between tw
15aa0 6f 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f  o <i><u>cities</
15ab0 75 3e 3c 2f 69 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c  u></i>.<br>..All
15ac0 20 3c 69 3e 3c 75 3e 72 6f 75 74 65 73 3c 2f 75   <i><u>routes</u
15ad0 3e 3c 2f 69 3e 20 61 72 65 20 6f 72 64 65 72 20  ></i> are order 
15ae0 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74  accordingly to t
15af0 68 65 20 72 75 6e 6e 69 6e 67 20 73 65 71 75 65  he running seque
15b00 6e 63 65 20 6f 66 20 74 68 65 20 54 53 50 20 73  nce of the TSP s
15b10 6f 6c 75 74 69 6f 6e 2e 20 3c 62 3e 52 6f 75 74  olution. <b>Rout
15b20 65 49 64 3d 30 3c 2f 62 3e 20 69 64 65 6e 74 69  eId=0</b> identi
15b30 66 69 65 73 20 74 68 65 20 6f 76 65 72 61 6c 6c  fies the overall
15b40 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 2e 3c 2f   TSP solution.</
15b50 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62  li>..</ul><br><b
15b60 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  r>..<verbatim>..
15b70 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
15b80 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50  T Request = 'TSP
15b90 20 47 41 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20   GA';....SELECT 
15ba0 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65  Algorithm, Reque
15bb0 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c  st, Options, Del
15bc0 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c  imiter, RouteId,
15bd0 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
15be0 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
15bf0 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
15c00 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
15c10 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
15c20 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
15c30 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
15c40 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38  eTo = '183286,18
15c50 31 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38  1999,184030,1838
15c60 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76  82,178754';..</v
15c70 65 72 62 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75  erbatim>..If you
15c80 20 77 69 73 68 20 74 6f 20 67 65 74 20 61 20 3c   wish to get a <
15c90 62 3e 54 53 50 20 47 41 3c 2f 62 3e 20 73 6f 6c  b>TSP GA</b> sol
15ca0 75 74 69 6f 6e 20 79 6f 75 20 73 69 6d 70 6c 65  ution you simple
15cb0 20 68 61 76 65 20 74 6f 20 73 65 74 20 3c 62 3e   have to set <b>
15cc0 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c  Request</b> as <
15cd0 62 3e 54 53 50 20 47 41 3c 2f 62 3e 3b 20 61 6e  b>TSP GA</b>; an
15ce0 64 20 79 6f 75 20 63 61 6e 20 73 65 74 20 61 67  d you can set ag
15cf0 61 69 6e 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f  ain <b>Request</
15d00 62 3e 20 61 73 20 3c 62 3e 54 53 50 3c 2f 62 3e  b> as <b>TSP</b>
15d10 20 6f 72 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62   or <b>TSP NN</b
15d20 3e 20 74 6f 20 72 65 76 65 72 74 20 62 61 63 6b  > to revert back
15d30 20 74 6f 20 74 68 65 20 73 69 6d 70 6c 65 72 20   to the simpler 
15d40 2f 20 66 61 73 74 65 72 20 61 6c 67 6f 72 69 74  / faster algorit
15d50 68 6d 2e 0d 0a 3c 62 72 3e 0d 0a 41 6c 73 6f 20  hm...<br>..Also 
15d60 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 54  in the case of T
15d70 53 50 20 79 6f 75 20 63 61 6e 20 65 76 65 6e 74  SP you can event
15d80 75 61 6c 6c 79 20 61 63 74 69 76 61 74 65 20 74  ually activate t
15d90 68 65 20 75 73 75 61 6c 20 3c 62 3e 4f 70 74 69  he usual <b>Opti
15da0 6f 6e 73 3c 2f 62 3e 20 61 6c 72 65 61 64 79 20  ons</b> already 
15db0 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 74 68 65  explained in the
15dc0 20 53 68 6f 72 74 65 73 74 50 61 74 68 20 65 78   ShortestPath ex
15dd0 61 6d 70 6c 65 73 2e 3c 62 72 3e 0d 0a 3c 75 3e  amples.<br>..<u>
15de0 4e 6f 74 65 3c 2f 75 3e 3a 54 53 50 20 70 72 6f  Note</u>:TSP pro
15df0 62 6c 65 6d 73 20 77 69 6c 6c 20 61 6c 77 61 79  blems will alway
15e00 73 20 69 6d 70 6c 79 20 75 73 69 6e 67 20 74 68  s imply using th
15e10 65 20 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73 3c  e <b>Dijkstra's<
15e20 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d 2c 20 65  /b> algorithm, e
15e30 76 65 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74  ven when the alt
15e40 65 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f  ernative <b>A*</
15e50 62 3e 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20  b> algorithm is 
15e60 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74  currently select
15e70 65 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  ed...<verbatim>.
15e80 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53  .UPDATE byfoot S
15e90 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53  ET Request = 'TS
15ea0 50 27 2c 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e  P', Options = 'N
15eb0 4f 20 4c 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c  O LINKS';....SEL
15ec0 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52  ECT Algorithm, R
15ed0 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c  equest, Options,
15ee0 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74   Delimiter, Rout
15ef0 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52  eId, RouteRow, R
15f00 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20  ole, LinkRowid, 
15f10 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f  NodeFrom, NodeTo
15f20 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79  , Cost, Geometry
15f30 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66  , Name..FROM byf
15f40 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46  oot..WHERE NodeF
15f50 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44  rom = 178731 AND
15f60 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38   NodeTo = '18328
15f70 36 2c 31 38 31 39 39 39 2c 31 38 34 30 33 30 2c  6,181999,184030,
15f80 31 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d  183882,178754';.
15f90 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68  .</verbatim>..Th
15fa0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c  e following tabl
15fb0 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75  e shows the resu
15fc0 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62  ltset returned b
15fd0 79 20 74 68 65 20 73 61 6d 65 20 54 53 50 20 71  y the same TSP q
15fe0 75 65 72 79 20 75 73 65 64 20 69 6e 20 74 68 65  uery used in the
15ff0 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c   previous exampl
16000 65 20 61 66 74 65 72 20 65 6e 61 62 6c 69 6e 67  e after enabling
16010 20 74 68 65 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53   the <b>NO LINKS
16020 3c 2f 62 3e 20 6f 70 74 69 6f 6e 2e 20 3c 62 72  </b> option. <br
16030 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  ><br>..<table bo
16040 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
16050 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
16060 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
16070 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
16080 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
16090 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d  0d0a0">Algorithm
160a0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
160b0 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65  ="#d0d0a0">Reque
160c0 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
160d0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74  or="#d0d0a0">Opt
160e0 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ions</th><th bgc
160f0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44  olor="#d0d0a0">D
16100 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68  elimiter</th><th
16110 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
16120 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c  0">RouteId</th><
16130 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
16140 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74  0a0">RouteRow</t
16150 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
16160 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68  d0d0a0">Role</th
16170 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
16180 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64  0d0a0">LinkRowid
16190 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
161a0 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46  ="#d0d0a0">NodeF
161b0 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  rom</th><th bgco
161c0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
161d0 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63  deTo</th><th bgc
161e0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43  olor="#d0d0a0">C
161f0 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ost</th><th bgco
16200 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65  lor="#d0d0a0">Ge
16210 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62  ometry</th><th b
16220 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
16230 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d  >Name</th></tr>.
16240 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73  .<tr>..<td>Dijks
16250 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20  tra</td><td>TSP 
16260 4e 4e 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69  NN</td><td>No Li
16270 6e 6b 73 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23  nks</td><td>, &#
16280 39 31 3b 64 65 63 3d 34 34 2c 20 68 65 78 3d 32  91;dec=44, hex=2
16290 63 26 23 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61  c&#93;</td><td a
162a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
162b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
162c0 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 54  ght">0</td><td>T
162d0 53 50 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e  SP Solution</td>
162e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
162f0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
16300 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
16310 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
16320 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
16330 3d 22 72 69 67 68 74 22 3e 31 32 35 34 2e 34 33  ="right">1254.43
16340 33 39 33 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  3933</td><td>BLO
16350 42 20 73 7a 3d 32 30 30 30 20 47 45 4f 4d 45 54  B sz=2000 GEOMET
16360 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
16370 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
16380 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
16390 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
163a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
163b0 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  LL<td align="rig
163c0 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">1</td><td al
163d0 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
163e0 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
163f0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
16400 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
16410 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
16420 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30  ign="right">1840
16430 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  30</td><td align
16440 3d 22 72 69 67 68 74 22 3e 31 37 36 2e 33 36 34  ="right">176.364
16450 37 35 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  755</td><td>BLOB
16460 20 73 7a 3d 33 30 34 20 47 45 4f 4d 45 54 52 59   sz=304 GEOMETRY
16470 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
16480 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
16490 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
164a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
164b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
164c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
164d0 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">2</td><td alig
164e0 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
164f0 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
16500 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
16510 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
16520 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
16530 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
16540 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16550 72 69 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33  right">139.11493
16560 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  8</td><td>BLOB s
16570 7a 3d 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f  z=496 GEOMETRY</
16580 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
16590 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
165a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
165b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
165c0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
165d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
165e0 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61  ght">3</td><td a
165f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
16600 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
16610 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
16620 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16630 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61  181999</td><td a
16640 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
16650 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
16660 6e 3d 22 72 69 67 68 74 22 3e 32 31 37 2e 36 37  n="right">217.67
16670 32 38 38 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  2885</td><td>BLO
16680 42 20 73 7a 3d 36 38 38 20 47 45 4f 4d 45 54 52  B sz=688 GEOMETR
16690 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
166a0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
166b0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
166c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
166d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
166e0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
166f0 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74  "right">4</td><t
16700 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16710 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
16720 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
16730 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16740 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
16750 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16760 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
16770 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 37 38  lign="right">378
16780 2e 33 31 33 36 38 34 3c 2f 74 64 3e 3c 74 64 3e  .313684</td><td>
16790 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d  BLOB sz=272 GEOM
167a0 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
167b0 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
167c0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
167d0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
167e0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
167f0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
16800 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64  gn="right">5</td
16810 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16820 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
16830 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
16840 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16850 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64  ight">178754</td
16860 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16870 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74  t">183882</td><t
16880 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16890 31 38 38 2e 32 31 36 38 33 31 3c 2f 74 64 3e 3c  188.216831</td><
168a0 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 30 30 20 47  td>BLOB sz=400 G
168b0 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
168c0 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
168d0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
168e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
168f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
16900 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
16910 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c  align="right">6<
16920 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16930 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
16940 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
16950 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
16960 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c  ="right">183882<
16970 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16980 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
16990 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
169a0 74 22 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74  t">154.750839</t
169b0 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34  d><td>BLOB sz=24
169c0 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  0 GEOMETRY</td><
169d0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
169e0 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
169f0 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65  br><br><br>..The
16a00 20 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68   map below graph
16a10 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65  ically shows the
16a20 20 70 72 65 76 69 6f 75 73 20 3c 62 3e 54 53 50   previous <b>TSP
16a30 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e 0d 0a 3c  </b> queries...<
16a40 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72  br><br>..<img sr
16a50 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  c="https://www.g
16a60 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
16a70 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67  sins/routing-fig
16a80 73 2f 74 73 70 31 2e 6a 70 67 22 20 61 6c 74 3d  s/tsp1.jpg" alt=
16a90 22 66 69 67 34 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c  "fig4">..<ul>..<
16aa0 6c 69 3e 52 65 64 20 73 74 61 72 3a 20 74 68 65  li>Red star: the
16ab0 20 3c 75 3e 3c 69 3e 62 61 73 65 2d 63 69 74 79   <u><i>base-city
16ac0 3c 2f 69 3e 3c 2f 75 3e 20 28 66 72 6f 6d 20 77  </i></u> (from w
16ad0 68 65 72 65 20 74 68 65 20 3c 75 3e 3c 69 3e 73  here the <u><i>s
16ae0 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 29  alesman</i></u>)
16af0 20 62 65 67 69 6e 73 20 68 69 73 2f 68 65 72 20   begins his/her 
16b00 74 72 69 70 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  trip.</li>..<li>
16b10 47 72 65 65 6e 20 64 6f 74 73 3a 20 74 68 65 20  Green dots: the 
16b20 3c 75 3e 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e  <u><i>cities</i>
16b30 3c 2f 75 3e 20 74 6f 20 62 65 20 76 69 73 69 74  </u> to be visit
16b40 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 59 65  ed.</li>..<li>Ye
16b50 6c 6c 6f 77 20 6c 69 6e 65 3a 20 74 68 65 20 54  llow line: the T
16b60 53 50 20 73 6f 6c 75 74 69 6f 6e 20 28 74 68 61  SP solution (tha
16b70 74 20 69 73 20 61 6c 77 61 79 73 20 61 20 63 69  t is always a ci
16b80 72 63 75 6c 61 72 20 70 61 74 68 29 2e 3c 2f 6c  rcular path).</l
16b90 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c  i>..</ul><br>..<
16ba0 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
16bb0 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63  ffb060" cellspac
16bc0 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
16bd0 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
16be0 3e 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20  >..<h3>Warning: 
16bf0 68 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79  how to correctly
16c00 20 68 61 6e 64 6c 69 6e 67 20 54 53 50 20 72 65   handling TSP re
16c10 73 75 6c 74 73 65 74 73 20 77 69 74 68 20 73 70  sultsets with sp
16c20 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 68 33  atialite_gui</h3
16c30 3e 0d 0a 59 6f 75 20 73 68 6f 75 6c 64 20 6e 65  >..You should ne
16c40 76 65 72 20 66 6f 72 67 65 74 20 6f 72 20 6f 76  ver forget or ov
16c50 65 72 6c 6f 6f 6b 20 74 68 61 74 20 62 6f 74 68  erlook that both
16c60 20 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 61   <b>TSP NN</b> a
16c70 6e 64 20 3c 62 3e 54 53 50 20 47 41 3c 2f 62 3e  nd <b>TSP GA</b>
16c80 20 61 72 65 20 3c 75 3e 3c 69 3e 68 65 75 72 69   are <u><i>heuri
16c90 73 74 69 63 20 61 6c 67 6f 72 69 74 68 6d 73 3c  stic algorithms<
16ca0 2f 69 3e 3c 2f 75 3e 20 68 65 61 76 69 6c 79 20  /i></u> heavily 
16cb0 72 65 6c 79 69 6e 67 20 6f 6e 20 3c 75 3e 3c 69  relying on <u><i
16cc0 3e 72 61 6e 64 6f 6d 3c 69 3e 3c 2f 75 3e 20 63  >random<i></u> c
16cd0 68 6f 69 63 65 73 2e 3c 62 72 3e 0d 0a 54 68 69  hoices.<br>..Thi
16ce0 73 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 68  s could easily h
16cf0 61 76 65 20 74 68 65 20 70 72 61 63 74 69 63 61  ave the practica
16d00 6c 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 74 68  l consequence th
16d10 61 74 20 72 65 73 6f 6c 76 69 6e 67 20 74 77 69  at resolving twi
16d20 63 65 20 28 6f 72 20 65 76 65 6e 20 6d 6f 72 65  ce (or even more
16d30 20 74 69 6d 65 73 29 20 74 68 65 20 73 61 6d 65   times) the same
16d40 20 69 64 65 6e 74 69 63 61 6c 20 54 53 50 20 71   identical TSP q
16d50 75 65 72 79 20 63 6f 75 6c 64 20 65 76 65 6e 74  uery could event
16d60 75 61 6c 6c 79 20 72 65 74 75 72 6e 20 64 69 66  ually return dif
16d70 66 65 72 65 6e 74 20 72 65 73 75 6c 74 73 65 74  ferent resultset
16d80 73 2e 3c 62 72 3e 0d 0a 54 68 65 72 65 20 69 73  s.<br>..There is
16d90 20 6e 6f 74 68 69 6e 67 20 69 6e 74 72 69 6e 73   nothing intrins
16da0 69 63 61 6c 6c 79 20 77 72 6f 6e 67 20 69 6e 20  ically wrong in 
16db0 74 68 69 73 2c 20 69 74 20 73 69 6d 70 6c 79 20  this, it simply 
16dc0 69 73 20 61 20 64 69 72 65 63 74 20 63 6f 6e 73  is a direct cons
16dd0 65 71 75 65 6e 63 65 20 6f 66 20 75 73 69 6e 67  equence of using
16de0 20 3c 75 3e 3c 69 3e 72 61 6e 64 6f 6d 6e 65 73   <u><i>randomnes
16df0 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 77 65 20 61 72  s</i></u>; we ar
16e00 65 20 73 69 6d 70 6c 79 20 62 61 72 67 61 69 6e  e simply bargain
16e10 69 6e 67 20 3c 62 3e 65 78 61 63 74 6e 65 73 73  ing <b>exactness
16e20 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 72 65 70 72  </b> and <b>repr
16e30 6f 64 75 63 69 62 69 6c 69 74 79 3c 2f 62 3e 20  oducibility</b> 
16e40 66 6f 72 20 3c 62 3e 71 75 69 63 6b 6e 65 73 73  for <b>quickness
16e50 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  </b>.<br><br>..<
16e60 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69  b>spatialite_gui
16e70 3c 2f 62 3e 20 6f 6e 20 69 74 73 20 6f 77 6e 20  </b> on its own 
16e80 61 64 6f 70 74 73 20 61 20 3c 62 3e 70 61 67 65  adopts a <b>page
16e90 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e 20 77  d strategy</b> w
16ea0 68 65 6e 20 73 68 6f 77 69 6e 67 20 68 75 67 65  hen showing huge
16eb0 20 72 65 73 75 6c 74 73 65 74 73 3b 20 74 68 69   resultsets; thi
16ec0 73 20 72 65 71 75 69 72 65 73 20 72 65 70 65 61  s requires repea
16ed0 74 69 6e 67 20 61 67 61 69 6e 20 74 68 65 20 69  ting again the i
16ee0 6e 69 74 69 61 6c 20 53 51 4c 20 71 75 65 72 79  nitial SQL query
16ef0 20 65 61 63 68 20 74 69 6d 65 20 74 68 61 74 20   each time that 
16f00 61 20 3c 62 3e 6e 65 77 20 70 61 67 65 20 6f 66  a <b>new page of
16f10 20 35 30 30 20 72 6f 77 73 3c 2f 62 3e 20 68 61   500 rows</b> ha
16f20 73 20 74 6f 20 62 65 20 73 68 6f 77 6e 20 6f 6e  s to be shown on
16f30 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 69 6e   the current win
16f40 64 6f 77 20 70 61 6e 65 6c 2e 3c 62 72 3e 0d 0a  dow panel.<br>..
16f50 54 68 65 20 74 77 6f 20 74 68 69 6e 67 73 20 64  The two things d
16f60 6f 6e 27 74 20 67 6f 20 74 6f 67 65 74 68 65 72  on't go together
16f70 20 77 65 6c 6c 3b 20 73 6f 20 64 6f 6e 27 74 20   well; so don't 
16f80 62 65 20 73 75 72 70 72 69 73 65 64 20 77 68 65  be surprised whe
16f90 6e 20 65 76 65 6e 74 75 61 6c 6c 79 20 64 69 73  n eventually dis
16fa0 63 6f 76 65 72 69 6e 67 20 74 68 61 74 20 3c 62  covering that <b
16fb0 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3c  >spatialite_gui<
16fc0 2f 62 3e 20 77 69 6c 6c 20 62 65 68 61 76 65 20  /b> will behave 
16fd0 62 69 7a 61 72 72 65 6c 79 20 77 68 69 6c 65 20  bizarrely while 
16fe0 70 72 65 73 65 6e 74 69 6e 67 20 73 6f 6d 65 20  presenting some 
16ff0 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e  resultset return
17000 65 64 20 62 79 20 61 20 54 53 50 20 71 75 65 72  ed by a TSP quer
17010 79 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  y. ..<verbatim>.
17020 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53  .UPDATE byfoot S
17030 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53  ET Request = 'TS
17040 50 27 3b 0d 0a 0d 0a 43 52 45 41 54 45 20 54 41  P';....CREATE TA
17050 42 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74  BLE my_tsp_solut
17060 69 6f 6e 20 41 53 0d 0a 53 45 4c 45 43 54 20 41  ion AS..SELECT A
17070 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73  lgorithm, Reques
17080 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69  t, Options, Deli
17090 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20  miter, RouteId, 
170a0 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
170b0 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
170c0 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
170d0 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
170e0 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a  e..FROM byfoot..
170f0 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
17100 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
17110 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31  To = '183286,181
17120 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38  999,184030,18388
17130 32 2c 31 37 38 37 35 34 27 3b 0d 0a 0d 0a 2e 2e  2,178754';......
17140 2e 20 20 3c 6e 6f 77 20 71 75 65 72 79 20 22 6d  .  <now query "m
17150 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 22 20  y_tsp_solution" 
17160 75 73 69 6e 67 20 73 70 61 74 69 61 6c 69 74 65  using spatialite
17170 5f 67 75 69 3e 20 20 2e 2e 2e 0d 0a 0d 0a 44 52  _gui>  .......DR
17180 4f 50 20 54 41 42 4c 45 20 6d 79 5f 74 73 70 5f  OP TABLE my_tsp_
17190 73 6f 6c 75 74 69 6f 6e 3b 0d 0a 3c 2f 76 65 72  solution;..</ver
171a0 62 61 74 69 6d 3e 0d 0a 3c 75 3e 48 69 6e 74 3c  batim>..<u>Hint<
171b0 2f 75 3e 3a 20 72 65 73 6f 6c 76 69 6e 67 20 74  /u>: resolving t
171c0 68 69 73 20 70 75 7a 7a 6c 69 6e 67 20 69 73 73  his puzzling iss
171d0 75 65 20 69 73 20 68 6f 77 65 76 65 72 20 62 61  ue is however ba
171e0 73 69 63 61 6c 6c 79 20 73 69 6d 70 6c 65 3a 0d  sically simple:.
171f0 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 73  .<ol>..<li>you s
17200 69 6d 70 6c 79 20 68 61 76 65 20 74 6f 20 74 61  imply have to ta
17210 6b 65 20 61 20 3c 62 3e 73 74 61 74 69 63 20 73  ke a <b>static s
17220 6e 61 70 73 68 6f 74 3c 2f 62 3e 20 6f 66 20 79  napshot</b> of y
17230 6f 75 72 20 54 53 50 20 72 65 73 75 6c 74 73 65  our TSP resultse
17240 74 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 3c  t by using the <
17250 62 3e 43 52 45 41 54 45 20 54 41 42 4c 45 20 3c  b>CREATE TABLE <
17260 69 3e 6e 61 6d 65 3c 2f 69 3e 20 41 53 20 3c 69  i>name</i> AS <i
17270 3e 54 53 50 20 71 75 65 72 79 3c 69 3e 3c 2f 62  >TSP query<i></b
17280 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  >.</li>..<li>the
17290 6e 20 79 6f 75 20 63 61 6e 20 66 72 65 65 6c 79  n you can freely
172a0 20 65 78 61 6d 69 6e 65 20 74 68 65 20 61 62 6f   examine the abo
172b0 76 65 20 73 6e 61 70 73 68 6f 74 2e 3c 2f 6c 69  ve snapshot.</li
172c0 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 6c  >..<li>and final
172d0 6c 79 20 79 6f 75 20 63 61 6e 20 64 75 6c 79 20  ly you can duly 
172e0 3c 62 3e 44 52 4f 50 3c 2f 62 3e 20 74 68 65 20  <b>DROP</b> the 
172f0 73 6e 61 70 73 68 6f 74 20 6f 6e 63 65 20 69 74  snapshot once it
17300 27 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 75 73 65  's no longer use
17310 66 75 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e  ful.</li>..</ol>
17320 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f  ..</td></tr>..</
17330 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74  table>..<br>..<t
17340 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63  able bgcolor="#c
17350 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69  0ffc0" cellspaci
17360 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
17370 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
17380 0d 0a 3c 68 33 3e 4d 6f 72 65 20 61 62 6f 75 74  ..<h3>More about
17390 20 4c 69 6e 65 61 72 20 52 65 66 65 72 65 6e 63   Linear Referenc
173a0 69 6e 67 20 61 6e 64 20 56 69 72 74 75 61 6c 52  ing and VirtualR
173b0 6f 75 74 69 6e 67 20 4c 69 6e 65 73 74 72 69 6e  outing Linestrin
173c0 67 73 3c 2f 68 33 3e 20 0d 0a 59 6f 75 20 68 61  gs</h3> ..You ha
173d0 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20  ve already seen 
173e0 69 6e 20 61 20 70 72 65 76 69 6f 75 73 20 65 78  in a previous ex
173f0 61 6d 70 6c 65 20 74 68 61 74 20 61 6c 6c 20 4c  ample that all L
17400 49 4e 45 53 54 52 49 4e 47 73 20 63 72 65 61 74  INESTRINGs creat
17410 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75  ed by VirtualRou
17420 74 69 6e 67 20 73 75 70 70 6f 72 74 20 74 68 65  ting support the
17430 20 3c 62 3e 4d 3c 2f 62 3e 20 28 3c 62 3e 3c 69   <b>M</b> (<b><i
17440 3e 6d 65 61 73 75 72 65 3c 2f 69 3e 3c 2f 62 3e  >measure</i></b>
17450 29 20 63 6f 6f 72 64 69 6e 61 74 65 20 69 6e 74  ) coordinate int
17460 65 6e 64 65 64 20 61 73 20 61 20 3c 62 3e 70 72  ended as a <b>pr
17470 6f 67 72 65 73 73 69 76 65 20 63 6f 73 74 3c 2f  ogressive cost</
17480 62 3e 20 66 6f 72 20 65 61 63 68 20 76 65 72 74  b> for each vert
17490 65 78 2e 20 41 6e 64 20 79 6f 75 20 61 6c 72 65  ex. And you alre
174a0 61 64 79 20 6b 6e 6f 77 20 74 68 65 20 74 68 65  ady know the the
174b0 79 20 63 61 6e 20 73 75 70 70 6f 72 74 20 3c 62  y can support <b
174c0 3e 3c 69 3e 6c 69 6e 65 61 72 20 72 65 66 65 72  ><i>linear refer
174d0 65 6e 63 69 6e 67 3c 2f 69 3e 3c 2f 62 3e 20 28  encing</i></b> (
174e0 3c 62 3e 4c 52 3c 2f 62 3e 29 20 53 51 4c 20 66  <b>LR</b>) SQL f
174f0 75 6e 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 4c  unctions.<br>..L
17500 65 74 27 73 20 6e 6f 77 20 67 6f 20 69 6e 20 66  et's now go in f
17510 75 72 74 68 65 72 20 64 65 70 74 68 2e 0d 0a 3c  urther depth...<
17520 68 33 3e 54 72 61 6a 65 63 74 6f 72 79 20 6f 62  h3>Trajectory ob
17530 6a 65 63 74 73 3c 2f 68 33 3e 0d 0a 41 20 3c 62  jects</h3>..A <b
17540 3e 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62 3e 20  >Trajectory</b> 
17550 69 73 20 61 6e 79 20 4c 69 6e 65 73 74 72 69 6e  is any Linestrin
17560 67 20 73 75 70 70 6f 72 74 69 6e 67 20 3c 62 3e  g supporting <b>
17570 4d 20 63 6f 6f 72 64 69 6e 61 74 65 73 3c 2f 62  M coordinates</b
17580 3e 20 77 69 74 68 20 61 20 63 6f 6e 74 69 6e 75  > with a continu
17590 6f 75 73 6c 79 20 69 6e 63 72 65 61 73 69 6e 67  ously increasing
175a0 20 74 72 65 6e 64 2e 3c 62 72 3e 0d 0a 49 6e 20   trend.<br>..In 
175b0 73 69 6d 70 6c 65 72 20 77 6f 72 64 73 2c 20 74  simpler words, t
175c0 68 65 20 3c 62 3e 4d 2d 76 61 6c 75 65 3c 2f 62  he <b>M-value</b
175d0 3e 20 6f 66 20 65 61 63 68 20 76 65 72 74 65 78  > of each vertex
175e0 20 28 65 78 63 65 70 74 20 74 68 65 20 6c 61 73   (except the las
175f0 74 20 6f 6e 65 29 20 6d 75 73 74 20 62 65 20 3c  t one) must be <
17600 62 3e 6c 65 73 73 65 72 3c 2f 62 3e 20 74 68 61  b>lesser</b> tha
17610 6e 20 74 68 65 20 4d 2d 56 61 6c 75 65 20 6f 66  n the M-Value of
17620 20 74 68 65 20 6e 65 78 74 20 76 65 72 74 65 78   the next vertex
17630 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  ...<verbatim>..S
17640 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 6d 79 5f  ELECT * FROM my_
17650 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 57 48 45  tsp_solution WHE
17660 52 45 20 53 54 5f 49 73 56 61 6c 69 64 54 72 61  RE ST_IsValidTra
17670 6a 65 63 74 6f 72 79 28 67 65 6f 6d 65 74 72 79  jectory(geometry
17680 29 20 3d 20 31 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d  ) = 1;..--------
17690 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a  -----------..1..
176a0 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 73 20  </verbatim>..As 
176b0 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 63  you can easily c
176c0 68 65 63 6b 20 62 79 20 63 61 6c 6c 69 6e 67 20  heck by calling 
176d0 3c 62 3e 53 54 5f 49 73 56 61 6c 69 64 54 72 61  <b>ST_IsValidTra
176e0 6a 65 63 74 6f 72 79 28 29 3c 2f 62 3e 20 65 76  jectory()</b> ev
176f0 65 72 79 20 4c 69 6e 65 73 74 72 69 6e 67 20 63  ery Linestring c
17700 72 65 61 74 65 64 20 62 79 20 56 69 72 74 75 61  reated by Virtua
17710 6c 52 6f 75 74 69 6e 67 20 69 73 20 61 20 3c 62  lRouting is a <b
17720 3e 76 61 6c 69 64 20 54 72 61 6a 65 63 74 6f 72  >valid Trajector
17730 79 3c 2f 62 3e 2e 0d 0a 3c 76 65 72 62 61 74 69  y</b>...<verbati
17740 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 54 72  m>..SELECT ST_Tr
17750 61 6a 65 63 74 6f 72 79 49 6e 74 65 72 70 6f 6c  ajectoryInterpol
17760 61 74 65 50 6f 69 6e 74 28 47 65 6f 6d 65 74 72  atePoint(Geometr
17770 79 2c 20 31 30 30 2e 30 29 0d 0a 46 52 4f 4d 20  y, 100.0)..FROM 
17780 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 0d  my_tsp_solution.
17790 0a 57 48 45 52 45 20 52 6f 75 74 65 49 64 20 3d  .WHERE RouteId =
177a0 20 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e   0;..</verbatim>
177b0 0d 0a 53 6f 20 79 6f 75 20 6a 75 73 74 20 68 61  ..So you just ha
177c0 76 65 20 74 6f 20 63 61 6c 6c 20 3c 62 3e 53 54  ve to call <b>ST
177d0 5f 54 72 61 6a 65 63 74 6f 72 79 49 6e 74 65 72  _TrajectoryInter
177e0 70 6f 6c 61 74 65 50 6f 69 6e 74 28 29 3c 2f 62  polatePoint()</b
177f0 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 63 72  > in order to cr
17800 65 61 74 65 20 61 20 50 4f 49 4e 54 20 70 72 65  eate a POINT pre
17810 63 69 73 65 6c 79 20 6c 6f 63 61 74 65 64 20 6f  cisely located o
17820 6e 20 74 68 65 20 4c 69 6e 65 73 74 72 69 6e 67  n the Linestring
17830 20 61 74 20 74 68 65 20 67 69 76 65 6e 20 3c 62   at the given <b
17840 3e 63 6f 73 74 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e  >cost</b>...<br>
17850 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e 3c 62 72 3e  <br><hr><br><br>
17860 0d 0a 54 68 65 20 73 69 64 65 20 6d 61 70 20 67  ..The side map g
17870 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73  raphically shows
17880 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 70   the estimated p
17890 6f 73 69 74 69 6f 6e 73 20 65 76 65 72 79 20 31  ositions every 1
178a0 30 30 6d 20 61 73 73 75 6d 69 6e 67 20 74 68 65  00m assuming the
178b0 20 73 61 6d 65 20 70 61 74 68 20 72 65 74 75 72   same path retur
178c0 6e 65 64 20 62 79 20 74 68 65 20 6c 61 74 65 73  ned by the lates
178d0 74 20 54 53 50 20 71 75 65 72 79 2e 0d 0a 3c 2f  t TSP query...</
178e0 74 64 3e 3c 74 64 3e 20 20 20 20 20 20 20 20 20  td><td>         
178f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
179f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
17ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
180f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
181f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
182f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
183f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
184f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
185f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
186f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
187f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
188f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
189f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
18ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
190f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
191f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
192f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
193f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
194f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
195f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
196f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
197f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
198f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
199f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19db0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
19ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ab90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1abf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ac90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1acf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ad90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ada0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1add0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ade0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1adf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ae90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1af90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1aff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1b9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ba90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1baf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1be90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1beb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ca90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1caa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1caf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ccf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ce90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ceb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ced0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cf90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1cff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1d9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1da90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1daa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1daf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1db90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ddf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1de90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1deb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ded0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1def0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1df90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1dff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ea90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ead0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eaf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ebf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ec90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ecf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ed90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ede0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1edf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ee90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eeb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ef90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1efe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1eff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f0f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f150 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f170 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f1f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f210 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f2f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f310 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f370 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f3f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f410 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f430 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f4f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f550 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f570 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f5f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f610 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f710 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f770 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f790 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f7f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f810 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f830 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f8f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f950 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f9f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fa90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1faf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fb90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fbf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fc90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fcf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fd90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fdf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fe90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1feb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fed0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ff90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1ffe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1fff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
20020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a                ..
20030 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a  <img src="https:
20040 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69  //www.gaia-gis.i
20050 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74  t/gaia-sins/rout
20060 69 6e 67 2d 66 69 67 73 2f 74 73 70 32 2e 6a 70  ing-figs/tsp2.jp
20070 67 22 20 61 6c 74 3d 22 66 69 67 35 22 3e 0d 0a  g" alt="fig5">..
20080 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c  </td></tr></tabl
20090 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68  e>..<br><br>..<h
200a0 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e  r><br>..<h1><a n
200b0 61 6d 65 3d 22 70 32 70 22 3e 38 20 2d 20 53 6f  ame="p2p">8 - So
200c0 6c 76 69 6e 67 20 50 6f 69 6e 74 2d 74 6f 2d 50  lving Point-to-P
200d0 6f 69 6e 74 20 70 72 6f 62 6c 65 6d 73 3c 2f 61  oint problems</a
200e0 3e 3c 2f 68 31 3e 0d 0a 41 20 3c 62 3e 50 6f 69  ></h1>..A <b>Poi
200f0 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20  nt-to-Point</b> 
20100 71 75 65 72 79 20 69 73 20 76 65 72 79 20 73 69  query is very si
20110 6d 69 6c 61 72 20 74 6f 20 61 20 6d 6f 73 74 20  milar to a most 
20120 75 73 75 61 6c 20 3c 62 3e 73 69 6e 67 6c 65 2d  usual <b>single-
20130 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72  destination Shor
20140 74 65 73 74 20 50 61 74 68 3c 2f 62 3e 20 71 75  test Path</b> qu
20150 65 72 79 2c 20 65 78 63 65 70 74 20 74 68 61 74  ery, except that
20160 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 20 63  :..<ul>..<li>A c
20170 6c 61 73 73 69 63 20 53 68 6f 72 74 65 73 74 20  lassic Shortest 
20180 50 61 74 68 20 71 75 65 72 79 20 72 65 71 75 69  Path query requi
20190 72 65 73 20 74 6f 20 73 70 65 63 69 66 79 20 61  res to specify a
201a0 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e   <b>NodeFrom</b>
201b0 20 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f   (<u><i>origin</
201c0 69 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 20 3c 62  i></u>) and a <b
201d0 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 28 3c 75 3e  >NodeTo</b> (<u>
201e0 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f  <i>destination</
201f0 69 3e 3c 2f 75 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  i></u>).</li>..<
20200 6c 69 3e 41 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  li>A Point-to-Po
20210 69 6e 74 20 71 75 65 72 79 20 68 61 73 20 6d 6f  int query has mo
20220 72 65 20 72 65 6c 61 78 65 64 20 72 65 71 75 69  re relaxed requi
20230 73 69 74 65 73 2c 20 61 6e 64 20 6a 75 73 74 20  sites, and just 
20240 72 65 71 75 69 72 65 73 20 74 6f 20 73 70 65 63  requires to spec
20250 69 66 79 20 61 20 3c 62 3e 50 6f 69 6e 74 46 72  ify a <b>PointFr
20260 6f 6d 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6f 72  om</b> (<u><i>or
20270 69 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 61 6e  igin</i></u>) an
20280 64 20 61 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f  d a <b>PointTo</
20290 62 3e 20 28 3c 75 3e 3c 69 3e 64 65 73 74 69 6e  b> (<u><i>destin
202a0 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c  ation</i></u>).<
202b0 62 72 3e 0d 0a 42 6f 74 68 20 3c 62 3e 50 6f 69  br>..Both <b>Poi
202c0 6e 74 73 3c 2f 62 3e 20 63 61 6e 20 62 65 20 66  nts</b> can be f
202d0 72 65 65 6c 79 20 70 6f 73 69 74 69 6f 6e 65 64  reely positioned
202e0 20 65 76 65 72 79 77 68 65 72 65 20 6f 6e 20 61   everywhere on a
202f0 20 6d 61 70 2c 20 61 6e 64 20 61 72 65 20 6e 6f   map, and are no
20300 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 70 72  t required to pr
20310 65 63 69 73 65 6c 79 20 69 6e 74 65 72 73 65 63  ecisely intersec
20320 74 20 6e 65 69 74 68 65 72 20 61 20 3c 62 3e 4e  t neither a <b>N
20330 6f 64 65 3c 2f 62 3e 20 6e 6f 72 20 61 20 3c 62  ode</b> nor a <b
20340 3e 4c 69 6e 6b 3c 2f 62 3e 20 6f 66 20 74 68 65  >Link</b> of the
20350 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74   underlaying Net
20360 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20 50  work.<br>..The P
20370 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 27 73 20  oint-to-Point's 
20380 3c 75 3e 3c 69 3e 69 6e 74 65 72 6e 61 6c 20 6c  <u><i>internal l
20390 6f 67 69 63 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c  ogic</i></u> wil
203a0 6c 20 74 68 65 6e 20 61 75 74 6f 6d 61 74 69 63  l then automatic
203b0 61 6c 6c 79 20 69 64 65 6e 74 69 66 79 20 28 69  ally identify (i
203c0 66 20 70 6f 73 73 69 62 6c 65 29 20 74 68 65 20  f possible) the 
203d0 61 70 70 72 6f 70 72 69 61 74 65 20 4e 6f 64 65  appropriate Node
203e0 73 20 66 6f 72 20 63 6f 6d 70 75 74 69 6e 67 20  s for computing 
203f0 61 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  a Shortest Path 
20400 73 6f 6c 75 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c  solution.<br>..<
20410 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 65 20  u>Note</u>: the 
20420 74 77 6f 20 50 6f 69 6e 74 73 20 3c 62 3e 6d 75  two Points <b>mu
20430 73 74 3c 2f 62 3e 20 62 65 20 69 6e 20 74 68 65  st</b> be in the
20440 20 73 61 6d 65 20 3c 62 3e 53 52 49 44 3c 2f 62   same <b>SRID</b
20450 3e 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 61  > of the underla
20460 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f 6c  ying Network.</l
20470 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33 3e 48  i>..</ul>..<h3>H
20480 6f 77 20 69 74 20 70 72 61 63 74 69 63 61 6c 6c  ow it practicall
20490 79 20 77 6f 72 6b 73 3c 2f 68 33 3e 0d 0a 3c 6f  y works</h3>..<o
204a0 6c 3e 0d 0a 3c 6c 69 3e 61 20 66 69 72 73 74 20  l>..<li>a first 
204b0 3c 75 3e 3c 69 3e 73 70 61 74 69 61 6c 20 73 65  <u><i>spatial se
204c0 61 72 63 68 3c 2f 69 3e 3c 2f 75 3e 20 62 61 73  arch</i></u> bas
204d0 65 64 20 6f 6e 20 74 68 65 20 3c 62 3e 50 6f 69  ed on the <b>Poi
204e0 6e 74 46 72 6f 6d 3c 2f 62 3e 20 77 69 6c 6c 20  ntFrom</b> will 
204f0 61 74 74 65 6d 70 74 20 74 6f 20 69 64 65 6e 74  attempt to ident
20500 69 66 79 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73  ify all <b>Links
20510 3c 2f 62 3e 20 66 61 6c 6c 69 6e 67 20 77 69 74  </b> falling wit
20520 68 69 6e 20 61 20 67 69 76 65 6e 20 3c 62 3e 74  hin a given <b>t
20530 6f 6c 65 72 61 6e 63 65 20 72 61 64 69 75 73 3c  olerance radius<
20540 2f 62 3e 20 66 72 6f 6d 20 74 68 65 20 50 6f 69  /b> from the Poi
20550 6e 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 20  nt.</li>..<li>a 
20560 73 65 63 6f 6e 64 20 73 69 6d 69 6c 61 72 20 73  second similar s
20570 70 61 74 69 61 6c 20 73 65 61 72 63 68 20 77 69  patial search wi
20580 6c 6c 20 61 74 74 65 6d 70 74 20 74 6f 20 69 64  ll attempt to id
20590 65 6e 74 69 66 79 20 61 6c 6c 20 3c 62 3e 4c 69  entify all <b>Li
205a0 6e 6b 73 3c 2f 62 3e 20 72 65 6c 61 74 65 64 20  nks</b> related 
205b0 74 6f 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54  to the <b>PointT
205c0 6f 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  o</b>.</li>..<li
205d0 3e 61 6c 6c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62  >all <b>Nodes</b
205e0 3e 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61  > belonging to a
205f0 6e 79 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 69  ny <b>Link</b> i
20600 64 65 6e 74 69 66 69 65 64 20 62 79 20 74 68 65  dentified by the
20610 20 66 69 72 73 74 20 73 70 61 74 69 61 6c 20 73   first spatial s
20620 65 61 72 63 68 20 77 69 6c 6c 20 62 65 20 63 6f  earch will be co
20630 6e 73 69 64 65 72 65 64 20 61 73 20 70 6f 73 73  nsidered as poss
20640 69 62 6c 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d  ible <b>NodeFrom
20650 20 63 61 6e 64 69 64 61 74 65 73 3c 2f 62 3e 2e   candidates</b>.
20660 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 73  </li>..<li>and s
20670 79 6d 6d 65 74 72 69 63 61 6c 6c 79 2c 20 61 6c  ymmetrically, al
20680 6c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 62  l <b>Nodes</b> b
20690 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 6e 79 20  elonging to any 
206a0 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 69 64 65 6e  <b>Link</b> iden
206b0 74 69 66 69 65 64 20 62 79 20 74 68 65 20 73 65  tified by the se
206c0 63 6f 6e 64 20 73 70 61 74 69 61 6c 20 73 65 61  cond spatial sea
206d0 72 63 68 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73  rch will be cons
206e0 69 64 65 72 65 64 20 61 73 20 70 6f 73 73 69 62  idered as possib
206f0 6c 65 20 3c 62 3e 4e 6f 64 65 54 6f 20 63 61 6e  le <b>NodeTo can
20700 64 69 64 61 74 65 73 3c 2f 62 3e 2e 3c 2f 6c 69  didates</b>.</li
20710 3e 0d 0a 3c 6c 69 3e 61 20 66 75 6c 6c 20 70 65  >..<li>a full pe
20720 72 6d 75 74 61 74 69 6f 6e 20 6f 66 20 61 6c 6c  rmutation of all
20730 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 73   Shortest Path s
20740 6f 6c 75 74 69 6f 6e 73 20 63 6f 6e 6e 65 63 74  olutions connect
20750 69 6e 67 20 6f 6e 65 20 74 68 65 20 46 72 6f 6d  ing one the From
20760 20 63 61 6e 64 69 64 61 74 65 73 20 74 6f 20 6f   candidates to o
20770 6e 65 20 6f 66 20 74 68 65 20 54 6f 20 63 61 6e  ne of the To can
20780 64 69 64 61 74 65 73 20 77 69 6c 6c 20 62 65 20  didates will be 
20790 74 68 65 6e 20 63 6f 6d 70 75 74 65 64 2e 3c 2f  then computed.</
207a0 6c 69 3e 0d 0a 3c 6c 69 3e 61 6e 64 20 66 69 6e  li>..<li>and fin
207b0 61 6c 6c 79 20 74 68 65 20 3c 62 3e 6f 70 74 69  ally the <b>opti
207c0 6d 61 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69  mal Point-to-Poi
207d0 6e 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20  nt solution</b> 
207e0 77 69 6c 6c 20 62 65 20 73 65 6c 65 63 74 65 64  will be selected
207f0 20 62 79 20 69 64 65 6e 74 69 66 79 69 6e 67 20   by identifying 
20800 77 68 69 63 68 20 73 70 65 63 69 66 69 63 20 63  which specific c
20810 61 6e 64 69 64 61 74 65 20 70 72 65 73 65 6e 74  andidate present
20820 73 20 74 68 65 20 3c 62 3e 6c 65 73 73 65 72 20  s the <b>lesser 
20830 43 6f 73 74 3c 2f 62 3e 20 6f 66 20 74 68 65 6d  Cost</b> of them
20840 20 61 6c 6c 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c   all.</li>..</ol
20850 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  ><br>..<table bg
20860 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20  color="#ffb060" 
20870 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
20880 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
20890 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 42  ><tr><td>..<h3>B
208a0 65 20 61 77 61 72 65 3c 2f 68 33 3e 0d 0a 41 74  e aware</h3>..At
208b0 74 65 6d 70 74 69 6e 67 20 74 6f 20 73 6f 6c 76  tempting to solv
208c0 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  e Point-to-Point
208d0 20 71 75 65 72 69 65 73 20 73 74 72 69 63 74 6c   queries strictl
208e0 79 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20  y requires that 
208f0 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c  an appropriate <
20900 62 3e 53 70 61 74 69 61 6c 20 49 6e 64 65 78 3c  b>Spatial Index<
20910 2f 62 3e 20 63 61 6e 20 65 66 66 65 63 74 69 76  /b> can effectiv
20920 65 6c 79 20 73 75 70 70 6f 72 74 20 61 6c 6c 20  ely support all 
20930 4c 69 6e 6b 73 20 6f 66 20 74 68 65 20 75 6e 64  Links of the und
20940 65 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b  erlaying Network
20950 2e 3c 62 72 3e 0d 0a 49 66 20 73 75 63 68 20 61  .<br>..If such a
20960 20 72 65 71 75 69 73 69 74 65 20 69 73 20 6e 6f   requisite is no
20970 74 20 73 61 74 69 73 66 69 65 64 20 74 68 65 20  t satisfied the 
20980 61 62 6f 76 65 20 6d 65 6e 74 69 6f 6e 65 64 20  above mentioned 
20990 3c 75 3e 3c 69 3e 73 70 61 74 69 61 6c 20 73 65  <u><i>spatial se
209a0 61 72 63 68 65 73 3c 2f 69 3e 3c 2f 75 3e 20 77  arches</i></u> w
209b0 69 6c 6c 20 6d 69 73 65 72 61 62 6c 79 20 66 61  ill miserably fa
209c0 69 6c 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75 65  il, and conseque
209d0 6e 74 6c 79 20 61 6c 6c 20 50 6f 69 6e 74 2d 74  ntly all Point-t
209e0 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 20  o-Point queries 
209f0 77 69 6c 6c 20 62 65 20 75 6e 61 62 6c 65 20 74  will be unable t
20a00 6f 20 69 64 65 6e 74 69 66 79 20 61 6e 79 20 70  o identify any p
20a10 6f 73 73 69 62 6c 65 20 43 61 6e 64 69 64 61 74  ossible Candidat
20a20 65 20 74 6f 20 62 65 20 65 76 61 6c 75 61 74 65  e to be evaluate
20a30 64 2e 0d 0a 3c 68 33 3e 41 6c 77 61 79 73 20 72  d...<h3>Always r
20a40 65 6d 65 6d 62 65 72 3c 2f 68 33 3e 0d 0a 43 61  emember</h3>..Ca
20a50 72 65 66 75 6c 6c 79 20 63 68 65 63 6b 20 69 66  refully check if
20a60 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20   an appropriate 
20a70 53 70 61 74 69 61 6c 20 49 6e 64 65 78 20 64 6f  Spatial Index do
20a80 20 72 65 61 6c 6c 79 20 65 78 69 73 74 73 20 62   really exists b
20a90 65 66 6f 72 65 20 61 74 74 65 6d 70 74 69 6e 67  efore attempting
20aa0 20 74 6f 20 65 78 65 63 75 74 65 20 61 6e 79 20   to execute any 
20ab0 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71  Point-to-Point q
20ac0 75 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  uery...<br><br>.
20ad0 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62  .</td></tr></tab
20ae0 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c  le>..<br>..<tabl
20af0 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66  e bgcolor="#c0ff
20b00 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  c0" cellspacing=
20b10 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  "10" cellpadding
20b20 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 20 61 6c 69  ="6"><tr><td ali
20b30 67 6e 3d 22 63 65 6e 74 65 72 22 20 63 6f 6c 73  gn="center" cols
20b40 70 61 6e 3d 22 32 22 3e 0d 0a 3c 68 32 3e 42 61  pan="2">..<h2>Ba
20b50 73 69 63 20 63 6f 6e 63 65 70 74 73 2c 20 74 65  sic concepts, te
20b60 63 68 6e 69 63 61 6c 20 64 65 74 61 69 6c 73 20  chnical details 
20b70 61 6e 64 20 72 65 6c 61 74 65 64 20 67 6c 6f 73  and related glos
20b80 73 61 72 79 3c 2f 68 32 3e 0d 0a 3c 2f 74 64 3e  sary</h2>..</td>
20b90 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d  </tr>..<tr><td>.
20ba0 0a 54 68 65 20 73 69 64 65 20 66 69 67 75 72 65  .The side figure
20bb0 20 73 68 6f 77 73 20 61 20 68 79 70 6f 74 68 65   shows a hypothe
20bc0 74 69 63 61 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50  tical Point-to-P
20bd0 6f 69 6e 74 20 73 6f 6c 75 74 69 6f 6e 20 61 6c  oint solution al
20be0 6d 6f 73 74 20 70 72 65 63 69 73 65 6c 79 20 62  most precisely b
20bf0 61 73 65 64 20 6f 6e 20 74 68 65 20 66 6f 6c 6c  ased on the foll
20c00 6f 77 69 6e 67 20 73 65 71 75 65 6e 63 65 20 6f  owing sequence o
20c10 66 20 4e 6f 64 65 73 3a 3c 62 72 3e 0d 0a 3c 62  f Nodes:<br>..<b
20c20 3e 3c 69 3e 4e 31 2d 4e 32 2d 4e 33 2d 4e 34 2d  ><i>N1-N2-N3-N4-
20c30 4e 35 2d 4e 36 2d 4e 37 2d 4e 38 2d 4e 39 2d 4e  N5-N6-N7-N8-N9-N
20c40 31 30 2d 4e 31 31 2d 4e 31 32 2d 4e 31 33 2d 4e  10-N11-N12-N13-N
20c50 31 34 2d 4e 31 35 3c 2f 69 3e 3c 2f 62 3e 0d 0a  14-N15</i></b>..
20c60 3c 62 72 3e 3c 62 72 3e 0d 0a 48 6f 77 65 76 65  <br><br>..Howeve
20c70 72 2c 20 61 73 20 79 6f 75 20 63 61 6e 20 73 65  r, as you can se
20c80 65 2c 20 74 68 65 72 65 20 61 72 65 20 74 77 6f  e, there are two
20c90 20 73 74 72 69 6b 69 6e 67 20 65 78 63 65 70 74   striking except
20ca0 69 6f 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  ions:..<ul>..<li
20cb0 3e 54 68 65 20 3c 62 3e 66 69 72 73 74 3c 2f 62  >The <b>first</b
20cc0 3e 20 4c 69 6e 6b 20 28 63 6f 6e 6e 65 63 74 69  > Link (connecti
20cd0 6e 67 20 3c 62 3e 4e 31 3c 2f 62 3e 20 74 6f 20  ng <b>N1</b> to 
20ce0 3c 62 3e 4e 32 3c 2f 62 3e 29 20 69 73 20 6e 6f  <b>N2</b>) is no
20cf0 74 20 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65 71  t completely req
20d00 75 69 72 65 64 20 62 79 20 74 68 65 20 53 6f 6c  uired by the Sol
20d10 75 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 4a 75 73 74  ution.<br>..Just
20d20 20 61 20 73 6d 61 6c 6c 20 70 6f 72 74 69 6f 6e   a small portion
20d30 20 28 64 72 61 77 6e 20 69 6e 20 72 65 64 29 20   (drawn in red) 
20d40 6f 66 20 74 68 69 73 20 4c 69 6e 6b 20 69 73 20  of this Link is 
20d50 65 66 66 65 63 74 69 76 65 6c 79 20 72 65 71 75  effectively requ
20d60 69 72 65 64 2e 3c 62 72 3e 0d 0a 54 68 65 20 72  ired.<br>..The r
20d70 65 6d 61 69 6e 69 6e 67 20 70 61 72 74 20 28 64  emaining part (d
20d80 72 61 77 6e 20 69 6e 20 67 72 61 79 29 20 69 73  rawn in gray) is
20d90 6e 27 74 20 63 6f 76 65 72 65 64 20 62 79 20 74  n't covered by t
20da0 68 65 20 53 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69  he Solution.</li
20db0 3e 0d 0a 3c 6c 69 3e 45 78 61 63 74 6c 79 20 74  >..<li>Exactly t
20dc0 68 65 20 73 61 6d 65 20 69 73 20 66 6f 72 20 74  he same is for t
20dd0 68 65 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e 20 4c  he <b>last</b> L
20de0 69 6e 6b 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c  ink connecting <
20df0 62 3e 4e 31 34 3c 2f 62 3e 20 74 6f 20 3c 62 3e  b>N14</b> to <b>
20e00 4e 31 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  N15</b>.</li>..<
20e10 6c 69 3e 54 68 61 74 27 73 20 6e 6f 74 20 61 6c  li>That's not al
20e20 6c 3a 20 74 68 65 72 65 20 61 72 65 20 74 77 6f  l: there are two
20e30 20 73 68 6f 72 74 20 73 65 67 6d 65 6e 74 73 20   short segments 
20e40 28 64 72 61 77 6e 20 69 6e 20 67 72 65 65 6e 29  (drawn in green)
20e50 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 50   connecting <b>P
20e60 66 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  from</b> and <b>
20e70 50 74 6f 3c 2f 62 3e 20 28 3c 69 3e 6f 72 69 67  Pto</b> (<i>orig
20e80 69 6e 3c 2f 69 3e 20 61 6e 64 20 3c 69 3e 64 65  in</i> and <i>de
20e90 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 20 50 6f  stination</i> Po
20ea0 69 6e 74 73 29 20 72 65 73 70 65 63 74 69 76 65  ints) respective
20eb0 6c 79 20 74 6f 20 74 68 65 20 3c 62 3e 66 69 72  ly to the <b>fir
20ec0 73 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c 61  st</b> and <b>la
20ed0 73 74 3c 2f 62 3e 20 70 61 72 74 69 61 6c 20 4c  st</b> partial L
20ee0 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  inks.</li>..</ul
20ef0 3e 0d 0a 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 69  >..<br>..All thi
20f00 73 20 73 68 6f 75 6c 64 6e 27 74 20 62 65 20 75  s shouldn't be u
20f10 6e 65 78 70 65 63 74 65 64 2c 20 62 65 63 61 75  nexpected, becau
20f20 73 65 20 69 74 20 73 69 6d 70 6c 79 20 69 73 20  se it simply is 
20f30 74 68 65 20 6d 6f 73 74 20 6f 62 76 69 6f 75 73  the most obvious
20f40 20 64 69 72 65 63 74 20 63 6f 6e 73 65 71 75 65   direct conseque
20f50 6e 63 65 20 6f 66 20 74 68 65 20 76 65 72 79 20  nce of the very 
20f60 62 61 73 69 63 20 61 73 73 75 6d 70 74 69 6f 6e  basic assumption
20f70 73 20 61 74 20 74 68 65 20 62 61 73 69 73 20 6f  s at the basis o
20f80 66 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  f Point-to-Point
20f90 20 71 75 65 72 69 65 73 3a 0d 0a 3c 75 6c 3e 0d   queries:..<ul>.
20fa0 0a 3c 6c 69 3e 4e 65 69 74 68 65 72 20 74 68 65  .<li>Neither the
20fb0 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62   <b>PointFrom</b
20fc0 3e 20 6e 6f 72 20 74 68 65 20 3c 62 3e 50 6f 69  > nor the <b>Poi
20fd0 6e 74 54 6f 3c 2f 62 3e 20 61 72 65 20 72 65 71  ntTo</b> are req
20fe0 75 69 72 65 64 20 74 6f 20 65 78 61 63 74 6c 79  uired to exactly
20ff0 20 69 6e 74 65 72 73 65 63 74 20 61 20 3c 62 3e   intersect a <b>
21000 4e 6f 64 65 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 43  Node</b>.<br>..C
21010 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74 68 65 20  onsequently the 
21020 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20 61 6e 64  <b>first</b> and
21030 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e 20 4c 69 6e   <b>last</b> Lin
21040 6b 73 20 6f 66 20 74 68 65 20 6f 76 65 72 61 6c  ks of the overal
21050 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  l Point-to-Point
21060 20 53 6f 6c 75 74 69 6f 6e 20 63 6f 75 6c 64 20   Solution could 
21070 62 65 20 6f 6e 6c 79 20 70 61 72 74 69 61 6c 6c  be only partiall
21080 79 20 69 6e 76 6f 6c 76 65 64 2e 3c 62 72 3e 0d  y involved.<br>.
21090 0a 49 6e 20 56 69 72 74 75 61 6c 52 6f 75 74 69  .In VirtualRouti
210a0 6e 67 20 6a 61 72 67 6f 6e 20 74 68 65 73 65 20  ng jargon these 
210b0 74 77 6f 20 3c 75 3e 3c 69 3e 73 70 65 63 69 61  two <u><i>specia
210c0 6c 20 69 74 65 6d 73 3c 2f 69 3e 3c 2f 75 3e 20  l items</i></u> 
210d0 61 72 65 20 72 65 73 70 65 63 74 69 76 65 6c 79  are respectively
210e0 20 63 61 6c 6c 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a   called:..<ul>..
210f0 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c  <li><b>Partial L
21100 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f 62 3e 3c  ink (Start)</b><
21110 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72  /li>..<li><b>Par
21120 74 69 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c  tial Link (End)<
21130 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  /b></li>..</ul><
21140 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 42 6f 74 68 20  /li> ..<li>Both 
21150 74 68 65 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d  the <b>PointFrom
21160 3c 2f 62 3e 20 61 6e 64 20 74 68 65 20 3c 62 3e  </b> and the <b>
21170 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 63 61 6e 20  PointTo</b> can 
21180 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 68 61 76  legitimately hav
21190 65 20 61 6e 79 20 61 72 62 69 74 72 61 72 79 20  e any arbitrary 
211a0 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20 61 72 65  position and are
211b0 20 6e 65 76 65 72 20 72 65 71 75 69 72 65 64 20   never required 
211c0 74 6f 20 65 78 61 63 74 6c 79 20 69 6e 74 65 72  to exactly inter
211d0 73 65 63 74 20 61 20 3c 62 3e 4c 69 6e 6b 3c 2f  sect a <b>Link</
211e0 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 63 61  b>.<br>..This ca
211f0 6e 20 65 61 73 69 6c 79 20 69 6d 70 6c 79 20 74  n easily imply t
21200 68 61 74 20 61 6e 20 3c 75 3e 3c 69 3e 65 78 74  hat an <u><i>ext
21210 72 61 20 73 68 6f 72 74 20 6c 65 67 3c 2f 69 3e  ra short leg</i>
21220 3c 2f 75 3e 20 63 6f 75 6c 64 20 62 65 20 72 65  </u> could be re
21230 71 75 69 72 65 64 20 69 6e 20 6f 72 64 65 72 20  quired in order 
21240 74 6f 20 63 6f 6e 6e 65 63 74 20 74 68 65 20 46  to connect the F
21250 72 6f 6d 2f 54 6f 20 50 6f 69 6e 74 73 20 74 6f  rom/To Points to
21260 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69   the correspondi
21270 6e 67 20 4c 69 6e 6b 73 2e 3c 62 72 3e 0d 0a 49  ng Links.<br>..I
21280 6e 20 56 69 72 75 74 61 6c 52 6f 75 74 69 6e 67  n VirutalRouting
21290 20 6a 61 72 67 6f 6e 20 74 68 65 73 65 20 74 77   jargon these tw
212a0 6f 20 3c 75 3e 3c 69 3e 73 70 65 63 69 61 6c 20  o <u><i>special 
212b0 69 74 65 6d 73 3c 2f 69 3e 3c 2f 75 3e 20 61 72  items</i></u> ar
212c0 65 20 72 65 73 70 65 63 74 69 76 65 6c 79 20 63  e respectively c
212d0 61 6c 6c 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  alled:..<ul>..<l
212e0 69 3e 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 74  i><b>Ingress Pat
212f0 68 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  h</b></li>..<li>
21300 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68 3c 2f  <b>Egress Path</
21310 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  b></li>..</ul></
21320 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 75 3e 4e 6f 74  li> ..<li><u>Not
21330 65 3c 2f 75 3e 3a 20 6e 6f 6e 65 20 6f 66 20 74  e</u>: none of t
21340 68 65 6d 20 69 73 20 61 20 73 74 72 69 63 74 6c  hem is a strictl
21350 79 20 6d 61 6e 64 61 74 6f 72 79 20 69 74 65 6d  y mandatory item
21360 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65  :..<ul>..<li>the
21370 20 3c 62 3e 49 6e 67 72 65 73 73 3c 2f 62 3e 20   <b>Ingress</b> 
21380 61 6e 64 2f 6f 72 20 3c 62 3e 45 67 72 65 73 73  and/or <b>Egress
21390 20 50 61 74 68 73 3c 2f 62 3e 20 61 72 65 20 6e   Paths</b> are n
213a0 6f 74 20 72 65 71 75 69 72 65 64 20 77 68 65 6e  ot required when
213b0 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69   the correspondi
213c0 6e 67 20 50 6f 69 6e 74 20 65 78 61 63 74 6c 79  ng Point exactly
213d0 20 69 6e 74 65 72 73 65 63 74 73 20 61 20 4c 69   intersects a Li
213e0 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  nk.</li>..<li><b
213f0 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 3c 2f  >Partial Links</
21400 62 3e 20 28 65 69 74 68 65 72 20 3c 62 3e 28 53  b> (either <b>(S
21410 74 61 72 74 29 3c 2f 62 3e 20 6f 72 20 3c 62 3e  tart)</b> or <b>
21420 28 45 6e 64 28 3c 2f 62 3e 29 20 61 72 65 20 6e  (End(</b>) are n
21430 65 76 65 72 20 72 65 71 75 69 72 65 64 20 77 68  ever required wh
21440 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  en the correspon
21450 64 69 6e 67 20 50 6f 69 6e 74 20 65 78 61 63 74  ding Point exact
21460 6c 79 20 6d 61 74 63 68 65 73 20 61 20 4e 6f 64  ly matches a Nod
21470 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  e.</li>..</ul></
21480 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64  li>..</ul>..</td
21490 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73 72  >..<td>..<img sr
214a0 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  c="https://www.g
214b0 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
214c0 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67  sins/routing-fig
214d0 73 2f 70 32 70 2d 73 74 72 75 63 74 2e 70 6e 67  s/p2p-struct.png
214e0 22 20 61 6c 74 3d 22 70 32 70 2d 73 74 72 75 63  " alt="p2p-struc
214f0 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d  t">..</td></tr>.
21500 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 41 20 6d 6f 72  .<tr><td>..A mor
21510 65 20 63 6f 6d 70 72 65 68 65 6e 73 69 76 65 20  e comprehensive 
21520 61 6e 64 20 64 65 74 61 69 6c 65 64 20 65 78 70  and detailed exp
21530 6c 61 6e 61 74 69 6f 6e 20 62 61 73 65 64 20 6f  lanation based o
21540 6e 20 74 68 65 20 73 69 64 65 20 66 69 67 75 72  n the side figur
21550 65 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  e:..<ul>..<li><b
21560 3e 4c 31 3c 2f 62 3e 20 69 73 20 61 20 4c 69 6e  >L1</b> is a Lin
21570 6b 20 63 6f 6e 6e 65 63 74 69 6e 67 20 4e 6f 64  k connecting Nod
21580 65 73 20 3c 62 3e 4e 31 3c 2f 62 3e 20 61 6e 64  es <b>N1</b> and
21590 20 3c 62 3e 4e 32 3c 2f 62 3e 2e 3c 2f 6c 69 3e   <b>N2</b>.</li>
215a0 0d 0a 3c 6c 69 3e 3c 62 3e 50 74 3c 2f 62 3e 20  ..<li><b>Pt</b> 
215b0 69 73 20 6f 6e 65 20 62 65 74 77 65 65 6e 20 50  is one between P
215c0 6f 69 6e 74 46 72 6f 6d 20 6f 72 20 50 6f 69 6e  ointFrom or Poin
215d0 74 54 6f 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  tTo.</li>..</ul>
215e0 0d 0a 3c 62 72 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c  ..<br>..<ol>..<l
215f0 69 3e 54 68 65 20 50 6f 69 6e 74 2d 74 6f 2d 50  i>The Point-to-P
21600 6f 69 6e 74 20 69 6e 74 65 72 6e 61 6c 20 6c 6f  oint internal lo
21610 67 69 63 20 77 69 6c 6c 20 73 74 61 72 74 20 62  gic will start b
21620 79 20 69 64 65 6e 74 69 66 79 69 6e 67 20 3c 62  y identifying <b
21630 3e 69 3c 2f 62 3e 2c 0d 0a 74 68 61 74 20 69 73  >i</b>,..that is
21640 20 74 68 65 20 50 6f 69 6e 74 20 69 6e 74 65 72   the Point inter
21650 73 65 63 74 69 6e 67 20 3c 62 3e 4c 31 3c 2f 62  secting <b>L1</b
21660 3e 20 61 6e 64 20 70 72 65 73 65 6e 74 69 6e 67  > and presenting
21670 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 64 69 73   the minimum dis
21680 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20 74 68  tance between th
21690 65 20 4c 69 6e 6b 20 61 6e 64 20 3c 62 3e 50 74  e Link and <b>Pt
216a0 3c 2f 62 3e 0d 0a 28 63 6f 72 72 65 73 70 6f 6e  </b>..(correspon
216b0 64 69 6e 67 20 74 6f 20 74 68 65 20 72 65 73 75  ding to the resu
216c0 6c 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 63  lt returned by c
216d0 61 6c 6c 69 6e 67 20 74 68 65 20 3c 62 3e 53 54  alling the <b>ST
216e0 5f 4c 69 6e 65 5f 4c 6f 63 61 74 65 5f 50 6f 69  _Line_Locate_Poi
216f0 6e 74 28 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e  nt()</b> SQL fun
21700 63 74 69 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  ction).</li>..<l
21710 69 3e 4e 6f 77 20 74 68 65 20 4c 69 6e 6b 20 3c  i>Now the Link <
21720 62 3e 4c 31 3c 2f 62 3e 20 77 69 6c 6c 20 62 65  b>L1</b> will be
21730 20 73 70 6c 69 74 20 69 6e 20 74 77 6f 20 68 61   split in two ha
21740 6c 76 65 73 20 3c 62 3e 4c 31 2d 61 3c 2f 62 3e  lves <b>L1-a</b>
21750 20 61 6e 64 20 3c 62 3e 4c 31 2d 62 3c 2f 62 3e   and <b>L1-b</b>
21760 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20   accordingly to 
21770 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20  the position of 
21780 3c 62 3e 69 3c 2f 62 3e 0d 0a 28 63 6f 72 72 65  <b>i</b>..(corre
21790 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20  sponding to the 
217a0 72 65 73 75 6c 74 73 20 72 65 74 75 72 6e 65 64  results returned
217b0 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20   by calling the 
217c0 3c 62 3e 53 54 5f 4c 69 6e 65 5f 53 75 62 73 74  <b>ST_Line_Subst
217d0 72 69 6e 67 28 29 3c 2f 62 3e 20 53 51 4c 20 66  ring()</b> SQL f
217e0 75 6e 63 74 69 6f 6e 29 2e 3c 62 72 3e 0d 0a 42  unction).<br>..B
217f0 6f 74 68 20 68 61 6c 76 65 73 20 77 69 6c 6c 20  oth halves will 
21800 62 65 20 6e 6f 77 20 63 6f 6e 73 69 64 65 72 65  be now considere
21810 64 20 61 73 20 70 6f 73 73 69 62 6c 65 20 3c 62  d as possible <b
21820 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 20 28  >Partial Links (
21830 53 74 61 72 74 29 20 63 61 6e 64 69 64 61 74 65  Start) candidate
21840 73 3c 2f 62 3e 20 6c 65 61 64 69 6e 67 20 72 65  s</b> leading re
21850 73 70 65 63 74 69 76 65 6c 79 20 74 6f 20 3c 62  spectively to <b
21860 3e 4e 31 3c 2f 62 3e 20 6f 72 20 3c 62 3e 4e 32  >N1</b> or <b>N2
21870 3c 2f 62 3e 3b 0d 0a 64 69 72 65 63 74 69 6f 6e  </b>;..direction
21880 73 20 77 69 6c 6c 20 62 65 20 61 75 74 6f 6d 61  s will be automa
21890 74 69 63 61 6c 6c 79 20 69 6e 76 65 72 74 65 64  tically inverted
218a0 20 61 73 20 72 65 71 75 69 72 65 64 2c 20 62 75   as required, bu
218b0 74 20 6f 6e 6c 79 20 69 66 20 74 68 65 72 65 20  t only if there 
218c0 61 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65 2d 77 61  are no <b>one-wa
218d0 79 3c 2f 62 3e 20 66 6f 72 62 69 64 64 69 6e 67  y</b> forbidding
218e0 20 72 65 73 74 72 69 63 74 69 6f 6e 73 2e 3c 62   restrictions.<b
218f0 72 3e 0d 0a 28 74 68 65 20 64 69 72 65 63 74 69  r>..(the directi
21900 6f 6e 73 20 77 69 6c 6c 20 62 65 20 6f 62 76 69  ons will be obvi
21910 6f 75 73 6c 79 20 69 6e 76 65 72 74 65 64 20 69  ously inverted i
21920 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 3c 62  n the case of <b
21930 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 20 28  >Partial Links (
21940 45 6e 64 29 3c 2f 62 3e 20 2f 20 3c 62 3e 4e 6f  End)</b> / <b>No
21950 64 65 54 6f 3c 2f 62 3e 29 3c 2f 6c 69 3e 0d 0a  deTo</b>)</li>..
21960 3c 6c 69 3e 41 6e 64 20 66 69 6e 61 6c 6c 79 20  <li>And finally 
21970 61 20 73 74 72 61 69 67 68 74 20 73 65 67 6d 65  a straight segme
21980 6e 74 20 3c 62 3e 70 3c 2f 62 3e 20 63 6f 6e 6e  nt <b>p</b> conn
21990 65 63 74 69 6e 67 20 3c 62 3e 50 74 3c 2f 62 3e  ecting <b>Pt</b>
219a0 20 74 6f 20 3c 62 3e 69 3c 2f 62 3e 20 77 69 6c   to <b>i</b> wil
219b0 6c 20 62 65 20 63 6f 6e 73 74 72 75 63 74 65 64  l be constructed
219c0 2e 0d 0a 53 6f 20 3c 62 3e 70 3c 2f 62 3e 20 65  ...So <b>p</b> e
219d0 78 61 63 74 6c 79 20 63 6f 72 72 65 73 70 6f 6e  xactly correspon
219e0 64 73 20 74 6f 20 74 68 65 20 3c 62 3e 49 6e 67  ds to the <b>Ing
219f0 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 20 69 66  ress Path</b> if
21a00 20 3c 62 3e 50 74 3c 2f 62 3e 20 69 73 20 3c 62   <b>Pt</b> is <b
21a10 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2e 3c  >PointFrom</b>.<
21a20 62 72 3e 0d 0a 28 74 68 65 20 64 69 72 65 63 74  br>..(the direct
21a30 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 6f 62  ion should be ob
21a40 76 69 6f 75 73 6c 79 20 69 6e 76 65 72 74 65 64  viously inverted
21a50 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20   in the case of 
21a60 74 68 65 20 3c 62 3e 45 67 72 65 73 73 20 50 61  the <b>Egress Pa
21a70 74 68 3c 2f 62 3e 20 2f 20 3c 62 3e 50 6f 69 6e  th</b> / <b>Poin
21a80 74 54 6f 3c 2f 62 3e 29 3c 2f 6c 69 3e 0d 0a 3c  tTo</b>)</li>..<
21a90 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64  /ol>..</td>..<td
21aa0 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74  >..<img src="htt
21ab0 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69  ps://www.gaia-gi
21ac0 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72  s.it/gaia-sins/r
21ad0 6f 75 74 69 6e 67 2d 66 69 67 73 2f 73 70 6c 69  outing-figs/spli
21ae0 74 2d 6c 69 6e 6b 2e 70 6e 67 22 20 61 6c 74 3d  t-link.png" alt=
21af0 22 70 32 70 2d 73 74 72 75 63 74 22 3e 0d 0a 3c  "p2p-struct">..<
21b00 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  /td></tr>..</tab
21b10 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c  le>..<br>..<tabl
21b20 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30  e bgcolor="#ffb0
21b30 36 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  60" cellspacing=
21b40 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  "10" cellpadding
21b50 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c  ="6"><tr><td>..<
21b60 68 33 3e 57 61 72 6e 69 6e 67 3c 2f 68 33 3e 0d  h3>Warning</h3>.
21b70 0a 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20  .VirtualRouting 
21b80 77 68 65 6e 20 73 6f 6c 76 69 6e 67 20 61 20 50  when solving a P
21b90 6f 69 6e 74 2d 74 6f 2d 50 72 6f 62 6c 65 6d 20  oint-to-Problem 
21ba0 72 65 71 75 69 72 65 73 20 74 6f 20 67 65 74 20  requires to get 
21bb0 61 20 70 72 65 63 69 73 65 20 65 73 74 69 6d 61  a precise estima
21bc0 74 69 6f 6e 20 6f 66 20 3c 62 3e 43 6f 73 74 73  tion of <b>Costs
21bd0 3c 2f 62 3e 20 72 65 6c 61 74 65 64 20 74 6f 20  </b> related to 
21be0 3c 62 3e 49 6e 67 72 65 73 73 3c 2f 62 3e 20 61  <b>Ingress</b> a
21bf0 6e 64 20 3c 62 3e 45 67 72 65 73 73 20 50 61 74  nd <b>Egress Pat
21c00 68 73 3c 2f 62 3e 20 61 6e 64 20 74 6f 20 3c 62  hs</b> and to <b
21c10 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 73 3c 2f  >Partial Links</
21c20 62 3e 2e 3c 62 72 3e 0d 0a 42 75 74 20 56 69 72  b>.<br>..But Vir
21c30 74 75 61 6c 52 6f 75 74 69 6e 67 20 69 73 20 63  tualRouting is c
21c40 6f 6d 70 6c 65 74 65 6c 79 20 75 6e 61 62 6c 65  ompletely unable
21c50 20 74 6f 20 63 6f 6d 70 75 74 65 20 63 6f 6d 70   to compute comp
21c60 6c 65 78 20 28 61 6e 64 20 75 6e 73 70 65 63 69  lex (and unspeci
21c70 66 69 65 64 29 20 43 6f 73 74 20 66 6f 72 6d 75  fied) Cost formu
21c80 6c 61 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75  lae, and consequ
21c90 65 6e 74 6c 79 20 69 74 20 63 61 6e 20 73 69 6d  ently it can sim
21ca0 70 6c 79 20 61 73 73 75 6d 65 20 61 20 43 6f 73  ply assume a Cos
21cb0 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  t corresponding 
21cc0 74 6f 20 74 68 65 20 47 65 6f 6d 65 74 72 69 63  to the Geometric
21cd0 20 4c 65 6e 67 74 68 20 6f 66 20 73 75 63 68 20   Length of such 
21ce0 69 74 65 6d 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  items.<br><br>..
21cf0 3c 62 3e 43 6f 6e 63 6c 75 73 69 6f 6e 3c 2f 62  <b>Conclusion</b
21d00 3e 3a 20 6f 6e 6c 79 20 4e 65 74 77 6f 72 6b 73  >: only Networks
21d10 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 43 6f 73   based on <b>Cos
21d20 74 73 3c 2f 62 3e 20 63 6f 72 72 65 73 70 6f 6e  ts</b> correspon
21d30 64 69 6e 67 20 74 6f 20 3c 62 3e 47 65 6f 6d 65  ding to <b>Geome
21d40 74 72 69 63 20 4c 65 6e 67 74 68 73 3c 2f 62 3e  tric Lengths</b>
21d50 20 63 61 6e 20 65 66 66 65 63 74 69 76 65 6c 79   can effectively
21d60 20 73 75 70 70 6f 72 74 20 50 6f 69 6e 74 2d 74   support Point-t
21d70 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73 2e  o-Point queries.
21d80 3c 62 72 3e 0d 0a 41 6e 79 20 64 69 66 66 65 72  <br>..Any differ
21d90 65 6e 74 20 4e 65 74 77 6f 72 6b 20 63 6f 6e 66  ent Network conf
21da0 69 67 75 72 61 74 69 6f 6e 20 77 69 6c 6c 20 73  iguration will s
21db0 75 72 65 6c 79 20 6c 65 61 64 20 74 6f 20 77 72  urely lead to wr
21dc0 6f 6e 67 20 61 6e 64 20 69 6e 63 6f 6e 73 69 73  ong and inconsis
21dd0 74 65 6e 74 20 72 65 73 75 6c 74 73 2e 0d 0a 3c  tent results...<
21de0 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f  br><br>..</td></
21df0 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  tr></table>..<br
21e00 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77  ><br>..Let's now
21e10 20 65 78 61 6d 69 6e 65 20 61 20 70 72 61 63 74   examine a pract
21e20 69 63 61 6c 20 65 78 61 6d 70 6c 65 20 6f 66 20  ical example of 
21e30 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 73  Point-to-Point s
21e40 6f 6c 76 69 6e 67 20 75 73 69 6e 67 20 56 69 72  olving using Vir
21e50 74 75 61 6c 52 6f 75 74 69 6e 67 2e 0d 0a 3c 76  tualRouting...<v
21e60 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
21e70 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75   Algorithm, Requ
21e80 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f  est, Options, Ro
21e90 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c  uteId, RouteRow,
21ea0 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64   Role, LinkRowid
21eb0 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65  , NodeFrom, Node
21ec0 54 6f 2c 20 50 6f 69 6e 74 46 72 6f 6d 2c 20 50  To, PointFrom, P
21ed0 6f 69 6e 74 54 6f 2c 20 54 6f 6c 65 72 61 6e 63  ointTo, Toleranc
21ee0 65 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  e, Cost, Geometr
21ef0 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
21f00 66 6f 6f 74 0d 0a 57 48 45 52 45 20 50 6f 69 6e  foot..WHERE Poin
21f10 74 46 72 6f 6d 20 3d 20 28 53 45 4c 45 43 54 20  tFrom = (SELECT 
21f20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f  geom FROM house_
21f30 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e 69  nr_vw WHERE muni
21f40 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45 5a  cipality = 'AREZ
21f50 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73 20  ZO' AND address 
21f60 3d 20 27 56 49 41 20 44 45 27 27 20 43 45 4e 43  = 'VIA DE'' CENC
21f70 49 20 31 33 27 29 0d 0a 20 20 20 20 41 4e 44 20  I 13')..    AND 
21f80 50 6f 69 6e 74 54 6f 20 3d 20 28 53 45 4c 45 43  PointTo = (SELEC
21f90 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73  T geom FROM hous
21fa0 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75  e_nr_vw WHERE mu
21fb0 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52  nicipality = 'AR
21fc0 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73  EZZO' AND addres
21fd0 73 20 3d 20 27 56 49 41 20 41 4e 54 4f 4e 49 4f  s = 'VIA ANTONIO
21fe0 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 42   GUADAGNOLI 19/B
21ff0 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  ');..</verbatim>
22000 0d 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d  ..A <b>Point-to-
22010 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79 20  Point</b> query 
22020 68 61 73 20 74 68 65 20 73 61 6d 65 20 66 6f 72  has the same for
22030 6d 20 6f 66 20 61 20 3c 62 3e 73 69 6e 67 6c 65  m of a <b>single
22040 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f  -destination Sho
22050 72 74 65 73 74 20 50 61 74 68 3c 2f 62 3e 20 71  rtest Path</b> q
22060 75 65 72 79 2c 20 65 78 63 65 70 74 20 74 68 61  uery, except tha
22070 74 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62  t <b>NodeFrom</b
22080 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c  > and <b>NodeTo<
22090 2f 62 3e 20 61 72 65 20 6e 6f 77 20 72 65 70 6c  /b> are now repl
220a0 61 63 65 64 20 62 79 20 3c 62 3e 50 6f 69 6e 74  aced by <b>Point
220b0 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  From</b> and <b>
220c0 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c 62 72 3e  PointTo</b>.<br>
220d0 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 20 74 68  ..<u>Note</u> th
220e0 65 20 73 61 6d 70 6c 65 20 44 42 2d 66 69 6c 65  e sample DB-file
220f0 20 73 75 70 70 6f 72 74 73 20 3c 62 3e 48 6f 75   supports <b>Hou
22100 73 65 20 4e 75 6d 62 65 72 73 3c 2f 62 3e 2c 20  se Numbers</b>, 
22110 73 6f 20 79 6f 75 20 63 61 6e 20 64 69 72 65 63  so you can direc
22120 74 6c 79 20 75 73 65 20 48 6f 75 73 65 20 4e 75  tly use House Nu
22130 6d 62 65 72 20 63 6f 6f 72 64 69 6e 61 74 65 73  mber coordinates
22140 20 61 73 20 72 65 66 65 72 65 6e 63 65 20 50 6f   as reference Po
22150 69 6e 74 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  ints...<br><br>.
22160 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  .The following t
22170 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72  able shows the r
22180 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
22190 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 50  d by the above P
221a0 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75  oint-to-Point qu
221b0 65 72 79 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74  ery.<br><br>..<t
221c0 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20  able border="1" 
221d0 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66  bgcolor="#ffffcf
221e0 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34  " cellspacing="4
221f0 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
22200 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f  ">..<tr><th bgco
22210 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c  lor="#d0d0a0">Al
22220 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20  gorithm</th><th 
22230 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
22240 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74  ">Request</th><t
22250 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
22260 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e  a0">Options</th>
22270 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
22280 64 30 61 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74  d0a0">RouteId</t
22290 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
222a0 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77  d0d0a0">RouteRow
222b0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
222c0 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
222d0 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
222e0 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f  "#d0d0a0">LinkRo
222f0 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  wid</th><th bgco
22300 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
22310 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  deFrom</th><th b
22320 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
22330 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20  >NodeTo</th><th 
22340 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
22350 22 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e  ">PointFrom</th>
22360 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
22370 64 30 61 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74  d0a0">PointTo</t
22380 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
22390 64 30 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63  d0d0a0">Toleranc
223a0 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  e</th><th bgcolo
223b0 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
223c0 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
223d0 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
223e0 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
223f0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
22400 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
22410 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61  r>..<td>Dijkstra
22420 3c 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50  </td><td>Point2P
22430 6f 69 6e 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74  oint Path</td><t
22440 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61  d>Full</td><td a
22450 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
22460 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22470 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 50  ght">0</td><td>P
22480 6f 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c 75 74  oint2Point Solut
22490 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ion</td><td>NULL
224a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
224b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
224c0 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 20 47 45  td>BLOB sz=68 GE
224d0 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 42  OMETRY</td><td>B
224e0 4c 4f 42 20 73 7a 3d 36 38 20 47 45 4f 4d 45 54  LOB sz=68 GEOMET
224f0 52 59 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  RY</td><td align
22500 3d 22 72 69 67 68 74 22 3e 32 30 2e 30 30 30 30  ="right">20.0000
22510 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
22520 3d 22 72 69 67 68 74 22 3e 36 35 32 2e 38 31 35  ="right">652.815
22530 31 33 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  139</td><td>BLOB
22540 20 73 7a 3d 31 35 35 32 20 47 45 4f 4d 45 54 52   sz=1552 GEOMETR
22550 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
22560 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
22570 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
22580 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22590 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
225a0 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
225b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
225c0 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 49 6e 67  t">1</td><td>Ing
225d0 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74  ress Path</td><t
225e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
225f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22600 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22610 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22620 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
22630 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e  align="right">2.
22640 33 30 31 36 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e  301687</td><td>N
22650 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22660 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
22670 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
22680 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22690 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
226a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
226b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
226c0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 50  ght">2</td><td>P
226d0 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61  artial Link (Sta
226e0 72 74 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  rt)</td><td alig
226f0 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 32 36 34  n="right">224264
22700 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22710 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22720 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c  ht">182630</td><
22730 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22740 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22750 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
22760 22 72 69 67 68 74 22 3e 34 36 2e 30 38 32 37 36  "right">46.08276
22770 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  1</td><td>NULL</
22780 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 27 20 43  td><td>VIA DE' C
22790 45 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ENCI</td>..</tr>
227a0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
227b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
227c0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
227d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
227e0 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >0</td><td align
227f0 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
22800 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
22810 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
22820 33 37 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3758</td><td ali
22830 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 33  gn="right">18263
22840 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
22850 22 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f  "right">182629</
22860 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22870 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22880 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
22890 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 34 2e 31  ign="right">24.1
228a0 39 38 31 31 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55  98115</td><td>NU
228b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f  LL</td><td>CORSO
228c0 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f   ITALIA</td>..</
228d0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
228e0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
228f0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22900 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22910 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
22920 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74  ign="right">4</t
22930 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
22940 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22950 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c 74 64 20  >225512</td><td 
22960 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
22970 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2629</td><td ali
22980 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33  gn="right">18293
22990 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  3</td><td>NULL</
229a0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
229b0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
229c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
229d0 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e 3c 74 64  4.184194</td><td
229e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f  >NULL</td><td>CO
229f0 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d  RSO ITALIA</td>.
22a00 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
22a10 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22a20 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22a30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22a40 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
22a50 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35   align="right">5
22a60 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
22a70 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22a80 68 74 22 3e 32 32 35 35 31 31 3c 2f 74 64 3e 3c  ht">225511</td><
22a90 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22aa0 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20  >182933</td><td 
22ab0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
22ac0 31 39 39 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  1999</td><td>NUL
22ad0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22ae0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22af0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22b00 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74 64 3e  ">49.241735</td>
22b10 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22b20 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74  >CORSO ITALIA</t
22b30 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
22b40 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
22b50 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22b60 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
22b70 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
22b80 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22b90 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">6</td><td>Link
22ba0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22bb0 72 69 67 68 74 22 3e 32 32 32 36 33 35 3c 2f 74  right">222635</t
22bc0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22bd0 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c  ht">181999</td><
22be0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22bf0 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 3e  >181998</td><td>
22c00 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22c10 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22c20 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22c30 67 68 74 22 3e 31 30 31 2e 36 32 39 37 35 30 3c  ght">101.629750<
22c40 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22c50 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49  ><td>CORSO ITALI
22c60 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  A</td>..</tr>..<
22c70 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
22c80 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22c90 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
22ca0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
22cb0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22cc0 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e  ight">7</td><td>
22cd0 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
22ce0 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 37 38  gn="right">22478
22cf0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
22d00 22 72 69 67 68 74 22 3e 31 38 31 39 39 38 3c 2f  "right">181998</
22d10 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22d20 67 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e  ght">183560</td>
22d30 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22d40 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22d50 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
22d60 3d 22 72 69 67 68 74 22 3e 37 33 2e 37 33 33 35  ="right">73.7335
22d70 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  72</td><td>NULL<
22d80 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c  /td><td>VIA DELL
22d90 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e  'ANFITEATRO</td>
22da0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
22db0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22dc0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22dd0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
22de0 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
22df0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22e00 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  8</td><td>Link</
22e10 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22e20 67 68 74 22 3e 32 32 35 38 32 37 3c 2f 74 64 3e  ght">225827</td>
22e30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22e40 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64  ">183560</td><td
22e50 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
22e60 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55  83286</td><td>NU
22e70 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22e80 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22e90 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22ea0 74 22 3e 34 32 2e 33 30 39 35 36 34 3c 2f 74 64  t">42.309564</td
22eb0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22ec0 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49 54  d>VIA DELL'ANFIT
22ed0 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  EATRO</td>..</tr
22ee0 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
22ef0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22f00 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22f10 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22f20 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
22f30 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e  n="right">9</td>
22f40 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
22f50 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
22f60 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64 20 61 6c  24897</td><td al
22f70 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
22f80 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
22f90 3d 22 72 69 67 68 74 22 3e 31 38 33 31 32 38 3c  ="right">183128<
22fa0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22fb0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22fc0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
22fd0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 32 2e  lign="right">72.
22fe0 34 34 34 36 30 39 3c 2f 74 64 3e 3c 74 64 3e 4e  444609</td><td>N
22ff0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
23000 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e  MARGARITONE</td>
23010 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
23020 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
23030 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23040 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
23050 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
23060 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
23070 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  10</td><td>Link<
23080 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
23090 69 67 68 74 22 3e 32 32 34 32 33 32 3c 2f 74 64  ight">224232</td
230a0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
230b0 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c 74  t">183128</td><t
230c0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
230d0 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e  182890</td><td>N
230e0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
230f0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
23100 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
23110 68 74 22 3e 31 30 33 2e 36 31 32 32 32 31 3c 2f  ht">103.612221</
23120 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23130 3c 74 64 3e 56 49 41 20 4e 49 43 43 4f 4c 4f 27  <td>VIA NICCOLO'
23140 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c   ARETINO</td>..<
23150 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
23160 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23170 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
23180 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
23190 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
231a0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c  lign="right">11<
231b0 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20  /td><td>Partial 
231c0 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 74 64 3e 3c  Link (End)</td><
231d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
231e0 3e 32 32 34 30 31 39 3c 2f 74 64 3e 3c 74 64 20  >224019</td><td 
231f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
23200 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2890</td><td>NUL
23210 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
23220 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23230 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
23240 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
23250 3e 39 35 2e 37 36 30 32 32 32 3c 2f 74 64 3e 3c  >95.760222</td><
23260 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
23270 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44  VIA ANTONIO GUAD
23280 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  AGNOLI</td>..</t
23290 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
232a0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
232b0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
232c0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
232d0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">0</td><td ali
232e0 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74  gn="right">12</t
232f0 64 3e 3c 74 64 3e 45 67 72 65 73 73 20 50 61 74  d><td>Egress Pat
23300 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  h</td><td>NULL</
23310 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23320 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
23330 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
23340 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
23350 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
23360 69 67 68 74 22 3e 37 2e 33 31 36 37 30 39 3c 2f  ight">7.316709</
23370 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23380 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
23390 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
233a0 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20  <br>..Let's now 
233b0 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20  quickly examine 
233c0 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
233d0 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62  turned by the ab
233e0 6f 76 65 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d  ove <b>Point-to-
233f0 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79 3a  Point</b> query:
23400 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20  ..<ul>..<li>the 
23410 67 65 6e 65 72 61 6c 20 6c 61 79 6f 75 74 20 69  general layout i
23420 73 20 61 6c 6d 6f 73 74 20 65 78 61 63 74 6c 79  s almost exactly
23430 20 74 68 65 20 73 61 6d 65 20 61 73 20 79 6f 75   the same as you
23440 27 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e  've already seen
23450 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20   in the case of 
23460 53 68 6f 72 74 65 73 74 50 61 74 68 20 71 75 65  ShortestPath que
23470 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ries.</li>..<li>
23480 69 6e 20 74 68 65 20 73 70 65 63 69 66 69 63 20  in the specific 
23490 63 61 73 65 20 6f 66 20 50 6f 69 6e 74 2d 74 6f  case of Point-to
234a0 2d 50 6f 69 6e 74 20 74 68 65 20 3c 62 3e 66 69  -Point the <b>fi
234b0 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74  rst row</b> of t
234c0 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c  he resultset wil
234d0 6c 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e  l always contain
234e0 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 73 20   the followings 
234f0 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20  <b>NOT NULL</b> 
23500 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a  columns:..<ul>..
23510 3c 6c 69 3e 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c  <li><b>NodeFrom<
23520 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54  /b> and <b>NodeT
23530 6f 3c 2f 62 3e 3a 20 74 68 65 20 74 77 6f 20 47  o</b>: the two G
23540 65 6f 6d 65 74 72 69 65 73 20 64 65 66 69 6e 69  eometries defini
23550 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 6f 72 69  ng the <u><i>ori
23560 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20  gin</i></u> and 
23570 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f  <u><i>destinatio
23580 6e 3c 2f 69 3e 3c 2f 75 3e 20 50 6f 69 6e 74 73  n</i></u> Points
23590 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54  .</li>..<li><b>T
235a0 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68  olerance</b>: th
235b0 65 20 6d 61 78 69 6d 75 6d 20 64 69 73 74 61 6e  e maximum distan
235c0 63 65 20 61 6c 6c 6f 77 65 64 20 62 65 74 77 65  ce allowed betwe
235d0 65 6e 20 72 65 66 65 72 65 6e 63 65 20 50 6f 69  en reference Poi
235e0 6e 74 73 20 61 6e 64 20 43 61 6e 64 69 64 61 74  nts and Candidat
235f0 65 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c  e Links.</li>..<
23600 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  /ul></li>..<li>t
23610 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e 20 63  he <b>Role</b> c
23620 6f 6c 75 6d 6e 20 63 61 6e 20 61 73 73 75 6d 65  olumn can assume
23630 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c   one of the foll
23640 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a 0d 0a 3c  owing values:..<
23650 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 6f 69 6e  ul>..<li><b>Poin
23660 74 32 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e  t2Point Solution
23670 3c 2f 62 3e 3a 20 74 68 65 20 68 65 61 64 65 72  </b>: the header
23680 20 72 6f 77 20 73 75 6d 6d 61 72 69 7a 69 6e 67   row summarizing
23690 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e 20 61 73   the Solution as
236a0 20 61 20 77 68 6f 6c 65 2e 0d 0a 3c 75 6c 3e 0d   a whole...<ul>.
236b0 0a 3c 6c 69 3e 3c 62 3e 50 6f 69 6e 74 46 72 6f  .<li><b>PointFro
236c0 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54  m</b>, <b>PointT
236d0 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c  o</b> and <b>Tol
236e0 65 72 61 6e 63 65 3c 2f 62 3e 20 63 6f 6c 75 6d  erance</b> colum
236f0 6e 73 20 77 69 6c 6c 20 68 61 76 65 20 3c 62 3e  ns will have <b>
23700 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c  NOT NULL</b> val
23710 75 65 73 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20  ues only in the 
23720 68 65 61 64 65 72 20 72 6f 77 2e 3c 2f 6c 69 3e  header row.</li>
23730 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
23740 69 3e 3c 62 3e 49 6e 67 72 65 73 73 20 50 61 74  i><b>Ingress Pat
23750 68 3c 2f 62 3e 3a 20 61 20 73 74 72 61 69 67 68  h</b>: a straigh
23760 74 20 73 65 67 6d 65 6e 74 20 63 6f 6e 6e 65 63  t segment connec
23770 74 69 6e 67 20 74 68 65 20 4f 72 69 67 69 6e 20  ting the Origin 
23780 50 6f 69 6e 74 20 74 6f 20 74 68 65 20 66 69 72  Point to the fir
23790 73 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c  st Link.</li>..<
237a0 6c 69 3e 3c 62 3e 45 67 72 65 73 73 20 50 61 74  li><b>Egress Pat
237b0 68 3c 2f 62 3e 3a 20 61 20 73 74 72 61 69 67 68  h</b>: a straigh
237c0 74 20 73 65 67 6d 65 6e 74 20 63 6f 6e 6e 65 63  t segment connec
237d0 74 69 6e 67 20 74 68 65 20 6c 61 73 74 20 4c 69  ting the last Li
237e0 6e 6b 20 74 6f 20 74 68 65 20 44 65 73 74 69 6e  nk to the Destin
237f0 61 74 69 6f 6e 20 50 6f 69 6e 74 2e 0d 0a 3c 75  ation Point...<u
23800 6c 3e 0d 0a 3c 6c 69 3e 62 6f 74 68 20 74 68 65  l>..<li>both the
23810 20 49 6e 67 72 65 73 73 20 61 6e 64 20 74 68 65   Ingress and the
23820 20 45 67 72 65 73 73 20 50 61 74 68 20 72 6f 77   Egress Path row
23830 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 61  s will always ha
23840 76 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76  ve <b>NULL</b> v
23850 61 6c 75 65 73 20 6f 6e 20 3c 62 3e 4c 69 6e 6b  alues on <b>Link
23860 52 6f 77 69 64 3c 2f 62 3e 2c 20 3c 62 3e 4e 6f  Rowid</b>, <b>No
23870 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c  deFrom</b> and <
23880 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c  b>NodeTo</b> col
23890 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  umns.</li>..</ul
238a0 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50  ></li>..<li><b>P
238b0 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61  artial Link (Sta
238c0 72 74 29 3c 2f 62 3e 3a 20 74 68 65 20 70 61 72  rt)</b>: the par
238d0 74 69 61 6c 20 73 65 63 74 69 6f 6e 20 6f 66 20  tial section of 
238e0 74 68 65 20 66 69 72 73 74 20 4c 69 6e 6b 2e 0d  the first Link..
238f0 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20  .<ul>..<li>this 
23900 73 70 65 63 69 66 69 63 20 72 6f 77 20 77 69 6c  specific row wil
23910 6c 20 61 6c 77 61 79 73 20 68 61 76 65 20 61 20  l always have a 
23920 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75  <b>NULL</b> valu
23930 65 20 6f 6e 20 74 68 65 20 3c 62 3e 4e 6f 64 65  e on the <b>Node
23940 46 72 6f 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e  From</b> column.
23950 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  </li>..</ul></li
23960 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61  >..<li><b>Partia
23970 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 62 3e  l Link (End)</b>
23980 3a 20 74 68 65 20 70 61 72 74 69 61 6c 20 73 65  : the partial se
23990 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 6c 61 73  ction of the las
239a0 74 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e 0d 0a 3c  t Link...<ul>..<
239b0 6c 69 3e 74 68 69 73 20 73 70 65 63 69 66 69 63  li>this specific
239c0 20 72 6f 77 20 77 69 6c 6c 20 61 6c 77 61 79 73   row will always
239d0 20 68 61 76 65 20 61 20 3c 62 3e 4e 55 4c 4c 3c   have a <b>NULL<
239e0 2f 62 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65  /b> value on the
239f0 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63   <b>NodeTo</b> c
23a00 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  olumn.</li>..</u
23a10 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  l></li>..<li><b>
23a20 4c 69 6e 6b 3c 2f 62 3e 3a 20 61 6e 79 20 6f 74  Link</b>: any ot
23a30 68 65 72 20 4c 69 6e 6b 20 72 65 71 75 69 72 65  her Link require
23a40 64 20 62 79 20 74 68 65 20 50 6f 69 6e 74 2d 74  d by the Point-t
23a50 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e  o-Point Solution
23a60 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c  ...<ul>..<li>all
23a70 20 74 68 65 73 65 20 72 6f 77 73 20 77 69 6c 6c   these rows will
23a80 20 61 6c 77 61 79 73 20 68 61 76 65 20 3c 62 3e   always have <b>
23a90 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c  NOT NULL</b> val
23aa0 75 65 73 20 6f 6e 20 3c 62 3e 4c 69 6e 6b 52 6f  ues on <b>LinkRo
23ab0 77 69 64 3c 2f 62 3e 2c 20 3c 62 3e 4e 6f 64 65  wid</b>, <b>Node
23ac0 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  From</b> and <b>
23ad0 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d  NodeTo</b> colum
23ae0 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  ns.</li>..</ul><
23af0 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
23b00 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72  ..</ul>..<br><br
23b10 3e 3c 62 72 3e 0d 0a 3c 62 3e 50 6f 69 6e 74 2d  ><br>..<b>Point-
23b20 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65  to-Point</b> que
23b30 72 69 65 73 20 63 61 6e 20 62 65 20 63 75 73 74  ries can be cust
23b40 6f 6d 69 7a 65 64 2c 20 62 75 74 20 74 68 65 20  omized, but the 
23b50 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 72 75  configuration ru
23b60 6c 65 73 20 73 6c 69 67 68 74 6c 79 20 64 69 66  les slightly dif
23b70 66 65 72 20 66 72 6f 6d 20 77 68 61 74 20 79 6f  fer from what yo
23b80 75 20 68 61 76 65 20 61 6c 72 65 61 64 79 20 73  u have already s
23b90 65 65 6e 20 69 6e 20 70 72 65 76 69 6f 75 73 20  een in previous 
23ba0 65 78 61 6d 70 6c 65 73 2e 0d 0a 3c 75 6c 3e 0d  examples...<ul>.
23bb0 0a 3c 6c 69 3e 3c 62 3e 41 6c 67 6f 72 69 74 68  .<li><b>Algorith
23bc0 6d 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 3c 62 3e 44  m</b>: only <b>D
23bd0 69 6a 6b 73 74 72 61 3c 2f 62 3e 20 69 73 20 73  ijkstra</b> is s
23be0 75 70 70 6f 72 74 65 64 20 62 79 20 3c 62 3e 50  upported by <b>P
23bf0 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62  oint-to-Point</b
23c00 3e 2c 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 69  >, and will be i
23c10 6d 70 6c 69 63 69 74 6c 79 20 61 73 73 75 6d 65  mplicitly assume
23c20 64 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 20  d even when the 
23c30 61 6c 74 65 72 6e 61 74 69 76 65 20 3c 62 3e 41  alternative <b>A
23c40 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d 20  *</b> algorithm 
23c50 69 73 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c  is currently sel
23c60 65 63 74 65 64 2e 3c 62 72 3e 0d 0a 54 68 69 73  ected.<br>..This
23c70 20 69 73 20 62 65 63 61 75 73 65 20 74 68 65 20   is because the 
23c80 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69 63 20 6f  internal logic o
23c90 66 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  f Point-to-Point
23ca0 20 72 65 71 75 69 72 65 73 20 6d 75 6c 74 69 2d   requires multi-
23cb0 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72  destination quer
23cc0 69 65 73 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  ies in order to 
23cd0 65 76 61 6c 75 61 74 65 20 61 6c 6c 20 43 61 6e  evaluate all Can
23ce0 64 69 64 61 74 65 20 53 6f 6c 75 74 69 6f 6e 73  didate Solutions
23cf0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4f  .</li>..<li><b>O
23d00 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20 74 68 65 20  ptions</b>: the 
23d10 75 73 75 61 6c 20 3c 62 3e 46 55 4c 4c 3c 2f 62  usual <b>FULL</b
23d20 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e  >, <b>SIMPLE</b>
23d30 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62  , <b>NO LINKS</b
23d40 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f 4d  > and <b>NO GEOM
23d50 45 54 52 49 45 53 3c 2f 62 3e 20 61 72 65 20 73  ETRIES</b> are s
23d60 75 70 70 6f 72 74 65 64 20 61 6e 64 20 77 69 6c  upported and wil
23d70 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20  l have the same 
23d80 65 66 66 65 63 74 20 61 73 20 69 6e 20 73 69 6e  effect as in sin
23d90 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20  gle-destination 
23da0 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c  queries.</li>..<
23db0 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 3c  li><b>Tolerance<
23dc0 2f 62 3e 3a 20 74 68 69 73 20 73 65 74 74 69 6e  /b>: this settin
23dd0 67 20 69 73 20 73 70 65 63 69 66 69 63 20 74 6f  g is specific to
23de0 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 2c   Point-to-Point,
23df0 20 61 6e 64 20 64 65 66 69 6e 65 73 20 74 68 65   and defines the
23e00 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 61 62   maximum allowab
23e10 6c 65 20 64 69 73 74 61 6e 63 65 20 62 65 74 77  le distance betw
23e20 65 65 6e 20 61 20 72 65 66 65 72 65 6e 63 65 20  een a reference 
23e30 50 6f 69 6e 74 20 61 6e 64 20 43 61 6e 64 69 64  Point and Candid
23e40 61 74 65 20 4c 69 6e 6b 73 2e 3c 62 72 3e 0d 0a  ate Links.<br>..
23e50 49 74 20 64 65 66 61 75 6c 74 73 20 74 6f 20 3c  It defaults to <
23e60 62 3e 32 30 2e 30 6d 3c 2f 62 3e 20 69 66 20 6e  b>20.0m</b> if n
23e70 6f 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65  ot explicitly se
23e80 74 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  t.</li>..</ul>..
23e90 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41  <verbatim>..UPDA
23ea0 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70  TE byfoot SET Op
23eb0 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 45 4f 4d  tions = 'NO GEOM
23ec0 45 54 52 49 45 53 27 2c 20 54 6f 6c 65 72 61 6e  ETRIES', Toleran
23ed0 63 65 20 3d 20 32 35 2e 35 3b 0d 0a 0d 0a 53 45  ce = 25.5;....SE
23ee0 4c 45 43 54 20 52 65 71 75 65 73 74 2c 20 4f 70  LECT Request, Op
23ef0 74 69 6f 6e 73 2c 20 54 6f 6c 65 72 61 6e 63 65  tions, Tolerance
23f00 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65  , RouteRow, Role
23f10 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64  , LinkRowid, Nod
23f20 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43  eFrom, NodeTo, C
23f30 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e  ost, Geometry, N
23f40 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74  ame..FROM byfoot
23f50 0d 0a 57 48 45 52 45 20 50 6f 69 6e 74 46 72 6f  ..WHERE PointFro
23f60 6d 20 3d 20 28 53 45 4c 45 43 54 20 67 65 6f 6d  m = (SELECT geom
23f70 20 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76   FROM house_nr_v
23f80 77 20 57 48 45 52 45 20 6d 75 6e 69 63 69 70 61  w WHERE municipa
23f90 6c 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20  lity = 'AREZZO' 
23fa0 41 4e 44 20 61 64 64 72 65 73 73 20 3d 20 27 56  AND address = 'V
23fb0 49 41 20 44 45 27 27 20 43 45 4e 43 49 20 31 33  IA DE'' CENCI 13
23fc0 27 29 0d 0a 20 20 20 20 41 4e 44 20 50 6f 69 6e  ')..    AND Poin
23fd0 74 54 6f 20 3d 20 28 53 45 4c 45 43 54 20 67 65  tTo = (SELECT ge
23fe0 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72  om FROM house_nr
23ff0 5f 76 77 20 57 48 45 52 45 20 6d 75 6e 69 63 69  _vw WHERE munici
24000 70 61 6c 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f  pality = 'AREZZO
24010 27 20 41 4e 44 20 61 64 64 72 65 73 73 20 3d 20  ' AND address = 
24020 27 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41  'VIA ANTONIO GUA
24030 44 41 47 4e 4f 4c 49 20 31 39 2f 43 27 29 3b 0d  DAGNOLI 19/C');.
24040 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68  .</verbatim>..Th
24050 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c  e following tabl
24060 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75  e shows the resu
24070 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62  ltset returned b
24080 79 20 74 68 65 20 61 62 6f 76 65 20 50 6f 69 6e  y the above Poin
24090 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79  t-to-Point query
240a0 20 61 66 74 65 72 20 73 65 6c 65 63 74 69 6e 67   after selecting
240b0 20 3c 62 3e 4f 70 74 69 6f 6e 73 20 3d 20 27 4e   <b>Options = 'N
240c0 4f 20 47 45 4f 4d 45 54 52 49 45 53 27 3c 2f 62  O GEOMETRIES'</b
240d0 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c 65 72 61 6e  > and <b>Toleran
240e0 63 65 20 3d 20 32 35 2e 35 3c 2f 62 3e 3c 62 72  ce = 25.5</b><br
240f0 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  ><br>..<table bo
24100 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
24110 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
24120 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
24130 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
24140 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
24150 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f  0d0a0">Request</
24160 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
24170 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73  #d0d0a0">Options
24180 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
24190 3d 22 23 64 30 64 30 61 30 22 3e 54 6f 6c 65 72  ="#d0d0a0">Toler
241a0 61 6e 63 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ance</th><th bgc
241b0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
241c0 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20  outeRow</th><th 
241d0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
241e0 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62  ">Role</th><th b
241f0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
24200 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c  >LinkRowid</th><
24210 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
24220 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74  0a0">NodeFrom</t
24230 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
24240 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f  d0d0a0">NodeTo</
24250 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
24260 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74  #d0d0a0">Cost</t
24270 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
24280 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79  d0d0a0">Geometry
24290 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
242a0 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c  ="#d0d0a0">Name<
242b0 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  /th></tr>..<tr>.
242c0 0a 3c 74 64 3e 50 6f 69 6e 74 32 50 6f 69 6e 74  .<td>Point2Point
242d0 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 6f   Path</td><td>No
242e0 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f 74 64 3e   Geometries</td>
242f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24300 22 3e 32 35 2e 35 30 30 30 30 30 3c 2f 74 64 3e  ">25.500000</td>
24310 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24320 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e  ">0</td><td>Poin
24330 74 32 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e  t2Point Solution
24340 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24350 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24360 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
24370 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 35  align="right">65
24380 31 2e 30 36 37 30 38 32 3c 2f 74 64 3e 3c 74 64  1.067082</td><td
24390 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
243a0 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
243b0 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
243c0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
243d0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
243e0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
243f0 3c 2f 74 64 3e 3c 74 64 3e 49 6e 67 72 65 73 73  </td><td>Ingress
24400 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55   Path</td><td>NU
24410 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24420 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24430 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24440 74 22 3e 32 2e 33 30 31 36 38 37 3c 2f 74 64 3e  t">2.301687</td>
24450 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24460 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
24470 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
24480 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24490 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
244a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
244b0 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74  ">2</td><td>Part
244c0 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61 72 74 29  ial Link (Start)
244d0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
244e0 72 69 67 68 74 22 3e 32 32 34 32 36 34 3c 2f 74  right">224264</t
244f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24500 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24510 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c 74 64 20  >182630</td><td 
24520 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 36  align="right">46
24530 2e 30 38 32 37 36 31 3c 2f 74 64 3e 3c 74 64 3e  .082761</td><td>
24540 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
24550 20 44 45 27 20 43 45 4e 43 49 3c 2f 74 64 3e 0d   DE' CENCI</td>.
24560 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
24570 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24580 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
24590 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
245a0 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
245b0 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
245c0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33 37  ign="right">2237
245d0 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  58</td><td align
245e0 3d 22 72 69 67 68 74 22 3e 31 38 32 36 33 30 3c  ="right">182630<
245f0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24600 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f 74 64  ight">182629</td
24610 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24620 74 22 3e 32 34 2e 31 39 38 31 31 35 3c 2f 74 64  t">24.198115</td
24630 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24640 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f  d>CORSO ITALIA</
24650 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
24660 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
24670 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24680 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
24690 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
246a0 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
246b0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
246c0 32 32 35 35 31 32 3c 2f 74 64 3e 3c 74 64 20 61  225512</td><td a
246d0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
246e0 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  629</td><td alig
246f0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33  n="right">182933
24700 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24710 72 69 67 68 74 22 3e 33 34 2e 31 38 34 31 39 34  right">34.184194
24720 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24730 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c  d><td>CORSO ITAL
24740 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  IA</td>..</tr>..
24750 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
24760 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24770 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24780 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35   align="right">5
24790 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
247a0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
247b0 68 74 22 3e 32 32 35 35 31 31 3c 2f 74 64 3e 3c  ht">225511</td><
247c0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
247d0 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c 74 64 20  >182933</td><td 
247e0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
247f0 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
24800 67 6e 3d 22 72 69 67 68 74 22 3e 34 39 2e 32 34  gn="right">49.24
24810 31 37 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  1735</td><td>NUL
24820 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20  L</td><td>CORSO 
24830 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74  ITALIA</td>..</t
24840 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
24850 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24860 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24870 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24880 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">6</td><td>Lin
24890 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
248a0 22 72 69 67 68 74 22 3e 32 32 35 38 30 30 3c 2f  "right">225800</
248b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
248c0 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e  ght">181999</td>
248d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
248e0 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
248f0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
24900 35 2e 35 39 32 32 30 34 3c 2f 74 64 3e 3c 74 64  5.592204</td><td
24910 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
24920 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53  A FRANCESCO CRIS
24930 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  PI</td>..</tr>..
24940 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
24950 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24960 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24970 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
24980 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
24990 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
249a0 68 74 22 3e 32 31 39 31 37 31 3c 2f 74 64 3e 3c  ht">219171</td><
249b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
249c0 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20  >178880</td><td 
249d0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
249e0 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8732</td><td ali
249f0 67 6e 3d 22 72 69 67 68 74 22 3e 39 33 2e 32 38  gn="right">93.28
24a00 35 35 33 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5538</td><td>NUL
24a10 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
24a20 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
24a30 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
24a40 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
24a50 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24a60 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
24a70 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64  gn="right">8</td
24a80 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
24a90 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24aa0 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61  219058</td><td a
24ab0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
24ac0 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  732</td><td alig
24ad0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
24ae0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24af0 72 69 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38  right">148.65608
24b00 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
24b10 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43  td><td>VIA FRANC
24b20 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e  ESCO CRISPI</td>
24b30 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
24b40 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24b50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
24b60 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
24b70 22 72 69 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74  "right">9</td><t
24b80 64 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28  d>Partial Link (
24b90 45 6e 64 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  End)</td><td ali
24ba0 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31  gn="right">22401
24bb0 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
24bc0 22 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c 2f  "right">182890</
24bd0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24be0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24bf0 22 3e 31 35 30 2e 32 36 30 36 34 31 3c 2f 74 64  ">150.260641</td
24c00 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24c10 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55  d>VIA ANTONIO GU
24c20 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c  ADAGNOLI</td>..<
24c30 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
24c40 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
24c50 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24c60 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24c70 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e  ght">10</td><td>
24c80 45 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64 3e  Egress Path</td>
24c90 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24ca0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24cb0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
24cc0 3d 22 72 69 67 68 74 22 3e 37 2e 32 36 34 31 31  ="right">7.26411
24cd0 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  8</td><td>NULL</
24ce0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24cf0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  ..</tr>..</table
24d00 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65  >..<br><br>..The
24d10 20 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70 68   map below graph
24d20 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65  ically shows the
24d30 20 74 77 6f 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f   two Point-to-Po
24d40 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 73 20 72 65  int Solutions re
24d50 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72  turned by the pr
24d60 65 76 69 6f 75 73 20 71 75 65 72 69 65 73 2e 0d  evious queries..
24d70 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69 6d 67 20  .<br><br>..<img 
24d80 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77  src="https://www
24d90 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69  .gaia-gis.it/gai
24da0 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66  a-sins/routing-f
24db0 69 67 73 2f 70 6f 69 6e 74 2d 74 6f 2d 70 6f 69  igs/point-to-poi
24dc0 6e 74 2e 6a 70 67 22 20 61 6c 74 3d 22 70 6f 69  nt.jpg" alt="poi
24dd0 6e 74 2d 74 6f 2d 70 6f 69 6e 74 22 3e 0d 0a 3c  nt-to-point">..<
24de0 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 72 65  ul>..<li>the gre
24df0 65 6e 20 6c 69 6e 65 20 63 6f 72 72 65 73 70 6f  en line correspo
24e00 6e 64 73 20 74 6f 20 74 68 65 20 66 69 72 73 74  nds to the first
24e10 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 50 6f   solution (<i>Po
24e20 69 6e 74 54 6f 20 3d 20 56 49 41 20 47 55 41 44  intTo = VIA GUAD
24e30 41 47 4e 4f 4c 49 20 31 39 2f 42 3c 2f 69 3e 29  AGNOLI 19/B</i>)
24e40 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  .</li>..<li>the 
24e50 79 65 6c 6c 6f 77 20 6c 69 6e 65 20 63 6f 72 72  yellow line corr
24e60 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 73  esponds to the s
24e70 65 63 6f 6e 64 20 73 6f 6c 75 74 69 6f 6e 20 28  econd solution (
24e80 3c 69 3e 50 6f 69 6e 74 54 6f 20 3d 20 56 49 41  <i>PointTo = VIA
24e90 20 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 43   GUADAGNOLI 19/C
24ea0 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  </i>).</li>..</u
24eb0 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  l>..<br>..<u>Not
24ec0 65 3c 2f 75 3e 3a 20 50 6f 69 6e 74 2d 74 6f 2d  e</u>: Point-to-
24ed0 50 6f 69 6e 74 20 71 75 65 72 69 65 73 20 61 72  Point queries ar
24ee0 65 20 76 65 72 79 20 73 65 6e 73 69 74 69 76 65  e very sensitive
24ef0 2c 20 61 6e 64 20 61 20 76 65 72 79 20 62 6c 61  , and a very bla
24f00 6e 64 20 73 68 69 66 74 20 61 66 66 65 63 74 69  nd shift affecti
24f10 6e 67 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20  ng the position 
24f20 6f 66 20 61 20 72 65 66 65 72 65 6e 63 65 20 50  of a reference P
24f30 6f 69 6e 74 20 63 6f 75 6c 64 20 65 61 73 69 6c  oint could easil
24f40 79 20 63 61 75 73 65 20 64 72 61 6d 61 74 69 63  y cause dramatic
24f50 20 63 68 61 6e 67 65 73 20 69 6e 20 74 68 65 20   changes in the 
24f60 53 6f 6c 75 74 69 6f 6e 27 73 20 50 61 74 68 20  Solution's Path 
24f70 28 61 73 20 69 73 20 69 6e 20 74 68 69 73 20 63  (as is in this c
24f80 61 73 65 29 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  ase)...<br><br>.
24f90 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 61 20 68 72  .<hr><br>..<a hr
24fa0 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  ef="https://www.
24fb0 67 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73  gaia-gis.it/foss
24fc0 69 6c 2f 6c 69 62 73 70 61 74 69 61 6c 69 74 65  il/libspatialite
24fd0 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30  /wiki?name=4.3.0
24fe0 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f 61 3e 0a 5a  -doc">back</a>.Z
24ff0 20 64 61 38 65 65 30 35 32 35 61 39 38 37 33 30   da8ee0525a98730
25000 65 65 35 36 31 35 34 65 36 36 36 66 65 33 39 66  ee56154e666fe39f
25010 32 0a                                            2.