Hex Artifact Content
Not logged in

Artifact 3e36f24360562334ad5f8a6be9ce29e713c5e282:

Wiki page [VirtualRouting] by sandro 2018-04-25 09:50:18.
0000: 44 20 32 30 31 38 2d 30 34 2d 32 35 54 30 39 3a  D 2018-04-25T09:
0010: 35 30 3a 31 38 2e 34 31 30 0a 4c 20 56 69 72 74  50:18.410.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 35 37 30  ualRouting.P 570
0030: 39 37 37 65 32 61 39 37 38 33 64 62 65 31 63 64  977e2a9783dbe1cd
0040: 34 64 39 32 64 32 62 39 38 65 36 63 37 31 39 63  4d92d2b98e6c719c
0050: 65 35 65 32 35 0a 55 20 73 61 6e 64 72 6f 0a 57  e5e25.U sandro.W
0060: 20 31 35 31 34 33 33 0a 3c 61 20 68 72 65 66 3d   151433.<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 53 6f 6d 65  o IDs</h3>..Some
5da0: 74 69 6d 65 73 20 69 74 20 63 6f 75 6c 64 20 65  times it could e
5db0: 76 65 6e 74 75 61 6c 6c 79 20 68 61 70 70 65 6e  ventually happen
5dc0: 20 74 6f 20 65 6e 63 6f 75 6e 74 65 72 20 73 6f   to encounter so
5dd0: 6d 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65  me <b>Spatial Ne
5de0: 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 70 72 65 73  twork</b> repres
5df0: 65 6e 74 61 74 69 6f 6e 20 62 65 69 6e 67 20 66  entation being f
5e00: 75 6c 6c 79 20 74 6f 70 6f 6c 6f 67 69 63 61 6c  ully topological
5e10: 6c 79 20 63 6f 6e 73 69 73 74 65 6e 74 20 62 75  ly consistent bu
5e20: 74 20 63 6f 6d 70 6c 65 74 65 6c 79 20 6c 61 63  t completely lac
5e30: 6b 69 6e 67 20 61 6e 79 20 64 65 66 69 6e 69 74  king any definit
5e40: 69 6f 6e 20 61 62 6f 75 74 20 3c 62 3e 4e 6f 64  ion about <b>Nod
5e50: 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62  eFrom</b> and <b
5e60: 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 69 64 65 6e  >NodeTo</b> iden
5e70: 74 69 66 69 65 72 73 2e 3c 62 72 3e 0d 0a 49 6e  tifiers.<br>..In
5e80: 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63   this specific c
5e90: 61 73 65 20 79 6f 75 20 63 61 6e 20 73 75 63 63  ase you can succ
5ea0: 65 73 73 66 75 6c 6c 79 20 72 65 63 6f 76 65 72  essfully recover
5eb0: 20 61 20 70 65 72 66 65 63 74 6c 79 20 76 61 6c   a perfectly val
5ec0: 69 64 20 4e 65 74 77 6f 72 6b 20 62 79 20 63 61  id Network by ca
5ed0: 6c 6c 69 6e 67 20 74 68 65 20 3c 62 3e 43 72 65  lling the <b>Cre
5ee0: 61 74 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28  ateRoutingNodes(
5ef0: 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69  )</b> SQL functi
5f00: 6f 6e 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  on...<verbatim>.
5f10: 0a 53 45 4c 45 43 54 20 43 72 65 61 74 65 52 6f  .SELECT CreateRo
5f20: 75 74 69 6e 67 4e 6f 64 65 73 28 4e 55 4c 4c 2c  utingNodes(NULL,
5f30: 20 27 74 61 62 6c 65 5f 6e 61 6d 65 27 2c 20 27   'table_name', '
5f40: 67 65 6f 6d 27 2c 20 27 6e 6f 64 65 5f 66 72 6f  geom', 'node_fro
5f50: 6d 27 2c 20 27 6e 6f 64 65 5f 74 6f 27 29 3b 0d  m', 'node_to');.
5f60: 0a 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ._______________
5f70: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c  __________..1..<
5f80: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 4c 65 74 27  /verbatim>..Let'
5f90: 73 20 65 78 61 6d 69 6e 65 20 61 6c 6c 20 61 72  s examine all ar
5fa0: 67 75 6d 65 6e 74 73 20 61 6e 64 20 74 68 65 69  guments and thei
5fb0: 72 20 6d 65 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e  r meaning:..<ol>
5fc0: 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69  ..<li><i>NULL</i
5fd0: 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 3c  >: name of the <
5fe0: 62 3e 41 74 74 61 63 68 65 64 2d 44 42 3c 2f 62  b>Attached-DB</b
5ff0: 3e 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65  > containing the
6000: 20 53 70 61 74 69 61 6c 20 54 61 62 6c 65 2e 3c   Spatial Table.<
6010: 62 72 3e 0d 0a 49 74 20 63 61 6e 20 62 65 20 6c  br>..It can be l
6020: 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20  egitimately set 
6030: 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20  to <b>NULL</b>, 
6040: 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 65  and in this case
6050: 20 74 68 65 20 3c 62 3e 4d 41 49 4e 3c 2f 62 3e   the <b>MAIN</b>
6060: 20 44 42 20 69 73 20 61 73 73 75 6d 65 64 2e 3c   DB is assumed.<
6070: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 74 61 62  /li>..<li><i>tab
6080: 6c 65 5f 6e 61 6d 65 3c 2f 69 3e 3a 20 6e 61 6d  le_name</i>: nam
6090: 65 20 6f 66 20 74 68 65 20 53 70 61 74 69 61 6c  e of the Spatial
60a0: 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c   Table.</li>..<l
60b0: 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 6c 69 3e 3a 20  i><i>geom</li>: 
60c0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75  name of the colu
60d0: 6d 6e 20 28 28 69 6e 20 74 68 65 20 61 62 6f 76  mn ((in the abov
60e0: 65 20 54 61 62 6c 65 29 20 63 6f 6e 74 61 69 6e  e Table) contain
60f0: 69 6e 67 20 3c 62 3e 4c 69 6e 65 73 74 72 69 6e  ing <b>Linestrin
6100: 67 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  gs</b>.</li>..<l
6110: 69 3e 3c 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f  i><i>node_from</
6120: 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  i>: name of the 
6130: 63 6f 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64  column to be add
6140: 65 64 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20  ed to the above 
6150: 54 61 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61  Table and popula
6160: 74 65 64 20 77 69 74 68 20 61 70 70 72 6f 70 72  ted with appropr
6170: 69 61 74 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d  iate <b>NodeFrom
6180: 3c 2f 62 3e 20 49 44 73 2e 3c 2f 6c 69 3e 0d 0a  </b> IDs.</li>..
6190: 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f 3c 2f  <li><i>node_to</
61a0: 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  i>: name of the 
61b0: 63 6f 6c 75 6d 6e 20 74 6f 20 62 65 20 61 64 64  column to be add
61c0: 65 64 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20  ed to the above 
61d0: 54 61 62 6c 65 20 61 6e 64 20 70 6f 70 75 6c 61  Table and popula
61e0: 74 65 64 20 77 69 74 68 20 61 70 70 72 6f 70 72  ted with appropr
61f0: 69 61 74 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f  iate <b>NodeTo</
6200: 62 3e 20 49 44 73 2e 3c 62 72 3e 0d 0a 3c 75 3e  b> IDs.<br>..<u>
6210: 4e 6f 74 65 3c 2f 75 3e 3a 20 62 6f 74 68 20 3c  Note</u>: both <
6220: 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61  b>NodeFrom</b> a
6230: 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e  nd <b>NodeTo</b>
6240: 20 63 6f 6c 75 6d 6e 73 20 73 68 6f 75 6c 64 20   columns should 
6250: 6e 6f 74 20 62 65 20 61 6c 72 65 61 64 79 20 64  not be already d
6260: 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 61 62  efined in the ab
6270: 6f 76 65 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d  ove Table.</li>.
6280: 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 3e 43 72 65 61 74  .</ol>..<b>Creat
6290: 65 52 6f 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c  eRoutingNodes()<
62a0: 2f 62 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20  /b> will return 
62b0: 3c 62 3e 31 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61  <b>1</b> (<i>aka
62c0: 3c 2f 69 3e 20 3c 62 3e 54 52 55 45 3c 2f 62 3e  </i> <b>TRUE</b>
62d0: 29 20 6f 6e 20 73 75 63 63 65 73 73 3b 20 61 6e  ) on success; an
62e0: 20 65 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20   exception will 
62f0: 62 65 20 72 61 69 73 65 64 20 6f 6e 20 66 61 69  be raised on fai
6300: 6c 75 72 65 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  lure.<br>..<u>No
6310: 74 65 3c 2f 75 3e 3a 20 79 6f 75 20 63 61 6e 20  te</u>: you can 
6320: 63 61 6c 6c 20 3c 62 3e 43 72 65 61 74 65 52 6f  call <b>CreateRo
6330: 75 74 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72  uting_GetLastErr
6340: 6f 72 28 29 3c 2f 62 3e 20 73 6f 20 74 6f 20 70  or()</b> so to p
6350: 72 65 63 69 73 65 6c 79 20 69 64 65 6e 74 69 66  recisely identif
6360: 79 20 74 68 65 20 63 61 75 73 65 20 61 63 63 6f  y the cause acco
6370: 75 6e 74 69 6e 67 20 66 6f 72 20 66 61 69 6c 75  unting for failu
6380: 72 65 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d  re.<br><br><br>.
6390: 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d  .<table bgcolor=
63a0: 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70  "#c0ffc0" cellsp
63b0: 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70  acing="10" cellp
63c0: 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c  adding="6"><tr><
63d0: 74 64 3e 0d 0a 3c 68 33 3e 48 61 6e 64 6c 69 6e  td>..<h3>Handlin
63e0: 67 20 64 79 6e 61 6d 69 63 20 4e 65 74 77 6f 72  g dynamic Networ
63f0: 6b 73 3c 2f 68 33 3e 0d 0a 53 6f 6d 65 74 69 6d  ks</h3>..Sometim
6400: 65 73 20 69 74 20 68 61 70 70 65 6e 73 20 74 68  es it happens th
6410: 61 74 20 61 20 4e 65 74 77 6f 72 6b 20 63 6f 75  at a Network cou
6420: 6c 64 20 62 65 20 73 75 62 6a 65 63 74 20 74 6f  ld be subject to
6430: 20 72 61 74 68 65 72 20 66 72 65 71 75 65 6e 74   rather frequent
6440: 20 63 68 61 6e 67 65 73 3a 20 73 6f 6d 65 20 6e   changes: some n
6450: 65 77 20 4c 69 6e 6b 73 20 72 65 71 75 69 72 65  ew Links require
6460: 20 74 6f 20 62 65 20 61 64 64 65 64 2c 20 6f 62   to be added, ob
6470: 73 6f 6c 65 74 65 20 4c 69 6e 6b 73 20 72 65 71  solete Links req
6480: 75 69 72 65 20 74 6f 20 62 65 20 72 65 6d 6f 76  uire to be remov
6490: 65 64 2c 20 6f 74 68 65 72 20 4c 69 6e 6b 73 20  ed, other Links 
64a0: 6d 61 79 20 61 73 73 75 6d 65 20 61 20 64 69 66  may assume a dif
64b0: 66 65 72 65 6e 74 20 43 6f 73 74 2c 20 6f 6e 65  ferent Cost, one
64c0: 2d 77 61 79 73 20 63 6f 75 6c 64 20 62 65 20 72  -ways could be r
64d0: 65 76 65 72 73 65 64 2c 20 74 68 65 20 64 69 73  eversed, the dis
64e0: 63 69 70 6c 69 6e 65 20 6f 66 20 70 65 64 65 73  cipline of pedes
64f0: 74 72 69 61 6e 20 61 72 65 61 73 20 63 6f 75 6c  trian areas coul
6500: 64 20 62 65 20 6d 6f 64 69 66 69 65 64 20 61 6e  d be modified an
6510: 64 20 73 6f 20 6f 6e 2e 3c 62 72 3e 0d 0a 41 20  d so on.<br>..A 
6520: 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54  VirtualRouting T
6530: 61 62 6c 65 20 69 73 20 61 6c 77 61 79 73 20 62  able is always b
6540: 61 73 65 64 20 6f 6e 20 61 20 63 6f 6d 70 61 6e  ased on a compan
6550: 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20  ion Binary Data 
6560: 54 61 62 6c 65 2c 20 74 68 61 74 20 69 73 20 69  Table, that is i
6570: 6e 74 72 69 6e 73 69 63 61 6c 6c 79 20 3c 62 3e  ntrinsically <b>
6580: 73 74 61 74 69 63 3c 2f 62 3e 2c 20 61 6e 64 20  static</b>, and 
6590: 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 79 6f 75  consequently you
65a0: 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f   are required to
65b0: 20 72 65 2d 63 72 65 61 74 65 20 62 6f 74 68 20   re-create both 
65c0: 74 68 65 6d 20 66 72 6f 6d 20 74 69 6d 65 20 74  them from time t
65d0: 6f 20 74 69 6d 65 20 69 6e 20 6f 72 64 65 72 20  o time in order 
65e0: 74 6f 20 73 75 70 70 6f 72 74 20 61 6c 6c 20 72  to support all r
65f0: 65 63 65 6e 74 20 63 68 61 6e 67 65 73 20 61 66  ecent changes af
6600: 66 65 63 74 69 6e 67 20 74 68 65 20 75 6e 64 65  fecting the unde
6610: 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e  rlaying Network.
6620: 3c 62 72 3e 0d 0a 54 68 65 20 6f 70 74 69 6d 61  <br>..The optima
6630: 6c 20 66 72 65 71 75 65 6e 63 79 20 66 6f 72 20  l frequency for 
6640: 63 79 63 6c 69 63 61 6c 6c 79 20 72 65 66 72 65  cyclically refre
6650: 73 68 69 6e 67 20 74 68 65 20 52 6f 75 74 69 6e  shing the Routin
6660: 67 20 54 61 62 6c 65 73 20 73 74 72 69 63 74 6c  g Tables strictl
6670: 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 73 70 65  y depends on spe
6680: 63 69 66 69 63 20 72 65 71 75 69 72 65 6d 65 6e  cific requiremen
6690: 74 73 2c 20 62 75 74 20 74 68 65 20 74 77 6f 20  ts, but the two 
66a0: 6f 76 65 72 61 6c 6c 20 61 70 70 72 6f 61 63 68  overall approach
66b0: 65 73 20 61 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20  es are commonly 
66c0: 61 64 6f 70 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a  adopted:..<ol>..
66d0: 3c 6c 69 3e 3c 62 3e 6c 6f 77 20 66 72 65 71 75  <li><b>low frequ
66e0: 65 6e 63 79 20 72 65 66 72 65 73 68 3c 2f 62 3e  ency refresh</b>
66f0: 3a 20 62 65 73 74 20 66 69 74 20 66 6f 72 20 73  : best fit for s
6700: 6c 6f 77 6c 79 20 65 76 6f 6c 76 69 6e 67 20 4e  lowly evolving N
6710: 65 74 77 6f 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e  etworks.<br>..In
6720: 20 74 68 69 73 20 63 61 73 65 20 72 65 2d 63 72   this case re-cr
6730: 65 61 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f  eating the Netwo
6740: 72 6b 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 61  rk Tables once a
6750: 20 6d 6f 6e 74 68 20 2f 20 77 65 65 6b 20 2f 20   month / week / 
6760: 64 61 79 20 63 6f 75 6c 64 20 62 65 20 72 65 61  day could be rea
6770: 73 6f 6e 61 62 6c 79 20 65 6e 6f 75 67 68 2e 0d  sonably enough..
6780: 0a 52 65 63 72 65 61 74 69 6e 67 20 74 68 65 20  .Recreating the 
6790: 54 61 62 6c 65 73 20 66 72 6f 6d 20 73 63 72 61  Tables from scra
67a0: 74 63 68 20 75 73 75 61 6c 6c 79 20 72 65 71 75  tch usually requ
67b0: 69 72 65 73 20 73 65 76 65 72 61 6c 20 73 65 63  ires several sec
67c0: 6f 6e 64 73 20 28 6f 72 20 65 76 65 6e 20 6c 65  onds (or even le
67d0: 73 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e  ss, depending on
67e0: 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 4c   the number of L
67f0: 69 6e 6b 73 29 2e 3c 62 72 3e 0d 0a 54 68 65 20  inks).<br>..The 
6800: 72 65 66 72 65 73 68 20 61 63 74 69 76 69 74 69  refresh activiti
6810: 65 73 20 63 6f 75 6c 64 20 62 65 20 6f 70 70 6f  es could be oppo
6820: 72 74 75 6e 65 6c 79 20 70 6c 61 6e 6e 65 64 20  rtunely planned 
6830: 61 74 20 6c 6f 77 20 74 72 61 66 66 69 63 20 68  at low traffic h
6840: 6f 75 72 73 20 28 65 2e 67 2e 20 64 75 72 69 6e  ours (e.g. durin
6850: 67 20 74 68 65 20 6e 69 67 68 74 29 2c 20 61 6e  g the night), an
6860: 64 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69  d <b>CreateRouti
6870: 6e 67 28 29 3c 2f 62 3e 20 63 6f 75 6c 64 20 62  ng()</b> could b
6880: 65 20 75 73 65 66 75 6c 6c 79 20 63 61 6c 6c 65  e usefully calle
6890: 64 20 62 79 20 65 6e 61 62 6c 69 6e 67 20 74 68  d by enabling th
68a0: 65 20 3c 62 3e 6f 76 65 72 77 72 69 74 65 3c 2f  e <b>overwrite</
68b0: 62 3e 20 6f 70 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d  b> option.</li>.
68c0: 0a 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75 6d 2d 68  .<li><b>medium-h
68d0: 69 67 68 20 66 72 65 71 75 65 6e 63 79 20 72 65  igh frequency re
68e0: 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65 73 74 20  fresh</b>: best 
68f0: 66 69 74 20 66 6f 72 20 71 75 69 63 6b 6c 79 20  fit for quickly 
6900: 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f 72 6b  evolving Network
6910: 73 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72 65 61 74  s.<br>..Re-creat
6920: 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b 20  ing the Network 
6930: 54 61 62 6c 65 73 20 6f 6e 63 65 20 70 65 72 20  Tables once per 
6940: 68 6f 75 72 20 28 6f 72 20 65 76 65 6e 20 6d 6f  hour (or even mo
6950: 72 65 20 66 72 65 71 75 65 6e 74 6c 79 29 20 63  re frequently) c
6960: 6f 75 6c 64 20 62 65 20 73 74 72 69 63 74 6c 79  ould be strictly
6970: 20 72 65 71 75 69 72 65 64 2c 20 61 6e 64 20 66   required, and f
6980: 72 65 71 75 65 6e 74 20 3c 62 3e 6f 75 74 20 6f  requent <b>out o
6990: 66 20 73 65 72 76 69 63 65 3c 2f 62 3e 20 70 65  f service</b> pe
69a0: 72 69 6f 64 73 20 77 68 69 6c 65 20 77 61 69 74  riods while wait
69b0: 69 6e 67 20 66 6f 72 20 74 68 65 20 72 65 66 72  ing for the refr
69c0: 65 73 68 20 70 72 6f 63 65 73 73 20 74 6f 20 63  esh process to c
69d0: 6f 6d 70 6c 65 74 65 20 63 6f 75 6c 64 20 65 61  omplete could ea
69e0: 73 69 6c 79 20 62 65 20 75 6e 61 63 63 65 70 74  sily be unaccept
69f0: 61 62 6c 65 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68  able.<br>..In th
6a00: 69 73 20 63 61 73 65 20 79 6f 75 20 63 6f 75 6c  is case you coul
6a10: 64 20 75 73 65 66 75 6c 6c 79 20 61 64 6f 70 74  d usefully adopt
6a20: 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65   a <b>multi-thre
6a30: 61 64 65 64 20 73 74 72 61 74 65 67 79 3c 2f 62  aded strategy</b
6a40: 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  >:..<ul>..<li><b
6a50: 3e 74 68 72 65 61 64 20 23 31 3c 2f 62 3e 20 28  >thread #1</b> (
6a60: 3c 69 3e 74 68 65 20 72 65 61 64 65 72 3c 2f 69  <i>the reader</i
6a70: 3e 29 3a 20 74 68 69 73 20 66 69 72 73 74 20 74  >): this first t
6a80: 68 72 65 61 64 20 69 73 20 69 6e 74 65 6e 64 65  hread is intende
6a90: 64 20 74 6f 20 73 65 72 76 69 63 65 20 61 6e 79  d to service any
6aa0: 20 69 6e 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e   incoming Routin
6ab0: 67 20 72 65 71 75 65 73 74 2e 20 49 74 20 77 69  g request. It wi
6ac0: 6c 6c 20 62 65 20 61 6c 77 61 79 73 20 61 63 74  ll be always act
6ad0: 69 76 65 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61  ive, and will ta
6ae0: 72 67 65 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77  rget a well know
6af0: 6e 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  n VirtualRouting
6b00: 20 54 61 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e   Table (e.g. <b>
6b10: 6d 79 5f 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62  my_routing</b> b
6b20: 61 73 65 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f  ased on <b>my_ro
6b30: 75 74 69 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e  uting_data</b>).
6b40: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68  </li>..<li><b>th
6b50: 72 65 61 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e  read #2</b> (<i>
6b60: 74 68 65 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a  the writer</i>):
6b70: 20 74 68 69 73 20 73 65 63 6f 6e 64 20 74 68 72   this second thr
6b80: 65 61 64 20 69 73 20 6a 75 73 74 20 69 6e 74 65  ead is just inte
6b90: 6e 64 65 64 20 74 6f 20 72 65 2d 63 72 65 61 74  nded to re-creat
6ba0: 65 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54  e both Network T
6bb0: 61 62 6c 65 73 20 61 74 20 70 72 65 64 65 66 69  ables at predefi
6bc0: 6e 65 64 20 69 6e 74 65 72 76 61 6c 73 2c 20 61  ned intervals, a
6bd0: 6e 64 20 69 74 20 77 69 6c 6c 20 73 6c 65 65 70  nd it will sleep
6be0: 20 62 65 74 77 65 65 6e 20 61 6e 20 69 6e 74 65   between an inte
6bf0: 72 76 61 6c 20 61 6e 64 20 74 68 65 20 6f 74 68  rval and the oth
6c00: 65 72 2e 3c 62 72 3e 0d 0a 57 68 65 6e 20 74 68  er.<br>..When th
6c10: 69 73 20 74 68 72 65 61 64 20 61 77 61 6b 65 6e  is thread awaken
6c20: 73 20 77 69 6c 6c 20 72 65 2d 63 72 65 61 74 65  s will re-create
6c30: 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61   both Network Ta
6c40: 62 6c 65 73 20 62 79 20 75 73 69 6e 67 20 64 69  bles by using di
6c50: 66 66 65 72 65 6e 74 20 6e 61 6d 65 73 2c 20 61  fferent names, a
6c60: 6e 64 20 77 69 6c 6c 20 6f 76 65 72 77 72 69 74  nd will overwrit
6c70: 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f  e the standard o
6c80: 6e 65 73 20 6a 75 73 74 20 61 74 20 74 68 65 20  nes just at the 
6c90: 76 65 72 79 20 65 6e 64 20 6f 66 20 74 68 65 20  very end of the 
6ca0: 70 72 6f 63 65 73 73 20 28 61 63 74 69 76 61 74  process (activat
6cb0: 69 6e 67 20 61 20 73 65 6d 61 70 68 6f 72 65 20  ing a semaphore 
6cc0: 64 75 72 69 6e 67 20 74 68 69 73 20 73 68 6f 72  during this shor
6cd0: 74 2d 74 69 6d 65 64 20 6c 61 73 74 20 73 74 65  t-timed last ste
6ce0: 70 20 69 73 20 68 69 67 68 6c 79 20 72 65 63 6f  p is highly reco
6cf0: 6d 6d 65 6e 64 65 64 29 2e 3c 62 72 3e 0d 0a 53  mmended).<br>..S
6d00: 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68  omething like th
6d10: 69 73 20 70 73 65 75 64 6f 2d 63 6f 64 65 20 65  is pseudo-code e
6d20: 78 65 6d 70 6c 69 66 69 65 73 3a 0d 0a 3c 76 65  xemplifies:..<ve
6d30: 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20  rbatim>..SELECT 
6d40: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27 6e  CreateRouting('n
6d50: 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61  ew_my_routing_da
6d60: 74 61 27 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75  ta', 'new_my_rou
6d70: 74 69 6e 67 27 2c 20 2e 2e 2e 29 3b 0d 0a 0d 0a  ting', ...);....
6d80: 2d 2d 3e 20 73 74 61 72 74 20 74 68 65 20 73 65  --> start the se
6d90: 6d 61 70 68 6f 72 65 20 73 6f 20 74 6f 20 6c 6f  maphore so to lo
6da0: 63 6b 20 74 68 65 20 6f 74 68 65 72 20 74 68 72  ck the other thr
6db0: 65 61 64 0d 0a 0d 0a 42 45 47 49 4e 3b 0d 0a 44  ead....BEGIN;..D
6dc0: 52 4f 50 20 54 41 42 4c 45 20 6d 79 5f 72 6f 75  ROP TABLE my_rou
6dd0: 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41 42 4c  ting;..DROP TABL
6de0: 45 20 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74  E my_routing_dat
6df0: 61 3b 0d 0a 53 45 4c 45 43 54 20 43 6c 6f 6e 65  a;..SELECT Clone
6e00: 54 61 62 6c 65 28 27 4d 41 49 4e 27 2c 20 27 6e  Table('MAIN', 'n
6e10: 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61  ew_my_routing_da
6e20: 74 61 27 2c 20 27 6d 79 5f 72 6f 75 74 69 6e 67  ta', 'my_routing
6e30: 5f 64 61 74 61 27 2c 20 30 29 3b 0d 0a 43 52 45  _data', 0);..CRE
6e40: 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c  ATE VIRTUAL TABL
6e50: 45 20 6d 79 5f 72 6f 75 74 69 6e 67 20 55 53 49  E my_routing USI
6e60: 4e 47 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  NG VirtualRoutin
6e70: 67 28 27 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61  g('my_routing_da
6e80: 74 61 27 29 3b 0d 0a 44 52 4f 50 20 54 41 42 4c  ta');..DROP TABL
6e90: 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67  E new_my_routing
6ea0: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6e 65  ;..DROP TABLE ne
6eb0: 77 5f 6d 79 5f 72 6f 75 74 69 6e 67 5f 64 61 74  w_my_routing_dat
6ec0: 61 3b 0d 0a 43 4f 4d 4d 49 54 3b 0d 0a 0d 0a 2d  a;..COMMIT;....-
6ed0: 2d 3e 20 72 65 6d 6f 76 65 20 74 68 65 20 73 65  -> remove the se
6ee0: 6d 61 70 68 6f 72 65 0d 0a 3c 2f 76 65 72 62 61  maphore..</verba
6ef0: 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  tim>..<u>Note</u
6f00: 3e 3a 20 73 74 72 69 63 74 6c 79 20 72 65 73 70  >: strictly resp
6f10: 65 63 74 69 6e 67 20 74 68 65 20 61 62 6f 76 65  ecting the above
6f20: 20 73 65 71 75 65 6e 63 65 20 6f 66 20 53 51 4c   sequence of SQL
6f30: 20 6f 70 65 72 61 74 69 6f 6e 73 20 69 73 20 61   operations is a
6f40: 62 73 6f 6c 75 74 65 6c 79 20 72 65 71 75 69 72  bsolutely requir
6f50: 65 64 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e  ed.</li> ..</ul>
6f60: 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f  </li>..</ol>..</
6f70: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  td></tr>..</tabl
6f80: 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  e>..<br>..<table
6f90: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36   bgcolor="#ffb06
6fa0: 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  0" cellspacing="
6fb0: 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  10" cellpadding=
6fc0: 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68  "6"><tr><td>..<h
6fd0: 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f 77 20 74  3>Warning: how t
6fe0: 6f 20 63 6f 72 72 65 63 74 6c 79 20 64 72 6f 70  o correctly drop
6ff0: 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 73 3c   Network Tables<
7000: 2f 68 33 3e 0d 0a 57 68 65 6e 20 64 72 6f 70 70  /h3>..When dropp
7010: 69 6e 67 20 61 20 56 69 72 74 75 61 6c 52 6f 75  ing a VirtualRou
7020: 74 69 6e 67 20 54 61 62 6c 65 20 61 6e 64 20 69  ting Table and i
7030: 74 73 20 63 6f 6d 70 61 6e 69 6f 6e 20 42 69 6e  ts companion Bin
7040: 61 72 79 20 44 61 74 61 20 54 61 62 6c 65 20 66  ary Data Table f
7050: 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 63 6f 72  ollowing the cor
7060: 72 65 63 74 20 73 65 71 75 65 6e 63 65 20 6f 66  rect sequence of
7070: 20 53 51 4c 20 63 6f 6d 6d 61 6e 64 73 20 69 73   SQL commands is
7080: 20 70 61 72 61 6d 6f 75 6e 74 2e 3c 62 72 3e 0d   paramount.<br>.
7090: 0a 46 61 69 6c 69 6e 67 20 74 6f 20 73 74 72 69  .Failing to stri
70a0: 63 74 6c 79 20 72 65 73 70 65 63 74 20 74 68 65  ctly respect the
70b0: 20 65 78 70 65 63 74 65 64 20 73 65 71 75 65 6e   expected sequen
70c0: 63 65 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 63  ce will surely c
70d0: 61 75 73 65 20 79 6f 75 20 73 65 76 65 72 61 6c  ause you several
70e0: 20 74 72 6f 75 62 6c 65 73 20 61 6e 64 20 73 65   troubles and se
70f0: 76 65 72 65 20 68 65 61 64 61 63 68 65 73 2c 20  vere headaches, 
7100: 61 6e 64 20 77 69 6c 6c 20 70 6f 73 73 69 62 6c  and will possibl
7110: 79 20 6c 65 61 64 20 74 6f 20 61 6e 20 69 72 72  y lead to an irr
7120: 65 6d 65 64 69 61 62 6c 79 20 63 6f 72 72 75 70  emediably corrup
7130: 74 65 64 20 64 61 74 61 62 61 73 65 2e 0d 0a 3c  ted database...<
7140: 6f 6c 3e 0d 0a 3c 6c 69 3e 79 6f 75 20 61 72 65  ol>..<li>you are
7150: 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65 64   always expected
7160: 20 74 6f 20 44 52 4f 50 20 66 69 72 73 74 20 74   to DROP first t
7170: 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  he VirtualRoutin
7180: 67 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c  g Table.</li>..<
7190: 6c 69 3e 79 6f 75 20 63 61 6e 20 73 61 66 65 6c  li>you can safel
71a0: 79 20 44 52 4f 50 20 74 68 65 20 63 6f 6d 70 61  y DROP the compa
71b0: 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74 61  nion Binary Data
71c0: 20 54 61 62 6c 65 20 6f 6e 6c 79 20 6f 6e 63 65   Table only once
71d0: 20 69 74 27 73 20 6e 6f 20 6c 6f 6e 67 65 72 20   it's no longer 
71e0: 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68  referenced by th
71f0: 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  e VirtualRouting
7200: 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c   Table.</li>..<l
7210: 69 3e 62 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  i>by following t
7220: 68 65 20 72 65 76 65 72 73 65 20 73 65 71 75 65  he reverse seque
7230: 6e 63 65 20 79 6f 75 27 6c 6c 20 64 69 72 65 63  nce you'll direc
7240: 74 6c 79 20 63 72 65 61 74 65 20 61 6e 20 3c 62  tly create an <b
7250: 3e 6f 72 70 68 61 6e 3c 2f 62 3e 20 56 69 72 74  >orphan</b> Virt
7260: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
7270: 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20   that cannot be 
7280: 61 63 63 65 73 73 65 64 20 61 6e 79 20 6c 6f 6e  accessed any lon
7290: 67 65 72 2c 20 61 6e 64 20 74 68 61 74 20 77 69  ger, and that wi
72a0: 6c 6c 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20  ll consequently 
72b0: 72 65 66 75 73 65 20 74 6f 20 62 65 20 64 72 6f  refuse to be dro
72c0: 70 70 65 64 2e 3c 62 72 3e 0d 0a 42 65 20 77 61  pped.<br>..Be wa
72d0: 72 6e 65 64 20 21 21 3c 2f 6c 69 3e 0d 0a 3c 2f  rned !!</li>..</
72e0: 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d  ol>..</td></tr>.
72f0: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c  .</table>..<br><
7300: 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c  br>..<hr><br>..<
7310: 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 66 72 6f 6d  h1><a name="from
7320: 5f 74 6f 22 3e 34 20 2d 20 53 6f 6c 76 69 6e 67  _to">4 - Solving
7330: 20 63 6c 61 73 73 69 63 20 53 68 6f 72 74 65 73   classic Shortes
7340: 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d 73 3c  t Path problems<
7350: 2f 61 3e 3c 2f 68 31 3e 0d 0a 54 68 65 20 6d 6f  /a></h1>..The mo
7360: 73 74 20 63 6c 61 73 73 69 63 20 53 68 6f 72 74  st classic Short
7370: 65 73 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d  est Path problem
7380: 20 72 65 71 75 69 72 65 73 20 74 6f 20 69 64 65   requires to ide
7390: 6e 74 69 66 79 20 74 68 65 20 6f 70 74 69 6d 61  ntify the optima
73a0: 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 62 65 74  l connection bet
73b0: 77 65 65 6e 20 61 6e 20 3c 62 3e 4f 72 69 67 69  ween an <b>Origi
73c0: 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 20 61  n Node</b> and a
73d0: 20 3c 62 3e 44 65 73 74 69 6e 61 74 69 6f 6e 20   <b>Destination 
73e0: 4e 6f 64 65 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 57  Node</b>.<br>..W
73f0: 65 20 63 61 6e 20 65 61 73 69 6c 79 20 74 72 61  e can easily tra
7400: 6e 73 6c 61 74 65 20 73 75 63 68 20 61 20 70 72  nslate such a pr
7410: 6f 62 6c 65 6d 20 69 6e 74 6f 20 61 20 73 69 6d  oblem into a sim
7420: 70 6c 65 20 53 51 4c 20 71 75 65 72 79 20 74 61  ple SQL query ta
7430: 72 67 65 74 69 6e 67 20 73 6f 6d 65 20 56 69 72  rgeting some Vir
7440: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
7450: 65 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  e...<verbatim>..
7460: 53 45 4c 45 43 54 20 2a 20 0d 0a 46 52 4f 4d 20  SELECT * ..FROM 
7470: 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f  byfoot..WHERE No
7480: 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20  deFrom = 178731 
7490: 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33  AND NodeTo = 183
74a0: 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  286;..</verbatim
74b0: 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72  >..<table border
74c0: 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66  ="1" bgcolor="#f
74d0: 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69  fffcf" cellspaci
74e0: 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69  ng="4" cellpaddi
74f0: 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68  ng="6">..<tr><th
7500: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
7510: 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68  0">Algorithm</th
7520: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
7530: 30 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f  0d0a0">Request</
7540: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7550: 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73  #d0d0a0">Options
7560: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
7570: 3d 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d  ="#d0d0a0">Delim
7580: 69 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63  iter</th><th bgc
7590: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
75a0: 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62  outeId</th><th b
75b0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
75c0: 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74  >RouteRow</th><t
75d0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
75e0: 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
75f0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
7600: 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68  0">LinkRowid</th
7610: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
7620: 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c  0d0a0">NodeFrom<
7630: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
7640: 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f  "#d0d0a0">NodeTo
7650: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
7660: 3d 22 23 64 30 64 30 61 30 22 3e 50 6f 69 6e 74  ="#d0d0a0">Point
7670: 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63  From</th><th bgc
7680: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50  olor="#d0d0a0">P
7690: 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  ointTo</th><th b
76a0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
76b0: 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c  >Tolerance</th><
76c0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
76d0: 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74  0a0">Cost</th><t
76e0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
76f0: 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68  a0">Geometry</th
7700: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
7710: 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e  0d0a0">Name</th>
7720: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
7730: 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c 74  >Dijkstra</td><t
7740: 64 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c  d>Shortest Path<
7750: 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64  /td><td>Full</td
7760: 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d  ><td>, &#91;dec=
7770: 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c  44, hex=2c&#93;<
7780: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7790: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
77a0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
77b0: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
77c0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
77d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
77e0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
77f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
7800: 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  3286</td><td>NUL
7810: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
7820: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7830: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7840: 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64  ">300.912208</td
7850: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32  ><td>BLOB sz=272
7860: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
7870: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
7880: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
7890: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
78a0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
78b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
78c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
78d0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
78e0: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
78f0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
7900: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
7910: 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  014</td><td alig
7920: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
7930: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7940: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
7950: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
7960: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7970: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
7980: 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38 31  gn="right">94.81
7990: 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2424</td><td>NUL
79a0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50 49  L</td><td>VIA PI
79b0: 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64  ETRO ARETINO</td
79c0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
79d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
79e0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
79f0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
7a00: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7a10: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
7a20: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
7a30: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
7a40: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7a50: 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74  t">224446</td><t
7a60: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
7a70: 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61  182885</td><td a
7a80: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
7a90: 38 38 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  880</td><td>NULL
7aa0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7ab0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
7ac0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
7ad0: 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c  >69.727726</td><
7ae0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7af0: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c  VIA MARGARITONE<
7b00: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
7b10: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
7b20: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7b30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
7b40: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
7b50: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
7b60: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
7b70: 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >3</td><td>Link<
7b80: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
7b90: 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64  ight">224414</td
7ba0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
7bb0: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
7bc0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
7bd0: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e  183286</td><td>N
7be0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
7bf0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7c00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7c10: 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f  ht">136.372057</
7c20: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7c30: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
7c40: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
7c50: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  .</table>..<br>.
7c60: 0a 4c 65 74 27 73 20 71 75 69 63 6b 6c 79 20 65  .Let's quickly e
7c70: 78 61 6d 69 6e 65 20 74 68 65 20 72 65 73 75 6c  xamine the resul
7c80: 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79  tset returned by
7c90: 20 74 68 65 20 61 62 6f 76 65 20 52 6f 75 74 69   the above Routi
7ca0: 6e 67 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d  ng query:..<ul>.
7cb0: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72 73  .<li>the <b>firs
7cc0: 74 20 72 6f 77 3c 2f 62 3e 20 28 3c 69 3e 61 6b  t row</b> (<i>ak
7cd0: 61 3c 2f 69 3e 20 68 65 61 64 65 72 20 72 6f 77  a</i> header row
7ce0: 29 20 68 61 73 20 61 20 73 70 65 63 69 61 6c 20  ) has a special 
7cf0: 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 2c 20  interpretation, 
7d00: 61 6e 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20  and is intended 
7d10: 74 6f 20 73 75 6d 6d 61 72 69 7a 65 20 74 68 65  to summarize the
7d20: 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e   travel solution
7d30: 20 61 73 20 61 20 77 68 6f 6c 65 2e 3c 2f 6c 69   as a whole.</li
7d40: 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 74 68 65 20 3c  >..<li>all the <
7d50: 62 3e 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73  b>following rows
7d60: 3c 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 20 61  </b> represent a
7d70: 20 73 69 6e 67 6c 65 20 4c 69 6e 6b 20 72 65 71   single Link req
7d80: 75 69 72 65 64 20 74 6f 20 62 75 69 6c 64 20 74  uired to build t
7d90: 68 65 20 73 6f 6c 75 74 69 6f 6e 20 28 6f 70 74  he solution (opt
7da0: 69 6d 61 20 70 61 74 68 29 3b 20 4c 69 6e 6b 73  ima path); Links
7db0: 20 61 72 65 20 6f 72 64 65 72 65 64 20 61 63 63   are ordered acc
7dc0: 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20  ordingly to the 
7dd0: 74 72 61 76 65 6c 20 64 69 72 65 63 74 69 6f 6e  travel direction
7de0: 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 68 65 20   connecting the 
7df0: 4f 72 69 67 69 6e 20 61 6e 64 20 74 68 65 20 44  Origin and the D
7e00: 65 73 74 69 6e 61 74 69 6f 6e 2e 3c 2f 6c 69 3e  estination.</li>
7e10: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c 62  ..<li>columns <b
7e20: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20  >Algorithm</b>, 
7e30: 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20  <b>Request</b>, 
7e40: 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 2c 20  <b>Options</b>, 
7e50: 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e  <b>Delimiter</b>
7e60: 2c 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f  , <b>PointFrom</
7e70: 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f  b>, <b>PointTo</
7e80: 62 3e 2c 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65  b>, <b>Tolerance
7e90: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 47 65 6f 6d  </b> and <b>Geom
7ea0: 65 74 72 79 3c 2f 62 3e 20 61 72 65 20 61 6c 77  etry</b> are alw
7eb0: 61 79 73 20 73 65 74 20 74 6f 20 3c 62 3e 4e 55  ays set to <b>NU
7ec0: 4c 4c 3c 2f 62 3e 20 65 78 63 65 70 74 20 74 68  LL</b> except th
7ed0: 61 74 20 69 6e 20 74 68 65 20 66 69 72 73 74 20  at in the first 
7ee0: 72 6f 77 20 6f 66 20 74 68 65 20 72 65 73 75 6c  row of the resul
7ef0: 74 73 65 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  tset:..<ul>..<li
7f00: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 41 6c 67 6f 72  >column <b>Algor
7f10: 69 74 68 6d 3c 2f 62 3e 20 61 63 63 6f 75 6e 74  ithm</b> account
7f20: 73 20 66 6f 72 20 74 68 65 20 52 6f 75 74 69 6e  s for the Routin
7f30: 67 20 41 6c 67 6f 72 69 74 68 6d 20 75 73 65 64  g Algorithm used
7f40: 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20   by the current 
7f50: 71 75 65 72 79 20 28 3c 69 3e 44 69 6a 6b 73 74  query (<i>Dijkst
7f60: 72 61 27 73 3c 2f 69 3e 20 6f 72 20 3c 69 3e 41  ra's</i> or <i>A
7f70: 2a 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  *</i>).</li>..<l
7f80: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 52 65 71 75  i>column <b>Requ
7f90: 65 73 74 3c 2f 62 3e 20 73 70 65 63 69 66 69 65  est</b> specifie
7fa0: 73 20 74 68 65 20 65 78 61 63 74 20 6e 61 74 75  s the exact natu
7fb0: 72 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e  re of the curren
7fc0: 74 20 71 75 65 72 79 20 28 69 6e 20 74 68 69 73  t query (in this
7fd0: 20 73 70 65 63 69 66 69 63 20 63 61 73 65 20 3c   specific case <
7fe0: 69 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c  i>Shortest Path<
7ff0: 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  /i>).</li>..<li>
8000: 77 65 27 6c 6c 20 69 67 6e 6f 72 65 20 66 6f 72  we'll ignore for
8010: 20 6e 6f 77 20 63 6f 6c 75 6d 6e 73 20 3c 62 3e   now columns <b>
8020: 4f 70 74 69 6f 6e 73 3c 2f 62 3e 2c 20 3c 62 3e  Options</b>, <b>
8030: 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 2c 20 3c  Delimiter</b>, <
8040: 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 2c  b>PointFrom</b>,
8050: 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20   <b>PointTo</b> 
8060: 61 6e 64 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65  and <b>Tolerance
8070: 3c 2f 62 3e 3a 20 74 68 65 69 72 20 72 65 73 70  </b>: their resp
8080: 65 63 74 69 76 65 20 6d 65 61 6e 69 6e 67 73 20  ective meanings 
8090: 77 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e 65  will be explaine
80a0: 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 70  d in following p
80b0: 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e 0d  aragraphs.</li>.
80c0: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 47  .<li>column <b>G
80d0: 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f 6e 74  eometry</b> cont
80e0: 61 69 6e 73 20 61 20 3c 62 3e 4c 49 4e 45 53 54  ains a <b>LINEST
80f0: 52 49 4e 47 3c 2f 62 3e 20 72 65 70 72 65 73 65  RING</b> represe
8100: 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 77  ntation of the w
8110: 68 6f 6c 65 20 74 72 61 76 65 6c 20 73 6f 6c 75  hole travel solu
8120: 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  tion.<br>..<u>No
8130: 74 65 3c 2f 75 3e 3a 20 6f 6e 20 3c 62 3e 4c 6f  te</u>: on <b>Lo
8140: 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 73 3c 2f  gical Networks</
8150: 62 3e 20 28 6e 6f 74 20 73 75 70 70 6f 72 74 69  b> (not supporti
8160: 6e 67 20 47 65 6f 6d 65 74 72 69 65 73 29 20 3c  ng Geometries) <
8170: 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 77  b>Geometry</b> w
8180: 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 3c 62  ill always be <b
8190: 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d  >NULL</b>.</li>.
81a0: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  .</ul></li>..<li
81b0: 3e 77 65 27 6c 6c 20 69 67 6e 6f 72 65 20 66 6f  >we'll ignore fo
81c0: 72 20 6e 6f 77 20 63 6f 6c 75 6d 6e 20 3c 62 3e  r now column <b>
81d0: 52 6f 75 74 65 49 64 3c 2f 62 3e 3b 20 69 74 73  RouteId</b>; its
81e0: 20 6d 65 61 6e 69 6e 67 20 77 69 6c 6c 20 62 65   meaning will be
81f0: 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 66 6f   explained in fo
8200: 6c 6c 6f 77 69 6e 67 20 70 61 72 61 67 72 61 70  llowing paragrap
8210: 68 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f  hs.</li>..<li>co
8220: 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 52 6f 77  lumn <b>RouteRow
8230: 3c 2f 62 3e 20 73 69 6d 70 6c 79 20 69 73 20 74  </b> simply is t
8240: 68 65 20 70 72 6f 67 72 65 73 73 69 76 65 20 6e  he progressive n
8250: 75 6d 62 65 72 20 6f 66 20 74 68 65 20 72 6f 77  umber of the row
8260: 20 69 6e 20 74 68 65 20 74 72 61 76 65 6c 20 73   in the travel s
8270: 6f 6c 75 74 69 6f 6e 20 28 61 6c 77 61 79 73 20  olution (always 
8280: 3c 62 3e 30 3c 2f 62 3e 20 69 6e 20 74 68 65 20  <b>0</b> in the 
8290: 68 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f 6c 69  header row).</li
82a0: 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62  >..<li>column <b
82b0: 3e 52 6f 6c 65 3c 2f 62 3e 20 63 61 6e 20 62 65  >Role</b> can be
82c0: 20 3c 69 3e 52 6f 75 74 65 3c 2f 69 3e 20 28 68   <i>Route</i> (h
82d0: 65 61 64 65 72 20 72 6f 77 29 20 6f 72 20 3c 69  eader row) or <i
82e0: 3e 4c 69 6e 6b 3c 2f 69 3e 20 28 61 6c 6c 20 66  >Link</i> (all f
82f0: 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 29 2e 3c  ollowing rows).<
8300: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e  /li>..<li>column
8310: 20 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 62   <b>LinkRowid</b
8320: 3e 20 72 65 66 65 72 65 6e 63 65 73 20 74 68 65  > references the
8330: 20 3c 62 3e 52 4f 57 49 44 3c 2f 62 3e 20 6f 66   <b>ROWID</b> of
8340: 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69   the correspondi
8350: 6e 67 20 4c 69 6e 6b 20 28 61 6c 77 61 79 73 20  ng Link (always 
8360: 73 65 74 20 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f  set to <b>NULL</
8370: 62 3e 20 69 6e 20 74 68 65 20 68 65 61 64 65 72  b> in the header
8380: 20 72 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   row).</li>..<li
8390: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4e 6f 64 65 46  >column <b>NodeF
83a0: 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e  rom</b> and <b>N
83b0: 6f 64 65 54 6f 3c 2f 62 3e 20 68 61 76 65 20 74  odeTo</b> have t
83c0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6e 74  he following int
83d0: 65 72 70 72 65 74 61 74 69 6f 6e 3a 0d 0a 3c 75  erpretation:..<u
83e0: 6c 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 68  l>..<li>in the h
83f0: 65 61 64 65 72 20 72 6f 77 20 74 68 65 79 20 63  eader row they c
8400: 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 68 65 20  orrespond to he 
8410: 3c 62 3e 4f 72 69 67 69 6e 3c 2f 62 3e 20 61 6e  <b>Origin</b> an
8420: 64 20 3c 62 3e 44 65 73 74 69 6e 61 74 69 6f 6e  d <b>Destination
8430: 3c 2f 62 3e 20 4e 6f 64 65 73 2e 3c 2f 6c 69 3e  </b> Nodes.</li>
8440: 0d 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20 74 68 65  ..<li>in all the
8450: 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20   following rows 
8460: 74 68 65 79 20 61 72 65 20 69 6e 74 65 6e 64 65  they are intende
8470: 64 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65  d to specify the
8480: 20 64 69 72 65 63 74 69 6f 6e 20 6f 66 20 74 68   direction of th
8490: 65 20 63 75 72 72 65 6e 74 20 4c 69 6e 6b 2e 3c  e current Link.<
84a0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e  /li>..</ul></li>
84b0: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e  ..<li>column <b>
84c0: 43 6f 73 74 3c 2f 62 3e 20 68 61 73 20 74 68 65  Cost</b> has the
84d0: 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6e 74 65 72   following inter
84e0: 70 72 65 74 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e  pretation:..<ul>
84f0: 0d 0a 3c 6c 69 3e 69 6e 20 74 68 65 20 68 65 61  ..<li>in the hea
8500: 64 65 72 20 74 6f 77 20 69 74 20 63 6f 72 72 65  der tow it corre
8510: 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c 62  sponds to the <b
8520: 3e 74 6f 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 20  >total cost</b> 
8530: 6f 66 20 74 68 65 20 74 72 61 76 65 6c 2e 3c 2f  of the travel.</
8540: 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6c 6c 20  li>..<li>in all 
8550: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f  the following ro
8560: 77 73 20 69 74 20 72 65 70 72 65 73 65 6e 74 73  ws it represents
8570: 20 74 68 65 20 73 70 65 63 69 66 69 63 20 63 6f   the specific co
8580: 73 74 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e  st of the curren
8590: 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  t Link.</li>..</
85a0: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f  ul></li>..<li>co
85b0: 6c 75 6d 6e 20 3c 62 3e 4e 61 6d 65 3c 2f 62 3e  lumn <b>Name</b>
85c0: 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 64 65   contains the de
85d0: 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65  scription of the
85e0: 20 63 75 72 72 65 6e 74 20 4c 69 6e 6b 20 28 75   current Link (u
85f0: 73 75 61 6c 6c 79 20 61 20 72 6f 61 64 20 6e 61  sually a road na
8600: 6d 65 29 2c 20 61 6e 64 20 69 73 20 61 6c 77 61  me), and is alwa
8610: 79 73 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69  ys <b>NULL</b> i
8620: 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77  n the header row
8630: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
8640: 75 3e 20 69 74 20 63 6f 75 6c 64 20 62 65 20 61  u> it could be a
8650: 6c 77 61 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c  lways be <b>NULL
8660: 3c 2f 62 3e 20 69 66 20 74 68 65 20 56 69 72 74  </b> if the Virt
8670: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
8680: 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72   does not suppor
8690: 74 73 20 6e 61 6d 65 73 2e 3c 2f 6c 69 3e 0d 0a  ts names.</li>..
86a0: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  </ul></li>..</ul
86b0: 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 54 65 73  >..<br><br>..Tes
86c0: 74 69 6e 67 20 74 68 65 20 72 65 74 75 72 6e 20  ting the return 
86d0: 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a 75 73 74 20  connection just 
86e0: 72 65 71 75 69 72 65 73 20 73 77 61 70 70 69 6e  requires swappin
86f0: 67 20 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64  g the Origin and
8700: 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e   the Destination
8710: 3b 20 69 6e 20 74 68 69 73 20 65 78 61 6d 70 6c  ; in this exampl
8720: 65 20 79 6f 75 27 6c 6c 20 6a 75 73 74 20 72 65  e you'll just re
8730: 71 75 65 73 74 20 74 68 65 20 6d 65 61 6e 69 6e  quest the meanin
8740: 67 66 75 6c 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c  gful columns:..<
8750: 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43  verbatim>..SELEC
8760: 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65  T RouteRow, Role
8770: 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64  , LinkRowid, Nod
8780: 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43  eFrom, NodeTo, C
8790: 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e  ost, Geometry, N
87a0: 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74  ame..FROM byfoot
87b0: 0d 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d  ..WHERE NodeTo =
87c0: 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
87d0: 46 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a  From = 183286;..
87e0: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61  </verbatim>..<ta
87f0: 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62  ble border="1" b
8800: 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22  gcolor="#ffffcf"
8810: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22   cellspacing="4"
8820: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
8830: 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c  >..<tr><th bgcol
8840: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75  or="#d0d0a0">Rou
8850: 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67  teRow</th><th bg
8860: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8870: 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Role</th><th bgc
8880: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c  olor="#d0d0a0">L
8890: 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68  inkRowid</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 46 72 6f 6d 3c 2f 74 68 3e  0">NodeFrom</th>
88c0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
88d0: 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68  d0a0">NodeTo</th
88e0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
88f0: 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e  0d0a0">Cost</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 47 65 6f 6d 65 74 72 79 3c 2f  d0a0">Geometry</
8920: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
8930: 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74  #d0d0a0">Name</t
8940: 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  h></tr>..<tr>..<
8950: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8960: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
8970: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
8980: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8990: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
89a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
89b0: 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
89c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30  align="right">30
89d0: 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64  0.912208</td><td
89e0: 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f  >BLOB sz=272 GEO
89f0: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
8a00: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
8a10: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
8a20: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
8a30: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
8a40: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
8a50: 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  414</td><td alig
8a60: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
8a70: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8a80: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
8a90: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8aa0: 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f  ht">136.372057</
8ab0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
8ac0: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
8ad0: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
8ae0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
8af0: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
8b00: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
8b10: 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f  "right">224446</
8b20: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8b30: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
8b40: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8b50: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
8b60: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36   align="right">6
8b70: 39 2e 37 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64  9.727726</td><td
8b80: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
8b90: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
8ba0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
8bb0: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
8bc0: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
8bd0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
8be0: 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f  "right">224014</
8bf0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8c00: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
8c10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8c20: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
8c30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
8c40: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64  4.812424</td><td
8c50: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
8c60: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
8c70: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f  </td>..</tr>..</
8c80: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 49 66  table>..<br>..If
8c90: 20 79 6f 75 20 72 65 6d 65 6d 62 65 72 2c 20 74   you remember, t
8ca0: 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e  he <b>byfoot</b>
8cb0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
8cc0: 54 61 62 6c 65 20 68 61 73 20 6e 6f 20 3c 62 3e  Table has no <b>
8cd0: 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 2c 20 61 6e  one-ways</b>, an
8ce0: 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74  d consequently t
8cf0: 68 65 20 72 65 74 75 72 6e 20 70 61 74 68 20 65  he return path e
8d00: 78 61 63 74 6c 79 20 63 6f 72 72 65 73 70 6f 6e  xactly correspon
8d10: 64 73 20 74 6f 20 74 68 65 20 66 69 72 73 74 20  ds to the first 
8d20: 6f 6e 65 2c 20 65 78 63 65 70 74 20 69 6e 20 74  one, except in t
8d30: 68 61 74 20 61 6c 6c 20 64 69 72 65 63 74 69 6f  hat all directio
8d40: 6e 73 20 61 72 65 20 6e 6f 77 20 72 65 76 65 72  ns are now rever
8d50: 73 65 64 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62  sed...<br><br><b
8d60: 72 3e 0d 0a 4e 6f 77 20 79 6f 75 27 6c 6c 20 67  r>..Now you'll g
8d70: 6f 20 74 6f 20 74 65 73 74 20 74 68 65 20 73 61  o to test the sa
8d80: 6d 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20  me connections, 
8d90: 62 75 74 20 74 68 69 73 20 74 69 6d 65 20 79 6f  but this time yo
8da0: 75 27 6c 6c 20 74 61 72 67 65 74 20 74 68 65 20  u'll target the 
8db0: 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 56 69 72  <b>bycar</b> Vir
8dc0: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
8dd0: 65 20 74 68 61 74 20 66 75 6c 6c 79 20 73 75 70  e that fully sup
8de0: 70 6f 72 74 73 20 3c 62 3e 6f 6e 65 2d 77 61 79  ports <b>one-way
8df0: 73 3c 2f 62 3e 3a 0d 0a 3c 76 65 72 62 61 74 69  s</b>:..<verbati
8e00: 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 6f 75 74 65  m>..SELECT Route
8e10: 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52  Row, Role, LinkR
8e20: 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20  owid, NodeFrom, 
8e30: 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65  NodeTo, Cost, Ge
8e40: 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52  ometry, Name..FR
8e50: 4f 4d 20 62 79 63 61 72 0d 0a 57 48 45 52 45 20  OM bycar..WHERE 
8e60: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
8e70: 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31  1 AND NodeTo = 1
8e80: 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74  83286;..</verbat
8e90: 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64  im>..<table bord
8ea0: 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22  er="1" bgcolor="
8eb0: 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61  #ffffcf" cellspa
8ec0: 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64  cing="4" cellpad
8ed0: 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c  ding="6">..<tr><
8ee0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
8ef0: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74  0a0">RouteRow</t
8f00: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
8f10: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68  d0d0a0">Role</th
8f20: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
8f30: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64  0d0a0">LinkRowid
8f40: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
8f50: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46  ="#d0d0a0">NodeF
8f60: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  rom</th><th bgco
8f70: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
8f80: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63  deTo</th><th bgc
8f90: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43  olor="#d0d0a0">C
8fa0: 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ost</th><th bgco
8fb0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65  lor="#d0d0a0">Ge
8fc0: 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62  ometry</th><th b
8fd0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
8fe0: 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d  >Name</th></tr>.
8ff0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9000: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
9010: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
9020: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
9030: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
9040: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
9050: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
9060: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9070: 69 67 68 74 22 3e 31 30 31 2e 38 31 35 35 35 32  ight">101.815552
9080: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
9090: 3d 32 30 33 32 20 47 45 4f 4d 45 54 52 59 3c 2f  =2032 GEOMETRY</
90a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
90b0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
90c0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
90d0: 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >1</td><td>Link<
90e0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
90f0: 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64  ight">224014</td
9100: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9110: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
9120: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9130: 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61  182885</td><td a
9140: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 2e  lign="right">13.
9150: 31 32 37 38 37 34 3c 2f 74 64 3e 3c 74 64 3e 4e  127874</td><td>N
9160: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
9170: 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f  PIETRO ARETINO</
9180: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
9190: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
91a0: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
91b0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
91c0: 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c  ="right">224446<
91d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
91e0: 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64  ight">182885</td
91f0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9200: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
9210: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9220: 39 2e 36 35 34 36 30 38 3c 2f 74 64 3e 3c 74 64  9.654608</td><td
9230: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9240: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
9250: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
9260: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
9270: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
9280: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
9290: 22 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c 2f  "right">219171</
92a0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
92b0: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
92c0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
92d0: 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64  ">178732</td><td
92e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
92f0: 2e 38 30 39 39 35 32 3c 2f 74 64 3e 3c 74 64 3e  .809952</td><td>
9300: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
9310: 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50   FRANCESCO CRISP
9320: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
9330: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
9340: 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64  right">4</td><td
9350: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
9360: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 30  ign="right">2190
9370: 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  58</td><td align
9380: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c  ="right">178732<
9390: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
93a0: 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64  ight">178754</td
93b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
93c0: 74 22 3e 31 32 2e 34 34 35 36 32 36 3c 2f 74 64  t">12.445626</td
93d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
93e0: 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20  d>VIA FRANCESCO 
93f0: 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  CRISPI</td>..</t
9400: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
9410: 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74  ign="right">5</t
9420: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
9430: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9440: 3e 32 32 35 38 38 38 3c 2f 74 64 3e 3c 74 64 20  >225888</td><td 
9450: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
9460: 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
9470: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 36  gn="right">18346
9480: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
9490: 22 72 69 67 68 74 22 3e 31 2e 35 39 39 38 36 35  "right">1.599865
94a0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
94b0: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45  d><td>VIA FRANCE
94c0: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d  SCO CRISPI</td>.
94d0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
94e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
94f0: 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  6</td><td>Link</
9500: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9510: 67 68 74 22 3e 32 32 35 38 38 37 3c 2f 74 64 3e  ght">225887</td>
9520: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9530: 22 3e 31 38 33 34 36 31 3c 2f 74 64 3e 3c 74 64  ">183461</td><td
9540: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9550: 38 32 38 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  82800</td><td al
9560: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 33 30  ign="right">3.30
9570: 30 35 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  0590</td><td>NUL
9580: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
9590: 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
95a0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
95b0: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
95c0: 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">7</td><td>Li
95d0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
95e0: 3d 22 72 69 67 68 74 22 3e 32 32 33 39 33 35 3c  ="right">223935<
95f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9600: 69 67 68 74 22 3e 31 38 32 38 30 30 3c 2f 74 64  ight">182800</td
9610: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9620: 74 22 3e 31 38 32 37 39 39 3c 2f 74 64 3e 3c 74  t">182799</td><t
9630: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9640: 36 2e 36 38 38 37 38 36 3c 2f 74 64 3e 3c 74 64  6.688786</td><td
9650: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9660: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45  ALE LUCA SIGNORE
9670: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LLI</td>..</tr>.
9680: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9690: 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c  ="right">8</td><
96a0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
96b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
96c0: 36 30 33 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  6038</td><td ali
96d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 37 39  gn="right">18279
96e0: 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
96f0: 22 72 69 67 68 74 22 3e 31 38 33 34 35 36 3c 2f  "right">183456</
9700: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9710: 67 68 74 22 3e 31 2e 32 39 34 30 31 37 3c 2f 74  ght">1.294017</t
9720: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
9730: 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53 49  td>VIALE LUCA SI
9740: 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c  GNORELLI</td>..<
9750: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
9760: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c  align="right">9<
9770: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
9780: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9790: 74 22 3e 32 32 35 38 33 32 3c 2f 74 64 3e 3c 74  t">225832</td><t
97a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
97b0: 31 38 33 34 35 36 3c 2f 74 64 3e 3c 74 64 20 61  183456</td><td a
97c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
97d0: 34 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  444</td><td alig
97e0: 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33 38 35 34  n="right">2.3854
97f0: 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  86</td><td>NULL<
9800: 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55  /td><td>VIALE LU
9810: 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74  CA SIGNORELLI</t
9820: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
9830: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
9840: 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69  t">10</td><td>Li
9850: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
9860: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 33 31 3c  ="right">225831<
9870: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9880: 69 67 68 74 22 3e 31 38 33 34 34 34 3c 2f 74 64  ight">183444</td
9890: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
98a0: 74 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e 3c 74  t">183554</td><t
98b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
98c0: 33 2e 31 36 30 36 36 32 3c 2f 74 64 3e 3c 74 64  3.160662</td><td
98d0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
98e0: 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45  ALE LUCA SIGNORE
98f0: 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LLI</td>..</tr>.
9900: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9910: 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e  ="right">11</td>
9920: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
9930: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
9940: 32 35 37 36 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  25765</td><td al
9950: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35  ign="right">1835
9960: 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
9970: 3d 22 72 69 67 68 74 22 3e 31 38 33 39 35 34 3c  ="right">183954<
9980: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
9990: 69 67 68 74 22 3e 37 2e 34 36 39 39 31 37 3c 2f  ight">7.469917</
99a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
99b0: 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20 53  <td>VIALE LUCA S
99c0: 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a  IGNORELLI</td>..
99d0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
99e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
99f0: 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
9a00: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9a10: 67 68 74 22 3e 32 32 35 37 36 36 3c 2f 74 64 3e  ght">225766</td>
9a20: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9a30: 22 3e 31 38 33 39 35 34 3c 2f 74 64 3e 3c 74 64  ">183954</td><td
9a40: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9a50: 38 33 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  83905</td><td al
9a60: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e 32 33  ign="right">3.23
9a70: 36 33 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  6389</td><td>NUL
9a80: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20  L</td><td>VIALE 
9a90: 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c  LUCA SIGNORELLI<
9aa0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9ab0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
9ac0: 67 68 74 22 3e 31 33 3c 2f 74 64 3e 3c 74 64 3e  ght">13</td><td>
9ad0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9ae0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 39 37  gn="right">22597
9af0: 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
9b00: 22 72 69 67 68 74 22 3e 31 38 33 39 30 35 3c 2f  "right">183905</
9b10: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9b20: 67 68 74 22 3e 31 38 33 36 32 36 3c 2f 74 64 3e  ght">183626</td>
9b30: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9b40: 22 3e 31 33 2e 39 38 33 36 32 39 3c 2f 74 64 3e  ">13.983629</td>
9b50: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
9b60: 3e 53 54 52 41 44 41 20 53 45 4e 5a 41 20 4e 4f  >STRADA SENZA NO
9b70: 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  ME</td>..</tr>..
9b80: 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d  <tr>..<td align=
9b90: 22 72 69 67 68 74 22 3e 31 34 3c 2f 74 64 3e 3c  "right">14</td><
9ba0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
9bb0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
9bc0: 34 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4905</td><td ali
9bd0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 36 32  gn="right">18362
9be0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
9bf0: 22 72 69 67 68 74 22 3e 31 38 33 31 32 38 3c 2f  "right">183128</
9c00: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9c10: 67 68 74 22 3e 35 2e 36 32 37 33 35 38 3c 2f 74  ght">5.627358</t
9c20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
9c30: 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a 41 20  td>STRADA SENZA 
9c40: 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NOME</td>..</tr>
9c50: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
9c60: 6e 3d 22 72 69 67 68 74 22 3e 31 35 3c 2f 74 64  n="right">15</td
9c70: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9c80: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9c90: 32 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64 20 61  224897</td><td a
9ca0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9cb0: 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  128</td><td alig
9cc0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
9cd0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9ce0: 72 69 67 68 74 22 3e 31 30 2e 30 33 30 37 39 32  right">10.030792
9cf0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
9d00: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52  d><td>VIA MARGAR
9d10: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ITONE</td>..</tr
9d20: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 76 65  >..</table>..<ve
9d30: 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20  rbatim>..SELECT 
9d40: 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
9d50: 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
9d60: 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
9d70: 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
9d80: 65 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57  e..FROM bycar..W
9d90: 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20 31 37  HERE NodeTo = 17
9da0: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46 72 6f  8731 AND NodeFro
9db0: 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76  m = 183286;..</v
9dc0: 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65  erbatim>..<table
9dd0: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
9de0: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
9df0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
9e00: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
9e10: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
9e20: 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52  "#d0d0a0">RouteR
9e30: 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ow</th><th bgcol
9e40: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c  or="#d0d0a0">Rol
9e50: 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  e</th><th bgcolo
9e60: 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b  r="#d0d0a0">Link
9e70: 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67  Rowid</th><th bg
9e80: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
9e90: 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  NodeFrom</th><th
9ea0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
9eb0: 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74  0">NodeTo</th><t
9ec0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
9ed0: 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68  a0">Cost</th><th
9ee0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
9ef0: 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e  0">Geometry</th>
9f00: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
9f10: 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c  d0a0">Name</th><
9f20: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
9f30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
9f40: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
9f50: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
9f60: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9f70: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
9f80: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
9f90: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
9fa0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33 2e 33  gn="right">103.3
9fb0: 30 35 32 35 39 3c 2f 74 64 3e 3c 74 64 3e 42 4c  05259</td><td>BL
9fc0: 4f 42 20 73 7a 3d 39 34 34 20 47 45 4f 4d 45 54  OB sz=944 GEOMET
9fd0: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
9fe0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9ff0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
a000: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
a010: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
a020: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34  n="right">224414
a030: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a040: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
a050: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a060: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
a070: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a080: 3e 31 38 2e 38 38 32 32 38 35 3c 2f 74 64 3e 3c  >18.882285</td><
a090: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
a0a0: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c  VIA MARGARITONE<
a0b0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
a0c0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
a0d0: 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">2</td><td>L
a0e0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
a0f0: 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 37 31  n="right">219171
a100: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a110: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
a120: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a130: 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c  ht">178732</td><
a140: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a150: 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e 3c 74  >7.809952</td><t
a160: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
a170: 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49  IA FRANCESCO CRI
a180: 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  SPI</td>..</tr>.
a190: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a1a0: 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
a1b0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a1c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
a1d0: 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9058</td><td ali
a1e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
a1f0: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
a200: 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f  "right">178754</
a210: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a220: 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36 3c 2f  ght">12.445626</
a230: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
a240: 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43  <td>VIA FRANCESC
a250: 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c  O CRISPI</td>..<
a260: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
a270: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
a280: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
a290: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a2a0: 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e 3c 74  t">224538</td><t
a2b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a2c0: 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
a2d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
a2e0: 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  972</td><td alig
a2f0: 6e 3d 22 72 69 67 68 74 22 3e 37 2e 30 34 37 37  n="right">7.0477
a300: 38 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  84</td><td>NULL<
a310: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f  /td><td>VIA ANTO
a320: 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f  NIO GUADAGNOLI</
a330: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
a340: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
a350: 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">5</td><td>Li
a360: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
a370: 3d 22 72 69 67 68 74 22 3e 32 32 32 35 37 35 3c  ="right">222575<
a380: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a390: 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74 64  ight">181972</td
a3a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a3b0: 74 22 3e 31 38 31 39 37 31 3c 2f 74 64 3e 3c 74  t">181971</td><t
a3c0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a3d0: 31 2e 38 35 32 32 38 33 3c 2f 74 64 3e 3c 74 64  1.852283</td><td
a3e0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
a3f0: 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47  A ANTONIO GUADAG
a400: 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NOLI</td>..</tr>
a410: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
a420: 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">6</td><td>Li
a430: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
a440: 3d 22 72 69 67 68 74 22 3e 32 32 34 39 36 37 3c  ="right">224967<
a450: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a460: 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74 64  ight">181971</td
a470: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a480: 74 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e 3c 74  t">182891</td><t
a490: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a4a0: 31 34 2e 32 37 33 31 38 35 3c 2f 74 64 3e 3c 74  14.273185</td><t
a4b0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
a4c0: 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41  IA ANTONIO GUADA
a4d0: 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  GNOLI</td>..</tr
a4e0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
a4f0: 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64  gn="right">7</td
a500: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
a510: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a520: 32 32 34 31 36 38 3c 2f 74 64 3e 3c 74 64 20 61  224168</td><td a
a530: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
a540: 38 39 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  891</td><td alig
a550: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 37  n="right">183057
a560: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a570: 72 69 67 68 74 22 3e 36 2e 36 34 33 33 30 39 3c  right">6.643309<
a580: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a590: 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45  ><td>VIA MACALLE
a5a0: 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  '</td>..</tr>..<
a5b0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
a5c0: 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64  right">8</td><td
a5d0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
a5e0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31  ign="right">2241
a5f0: 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  67</td><td align
a600: 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35 37 3c  ="right">183057<
a610: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a620: 69 67 68 74 22 3e 31 38 33 30 35 36 3c 2f 74 64  ight">183056</td
a630: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a640: 74 22 3e 33 2e 31 35 31 32 37 32 3c 2f 74 64 3e  t">3.151272</td>
a650: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
a660: 3e 56 49 41 20 4d 41 43 41 4c 4c 45 27 3c 2f 74  >VIA MACALLE'</t
a670: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
a680: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
a690: 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">9</td><td>Lin
a6a0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
a6b0: 22 72 69 67 68 74 22 3e 32 32 34 31 37 34 3c 2f  "right">224174</
a6c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a6d0: 67 68 74 22 3e 31 38 33 30 35 36 3c 2f 74 64 3e  ght">183056</td>
a6e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a6f0: 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64  ">182941</td><td
a700: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37   align="right">7
a710: 2e 39 36 36 38 37 30 3c 2f 74 64 3e 3c 74 64 3e  .966870</td><td>
a720: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
a730: 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72   RODI</td>..</tr
a740: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
a750: 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74  gn="right">10</t
a760: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
a770: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a780: 3e 32 32 34 30 35 39 3c 2f 74 64 3e 3c 74 64 20  >224059</td><td 
a790: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
a7a0: 32 39 34 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2941</td><td ali
a7b0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30  gn="right">18200
a7c0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
a7d0: 22 72 69 67 68 74 22 3e 36 2e 33 39 33 37 34 37  "right">6.393747
a7e0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
a7f0: 64 3e 3c 74 64 3e 56 49 41 20 52 4f 44 49 3c 2f  d><td>VIA RODI</
a800: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
a810: 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
a820: 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ht">11</td><td>L
a830: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
a840: 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 37  n="right">222637
a850: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a860: 72 69 67 68 74 22 3e 31 38 32 30 30 31 3c 2f 74  right">182001</t
a870: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a880: 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c  ht">182000</td><
a890: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a8a0: 3e 32 2e 34 37 35 35 33 38 3c 2f 74 64 3e 3c 74  >2.475538</td><t
a8b0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
a8c0: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
a8d0: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
a8e0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
a8f0: 72 69 67 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74  right">12</td><t
a900: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
a910: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32  lign="right">222
a920: 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  636</td><td alig
a930: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30  n="right">182000
a940: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a950: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
a960: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a970: 68 74 22 3e 31 34 2e 33 36 33 34 30 38 3c 2f 74  ht">14.363408</t
a980: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a990: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52  td>VIA PIETRO AR
a9a0: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
a9b0: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  >..</table>..<br
a9c0: 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20 65 61  >..As you can ea
a9d0: 73 69 6c 79 20 6e 6f 74 69 63 65 2c 20 74 68 65  sily notice, the
a9e0: 20 6f 70 74 69 6d 61 6c 20 70 61 74 68 73 20 72   optimal paths r
a9f0: 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 3c  eturned by the <
aa00: 62 3e 62 79 63 61 72 3c 2f 62 3e 20 56 69 72 74  b>bycar</b> Virt
aa10: 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65  ualRouting Table
aa20: 20 74 68 65 20 70 61 74 68 73 20 69 6e 20 6f 70   the paths in op
aa30: 70 6f 73 69 74 65 20 64 69 72 65 63 74 69 6f 6e  posite direction
aa40: 73 20 73 74 72 6f 6e 67 6c 79 20 64 69 66 66 65  s strongly diffe
aa50: 72 20 62 65 74 77 65 65 6e 20 74 68 65 6d 2c 20  r between them, 
aa60: 61 6e 64 20 62 6f 74 68 20 61 72 65 20 63 6f 6d  and both are com
aa70: 70 6c 65 74 65 6c 79 20 64 69 66 66 65 72 65 6e  pletely differen
aa80: 74 20 66 72 6f 6d 20 74 68 65 20 70 61 74 68 20  t from the path 
aa90: 72 65 74 75 72 6e 65 64 20 62 79 20 71 75 65 72  returned by quer
aaa0: 79 69 6e 67 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f  ying <b>byfoot</
aab0: 62 3e 2e 3c 62 72 3e 0d 0a 41 20 71 75 69 63 6b  b>.<br>..A quick
aac0: 20 67 6c 61 6e 63 65 20 61 74 20 74 68 65 20 62   glance at the b
aad0: 65 6c 6f 77 20 6d 61 70 20 77 69 6c 6c 20 73 75  elow map will su
aae0: 72 65 6c 79 20 68 65 6c 70 20 74 6f 20 75 6e 64  rely help to und
aaf0: 65 72 73 74 61 6e 64 20 62 65 74 74 65 72 20 77  erstand better w
ab00: 68 61 74 27 73 20 72 65 61 6c 6c 79 20 68 61 70  hat's really hap
ab10: 70 65 6e 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 69  pening.<br>..Thi
ab20: 73 20 69 73 20 61 20 63 65 6e 74 72 61 6c 20 61  s is a central a
ab30: 72 65 61 20 6f 66 20 74 68 65 20 74 6f 77 6e 20  rea of the town 
ab40: 6f 66 20 41 72 65 7a 7a 6f 20 61 72 6f 75 6e 64  of Arezzo around
ab50: 20 74 68 65 20 61 72 63 68 61 65 6f 6c 6f 67 69   the archaeologi
ab60: 63 61 6c 20 72 75 69 6e 73 20 6f 66 20 74 68 65  cal ruins of the
ab70: 20 52 6f 6d 61 6e 20 41 6d 70 68 69 74 68 65 61   Roman Amphithea
ab80: 74 65 72 3b 20 63 69 72 63 75 6c 61 74 69 6e 67  ter; circulating
ab90: 20 62 79 20 63 61 72 20 69 73 20 64 69 73 63 6f   by car is disco
aba0: 75 72 61 67 65 64 20 61 6e 64 20 69 73 20 73 75  uraged and is su
abb0: 62 6a 65 63 74 20 74 6f 20 6d 61 6e 79 20 6f 6e  bject to many on
abc0: 65 2d 77 61 79 20 72 65 73 74 72 69 63 74 69 6f  e-way restrictio
abd0: 6e 73 2e 20 4e 6f 74 20 73 75 72 70 72 69 73 69  ns. Not surprisi
abe0: 6e 67 6c 79 2c 20 6d 6f 76 69 6e 67 20 62 79 20  ngly, moving by 
abf0: 66 6f 6f 74 20 69 73 20 74 68 65 20 66 61 73 74  foot is the fast
ac00: 65 72 20 6f 70 74 69 6f 6e 2e 0d 0a 3c 62 72 3e  er option...<br>
ac10: 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22  <br>..<img src="
ac20: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
ac30: 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e  -gis.it/gaia-sin
ac40: 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72  s/routing-figs/r
ac50: 6f 75 74 69 6e 67 31 2e 6a 70 67 22 20 61 6c 74  outing1.jpg" alt
ac60: 3d 22 66 69 67 31 22 3e 0d 0a 3c 75 6c 3e 0d 0a  ="fig1">..<ul>..
ac70: 3c 6c 69 3e 79 65 6c 6c 6f 77 20 70 61 74 68 3a  <li>yellow path:
ac80: 20 70 65 64 65 73 74 72 69 61 6e 73 3c 2f 6c 69   pedestrians</li
ac90: 3e 0d 0a 3c 6c 69 3e 67 72 65 65 6e 20 70 61 74  >..<li>green pat
aca0: 68 3a 20 63 61 72 2c 20 64 69 72 65 63 74 20 64  h: car, direct d
acb0: 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0d 0a 3c  irection</li>..<
acc0: 6c 69 3e 72 65 64 20 70 61 74 68 3a 20 63 61 72  li>red path: car
acd0: 2c 20 72 65 74 75 72 6e 20 64 69 72 65 63 74 69  , return directi
ace0: 6f 6e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  on</li>..</ul>..
acf0: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
ad00: 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63  olor="#c0ffc0" c
ad10: 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
ad20: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
ad30: 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 4c 69  <tr><td>..<h3>Li
ad40: 6e 65 73 74 72 69 6e 67 73 20 72 65 74 75 72 6e  nestrings return
ad50: 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75  ed by VirtualRou
ad60: 74 69 6e 67 3c 2f 68 33 3e 0d 0a 41 6c 6c 20 4c  ting</h3>..All L
ad70: 49 4e 45 53 54 52 49 4e 47 20 47 65 6f 6d 65 74  INESTRING Geomet
ad80: 72 69 65 73 20 63 72 65 61 74 65 64 20 62 79 20  ries created by 
ad90: 61 6e 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69  any VirtualRouti
ada0: 6e 67 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 63  ng will always c
adb0: 6f 6e 74 61 69 6e 20 3c 62 3e 4d 20 76 61 6c 75  ontain <b>M valu
adc0: 65 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  es</b>:..<ul>..<
add0: 6c 69 3e 69 66 20 74 68 65 20 75 6e 64 65 72 6c  li>if the underl
ade0: 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20  aying Network's 
adf0: 47 65 6f 6d 65 74 72 69 65 73 20 61 72 65 20 3c  Geometries are <
ae00: 62 3e 58 59 3c 2f 62 3e 20 74 68 65 6e 20 3c 62  b>XY</b> then <b
ae10: 3e 58 59 4d 3c 2f 62 3e 20 4c 69 6e 65 73 74 72  >XYM</b> Linestr
ae20: 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 72 65 74  ings will be ret
ae30: 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  urned.</li>..<li
ae40: 3e 69 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79  >if the underlay
ae50: 69 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 65  ing Network's Ge
ae60: 6f 6d 65 74 72 69 65 73 20 61 72 65 20 3c 62 3e  ometries are <b>
ae70: 58 59 5a 3c 2f 62 3e 20 74 68 65 6e 20 3c 62 3e  XYZ</b> then <b>
ae80: 58 59 5a 4d 3c 2f 62 3e 20 4c 69 6e 65 73 74 72  XYZM</b> Linestr
ae90: 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 72 65 74  ings will be ret
aea0: 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  urned.</li>..<li
aeb0: 3e 69 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79  >if the underlay
aec0: 69 6e 67 20 4e 65 74 77 6f 72 6b 27 73 20 47 65  ing Network's Ge
aed0: 6f 6d 65 74 72 69 65 73 20 61 72 65 20 3c 62 3e  ometries are <b>
aee0: 58 59 4d 3c 2f 62 3e 20 6f 72 20 3c 62 3e 58 59  XYM</b> or <b>XY
aef0: 5a 4d 3c 2f 62 3e 20 74 68 65 6e 20 20 4c 69 6e  ZM</b> then  Lin
af00: 65 73 74 72 69 6e 67 73 20 72 65 74 75 72 6e 65  estrings returne
af10: 64 20 69 6e 74 6f 20 74 68 65 20 72 65 73 75 6c  d into the resul
af20: 74 73 65 74 20 77 69 6c 6c 20 6d 61 69 6e 74 61  tset will mainta
af30: 69 6e 20 74 68 65 20 73 61 6d 65 20 64 69 6d 65  in the same dime
af40: 6e 73 69 6f 6e 73 20 61 73 20 69 6e 20 74 68 65  nsions as in the
af50: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74   underlaying Net
af60: 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  work.</li>..<li>
af70: 69 6e 20 61 6e 79 20 63 61 73 65 20 74 68 65 20  in any case the 
af80: 3c 62 3e 4d 3c 2f 62 3e 20 76 61 6c 75 65 73 20  <b>M</b> values 
af90: 77 69 6c 6c 20 62 65 20 61 70 70 72 6f 70 72 69  will be appropri
afa0: 61 74 65 6c 79 20 73 65 74 20 73 6f 20 74 6f 20  ately set so to 
afb0: 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 3c 75  represent the <u
afc0: 3e 70 61 72 74 69 61 6c 20 63 6f 73 74 3c 2f 75  >partial cost</u
afd0: 3e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  > corresponding 
afe0: 74 6f 20 65 61 63 68 20 76 65 72 74 65 78 2e 0d  to each vertex..
aff0: 0a 28 69 66 20 74 68 65 20 69 6e 70 75 74 20 4c  .(if the input L
b000: 69 6e 65 73 74 72 69 6e 67 73 20 61 6c 72 65 61  inestrings alrea
b010: 64 79 20 63 6f 6e 74 61 69 6e 73 20 4d 2d 76 61  dy contains M-va
b020: 6c 75 65 73 20 74 68 65 79 27 6c 6c 20 62 65 20  lues they'll be 
b030: 6f 76 65 72 77 72 69 74 74 65 6e 29 2e 3c 2f 6c  overwritten).</l
b040: 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d  i>..</ul>..<br>.
b050: 0a 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c  .In other words,
b060: 20 61 6c 6c 20 4c 69 6e 65 73 74 72 69 6e 67 73   all Linestrings
b070: 20 72 65 74 75 72 6e 65 64 20 62 79 20 56 69 72   returned by Vir
b080: 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 61 6e 20  tualRouting can 
b090: 65 66 66 65 63 74 69 76 65 6c 79 20 73 75 70 70  effectively supp
b0a0: 6f 72 74 20 3c 62 3e 4c 52 3c 2f 62 3e 20 28 3c  ort <b>LR</b> (<
b0b0: 69 3e 4c 69 6e 65 61 72 20 52 65 66 65 72 65 6e  i>Linear Referen
b0c0: 63 69 6e 67 3c 2f 69 3e 29 20 53 51 4c 20 66 75  cing</i>) SQL fu
b0d0: 6e 63 74 69 6f 6e 73 2c 20 61 73 20 69 6e 20 74  nctions, as in t
b0e0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61  he following exa
b0f0: 6d 70 6c 65 73 3a 0d 0a 3c 76 65 72 62 61 74 69  mples:..<verbati
b100: 6d 3e 0d 0a 53 45 4c 45 43 54 20 53 54 5f 4c 6f  m>..SELECT ST_Lo
b110: 63 61 74 65 5f 42 65 74 77 65 65 6e 5f 4d 65 61  cate_Between_Mea
b120: 73 75 72 65 73 28 3c 67 65 6f 6d 65 74 72 79 3e  sures(<geometry>
b130: 2c 20 33 30 2e 30 2c 20 34 35 2e 30 29 3b 0d 0a  , 30.0, 45.0);..
b140: 0d 0a 53 45 4c 45 43 54 20 53 54 5f 4c 6f 63 61  ..SELECT ST_Loca
b150: 74 65 5f 42 65 74 77 65 65 6e 5f 4d 65 61 73 75  te_Between_Measu
b160: 72 65 73 28 3c 67 65 6f 6d 65 74 72 79 3e 2c 20  res(<geometry>, 
b170: 38 30 2e 30 2c 20 39 35 2e 30 29 3b 0d 0a 3c 2f  80.0, 95.0);..</
b180: 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 73  verbatim>..The s
b190: 69 64 65 20 6d 61 70 20 67 72 61 70 68 69 63 61  ide map graphica
b1a0: 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 65 73  lly shows the es
b1b0: 74 69 6d 61 74 65 64 20 70 6f 73 69 74 69 6f 6e  timated position
b1c0: 73 20 72 65 73 70 65 63 74 69 76 65 6c 79 20 3c  s respectively <
b1d0: 62 3e 33 30 3c 2f 62 3e 2d 3c 62 3e 34 35 3c 2f  b>30</b>-<b>45</
b1e0: 62 3e 20 73 65 63 6f 6e 64 73 20 61 66 74 65 72  b> seconds after
b1f0: 20 73 74 61 72 74 69 6e 67 20 28 79 65 6c 6c 6f   starting (yello
b200: 77 20 64 6f 74 74 65 64 20 6c 69 6e 65 29 20 61  w dotted line) a
b210: 6e 64 20 3c 62 3e 38 30 3c 2f 62 3e 2d 3c 62 3e  nd <b>80</b>-<b>
b220: 39 35 3c 2f 62 3e 20 73 65 63 6f 6e 64 73 20 61  95</b> seconds a
b230: 66 74 65 72 20 73 74 61 72 74 69 6e 67 20 28 67  fter starting (g
b240: 72 65 65 6e 20 64 6f 74 74 65 64 20 6c 69 6e 65  reen dotted line
b250: 29 2e 3c 62 72 3e 0d 0a 28 61 73 73 75 6d 69 6e  ).<br>..(assumin
b260: 67 20 74 68 65 20 73 61 6d 65 20 70 61 74 68 20  g the same path 
b270: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
b280: 6c 61 74 65 73 74 20 3c 62 3e 62 79 63 61 72 3c  latest <b>bycar<
b290: 2f 62 3e 20 71 75 65 72 79 29 2e 0d 0a 3c 2f 74  /b> query)...</t
b2a0: 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63  d>..<td><img src
b2b0: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61  ="https://www.ga
b2c0: 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73  ia-gis.it/gaia-s
b2d0: 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73  ins/routing-figs
b2e0: 2f 72 6f 75 74 69 6e 67 32 2e 6a 70 67 22 20 61  /routing2.jpg" a
b2f0: 6c 74 3d 22 66 69 67 32 22 3e 3c 2f 74 64 3e 0d  lt="fig2"></td>.
b300: 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
b310: 0d 0a 3c 62 72 3e 0d 0a 3c 68 32 3e 50 6c 61 79  ..<br>..<h2>Play
b320: 69 6e 67 20 77 69 74 68 20 56 69 72 74 75 61 6c  ing with Virtual
b330: 52 6f 75 74 69 6e 67 20 63 6f 6e 66 69 67 75 72  Routing configur
b340: 61 62 6c 65 20 6f 70 74 69 6f 6e 73 3c 2f 68 32  able options</h2
b350: 3e 0d 0a 53 65 76 65 72 61 6c 20 61 73 70 65 63  >..Several aspec
b360: 74 73 20 6f 66 20 56 69 72 74 75 61 6c 52 6f 75  ts of VirtualRou
b370: 74 69 6e 67 20 63 61 6e 20 62 65 20 66 72 65 65  ting can be free
b380: 6c 79 20 63 75 73 74 6f 6d 69 7a 65 64 2e 0d 0a  ly customized...
b390: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41  <verbatim>..UPDA
b3a0: 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 41 6c  TE byfoot SET Al
b3b0: 67 6f 72 69 74 68 6d 20 3d 20 27 41 2a 27 3b 0d  gorithm = 'A*';.
b3c0: 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69  ...SELECT Algori
b3d0: 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f  thm, Options, Ro
b3e0: 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
b3f0: 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
b400: 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
b410: 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
b420: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
b430: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
b440: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
b450: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
b460: 72 62 61 74 69 6d 3e 0d 0a 49 66 20 79 6f 75 20  rbatim>..If you 
b470: 72 65 6d 65 6d 62 65 72 20 69 6e 20 61 6c 6c 20  remember in all 
b480: 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61  the previous exa
b490: 6d 70 6c 65 73 20 74 68 65 20 3c 62 3e 44 69 6a  mples the <b>Dij
b4a0: 6b 73 74 72 61 27 73 3c 2f 62 3e 20 61 6c 67 6f  kstra's</b> algo
b4b0: 72 69 74 68 6d 20 77 61 73 20 75 73 65 64 3b 20  rithm was used; 
b4c0: 6e 6f 77 20 28 61 66 74 65 72 20 65 78 65 63 75  now (after execu
b4d0: 74 69 6e 67 20 74 68 65 20 61 62 6f 76 65 20 3c  ting the above <
b4e0: 62 3e 55 50 44 41 54 45 3c 2f 62 3e 29 20 61 6c  b>UPDATE</b>) al
b4f0: 6c 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  l Shortest Path 
b500: 71 75 65 72 69 65 73 20 77 69 6c 6c 20 62 65 20  queries will be 
b510: 62 61 73 65 64 20 6f 6e 20 74 68 65 20 61 6c 74  based on the alt
b520: 65 72 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f  ernative <b>A*</
b530: 62 3e 20 61 6c 67 6f 72 69 74 68 6d 2e 3c 62 72  b> algorithm.<br
b540: 3e 0d 0a 49 66 20 79 6f 75 20 77 69 73 68 20 74  >..If you wish t
b550: 6f 20 73 65 6c 65 63 74 20 61 67 61 69 6e 20 74  o select again t
b560: 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20 61 6c  he Dijkstra's al
b570: 67 6f 72 69 74 68 6d 20 79 6f 75 20 6a 75 73 74  gorithm you just
b580: 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 65   have to execute
b590: 3c 62 72 3e 20 3c 62 3e 55 50 44 41 54 45 20 62  <br> <b>UPDATE b
b5a0: 79 66 6f 6f 74 20 53 45 54 20 41 6c 67 6f 72 69  yfoot SET Algori
b5b0: 74 68 6d 20 3d 20 27 44 49 4a 4b 53 54 52 41 27  thm = 'DIJKSTRA'
b5c0: 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  ;</b>.<br><br>..
b5d0: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61  The following ta
b5e0: 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65  ble shows the re
b5f0: 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64  sultset returned
b600: 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73   by the previous
b610: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71   Shortest Path q
b620: 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74  uery; please not
b630: 69 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e  ice the value in
b640: 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68   the <b>Algorith
b650: 6d 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c  m</b> column...<
b660: 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  br><br>..<table 
b670: 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
b680: 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
b690: 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
b6a0: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
b6b0: 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
b6c0: 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
b6d0: 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
b6e0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74  or="#d0d0a0">Opt
b6f0: 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ions</th><th bgc
b700: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
b710: 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20  outeRow</th><th 
b720: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
b730: 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62  ">Role</th><th b
b740: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
b750: 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c  >LinkRowid</th><
b760: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
b770: 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74  0a0">NodeFrom</t
b780: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
b790: 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f  d0d0a0">NodeTo</
b7a0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
b7b0: 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74  #d0d0a0">Cost</t
b7c0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
b7d0: 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79  d0d0a0">Geometry
b7e0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
b7f0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c  ="#d0d0a0">Name<
b800: 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c  /th></tr>..<tr><
b810: 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 46 75  td>A*</td><td>Fu
b820: 6c 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  ll</td><td align
b830: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
b840: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
b850: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
b860: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
b870: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
b880: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
b890: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
b8a0: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38  ight">300.912208
b8b0: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
b8c0: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =272 GEOMETRY</t
b8d0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
b8e0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
b8f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
b900: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
b910: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
b920: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
b930: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
b940: 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  24014</td><td al
b950: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
b960: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
b970: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
b980: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
b990: 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c  ight">94.812424<
b9a0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
b9b0: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20  ><td>VIA PIETRO 
b9c0: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ARETINO</td>..</
b9d0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
b9e0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
b9f0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
ba00: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
ba10: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
ba20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
ba30: 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  46</td><td align
ba40: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
ba50: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
ba60: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
ba70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
ba80: 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64  t">69.727726</td
ba90: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
baa0: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
bab0: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
bac0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
bad0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
bae0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
baf0: 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >3</td><td>Link<
bb00: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
bb10: 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f 74 64  ight">224414</td
bb20: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
bb30: 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74  t">178880</td><t
bb40: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
bb50: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
bb60: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 33 36  lign="right">136
bb70: 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74 64 3e  .372057</td><td>
bb80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
bb90: 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64   MARGARITONE</td
bba0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  >..</tr>..</tabl
bbb0: 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e  e>..<br><br><br>
bbc0: 0d 0a 59 6f 75 20 63 61 6e 20 65 76 65 6e 74 75  ..You can eventu
bbd0: 61 6c 6c 79 20 63 6f 6e 66 69 67 75 72 65 20 74  ally configure t
bbe0: 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74  he resultset ret
bbf0: 75 72 6e 65 64 20 74 68 65 20 56 69 72 74 75 61  urned the Virtua
bc00: 6c 52 6f 75 74 69 6e 67 20 71 75 65 72 69 65 73  lRouting queries
bc10: 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55  ...<verbatim>..U
bc20: 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54  PDATE byfoot SET
bc30: 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c   Options = 'NO L
bc40: 49 4e 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54  INKS';....SELECT
bc50: 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69   Algorithm, Opti
bc60: 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52  ons, RouteRow, R
bc70: 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20  ole, LinkRowid, 
bc80: 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f  NodeFrom, NodeTo
bc90: 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79  , Cost, Geometry
bca0: 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66  , Name..FROM byf
bcb0: 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46  oot..WHERE NodeF
bcc0: 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44  rom = 178731 AND
bcd0: 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36   NodeTo = 183286
bce0: 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  ;..</verbatim>..
bcf0: 41 66 74 65 72 20 73 65 74 74 69 6e 67 20 3c 62  After setting <b
bd00: 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f 20 4c 49 4e  >Options='NO LIN
bd10: 4b 53 27 3c 2f 62 3e 20 74 68 65 20 72 65 73 75  KS'</b> the resu
bd20: 6c 74 73 65 74 20 77 69 6c 6c 20 73 69 6d 70 6c  ltset will simpl
bd30: 79 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 68 65  y contain the he
bd40: 61 64 65 72 20 72 6f 77 2c 20 61 6e 64 20 61 6c  ader row, and al
bd50: 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  l the following 
bd60: 72 6f 77 73 20 77 69 6c 6c 20 62 65 20 73 75 70  rows will be sup
bd70: 70 72 65 73 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75  pressed.<br>..<u
bd80: 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 70 72 6f 64 75  >Note</u>: produ
bd90: 63 69 6e 67 20 61 20 72 65 64 75 63 65 64 20 72  cing a reduced r
bda0: 65 73 75 6c 74 73 65 74 20 69 73 20 65 78 70 65  esultset is expe
bdb0: 63 74 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77  cted to be somew
bdc0: 61 79 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a  ay faster.<br>..
bdd0: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61  The following ta
bde0: 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65  ble shows the re
bdf0: 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64  sultset returned
be00: 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73   by the previous
be10: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71   Shortest Path q
be20: 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74  uery; please not
be30: 69 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e  ice the value in
be40: 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c   the <b>Options<
be50: 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72  /b> column...<br
be60: 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  ><br>..<table bo
be70: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
be80: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
be90: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
bea0: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
beb0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
bec0: 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d  0d0a0">Algorithm
bed0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
bee0: 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f  ="#d0d0a0">Optio
bef0: 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ns</th><th bgcol
bf00: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75  or="#d0d0a0">Rou
bf10: 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67  teRow</th><th bg
bf20: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
bf30: 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63  Role</th><th bgc
bf40: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c  olor="#d0d0a0">L
bf50: 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68  inkRowid</th><th
bf60: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
bf70: 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e  0">NodeFrom</th>
bf80: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
bf90: 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68  d0a0">NodeTo</th
bfa0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
bfb0: 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e  0d0a0">Cost</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 47 65 6f 6d 65 74 72 79 3c 2f  d0a0">Geometry</
bfe0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
bff0: 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74  #d0d0a0">Name</t
c000: 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  h></tr>..<tr>..<
c010: 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f  td>A*</td><td>No
c020: 20 4c 69 6e 6b 73 3c 2f 74 64 3e 3c 74 64 20 61   Links</td><td a
c030: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
c040: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
c050: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
c060: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c070: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
c080: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
c090: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
c0a0: 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31  n="right">300.91
c0b0: 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f  2208</td><td>BLO
c0c0: 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52  B sz=272 GEOMETR
c0d0: 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  Y</td><td>NULL</
c0e0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
c0f0: 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62  ble>..<br><br><b
c100: 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  r>..<verbatim>..
c110: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
c120: 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20  T Options = 'NO 
c130: 47 45 4f 4d 45 54 52 49 45 53 27 3b 0d 0a 0d 0a  GEOMETRIES';....
c140: 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d  SELECT Algorithm
c150: 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65  , Options, Route
c160: 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52  Row, Role, LinkR
c170: 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20  owid, NodeFrom, 
c180: 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65  NodeTo, Cost, Ge
c190: 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52  ometry, Name..FR
c1a0: 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45  OM byfoot..WHERE
c1b0: 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37   NodeFrom = 1787
c1c0: 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20  31 AND NodeTo = 
c1d0: 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61  183286;..</verba
c1e0: 74 69 6d 3e 41 66 74 65 72 20 73 65 74 74 69 6e  tim>After settin
c1f0: 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f  g <b>Options='NO
c200: 20 47 45 4f 4d 45 54 52 49 45 53 27 3c 2f 62 3e   GEOMETRIES'</b>
c210: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77   the resultset w
c220: 69 6c 6c 20 63 6f 6e 74 61 69 6e 20 61 6c 6c 20  ill contain all 
c230: 72 6f 77 73 2c 20 62 75 74 20 61 6c 6c 20 47 65  rows, but all Ge
c240: 6f 6d 65 74 72 69 65 73 20 77 69 6c 6c 20 62 65  ometries will be
c250: 20 73 75 70 70 72 65 73 73 65 64 2e 3c 62 72 3e   suppressed.<br>
c260: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74  ..<u>Note</u>: t
c270: 68 69 73 20 74 6f 6f 20 69 73 20 65 78 70 65 63  his too is expec
c280: 74 65 64 20 74 6f 20 62 65 20 73 6f 6d 65 77 61  ted to be somewa
c290: 79 20 66 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54  y faster.<br>..T
c2a0: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62  he following tab
c2b0: 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72 65 73  le shows the res
c2c0: 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20  ultset returned 
c2d0: 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20  by the previous 
c2e0: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
c2f0: 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69  ery; please noti
c300: 63 65 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20  ce the value in 
c310: 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f  the <b>Options</
c320: 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e  b> column...<br>
c330: 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72  <br>..<table bor
c340: 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d  der="1" bgcolor=
c350: 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73 70  "#ffffcf" cellsp
c360: 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61  acing="4" cellpa
c370: 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e  dding="6">..<tr>
c380: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c390: 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c  d0a0">Algorithm<
c3a0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
c3b0: 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e  "#d0d0a0">Option
c3c0: 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  s</th><th bgcolo
c3d0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
c3e0: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
c3f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
c400: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
c410: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
c420: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
c430: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c440: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
c450: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
c460: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
c470: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c480: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
c490: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
c4a0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
c4b0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
c4c0: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
c4d0: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e  ></tr>..<tr><td>
c4e0: 41 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 47 65  A*</td><td>No Ge
c4f0: 6f 6d 65 74 72 69 65 73 3c 2f 74 64 3e 3c 74 64  ometries</td><td
c500: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
c510: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
c520: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
c530: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c540: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
c550: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c560: 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
c570: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e  ign="right">300.
c580: 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e  912208</td><td>N
c590: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
c5a0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
c5b0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
c5c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
c5d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
c5e0: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
c5f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c600: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e  ght">224014</td>
c610: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c620: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
c630: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c640: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
c650: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38  ign="right">94.8
c660: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12424</td><td>NU
c670: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
c680: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
c690: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
c6a0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
c6b0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
c6c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
c6d0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
c6e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c6f0: 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64  ">224446</td><td
c700: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c710: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
c720: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
c730: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
c740: 3d 22 72 69 67 68 74 22 3e 36 39 2e 37 32 37 37  ="right">69.7277
c750: 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  26</td><td>NULL<
c760: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
c770: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
c780: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
c790: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
c7a0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
c7b0: 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
c7c0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
c7d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
c7e0: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
c7f0: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
c800: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c810: 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
c820: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c830: 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74  t">136.372057</t
c840: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
c850: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
c860: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
c870: 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62  </table>..<br><b
c880: 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74 69  r><br>..<verbati
c890: 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f  m>..UPDATE byfoo
c8a0: 74 20 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20  t SET Options = 
c8b0: 27 53 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c  'SIMPLE';....SEL
c8c0: 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f  ECT Algorithm, O
c8d0: 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77  ptions, RouteRow
c8e0: 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69  , Role, LinkRowi
c8f0: 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64  d, NodeFrom, Nod
c900: 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65  eTo, Cost, Geome
c910: 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20  try, Name..FROM 
c920: 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f  byfoot..WHERE No
c930: 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20  deFrom = 178731 
c940: 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33  AND NodeTo = 183
c950: 32 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  286;..</verbatim
c960: 3e 53 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69  >Setting <b>Opti
c970: 6f 6e 73 3d 27 53 49 4d 50 4c 45 27 3c 2f 62 3e  ons='SIMPLE'</b>
c980: 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 65 66   has the same ef
c990: 66 65 63 74 20 74 68 61 6e 20 73 65 74 74 69 6e  fect than settin
c9a0: 67 20 62 6f 74 68 20 3c 62 3e 4e 4f 20 4c 49 4e  g both <b>NO LIN
c9b0: 4b 53 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f  KS</b> and <b>NO
c9c0: 20 47 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20   GEOMETRIES</b> 
c9d0: 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65  at the same time
c9e0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f  .<br>..<u>Note</
c9f0: 75 3e 3a 20 74 68 69 73 20 69 73 20 65 78 70 65  u>: this is expe
ca00: 63 74 65 64 20 74 6f 20 62 65 20 74 68 65 20 66  cted to be the f
ca10: 61 73 74 65 73 74 20 73 65 74 74 69 6e 67 2e 3c  astest setting.<
ca20: 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69  br>..The followi
ca30: 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74  ng table shows t
ca40: 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74  he resultset ret
ca50: 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 65  urned by the pre
ca60: 76 69 6f 75 73 20 53 68 6f 72 74 65 73 74 20 50  vious Shortest P
ca70: 61 74 68 20 71 75 65 72 79 3b 20 70 6c 65 61 73  ath query; pleas
ca80: 65 20 6e 6f 74 69 63 65 20 74 68 65 20 76 61 6c  e notice the val
ca90: 75 65 20 69 6e 20 74 68 65 20 3c 62 3e 4f 70 74  ue in the <b>Opt
caa0: 69 6f 6e 73 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e  ions</b> column.
cab0: 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62  ..<br><br>..<tab
cac0: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67  le border="1" bg
cad0: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20  color="#ffffcf" 
cae0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20  cellspacing="4" 
caf0: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
cb00: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f  ..<tr><th bgcolo
cb10: 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c 67 6f  r="#d0d0a0">Algo
cb20: 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  rithm</th><th bg
cb30: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
cb40: 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20  Options</th><th 
cb50: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
cb60: 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
cb70: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
cb80: 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
cb90: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
cba0: 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
cbb0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
cbc0: 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
cbd0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
cbe0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
cbf0: 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
cc00: 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
cc10: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
cc20: 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
cc30: 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
cc40: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
cc50: 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
cc60: 72 3e 0d 0a 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c  r>..<td>A*</td><
cc70: 74 64 3e 53 69 6d 70 6c 65 3c 2f 74 64 3e 3c 74  td>Simple</td><t
cc80: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
cc90: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
cca0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ccb0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
ccc0: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
ccd0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
cce0: 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
ccf0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30  lign="right">300
cd00: 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e  .912208</td><td>
cd10: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
cd20: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
cd30: 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 46  /table>..<br>..F
cd40: 69 6e 61 6c 6c 79 2c 20 69 66 20 79 6f 75 20 77  inally, if you w
cd50: 69 73 68 20 74 6f 20 73 65 6c 65 63 74 20 61 67  ish to select ag
cd60: 61 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 20  ain the initial 
cd70: 73 74 61 6e 64 61 72 64 20 73 65 74 74 69 6e 67  standard setting
cd80: 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74   you just have t
cd90: 6f 20 65 78 65 63 75 74 65 3c 62 72 3e 20 3c 62  o execute<br> <b
cda0: 3e 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53  >UPDATE byfoot S
cdb0: 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 46 55  ET Options = 'FU
cdc0: 4c 4c 27 3b 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72  LL';</b>.<br><br
cdd0: 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31  >..<hr><br>..<h1
cde0: 3e 3c 61 20 6e 61 6d 65 3d 22 6d 75 6c 74 69 22  ><a name="multi"
cdf0: 3e 35 20 2d 20 53 6f 6c 76 69 6e 67 20 6d 75 6c  >5 - Solving mul
ce00: 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53  ti-destination S
ce10: 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f  hortest Path pro
ce20: 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a  blems</a></h1>..
ce30: 41 20 76 65 72 79 20 69 6e 74 65 72 65 73 74 69  A very interesti
ce40: 6e 67 20 66 65 61 74 75 72 65 20 73 75 70 70 6f  ng feature suppo
ce50: 72 74 65 64 20 62 79 20 74 68 65 20 44 69 6a 6b  rted by the Dijk
ce60: 73 74 72 61 27 73 20 41 6c 67 6f 72 69 74 68 6d  stra's Algorithm
ce70: 20 69 73 20 74 68 61 74 20 69 74 20 72 6f 62 75   is that it robu
ce80: 73 74 6c 79 20 65 6e 73 75 72 65 73 20 74 68 61  stly ensures tha
ce90: 74 20 77 68 65 6e 20 61 20 64 65 73 74 69 6e 61  t when a destina
cea0: 74 69 6f 6e 20 69 73 20 72 65 61 63 68 65 64 20  tion is reached 
ceb0: 61 6c 6c 20 74 68 65 20 64 65 73 74 69 6e 61 74  all the destinat
cec0: 69 6f 6e 73 20 70 72 65 73 65 6e 74 69 6e 67 20  ions presenting 
ced0: 61 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f 73 74  a <b>lesser cost
cee0: 3c 2f 62 3e 20 68 61 76 65 20 61 6c 72 65 61 64  </b> have alread
cef0: 79 20 62 65 65 6e 20 72 65 61 63 68 65 64 20 69  y been reached i
cf00: 6e 20 73 6f 6d 65 20 70 72 65 76 69 6f 75 73 20  n some previous 
cf10: 73 74 65 70 20 6f 66 20 74 68 65 20 70 72 6f 63  step of the proc
cf20: 65 73 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 61  ess.<br>..This a
cf30: 6c 6c 6f 77 73 20 74 6f 20 65 66 66 69 63 69 65  llows to efficie
cf40: 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e  ntly support <b>
cf50: 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61  multiple destina
cf60: 74 69 6f 6e 73 3c 2f 62 3e 20 53 68 6f 72 74 65  tions</b> Shorte
cf70: 73 74 20 50 61 74 68 20 71 75 65 72 69 65 73 2e  st Path queries.
cf80: 0d 0a 59 6f 75 20 73 69 6d 70 6c 79 20 68 61 76  ..You simply hav
cf90: 65 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 3c  e to specify a <
cfa0: 62 3e 73 69 6e 67 6c 65 20 6f 72 69 67 69 6e 20  b>single origin 
cfb0: 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64 20 61 6e 20  Node</b> and an 
cfc0: 3c 62 3e 61 72 62 69 74 72 61 72 79 20 6c 69 73  <b>arbitrary lis
cfd0: 74 20 6f 66 20 64 65 73 74 69 6e 61 74 69 6f 6e  t of destination
cfe0: 20 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e 20 61 20   Nodes</b> in a 
cff0: 73 69 6e 67 6c 65 20 44 69 6a 6b 73 74 72 61 27  single Dijkstra'
d000: 73 20 65 78 65 63 75 74 69 6f 6e 2e 3c 62 72 3e  s execution.<br>
d010: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
d020: 3e 3a 20 65 78 65 63 75 74 69 6e 67 20 61 20 6d  >: executing a m
d030: 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e  ulti-destination
d040: 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71   Shortest Path q
d050: 75 65 72 79 20 72 65 71 75 69 72 65 73 20 61 20  uery requires a 
d060: 3c 62 3e 70 72 6f 63 65 73 73 69 6e 67 20 74 69  <b>processing ti
d070: 6d 65 3c 2f 62 3e 20 74 68 61 74 20 69 73 6e 27  me</b> that isn'
d080: 74 20 74 68 65 20 3c 75 3e 73 75 6d 20 6f 66 20  t the <u>sum of 
d090: 61 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 74  all individual t
d0a0: 69 6d 69 6e 67 73 20 66 6f 72 20 65 61 63 68 20  imings for each 
d0b0: 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c  destination</u>,
d0c0: 20 62 75 74 20 73 69 6d 70 6c 79 20 69 73 20 74   but simply is t
d0d0: 68 65 20 3c 75 3e 74 69 6d 65 20 72 65 71 75 69  he <u>time requi
d0e0: 72 65 64 20 74 6f 20 72 65 61 63 68 20 74 68 65  red to reach the
d0f0: 20 6d 6f 73 74 20 63 6f 73 74 6c 79 20 6f 66 20   most costly of 
d100: 61 6c 6c 20 64 65 73 74 69 6e 61 74 69 6f 6e 73  all destinations
d110: 20 69 6e 20 74 68 65 20 6c 69 73 74 3c 2f 75 3e   in the list</u>
d120: 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 6e 27  .<br>..This isn'
d130: 74 20 72 69 67 6f 72 6f 75 73 6c 79 20 74 72 75  t rigorously tru
d140: 65 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66  e in the case of
d150: 20 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74   the VirtualRout
d160: 69 6e 67 20 73 70 65 63 69 66 69 63 20 69 6d 70  ing specific imp
d170: 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c 20 62 65 63  lementation, bec
d180: 61 75 73 65 20 61 72 72 61 6e 67 69 6e 67 20 74  ause arranging t
d190: 68 65 20 72 65 73 75 6c 74 73 65 74 20 74 6f 20  he resultset to 
d1a0: 62 65 20 72 65 74 75 72 6e 65 64 20 61 6e 64 20  be returned and 
d1b0: 63 72 65 61 74 69 6e 67 20 61 6c 6c 20 74 68 65  creating all the
d1c0: 20 69 6e 64 69 76 69 64 75 61 6c 20 4c 69 6e 65   individual Line
d1d0: 73 74 72 69 6e 67 73 20 66 6f 72 20 65 61 63 68  strings for each
d1e0: 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 77 69 6c   destination wil
d1f0: 6c 20 73 75 72 65 6c 79 20 69 6d 70 6f 73 65 20  l surely impose 
d200: 73 6f 6d 65 20 66 75 72 74 68 65 72 20 6f 76 65  some further ove
d210: 72 68 65 61 64 2c 20 62 75 74 20 6e 6f 6e 65 74  rhead, but nonet
d220: 68 65 6c 65 73 73 20 69 74 20 72 65 6d 61 69 6e  heless it remain
d230: 73 20 63 6f 6e 66 69 72 6d 65 64 20 74 68 61 74  s confirmed that
d240: 20 65 78 65 63 75 74 69 6e 67 20 61 20 73 69 6e   executing a sin
d250: 67 6c 65 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e  gle multi-destin
d260: 61 74 69 6f 6e 20 71 75 65 72 79 20 77 69 6c 6c  ation query will
d270: 20 73 75 72 65 6c 79 20 62 65 20 20 6e 6f 74 69   surely be  noti
d280: 63 65 61 62 6c 79 20 66 61 73 74 65 72 20 74 68  ceably faster th
d290: 65 6e 20 65 78 65 63 75 74 69 6e 67 20 6d 61 6e  en executing man
d2a0: 79 20 73 70 61 72 73 65 20 73 69 6e 67 6c 65 2d  y sparse single-
d2b0: 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72  destination quer
d2c0: 69 65 73 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  ies...<verbatim>
d2d0: 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74  ..SELECT Algorit
d2e0: 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74  hm, Request, Opt
d2f0: 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c  ions, Delimiter,
d300: 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52   RouteId, RouteR
d310: 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
d320: 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
d330: 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
d340: 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
d350: 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
d360: 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
d370: 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27  1 AND NodeTo = '
d380: 31 38 33 32 38 36 2c 32 39 30 34 35 38 2c 31 38  183286,290458,18
d390: 31 39 39 39 2c 31 38 34 30 33 30 2c 31 32 34 36  1999,184030,1246
d3a0: 32 32 2c 31 38 33 38 38 32 2c 31 37 38 37 35 34  22,183882,178754
d3b0: 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  ';..</verbatim>.
d3c0: 0a 41 73 20 79 6f 75 20 63 61 6e 20 65 61 73 69  .As you can easi
d3d0: 6c 79 20 6e 6f 74 69 63 65 2c 20 61 20 3c 62 3e  ly notice, a <b>
d3e0: 6d 75 6c 74 69 70 6c 65 2d 64 65 73 74 69 6e 61  multiple-destina
d3f0: 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79 20  tions</b> query 
d400: 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 64 65  has the same ide
d410: 6e 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66 20 61  ntical form of a
d420: 6e 79 20 75 73 75 61 6c 20 53 68 6f 72 74 65 73  ny usual Shortes
d430: 74 20 50 61 74 68 20 71 75 65 72 79 2c 20 65 78  t Path query, ex
d440: 63 65 70 74 20 69 6e 20 74 68 61 74 20 3c 62 3e  cept in that <b>
d450: 4e 6f 64 65 54 6f 3c 2f 62 3e 20 6e 6f 77 20 63  NodeTo</b> now c
d460: 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 20  orresponds to a 
d470: 63 6f 6d 6d 61 2d 73 65 70 61 72 61 74 65 64 20  comma-separated 
d480: 6c 69 73 74 2e 3c 62 72 3e 0d 0a 54 68 65 20 66  list.<br>..The f
d490: 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73  ollowing table s
d4a0: 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73  hows the results
d4b0: 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74  et returned by t
d4c0: 68 65 20 70 72 65 76 69 6f 75 73 20 6d 75 6c 74  he previous mult
d4d0: 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68  i-destination Sh
d4e0: 6f 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72  ortest Path quer
d4f0: 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74  y...<br><br>..<t
d500: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20  able border="1" 
d510: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66  bgcolor="#ffffcf
d520: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34  " cellspacing="4
d530: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
d540: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f  ">..<tr><th bgco
d550: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c  lor="#d0d0a0">Al
d560: 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20  gorithm</th><th 
d570: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d580: 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74  ">Request</th><t
d590: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
d5a0: 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e  a0">Options</th>
d5b0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
d5c0: 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c  d0a0">Delimiter<
d5d0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d5e0: 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49  "#d0d0a0">RouteI
d5f0: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
d600: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
d610: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
d620: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
d630: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
d640: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
d650: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
d660: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
d670: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
d680: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
d690: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
d6a0: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
d6b0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
d6c0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
d6d0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
d6e0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
d6f0: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
d700: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ></tr>..<tr>..<t
d710: 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c  d>Dijkstra</td><
d720: 74 64 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68  td>Shortest Path
d730: 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74  </td><td>Full</t
d740: 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63  d><td>, &#91;dec
d750: 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b  =44, hex=2c&#93;
d760: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d770: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
d780: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
d790: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
d7a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
d7b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d7c0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
d7d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
d7e0: 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  83882</td><td al
d7f0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e  ign="right">154.
d800: 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42  750839</td><td>B
d810: 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45  LOB sz=240 GEOME
d820: 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
d830: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
d840: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
d850: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
d860: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
d870: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
d880: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
d890: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d8a0: 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">1</td><td>Link
d8b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d8c0: 72 69 67 68 74 22 3e 32 32 32 36 33 36 3c 2f 74  right">222636</t
d8d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
d8e0: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
d8f0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
d900: 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20  >182000</td><td 
d910: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30  align="right">10
d920: 33 2e 37 33 35 37 32 32 3c 2f 74 64 3e 3c 74 64  3.735722</td><td
d930: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
d940: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
d950: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
d960: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
d970: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
d980: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
d990: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
d9a0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
d9b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
d9c0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
d9d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
d9e0: 72 69 67 68 74 22 3e 32 32 35 35 32 37 3c 2f 74  right">225527</t
d9f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
da00: 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c  ht">182000</td><
da10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
da20: 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20  >183882</td><td 
da30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 31  align="right">51
da40: 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74 64 3e  .015117</td><td>
da50: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
da60: 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54 49 3c   LICIO NENCETTI<
da70: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
da80: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
da90: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
daa0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dab0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
dac0: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
dad0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
dae0: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
daf0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
db00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
db10: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
db20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
db30: 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20  >184030</td><td 
db40: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
db50: 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 74 64  6.364755</td><td
db60: 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 20 47 45 4f  >BLOB sz=304 GEO
db70: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
db80: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
db90: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
dba0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
dbb0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dbc0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
dbd0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
dbe0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dbf0: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
dc00: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
dc10: 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c  ="right">224014<
dc20: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dc30: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
dc40: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
dc50: 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
dc60: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
dc70: 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
dc80: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
dc90: 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
dca0: 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
dcb0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
dcc0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
dcd0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
dce0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
dcf0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
dd00: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
dd10: 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
dd20: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
dd30: 22 72 69 67 68 74 22 3e 32 32 34 38 36 32 3c 2f  "right">224862</
dd40: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
dd50: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
dd60: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
dd70: 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64  ">182043</td><td
dd80: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
dd90: 37 2e 30 39 35 32 38 37 3c 2f 74 64 3e 3c 74 64  7.095287</td><td
dda0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
ddb0: 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74  A MARGARITONE</t
ddc0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
ddd0: 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
dde0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
ddf0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
de00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
de10: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
de20: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
de30: 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
de40: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
de50: 68 74 22 3e 32 32 36 30 37 30 3c 2f 74 64 3e 3c  ht">226070</td><
de60: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
de70: 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74 64 20  >182043</td><td 
de80: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
de90: 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4030</td><td ali
dea0: 67 6e 3d 22 72 69 67 68 74 22 3e 34 34 2e 34 35  gn="right">44.45
deb0: 37 30 34 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  7044</td><td>NUL
dec0: 4c 3c 2f 74 64 3e 3c 74 64 3e 50 49 41 5a 5a 41  L</td><td>PIAZZA
ded0: 20 53 41 4e 54 27 41 47 4f 53 54 49 4e 4f 3c 2f   SANT'AGOSTINO</
dee0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
def0: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
df00: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
df10: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
df20: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
df30: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
df40: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
df50: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
df60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
df70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
df80: 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
df90: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
dfa0: 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
dfb0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
dfc0: 2e 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74 64 3e  .677095</td><td>
dfd0: 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d  BLOB sz=240 GEOM
dfe0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
dff0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
e000: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
e010: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e020: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e030: 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d 22 72  NULL<td align="r
e040: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20  ight">2</td><td 
e050: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
e060: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
e070: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e080: 74 22 3e 32 31 39 30 34 35 3c 2f 74 64 3e 3c 74  t">219045</td><t
e090: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e0a0: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
e0b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
e0c0: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  732</td><td alig
e0d0: 6e 3d 22 72 69 67 68 74 22 3e 37 36 2e 30 32 31  n="right">76.021
e0e0: 30 30 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  007</td><td>NULL
e0f0: 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 53 53  </td><td>VIA ASS
e100: 41 42 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  AB</td>..</tr>..
e110: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
e120: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e130: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e140: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e150: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
e160: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e170: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
e180: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
e190: 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35 38 3c  ="right">219058<
e1a0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e1b0: 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64  ight">178732</td
e1c0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e1d0: 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74  t">178754</td><t
e1e0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e1f0: 31 34 38 2e 36 35 36 30 38 39 3c 2f 74 64 3e 3c  148.656089</td><
e200: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
e210: 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52  VIA FRANCESCO CR
e220: 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ISPI</td>..</tr>
e230: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
e240: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e250: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e260: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
e270: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
e280: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e290: 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
e2a0: 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
e2b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
e2c0: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
e2d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e2e0: 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64  ight">181999</td
e2f0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e300: 74 22 3e 32 36 30 2e 31 33 32 33 35 34 3c 2f 74  t">260.132354</t
e310: 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34  d><td>BLOB sz=24
e320: 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  0 GEOMETRY</td><
e330: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
e340: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
e350: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e360: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e370: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e380: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e390: 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >3</td><td align
e3a0: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
e3b0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
e3c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
e3d0: 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4014</td><td ali
e3e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
e3f0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
e400: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f  "right">182885</
e410: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e420: 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f  ght">94.812424</
e430: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e440: 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41  <td>VIA PIETRO A
e450: 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  RETINO</td>..</t
e460: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
e470: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e480: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e490: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e4a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e4b0: 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
e4c0: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
e4d0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
e4e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
e4f0: 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  446</td><td alig
e500: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
e510: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e520: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
e530: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e540: 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74  ht">69.727726</t
e550: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e560: 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f  td>VIA MARGARITO
e570: 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NE</td>..</tr>..
e580: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
e590: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e5a0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e5b0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
e5c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
e5d0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e5e0: 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">3</td><td>Li
e5f0: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
e600: 3d 22 72 69 67 68 74 22 3e 32 32 35 38 30 30 3c  ="right">225800<
e610: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e620: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
e630: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e640: 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
e650: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e660: 39 35 2e 35 39 32 32 30 34 3c 2f 74 64 3e 3c 74  95.592204</td><t
e670: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
e680: 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49  IA FRANCESCO CRI
e690: 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  SPI</td>..</tr>.
e6a0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
e6b0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e6c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e6d0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
e6e0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f  lign="right">4</
e6f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e700: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
e710: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
e720: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
e730: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
e740: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e750: 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
e760: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e770: 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f 74 64  ">300.912208</td
e780: 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32  ><td>BLOB sz=272
e790: 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
e7a0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
e7b0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
e7c0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e7d0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e7e0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e7f0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e800: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
e810: 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74  "right">1</td><t
e820: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
e830: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
e840: 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  014</td><td alig
e850: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
e860: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e870: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
e880: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e890: 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74  ht">94.812424</t
e8a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e8b0: 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52  td>VIA PIETRO AR
e8c0: 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ETINO</td>..</tr
e8d0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
e8e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e8f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e900: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e910: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
e920: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e930: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
e940: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
e950: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
e960: 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  46</td><td align
e970: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
e980: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e990: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
e9a0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e9b0: 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f 74 64  t">69.727726</td
e9c0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e9d0: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
e9e0: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
e9f0: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
ea00: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
ea10: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
ea20: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
ea30: 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
ea40: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
ea50: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
ea60: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
ea70: 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f  "right">224414</
ea80: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
ea90: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
eaa0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
eab0: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
eac0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
ead0: 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74  36.372057</td><t
eae0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
eaf0: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
eb00: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
eb10: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
eb20: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
eb30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
eb40: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
eb50: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
eb60: 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20  <td>Unreachable 
eb70: 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e  NodeTo</td><td>N
eb80: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
eb90: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
eba0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
ebb0: 72 69 67 68 74 22 3e 32 39 30 34 35 38 3c 2f 74  right">290458</t
ebc0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
ebd0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
ebe0: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
ebf0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
ec00: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ec10: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
ec20: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
ec30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
ec40: 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63  L</td><td>Unreac
ec50: 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64  hable NodeTo</td
ec60: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
ec70: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
ec80: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
ec90: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 34  lign="right">124
eca0: 36 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  622</td><td>NULL
ecb0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ecc0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
ecd0: 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
ece0: 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75  ..<br>..Let's qu
ecf0: 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68  ickly examine th
ed00: 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75  e resultset retu
ed10: 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76  rned by the abov
ed20: 65 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69  e <b>multi-desti
ed30: 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72  nations</b> quer
ed40: 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68  y...<ul>..<li>th
ed50: 65 20 6f 76 65 72 61 6c 6c 20 6c 61 79 6f 75 74  e overall layout
ed60: 20 69 73 20 61 6c 6d 6f 73 74 20 65 78 61 63 74   is almost exact
ed70: 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 79  ly the same as y
ed80: 6f 75 27 76 65 20 61 6c 72 65 61 64 79 20 73 65  ou've already se
ed90: 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f  en in the case o
eda0: 66 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74  f <b>single-dest
edb0: 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72  ination</b> quer
edc0: 69 65 73 2c 20 62 75 74 20 69 6e 20 74 68 69 73  ies, but in this
edd0: 20 63 61 73 65 20 6d 6f 72 65 20 69 6e 64 69 76   case more indiv
ede0: 69 64 75 61 6c 20 74 72 61 76 65 6c 20 73 6f 6c  idual travel sol
edf0: 75 74 69 6f 6e 73 20 61 72 65 20 67 72 6f 75 70  utions are group
ee00: 65 64 20 61 6c 74 6f 67 65 74 68 65 72 2e 3c 2f  ed altogether.</
ee10: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  li>..<li>the <b>
ee20: 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f 66  first row</b> of
ee30: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 69   the resultset i
ee40: 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65 70 74  s someway except
ee50: 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20 74 68  ional, and is th
ee60: 65 20 75 6e 69 71 75 65 20 72 6f 77 20 6f 66 20  e unique row of 
ee70: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 70 72  the resultset pr
ee80: 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f 54 20  esenting <b>NOT 
ee90: 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20  NULL</b> values 
eea0: 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f 72 69  in the <b>Algori
eeb0: 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65 71 75  thm</b>, <b>Requ
eec0: 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70 74 69  est</b>, <b>Opti
eed0: 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44  ons</b> and <b>D
eee0: 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 63 6f 6c  elimiter</b> col
eef0: 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  umns.</li>..<li>
ef00: 74 68 65 20 3c 62 3e 52 6f 75 74 65 49 64 3c 2f  the <b>RouteId</
ef10: 62 3e 20 63 6f 6c 75 6d 6e 20 69 73 20 69 6e 74  b> column is int
ef20: 65 6e 64 65 64 20 74 6f 20 67 72 6f 75 70 20 74  ended to group t
ef30: 6f 67 65 74 68 65 72 20 61 6c 6c 20 72 6f 77 73  ogether all rows
ef40: 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 73 61   belonging to sa
ef50: 6d 65 20 74 72 61 76 65 6c 20 73 6f 6c 75 74 69  me travel soluti
ef60: 6f 6e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c  on (<i>aka</i> <
ef70: 62 3e 52 6f 75 74 65 3c 2f 62 3e 29 2e 3c 62 72  b>Route</b>).<br
ef80: 3e 0d 0a 52 6f 75 74 65 73 20 61 72 65 20 70 72  >..Routes are pr
ef90: 6f 67 72 65 73 73 69 76 65 6c 79 20 6e 75 6d 62  ogressively numb
efa0: 65 72 65 64 20 61 6e 64 20 61 72 65 20 6f 72 64  ered and are ord
efb0: 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79  ered accordingly
efc0: 20 74 6f 20 74 68 65 69 72 20 3c 62 3e 74 6f 74   to their <b>tot
efd0: 61 6c 20 63 6f 73 74 3c 2f 62 3e 2e 3c 2f 6c 69  al cost</b>.</li
efe0: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 52 6f  >..<li>the <b>Ro
eff0: 75 74 65 52 6f 77 3c 2f 62 3e 20 63 6f 6c 75 6d  uteRow</b> colum
f000: 6e 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69  n has the same i
f010: 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61 73  nterpretation as
f020: 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73 74 69   in single-desti
f030: 6e 61 74 69 6f 6e 20 72 65 73 75 6c 74 73 65 74  nation resultset
f040: 73 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e 64  s, and is intend
f050: 65 64 20 74 6f 20 70 72 6f 67 72 65 73 73 69 76  ed to progressiv
f060: 65 6c 79 20 6f 72 64 65 72 20 69 6e 20 74 68 65  ely order in the
f070: 20 63 6f 72 72 65 63 74 20 73 65 71 75 65 6e 63   correct sequenc
f080: 65 20 61 6c 6c 20 4c 69 6e 6b 73 20 63 6f 6e 6e  e all Links conn
f090: 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67 69  ecting the Origi
f0a0: 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e  n and the Destin
f0b0: 61 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 52 6f  ation of each Ro
f0c0: 75 74 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 52 6f 75  ute.<br>..<b>Rou
f0d0: 74 65 52 6f 77 3d 30 3c 2f 62 3e 20 61 6c 77 61  teRow=0</b> alwa
f0e0: 79 73 20 69 64 65 6e 74 69 66 69 65 73 20 74 68  ys identifies th
f0f0: 65 20 68 65 61 64 65 72 20 72 6f 77 20 6f 66 20  e header row of 
f100: 65 61 63 68 20 74 72 61 76 65 6c 20 73 6f 6c 75  each travel solu
f110: 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  tion.</li>..</ul
f120: 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 69  >..<br>..<u>Noti
f130: 63 65 3c 2f 75 3e 3a 20 74 68 65 20 6c 61 73 74  ce</u>: the last
f140: 20 74 77 6f 20 72 6f 77 73 20 69 6e 20 74 68 65   two rows in the
f150: 20 72 65 73 75 6c 74 73 65 74 20 72 65 70 6f 72   resultset repor
f160: 74 73 20 3c 62 3e 55 6e 72 65 61 63 68 61 62 6c  ts <b>Unreachabl
f170: 65 20 4e 6f 64 65 54 6f 09 3c 2f 62 3e 20 69 6e  e NodeTo.</b> in
f180: 20 74 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62 3e   the <b>Role</b>
f190: 20 63 6f 6c 75 6d 6e 2c 20 74 68 75 73 20 69 6d   column, thus im
f1a0: 70 6c 79 69 6e 67 20 61 20 3c 62 3e 66 6f 72 62  plying a <b>forb
f1b0: 69 64 64 65 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e  idden connection
f1c0: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73 20  </b>.<br>..This 
f1d0: 77 61 73 20 70 75 72 70 6f 73 65 6c 79 20 69 6e  was purposely in
f1e0: 74 65 6e 64 65 64 3a 20 4e 6f 64 65 73 20 3c 62  tended: Nodes <b
f1f0: 3e 32 39 30 34 35 38 3c 2f 62 3e 20 61 6e 64 20  >290458</b> and 
f200: 3c 62 3e 31 32 34 36 32 32 3c 2f 62 3e 20 61 72  <b>124622</b> ar
f210: 65 20 6c 6f 63 61 74 65 64 20 6f 6e 20 45 6c 62  e located on Elb
f220: 61 20 61 6e 64 20 47 69 67 6c 69 6f 20 69 73 6c  a and Giglio isl
f230: 61 6e 64 73 2e 20 54 68 65 20 75 6e 64 65 72 6c  ands. The underl
f240: 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 20 69 73  aying Network is
f250: 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 49 74 65   based on <b>Ite
f260: 72 2e 4e 65 74 3c 2f 62 3e 20 74 68 61 74 20 64  r.Net</b> that d
f270: 6f 6e 27 74 20 73 75 70 70 6f 72 74 73 20 66 65  on't supports fe
f280: 72 72 79 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2c  rry connections,
f290: 20 73 6f 20 61 6e 79 20 74 72 61 76 65 6c 20 73   so any travel s
f2a0: 6f 6c 75 74 69 6f 6e 20 62 65 74 77 65 65 6e 20  olution between 
f2b0: 74 68 65 20 69 73 6c 61 6e 64 73 20 61 6e 64 20  the islands and 
f2c0: 74 68 65 20 6d 61 69 6e 6c 61 6e 64 20 77 69 6c  the mainland wil
f2d0: 6c 20 61 6c 77 61 79 73 20 66 61 69 6c 2e 0d 0a  l always fail...
f2e0: 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 41 6c  <br><br><br>..Al
f2f0: 73 6f 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74  so <b>multi-dest
f300: 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65  inations</b> que
f310: 72 69 65 73 20 63 61 6e 20 62 65 20 63 75 73 74  ries can be cust
f320: 6f 6d 69 7a 65 64 2c 20 62 75 74 20 74 68 65 20  omized, but the 
f330: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 72 75  configuration ru
f340: 6c 65 73 20 73 6c 69 67 68 74 6c 79 20 64 69 66  les slightly dif
f350: 66 65 72 20 66 72 6f 6d 20 77 68 61 74 20 79 6f  fer from what yo
f360: 75 20 68 61 76 65 20 61 6c 72 65 61 64 79 20 73  u have already s
f370: 65 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20  een in the case 
f380: 6f 66 20 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e  of single-destin
f390: 61 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ation...<ul>..<l
f3a0: 69 3e 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f  i><b>Algorithm</
f3b0: 62 3e 3a 20 6f 6e 6c 79 20 3c 62 3e 44 69 6a 6b  b>: only <b>Dijk
f3c0: 73 74 72 61 3c 2f 62 3e 20 69 73 20 73 75 70 70  stra</b> is supp
f3d0: 6f 72 74 65 64 20 62 79 20 6d 75 6c 74 69 2d 64  orted by multi-d
f3e0: 65 73 74 69 6e 61 74 69 6f 6e 2c 20 61 6e 64 20  estination, and 
f3f0: 77 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63 69 74  will be implicit
f400: 6c 79 20 61 73 73 75 6d 65 64 20 65 76 65 6e 20  ly assumed even 
f410: 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61  when the alterna
f420: 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61  tive <b>A*</b> a
f430: 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72  lgorithm is curr
f440: 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 3c  ently selected.<
f450: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4f 70 74  /li>..<li><b>Opt
f460: 69 6f 6e 73 3c 2f 62 3e 3a 20 74 68 65 20 75 73  ions</b>: the us
f470: 75 61 6c 20 3c 62 3e 46 55 4c 4c 3c 2f 62 3e 2c  ual <b>FULL</b>,
f480: 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e 2c 20   <b>SIMPLE</b>, 
f490: 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20  <b>NO LINKS</b> 
f4a0: 61 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54  and <b>NO GEOMET
f4b0: 52 49 45 53 3c 2f 62 3e 20 61 72 65 20 73 75 70  RIES</b> are sup
f4c0: 70 6f 72 74 65 64 20 61 6e 64 20 77 69 6c 6c 20  ported and will 
f4d0: 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 65 66  have the same ef
f4e0: 66 65 63 74 20 61 73 20 69 6e 20 73 69 6e 67 6c  fect as in singl
f4f0: 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71 75  e-destination qu
f500: 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  eries.</li>..</u
f510: 6c 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  l>..<verbatim>..
f520: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
f530: 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 53 49 4d  T Options = 'SIM
f540: 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  PLE';....SELECT 
f550: 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65  Algorithm, Reque
f560: 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c  st, Options, Del
f570: 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c  imiter, RouteId,
f580: 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
f590: 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
f5a0: 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
f5b0: 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
f5c0: 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
f5d0: 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
f5e0: 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
f5f0: 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 32 39  eTo = '183286,29
f600: 30 34 35 38 2c 31 38 31 39 39 39 2c 31 38 34 30  0458,181999,1840
f610: 33 30 2c 31 32 34 36 32 32 2c 31 38 33 38 38 32  30,124622,183882
f620: 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72  ,178754';..</ver
f630: 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c 6c  batim>..The foll
f640: 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77  owing table show
f650: 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  s the resultset 
f660: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
f670: 73 61 6d 65 20 6d 75 6c 74 69 2d 64 65 73 74 69  same multi-desti
f680: 6e 61 74 69 6f 6e 20 71 75 65 72 79 20 75 73 65  nation query use
f690: 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75  d in the previou
f6a0: 73 20 65 78 61 6d 70 6c 65 20 61 66 74 65 72 20  s example after 
f6b0: 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 3c 62 3e  enabling the <b>
f6c0: 53 49 4d 50 4c 45 3c 2f 62 3e 20 6f 70 74 69 6f  SIMPLE</b> optio
f6d0: 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74  n...<br><br>..<t
f6e0: 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20  able border="1" 
f6f0: 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66  bgcolor="#ffffcf
f700: 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34  " cellspacing="4
f710: 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
f720: 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f  ">..<tr><th bgco
f730: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c  lor="#d0d0a0">Al
f740: 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20  gorithm</th><th 
f750: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
f760: 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74  ">Request</th><t
f770: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
f780: 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e  a0">Options</th>
f790: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
f7a0: 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65 72 3c  d0a0">Delimiter<
f7b0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
f7c0: 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49  "#d0d0a0">RouteI
f7d0: 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  d</th><th bgcolo
f7e0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
f7f0: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
f800: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
f810: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
f820: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
f830: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
f840: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
f850: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
f860: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f870: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
f880: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
f890: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
f8a0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
f8b0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
f8c0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
f8d0: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
f8e0: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ></tr>..<tr>..<t
f8f0: 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e 3c  d>Dijkstra</td><
f900: 74 64 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68  td>Shortest Path
f910: 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74  </td><td>Full</t
f920: 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63  d><td>, &#91;dec
f930: 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b  =44, hex=2c&#93;
f940: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
f950: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
f960: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
f970: 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
f980: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
f990: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
f9a0: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
f9b0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
f9c0: 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  83882</td><td al
f9d0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e  ign="right">154.
f9e0: 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 4e  750839</td><td>N
f9f0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
fa00: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
fa10: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
fa20: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fa30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
fa40: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
fa50: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
fa60: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
fa70: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
fa80: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
fa90: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
faa0: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
fab0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
fac0: 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64  ">184030</td><td
fad0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
fae0: 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 74  76.364755</td><t
faf0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
fb00: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
fb10: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
fb20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fb30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fb40: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
fb50: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
fb60: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
fb70: 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
fb80: 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
fb90: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
fba0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
fbb0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
fbc0: 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e  ght">178754</td>
fbd0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
fbe0: 22 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f 74 64  ">224.677095</td
fbf0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fc00: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
fc10: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
fc20: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fc30: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fc40: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fc50: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fc60: 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
fc70: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
fc80: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
fc90: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
fca0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
fcb0: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
fcc0: 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
fcd0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
fce0: 67 68 74 22 3e 32 36 30 2e 31 33 32 33 35 34 3c  ght">260.132354<
fcf0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fd00: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
fd10: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
fd20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fd30: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fd40: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fd50: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
fd60: 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">4</td><td ali
fd70: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
fd80: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
fd90: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
fda0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
fdb0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
fdc0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
fdd0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
fde0: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32  "right">300.9122
fdf0: 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  08</td><td>NULL<
fe00: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fe10: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
fe20: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fe30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fe40: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
fe50: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
fe60: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fe70: 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20 4e 6f  d>Unreachable No
fe80: 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  deTo</td><td>NUL
fe90: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
fea0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
feb0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
fec0: 67 68 74 22 3e 32 39 30 34 35 38 3c 2f 74 64 3e  ght">290458</td>
fed0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
fee0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
fef0: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
ff00: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
ff10: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ff20: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ff30: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
ff40: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
ff50: 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61  /td><td>Unreacha
ff60: 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c  ble NodeTo</td><
ff70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
ff80: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
ff90: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
ffa0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 34 36 32  gn="right">12462
ffb0: 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  2</td><td>NULL</
ffc0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ffd0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
ffe0: 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
fff0: 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65  <br>..The map be
10000 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20  low graphically 
10010 73 68 6f 77 73 20 74 68 65 20 70 72 65 76 69 6f  shows the previo
10020 75 73 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74  us <b>multi-dest
10030 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65  inations</b> que
10040 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  ries...<br><br>.
10050 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73  .<img src="https
10060 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
10070 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75  it/gaia-sins/rou
10080 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e  ting-figs/routin
10090 67 33 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67  g3.jpg" alt="fig
100a0 33 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52  3">..<ul>..<li>R
100b0 65 64 20 73 74 61 72 3a 20 74 68 65 20 4f 72 69  ed star: the Ori
100c0 67 69 6e 20 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a  gin Node.</li>..
100d0 3c 6c 69 3e 47 72 65 65 6e 20 64 6f 74 73 3a 20  <li>Green dots: 
100e0 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 20  the Destination 
100f0 4e 6f 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  Nodes.</li>..<li
10100 3e 59 65 6c 6c 6f 77 20 6c 69 6e 65 73 3a 20 61  >Yellow lines: a
10110 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 20 74 72  ll individual tr
10120 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 73 2e 3c  avel solutions.<
10130 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  /li>..</ul>..<br
10140 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f  >..<table bgcolo
10150 72 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c  r="#ffb060" cell
10160 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c  spacing="10" cel
10170 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72  lpadding="6"><tr
10180 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 44 61 6e 67 65  ><td>..<h3>Dange
10190 72 6f 75 73 20 70 69 74 66 61 6c 6c 73 20 72 65  rous pitfalls re
101a0 6c 61 74 65 64 20 74 6f 20 6d 75 6c 74 69 70 6c  lated to multipl
101b0 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 6c 69  e destination li
101c0 73 74 73 3c 2f 68 33 3e 0d 0a 53 51 4c 20 73 79  sts</h3>..SQL sy
101d0 6e 74 61 78 20 64 69 72 65 63 74 6c 79 20 61 6c  ntax directly al
101e0 6c 6f 77 73 20 74 6f 20 73 70 65 63 69 66 79 20  lows to specify 
101f0 6c 69 73 74 73 20 6f 66 20 20 6d 75 6c 74 69 70  lists of  multip
10200 6c 65 20 76 61 6c 75 65 73 2c 20 73 6f 20 6d 61  le values, so ma
10210 79 20 62 65 20 79 6f 75 20 61 72 65 20 6e 6f 77  y be you are now
10220 20 77 6f 6e 64 65 72 69 6e 67 20 61 62 6f 75 74   wondering about
10230 20 77 72 69 74 69 6e 67 20 74 68 65 20 3c 62 3e   writing the <b>
10240 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61  multiple destina
10250 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72 79 20  tions</b> query 
10260 74 65 73 74 65 64 20 69 6e 20 74 68 65 20 70 72  tested in the pr
10270 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 73 20  evious examples 
10280 74 68 69 73 20 77 61 79 3a 0d 0a 3c 76 65 72 62  this way:..<verb
10290 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c  atim>..SELECT Al
102a0 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74  gorithm, Request
102b0 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d  , Options, Delim
102c0 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52  iter, RouteId, R
102d0 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
102e0 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
102f0 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
10300 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
10310 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
10320 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20  HERE NodeFrom = 
10330 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54  178731 AND NodeT
10340 6f 20 49 4e 20 28 31 38 33 32 38 36 2c 20 32 39  o IN (183286, 29
10350 30 34 35 38 2c 20 31 38 31 39 39 39 2c 20 31 38  0458, 181999, 18
10360 34 30 33 30 2c 20 31 32 34 36 32 32 2c 20 31 38  4030, 124622, 18
10370 33 38 38 32 2c 20 31 37 38 37 35 34 29 3b 0d 0a  3882, 178754);..
10380 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65  </verbatim>..The
10390 72 65 20 69 73 20 61 20 76 65 72 79 20 67 6f 6f  re is a very goo
103a0 64 20 72 65 61 73 6f 6e 20 64 69 73 63 6f 75 72  d reason discour
103b0 61 67 69 6e 67 20 66 72 6f 6d 20 64 6f 69 6e 67  aging from doing
103c0 20 73 75 63 68 20 61 20 74 68 69 6e 67 2c 20 6c   such a thing, l
103d0 65 74 27 73 20 73 65 65 20 77 68 79 2e 3c 62 72  et's see why.<br
103e0 3e 0d 0a 3c 62 3e 53 51 4c 69 74 65 3c 2f 62 3e  >..<b>SQLite</b>
103f0 20 77 69 6c 6c 20 70 72 6f 63 65 73 73 20 61 20   will process a 
10400 72 65 71 75 65 73 74 20 77 72 69 74 74 65 6e 20  request written 
10410 74 68 69 73 20 77 61 79 20 62 79 20 72 65 70 65  this way by repe
10420 61 74 65 64 6c 79 20 63 61 6c 6c 69 6e 67 20 56  atedly calling V
10430 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 70 61  irtualRouting pa
10440 73 73 69 6e 67 20 65 61 63 68 20 74 69 6d 65 20  ssing each time 
10450 61 20 73 69 6e 67 6c 65 20 44 65 73 74 69 6e 61  a single Destina
10460 74 69 6f 6e 3b 20 61 6e 64 20 63 6f 6e 73 65 71  tion; and conseq
10470 75 65 6e 74 6c 79 20 3c 62 3e 56 69 72 74 75 61  uently <b>Virtua
10480 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 77 69 6c  lRouting</b> wil
10490 6c 20 6e 65 76 65 72 20 72 65 63 65 69 76 65 20  l never receive 
104a0 74 68 65 20 63 72 69 74 69 63 61 6c 20 69 6e 66  the critical inf
104b0 6f 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 61 20  ormation that a 
104c0 73 69 6e 67 6c 65 20 6d 6f 6e 6f 6c 69 74 68 69  single monolithi
104d0 63 20 72 65 71 75 65 73 74 20 77 61 73 20 69 6e  c request was in
104e0 74 65 6e 64 65 64 20 74 6f 20 62 65 20 65 78 65  tended to be exe
104f0 63 75 74 65 64 20 69 6e 20 61 20 73 69 6e 67 6c  cuted in a singl
10500 65 20 73 68 6f 74 2e 20 53 6f 20 74 68 65 20 72  e shot. So the r
10510 65 71 75 65 73 74 20 63 6f 6e 74 65 78 74 20 77  equest context w
10520 69 6c 6c 20 62 65 20 65 61 73 69 6c 79 20 6d 69  ill be easily mi
10530 73 69 6e 74 65 72 70 72 65 74 65 64 2c 20 61 6e  sinterpreted, an
10540 64 20 61 6e 79 20 65 78 70 65 63 74 65 64 20 73  d any expected s
10550 70 65 65 64 20 62 65 6e 65 66 69 74 20 77 69 6c  peed benefit wil
10560 6c 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20  l be completely 
10570 66 72 75 73 74 72 61 74 65 64 2e 0d 0a 3c 68 33  frustrated...<h3
10580 3e 42 65 77 61 72 65 3c 2f 68 33 3e 0d 0a 3c 62  >Beware</h3>..<b
10590 3e 4e 65 76 65 72 20 65 76 65 72 3c 2f 62 3e 20  >Never ever</b> 
105a0 61 74 74 65 6d 70 74 20 74 6f 20 64 65 66 69 6e  attempt to defin
105b0 65 20 61 20 6c 69 73 74 20 6f 66 20 6d 75 6c 74  e a list of mult
105c0 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e  iple destination
105d0 73 20 75 73 69 6e 67 20 74 68 65 20 73 74 61 6e  s using the stan
105e0 64 61 72 64 20 53 51 4c 20 73 79 6e 74 61 78 20  dard SQL syntax 
105f0 3c 62 3e 3c 69 3e 57 48 45 52 45 20 4e 6f 64 65  <b><i>WHERE Node
10600 54 6f 20 49 4e 20 28 2e 2e 2e 2e 2e 2e 29 3c 2f  To IN (......)</
10610 69 3e 3c 2f 62 3e 2c 20 62 65 63 61 75 73 65 20  i></b>, because 
10620 74 68 69 73 20 77 69 6c 6c 20 63 65 72 74 61 69  this will certai
10630 6e 6c 79 20 63 61 75 73 65 20 6d 61 6e 79 20 75  nly cause many u
10640 6e 65 78 70 65 63 74 65 64 20 74 72 6f 75 62 6c  nexpected troubl
10650 65 73 2e 3c 62 72 3e 0d 0a 42 61 64 6c 79 20 66  es.<br>..Badly f
10660 6f 72 6d 61 74 74 65 64 20 72 65 73 75 6c 74 73  ormatted results
10670 65 74 73 20 77 69 6c 6c 20 62 65 20 74 68 65 6e  ets will be then
10680 20 72 65 74 75 72 6e 65 64 2c 20 6d 61 79 20 62   returned, may b
10690 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77 72 6f  e containing wro
106a0 6e 67 20 72 65 73 75 6c 74 73 2e 20 3c 62 3e 59  ng results. <b>Y
106b0 6f 75 20 61 72 65 20 77 61 72 6e 65 64 3c 2f 62  ou are warned</b
106c0 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64  >.<br><br>..</td
106d0 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a  ></tr></table>..
106e0 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
106f0 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63  olor="#c0ffc0" c
10700 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
10710 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
10720 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 6f  <tr><td>..<h3>Ho
10730 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 66  w to correctly f
10740 6f 72 6d 61 74 20 6d 75 6c 74 69 70 6c 65 20 64  ormat multiple d
10750 65 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74  estinations list
10760 73 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61 6c 52  s</h3>..VirtualR
10770 6f 75 74 69 6e 67 20 61 6c 77 61 79 73 20 65 78  outing always ex
10780 70 65 63 74 73 20 74 6f 20 72 65 63 65 69 76 65  pects to receive
10790 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74   a <b>multi-dest
107a0 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 6c 69 73  inations</b> lis
107b0 74 20 61 73 20 61 20 3c 62 3e 54 45 58 54 3c 2f  t as a <b>TEXT</
107c0 62 3e 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69  b> string contai
107d0 6e 69 6e 67 20 74 69 67 68 74 6c 79 20 70 61 63  ning tightly pac
107e0 6b 65 64 20 76 61 6c 75 65 73 20 73 65 70 61 72  ked values separ
107f0 61 74 65 64 20 62 79 20 61 20 63 6f 6e 76 65 6e  ated by a conven
10800 74 69 6f 6e 61 6c 20 3c 62 3e 64 65 6c 69 6d 69  tional <b>delimi
10810 74 65 72 3c 2f 62 3e 20 28 75 73 75 61 6c 6c 79  ter</b> (usually
10820 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20   represented by 
10830 61 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 29 2e  a <b>comma</b>).
10840 3c 62 72 3e 0d 0a 45 78 61 6d 70 6c 65 73 20 6f  <br>..Examples o
10850 66 20 3c 62 3e 77 65 6c 6c 20 66 6f 72 6d 61 74  f <b>well format
10860 74 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d 64 65  ted</b> multi-de
10870 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74 73  stinations lists
10880 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 27  :..<verbatim>..'
10890 31 2c 32 2c 33 2c 34 2c 35 2c 31 30 2c 31 30 30  1,2,3,4,5,10,100
108a0 2c 31 30 30 30 2c 31 30 30 30 30 30 27 20 20 20  ,1000,100000'   
108b0 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f 64 65 20  -- integer Node 
108c0 49 44 73 0d 0a 0d 0a 27 41 31 30 30 42 2c 41 31  IDs....'A100B,A1
108d0 30 30 46 2c 42 32 35 30 5a 2c 43 30 31 30 4d 2c  00F,B250Z,C010M,
108e0 5a 39 39 39 41 27 20 20 2d 2d 20 61 6c 70 68 61  Z999A'  -- alpha
108f0 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20 43 6f 64  numeric Node Cod
10900 65 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  es..</verbatim>.
10910 0a 45 78 61 6d 70 6c 65 73 20 6f 66 20 3c 62 3e  .Examples of <b>
10920 62 61 64 6c 79 20 66 6f 72 6d 61 74 74 65 64 3c  badly formatted<
10930 2f 62 3e 20 6d 75 6c 74 69 2d 64 65 73 74 69 6e  /b> multi-destin
10940 61 74 69 6f 6e 73 20 6c 69 73 74 73 3a 0d 0a 3c  ations lists:..<
10950 76 65 72 62 61 74 69 6d 3e 0d 0a 27 20 20 31 2c  verbatim>..'  1,
10960 20 32 2c 20 33 2c 20 34 20 2c 20 35 20 2c 20 31   2, 3, 4 , 5 , 1
10970 30 2c 20 31 30 30 2c 20 31 30 30 30 2c 20 31 30  0, 100, 1000, 10
10980 30 30 30 30 20 20 27 20 20 20 2d 2d 20 69 6e 74  0000  '   -- int
10990 65 67 65 72 20 4e 6f 64 65 20 49 44 73 0d 0a 0d  eger Node IDs...
109a0 0a 27 20 20 41 31 30 30 42 2c 20 41 31 30 30 46  .'  A100B, A100F
109b0 20 2c 20 42 32 35 30 5a 20 2c 20 43 30 31 30 4d   , B250Z , C010M
109c0 2c 20 5a 39 39 39 41 20 20 27 20 20 20 20 20 20  , Z999A  '      
109d0 2d 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20  -- alphanumeric 
109e0 4e 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f 76 65  Node Codes..</ve
109f0 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74 65  rbatim>..<u>Note
10a00 3c 2f 75 3e 3a 20 61 6c 6c 20 77 68 69 74 65 73  </u>: all whites
10a10 70 61 63 65 73 20 69 6d 6d 65 64 69 61 74 65 6c  paces immediatel
10a20 79 20 70 72 65 63 65 64 69 6e 67 20 6f 72 20 66  y preceding or f
10a30 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 3c 62 3e  ollowing the <b>
10a40 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 77 69  delimiter</b> wi
10a50 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64  ll be considered
10a60 20 74 6f 20 62 65 20 69 6e 74 65 67 72 61 6c 20   to be integral 
10a70 70 61 72 74 20 6f 66 20 74 68 65 20 76 61 6c 75  part of the valu
10a80 65 20 69 74 73 65 6c 66 2e 3c 62 72 3e 0d 0a 54  e itself.<br>..T
10a90 68 69 73 20 77 69 6c 6c 20 68 61 76 65 20 6e 6f  his will have no
10aa0 20 61 64 76 65 72 73 65 20 63 6f 6e 73 65 71 75   adverse consequ
10ab0 65 6e 63 65 73 20 69 6e 20 74 68 65 20 63 61 73  ences in the cas
10ac0 65 20 6f 66 20 69 6e 74 65 67 65 72 20 76 61 6c  e of integer val
10ad0 75 65 73 2c 20 62 75 74 20 63 61 6e 20 65 61 73  ues, but can eas
10ae0 69 6c 79 20 68 61 76 65 20 63 61 74 61 73 74 72  ily have catastr
10af0 6f 70 68 69 63 20 65 66 66 65 63 74 73 20 6f 6e  ophic effects on
10b00 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 76 61   alphanumeric va
10b10 6c 75 65 73 2e 0d 0a 3c 68 33 3e 44 65 66 69 6e  lues...<h3>Defin
10b20 69 6e 67 20 61 20 63 75 73 74 6f 6d 20 64 65 6c  ing a custom del
10b30 69 6d 69 74 65 72 3c 2f 68 33 3e 0d 0a 53 6f 6d  imiter</h3>..Som
10b40 65 74 69 6d 65 73 20 69 74 20 63 6f 75 6c 64 20  etimes it could 
10b50 62 65 20 75 73 65 66 75 6c 20 73 65 74 74 69 6e  be useful settin
10b60 67 20 75 70 20 61 20 64 65 6c 69 6d 69 74 65 72  g up a delimiter
10b70 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20   different from 
10b80 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 2e 0d 0a 3c  <b>comma</b>...<
10b90 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
10ba0 45 20 62 79 66 6f 6f 74 20 53 45 54 20 44 65 6c  E byfoot SET Del
10bb0 69 6d 69 74 65 72 20 3d 20 27 2a 27 3b 0d 0a 0d  imiter = '*';...
10bc0 0a 53 45 4c 45 43 54 20 44 65 6c 69 6d 69 74 65  .SELECT Delimite
10bd0 72 20 46 52 4f 4d 20 62 79 66 6f 6f 74 3b 0d 0a  r FROM byfoot;..
10be0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
10bf0 2d 2d 0d 0a 2a 20 5b 64 65 63 3d 34 32 2c 20 68  --..* [dec=42, h
10c00 65 78 3d 32 61 5d 0d 0a 3c 2f 76 65 72 62 61 74  ex=2a]..</verbat
10c10 69 6d 3e 20 0d 0a 59 6f 75 20 73 69 6d 70 6c 79  im> ..You simply
10c20 20 68 61 76 65 20 74 6f 20 65 78 65 63 75 74 65   have to execute
10c30 20 61 6e 20 3c 62 3e 55 50 44 41 54 45 3c 2f 62   an <b>UPDATE</b
10c40 3e 20 73 74 61 74 65 6d 65 6e 74 20 62 79 20 73  > statement by s
10c50 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 6e 65  pecifying the ne
10c60 77 20 64 65 6c 69 6d 69 74 65 72 20 76 61 6c 75  w delimiter valu
10c70 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64  e.<br><br>..</td
10c80 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a  ></tr></table>..
10c90 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62  <br><br>..<hr><b
10ca0 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d  r>..<h1><a name=
10cb0 22 69 73 6f 63 68 72 6f 6e 65 22 3e 36 20 2d 20  "isochrone">6 - 
10cc0 53 6f 6c 76 69 6e 67 20 49 73 6f 63 68 72 6f 6e  Solving Isochron
10cd0 65 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f  e problems</a></
10ce0 68 31 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68 74  h1>..<a href="ht
10cf0 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64  tps://en.wikiped
10d00 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 49 73 6f 63  ia.org/wiki/Isoc
10d10 68 72 6f 6e 65 5f 6d 61 70 22 3e 49 73 6f 63 68  hrone_map">Isoch
10d20 72 6f 6e 65 73 3c 2f 61 3e 20 61 72 65 20 61 72  rones</a> are ar
10d30 65 61 73 20 28 6f 72 20 63 75 72 76 65 73 29 20  eas (or curves) 
10d40 63 6f 6e 6e 65 63 74 69 6e 67 20 70 6f 69 6e 74  connecting point
10d50 73 20 61 74 20 77 68 69 63 68 20 73 6f 6d 65 74  s at which somet
10d60 68 69 6e 67 20 6f 63 63 75 72 73 20 6f 72 20 61  hing occurs or a
10d70 72 72 69 76 65 73 20 61 74 20 74 68 65 20 73 61  rrives at the sa
10d80 6d 65 20 74 69 6d 65 2e 3c 62 72 3e 0d 0a 49 73  me time.<br>..Is
10d90 6f 63 68 72 6f 6e 65 73 20 61 72 65 20 75 73 75  ochrones are usu
10da0 61 6c 6c 79 20 72 65 6c 61 74 65 64 20 74 6f 20  ally related to 
10db0 4e 65 74 77 6f 72 6b 20 41 6e 61 6c 79 73 69 73  Network Analysis
10dc0 20 61 6e 64 20 52 6f 75 74 69 6e 67 20 62 65 63   and Routing bec
10dd0 61 75 73 65 20 74 68 65 79 20 61 6c 6c 6f 77 20  ause they allow 
10de0 74 6f 20 65 61 73 69 6c 79 20 69 64 65 6e 74 69  to easily identi
10df0 66 79 20 77 68 69 63 68 20 73 70 65 63 69 66 69  fy which specifi
10e00 63 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65  c portion of the
10e10 20 4e 65 74 77 6f 72 6b 20 63 61 6e 20 62 65 20   Network can be 
10e20 72 65 61 63 68 65 64 20 73 74 61 72 74 69 6e 67  reached starting
10e30 20 62 79 20 73 6f 6d 65 20 3c 62 3e 6f 72 69 67   by some <b>orig
10e40 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 73 70 65 6e  in Node</b> spen
10e50 64 69 6e 67 20 6e 6f 20 6d 6f 72 65 20 74 68 61  ding no more tha
10e60 6e 20 61 20 67 69 76 65 6e 20 3c 62 3e 43 6f 73  n a given <b>Cos
10e70 74 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  t</b>.<br><br>..
10e80 41 73 20 79 6f 75 20 68 61 76 65 20 61 6c 72 65  As you have alre
10e90 61 64 79 20 73 65 65 6e 20 61 62 6f 75 74 20 3c  ady seen about <
10ea0 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74  b>multi-destinat
10eb0 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 65 73 2c  ion</b> queries,
10ec0 20 74 68 65 20 44 69 6a 6b 73 74 72 61 27 73 20   the Dijkstra's 
10ed0 41 6c 67 6f 72 69 74 68 6d 20 72 6f 62 75 73 74  Algorithm robust
10ee0 6c 79 20 65 6e 73 75 72 65 73 20 74 68 61 74 20  ly ensures that 
10ef0 77 68 65 6e 20 61 20 64 65 73 74 69 6e 61 74 69  when a destinati
10f00 6f 6e 20 69 73 20 72 65 61 63 68 65 64 20 61 6c  on is reached al
10f10 6c 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f  l the destinatio
10f20 6e 73 20 70 72 65 73 65 6e 74 69 6e 67 20 61 20  ns presenting a 
10f30 3c 62 3e 6c 65 73 73 65 72 20 63 6f 73 74 3c 2f  <b>lesser cost</
10f40 62 3e 20 68 61 76 65 20 61 6c 72 65 61 64 79 20  b> have already 
10f50 62 65 65 6e 20 72 65 61 63 68 65 64 20 69 6e 20  been reached in 
10f60 73 6f 6d 65 20 70 72 65 76 69 6f 75 73 20 73 74  some previous st
10f70 65 70 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73  ep of the proces
10f80 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c  s.<br>..This all
10f90 6f 77 73 20 74 6f 20 65 66 66 69 63 69 65 6e 74  ows to efficient
10fa0 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e 49 73  ly support <b>Is
10fb0 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72  ochrone</b> quer
10fc0 69 65 73 2e 0d 0a 59 6f 75 20 73 69 6d 70 6c 79  ies...You simply
10fd0 20 68 61 76 65 20 74 6f 20 73 70 65 63 69 66 79   have to specify
10fe0 20 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f 72 69   a <b>single ori
10ff0 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61 6e 64  gin Node</b> and
11000 20 61 20 3c 62 3e 43 6f 73 74 20 74 68 72 65 73   a <b>Cost thres
11010 68 6f 6c 64 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72  hold</b>.<br><br
11020 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
11030 65 78 65 63 75 74 69 6e 67 20 61 6e 20 49 73 6f  executing an Iso
11040 63 68 72 6f 6e 65 20 71 75 65 72 79 20 72 65 71  chrone query req
11050 75 69 72 65 73 20 61 20 3c 62 3e 70 72 6f 63 65  uires a <b>proce
11060 73 73 69 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 74  ssing time</b> t
11070 68 61 74 20 69 73 6e 27 74 20 74 68 65 20 3c 75  hat isn't the <u
11080 3e 73 75 6d 20 6f 66 20 61 6c 6c 20 69 6e 64 69  >sum of all indi
11090 76 69 64 75 61 6c 20 74 69 6d 69 6e 67 73 20 66  vidual timings f
110a0 6f 72 20 65 61 63 68 20 64 65 73 74 69 6e 61 74  or each destinat
110b0 69 6f 6e 3c 2f 75 3e 2c 20 62 75 74 20 73 69 6d  ion</u>, but sim
110c0 70 6c 79 20 69 73 20 74 68 65 20 3c 75 3e 74 69  ply is the <u>ti
110d0 6d 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72  me required to r
110e0 65 61 63 68 20 74 68 65 20 6d 6f 73 74 20 63 6f  each the most co
110f0 73 74 6c 79 20 64 65 73 74 69 6e 61 74 69 6f 6e  stly destination
11100 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62  </u>.<br>..<verb
11110 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c  atim>..SELECT Al
11120 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74  gorithm, Request
11130 2c 20 52 6f 6c 65 2c 20 4e 6f 64 65 46 72 6f 6d  , Role, NodeFrom
11140 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20  , NodeTo, Cost, 
11150 47 65 6f 6d 65 74 72 79 0d 0a 46 52 4f 4d 20 62  Geometry..FROM b
11160 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
11170 65 46 72 6f 6d 20 3d 20 31 38 31 39 39 39 20 41  eFrom = 181999 A
11180 4e 44 20 43 6f 73 74 20 3c 3d 20 31 30 30 30 2e  ND Cost <= 1000.
11190 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  0;..</verbatim>.
111a0 0a 41 6e 20 3c 62 3e 49 73 6f 63 68 72 6f 6e 65  .An <b>Isochrone
111b0 3c 2f 62 3e 20 71 75 65 72 79 20 61 73 20 73 75  </b> query as su
111c0 70 70 6f 72 74 65 64 20 62 79 20 3c 62 3e 56 69  pported by <b>Vi
111d0 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e  rtualRouting</b>
111e0 20 6a 75 73 74 20 72 65 71 75 69 72 65 73 20 74   just requires t
111f0 6f 20 73 70 65 63 69 66 79 3a 0d 0a 3c 75 6c 3e  o specify:..<ul>
11200 0d 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64 65 46 72 6f  ..<li><b>NodeFro
11210 6d 3c 2f 62 3e 3a 20 74 68 65 20 3c 62 3e 3c 69  m</b>: the <b><i
11220 3e 49 44 3c 2f 69 3e 3c 2f 62 3e 20 6f 72 20 3c  >ID</i></b> or <
11230 62 3e 3c 69 3e 43 6f 64 65 3c 2f 69 3e 3c 2f 62  b><i>Code</i></b
11240 3e 20 75 6e 69 71 75 65 6c 79 20 69 64 65 6e 74  > uniquely ident
11250 69 66 79 69 6e 67 20 74 68 65 20 3c 62 3e 6f 72  ifying the <b>or
11260 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 2f  igin Node</b>.</
11270 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 43 6f 73 74  li>..<li><b>Cost
11280 3c 2f 62 3e 3a 20 74 68 65 20 6d 61 78 69 6d 75  </b>: the maximu
11290 6d 20 3c 62 3e 43 6f 73 74 20 74 68 72 65 73 68  m <b>Cost thresh
112a0 6f 6c 64 3c 2f 62 3e 20 6e 6f 74 20 74 6f 20 62  old</b> not to b
112b0 65 20 65 78 63 65 65 64 65 64 2e 3c 62 72 3e 0d  e exceeded.<br>.
112c0 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 6e  .<u>Note</u>: an
112d0 79 20 76 61 6c 69 64 20 49 73 6f 63 68 72 6f 6e  y valid Isochron
112e0 65 20 71 75 65 72 79 20 3c 62 3e 6d 75 73 74 3c  e query <b>must<
112f0 2f 62 3e 20 6e 65 63 65 73 73 61 72 69 6c 79 20  /b> necessarily 
11300 73 70 65 63 69 66 79 20 61 20 3c 62 3e 3c 3d 3c  specify a <b><=<
11310 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6c 65 73 73 65  /b> (<u><i>lesse
11320 72 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20  r than or equal 
11330 74 6f 3c 2f 69 3e 3c 2f 75 3e 29 20 63 6f 6d 70  to</i></u>) comp
11340 61 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f 72 2e  arison operator.
11350 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62  </li>..</ul>..<b
11360 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e  r>..The followin
11370 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68  g table shows th
11380 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75  e resultset retu
11390 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76  rned by the abov
113a0 65 20 49 73 6f 63 68 72 6f 6e 65 20 71 75 65 72  e Isochrone quer
113b0 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74  y...<br><br>..<t
113c0 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20  able border="1" 
113d0 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66  bgcolor="#ffffcf
113e0 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34  " cellspacing="4
113f0 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
11400 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f  ">..<tr><th bgco
11410 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 41 6c  lor="#d0d0a0">Al
11420 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74 68 20  gorithm</th><th 
11430 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
11440 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74  ">Request</th><t
11450 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
11460 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68  a0">Role</th><th
11470 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
11480 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e  0">NodeFrom</th>
11490 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
114a0 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68  d0a0">NodeTo</th
114b0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
114c0 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e  0d0a0">Cost</th>
114d0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
114e0 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f  d0a0">Geometry</
114f0 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
11500 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74  <tr>..<td>Dijkst
11510 72 61 3c 2f 74 64 3e 3c 74 64 3e 49 73 6f 63 68  ra</td><td>Isoch
11520 72 6f 6e 65 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c  rone</td><td>Sol
11530 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c  ution</td><td al
11540 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
11550 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  99</td><td align
11560 3d 22 72 69 67 68 74 22 3e 31 37 38 37 31 37 3c  ="right">178717<
11570 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
11580 69 67 68 74 22 3e 35 37 32 2e 34 35 35 31 34 33  ight">572.455143
11590 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
115a0 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  =60 GEOMETRY</td
115b0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
115c0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
115d0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 6f  >NULL</td><td>So
115e0 6c 75 74 69 6f 6e 3c 74 64 20 61 6c 69 67 6e 3d  lution<td align=
115f0 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
11600 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
11610 67 68 74 22 3e 31 37 38 37 31 38 3c 2f 74 64 3e  ght">178718</td>
11620 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
11630 22 3e 35 38 37 2e 33 30 33 37 37 39 3c 2f 74 64  ">587.303779</td
11640 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20  ><td>BLOB sz=60 
11650 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c  GEOMETRY</td>..<
11660 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
11670 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 20 63  align="center" c
11680 6f 6c 73 70 61 6e 3d 22 37 22 3e 2e 2e 2e 2e 2e  olspan="7">.....
11690 2e 2e 2e 2e 2e 2e 2e 2e 3c 2f 74 64 3e 0d 0a 3c  ........</td>..<
116a0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
116b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
116c0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
116d0 22 72 69 67 68 74 22 3e 53 6f 6c 75 74 69 6f 6e  "right">Solution
116e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
116f0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
11700 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
11710 68 74 22 3e 31 38 34 30 33 35 3c 2f 74 64 3e 3c  ht">184035</td><
11720 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
11730 3e 35 37 39 2e 37 38 36 37 32 34 3c 2f 74 64 3e  >579.786724</td>
11740 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20 47  <td>BLOB sz=60 G
11750 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c 2f  EOMETRY</td>..</
11760 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
11770 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
11780 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 74 69 6f  </td><td>Solutio
11790 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  n</td><td align=
117a0 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
117b0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
117c0 67 68 74 22 3e 31 38 34 30 33 36 3c 2f 74 64 3e  ght">184036</td>
117d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
117e0 22 3e 36 34 32 2e 36 39 31 35 39 37 3c 2f 74 64  ">642.691597</td
117f0 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30 20  ><td>BLOB sz=60 
11800 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a 3c  GEOMETRY</td>..<
11810 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
11820 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63  <br>..Let's quic
11830 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20  kly examine the 
11840 72 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e  resultset return
11850 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20  ed by the above 
11860 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e  <b>isochrone</b>
11870 20 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c   query...<ul>..<
11880 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72 73 74 20  li>the <b>first 
11890 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72  row</b> of the r
118a0 65 73 75 6c 74 73 65 74 20 69 73 20 73 6f 6d 65  esultset is some
118b0 77 61 79 20 65 78 63 65 70 74 69 6f 6e 61 6c 2c  way exceptional,
118c0 20 61 6e 64 20 69 73 20 74 68 65 20 75 6e 69 71   and is the uniq
118d0 75 65 20 72 6f 77 20 6f 66 20 74 68 65 20 72 65  ue row of the re
118e0 73 75 6c 74 73 65 74 20 70 72 65 73 65 6e 74 69  sultset presenti
118f0 6e 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f  ng <b>NOT NULL</
11900 62 3e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65  b> values in the
11910 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62   <b>Algorithm</b
11920 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f 62  >, <b>Request</b
11930 3e 2c 20 3c 2f 62 3e 4f 70 74 69 6f 6e 73 3c 2f  >, </b>Options</
11940 62 3e 20 28 61 6e 64 20 3c 2f 62 3e 44 65 6c 69  b> (and </b>Deli
11950 6d 69 74 65 72 3c 2f 62 3e 29 20 63 6f 6c 75 6d  miter</b>) colum
11960 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c  ns.</li>..<li>al
11970 6c 20 72 6f 77 73 20 28 69 6e 63 6c 75 64 69 6e  l rows (includin
11980 67 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 29  g the first one)
11990 20 68 61 76 65 20 3c 62 3e 52 6f 6c 65 20 3d 20   have <b>Role = 
119a0 53 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20 61 6e  Solution</b>, an
119b0 64 20 72 65 70 72 65 73 65 6e 74 20 61 20 73 69  d represent a si
119c0 6e 67 6c 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20  ngle connection 
119d0 62 65 74 77 65 65 6e 20 3c 62 3e 4e 6f 64 65 46  between <b>NodeF
119e0 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e  rom</b> and <b>N
119f0 6f 64 65 54 6f 3c 2f 62 3e 2c 20 77 69 74 68 20  odeTo</b>, with 
11a00 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
11a10 67 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 2e 3c 2f  g <b>Cost</b>.</
11a20 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  li>..<li>the <b>
11a30 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f 6c  Geometry</b> col
11a40 75 6d 6e 20 61 6c 77 61 79 73 20 63 6f 72 72 65  umn always corre
11a50 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c 62  sponds to the <b
11a60 3e 32 44 20 50 6f 69 6e 74 3c 2f 62 3e 20 77 68  >2D Point</b> wh
11a70 65 72 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  ere <b>NodeTo</b
11a80 3e 20 69 73 20 6c 6f 63 61 74 65 64 2e 3c 2f 6c  > is located.</l
11a90 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d  i>..</ul>..<br>.
11aa0 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 3c 62  .<u>Note</u>: <b
11ab0 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71  >isochrone</b> q
11ac0 75 65 72 69 65 73 20 61 72 65 20 6e 6f 74 20 61  ueries are not a
11ad0 66 66 65 63 74 65 64 20 62 79 20 63 6f 6e 66 69  ffected by confi
11ae0 67 75 72 61 62 6c 65 20 6f 70 74 69 6f 6e 73 2e  gurable options.
11af0 0d 0a 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f  ..<b>Algorithm</
11b00 62 3e 20 77 69 6c 6c 20 62 65 20 61 6c 77 61 79  b> will be alway
11b10 73 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20  s assumed to be 
11b20 3c 62 3e 44 69 6a 73 6b 74 72 61 3c 2f 62 3e 2c  <b>Dijsktra</b>,
11b30 20 61 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74   and the current
11b40 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20   <b>Options</b> 
11b50 73 65 74 74 69 6e 67 73 20 77 69 6c 6c 20 62 65  settings will be
11b60 20 73 69 6d 70 6c 79 20 69 67 6e 6f 72 65 64 2e   simply ignored.
11b70 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45  ..<verbatim>..SE
11b80 4c 45 43 54 20 53 54 5f 43 6f 6e 63 61 76 65 48  LECT ST_ConcaveH
11b90 75 6c 6c 28 53 54 5f 43 6f 6c 6c 65 63 74 28 47  ull(ST_Collect(G
11ba0 65 6f 6d 65 74 72 79 29 29 0d 0a 46 52 4f 4d 20  eometry))..FROM 
11bb0 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f  byfoot..WHERE No
11bc0 64 65 46 72 6f 6d 20 3d 20 31 38 31 39 39 39 20  deFrom = 181999 
11bd0 41 4e 44 20 43 6f 73 74 20 3c 3d 20 31 30 30 30  AND Cost <= 1000
11be0 2e 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  .0;..</verbatim>
11bf0 0d 0a 41 6e 79 20 69 73 6f 63 68 72 6f 6e 65 20  ..Any isochrone 
11c00 71 75 65 72 79 20 77 69 6c 6c 20 6a 75 73 74 20  query will just 
11c10 72 65 74 75 72 6e 20 61 20 50 6f 69 6e 74 2d 73  return a Point-s
11c20 65 74 3b 20 69 66 20 79 6f 75 20 65 76 65 6e 74  et; if you event
11c30 75 61 6c 6c 79 20 77 69 73 68 20 74 6f 20 6f 62  ually wish to ob
11c40 74 61 69 6e 20 74 68 65 20 63 6f 72 72 65 73 70  tain the corresp
11c50 6f 6e 64 69 6e 67 20 61 72 65 61 6c 20 72 65 70  onding areal rep
11c60 72 65 73 65 6e 74 61 74 69 6f 6e 20 79 6f 75 20  resentation you 
11c70 6a 75 73 74 20 68 61 76 65 20 74 6f 20 63 61 6c  just have to cal
11c80 6c 20 3c 62 3e 53 54 5f 43 6f 6c 6c 65 63 74 28  l <b>ST_Collect(
11c90 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72 20 74  )</b> in order t
11ca0 6f 20 67 65 74 20 61 20 6d 6f 6e 6f 6c 69 74 68  o get a monolith
11cb0 69 63 20 4d 75 6c 74 69 50 6f 69 6e 74 2c 20 74  ic MultiPoint, t
11cc0 68 65 6e 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53  hen calling <b>S
11cd0 54 5f 43 6f 6e 63 61 76 65 48 75 6c 6c 28 29 3c  T_ConcaveHull()<
11ce0 2f 62 3e 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  /b> in order to 
11cf0 67 65 74 20 61 20 50 6f 6c 79 67 6f 6e 2e 0d 0a  get a Polygon...
11d00 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68  <br><br><br>..Th
11d10 65 20 6d 61 70 20 62 65 6c 6f 77 20 67 72 61 70  e map below grap
11d20 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68  hically shows th
11d30 65 20 70 72 65 76 69 6f 75 73 20 3c 62 3e 69 73  e previous <b>is
11d40 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75 65 72  ochrone</b> quer
11d50 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69  y...<br><br>..<i
11d60 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  mg src="https://
11d70 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
11d80 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e  gaia-sins/routin
11d90 67 2d 66 69 67 73 2f 69 73 6f 63 68 72 6f 6e 65  g-figs/isochrone
11da0 2e 6a 70 67 22 20 61 6c 74 3d 22 69 73 6f 63 68  .jpg" alt="isoch
11db0 72 6f 6e 65 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  rone">..<ul>..<l
11dc0 69 3e 59 65 6c 6c 6f 77 20 73 74 61 72 3a 20 74  i>Yellow star: t
11dd0 68 65 20 4f 72 69 67 69 6e 20 4e 6f 64 65 2e 3c  he Origin Node.<
11de0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 42 6c 75 65 20 64  /li>..<li>Blue d
11df0 6f 74 73 3a 20 61 6c 6c 20 44 65 73 74 69 6e 61  ots: all Destina
11e00 74 69 6f 6e 20 4e 6f 64 65 73 20 77 69 74 68 69  tion Nodes withi
11e10 6e 20 74 68 65 20 67 69 76 65 6e 20 43 6f 73 74  n the given Cost
11e20 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68 69 74  .</li>..<li>Whit
11e30 65 20 6c 69 6e 65 3a 20 74 68 65 20 62 6f 75 6e  e line: the boun
11e40 64 61 72 79 20 6f 66 20 74 68 65 20 49 73 6f 63  dary of the Isoc
11e50 68 72 6f 6e 65 2e 20 0d 0a 3c 62 72 3e 3c 62 72  hrone. ..<br><br
11e60 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f  >..<table bgcolo
11e70 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c 6c  r="#c0ffc0" cell
11e80 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c  spacing="10" cel
11e90 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72  lpadding="6"><tr
11ea0 3e 3c 74 64 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d  ><td>..<br><br>.
11eb0 0a 3c 75 3e 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3c  .<u><b>Note</b><
11ec0 2f 75 3e 3a 20 69 74 20 74 68 69 73 20 65 78 61  /u>: it this exa
11ed0 6d 70 6c 65 20 79 6f 75 27 76 65 20 75 73 65 64  mple you've used
11ee0 20 74 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f   the <b>byfoot</
11ef0 62 3e 20 4e 65 74 77 6f 72 6b 2c 20 74 68 61 74  b> Network, that
11f00 20 69 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e   is based on <b>
11f10 43 6f 73 74 73 3c 2f 62 3e 20 65 78 70 72 65 73  Costs</b> expres
11f20 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 65 72 73  sed in <b>meters
11f30 3c 2f 62 3e 20 28 67 65 6f 6d 65 74 72 69 63 20  </b> (geometric 
11f40 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 4c  length of each L
11f50 69 6e 6b 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20  ink).<br>..This 
11f60 4e 65 74 77 6f 72 6b 20 69 73 20 6d 61 69 6e 6c  Network is mainl
11f70 79 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 3c  y intended for <
11f80 62 3e 70 65 64 65 73 74 72 69 61 6e 73 3c 2f 62  b>pedestrians</b
11f90 3e 2c 20 73 6f 20 77 65 20 63 61 6e 20 73 61 66  >, so we can saf
11fa0 65 6c 79 20 61 73 73 75 6d 65 20 61 20 3c 75 3e  ely assume a <u>
11fb0 3c 69 3e 63 6f 6e 73 74 61 6e 74 20 73 70 65 65  <i>constant spee
11fc0 64 3c 2f 69 3e 3c 2f 75 3e 20 6f 66 20 61 62 6f  d</i></u> of abo
11fd0 75 74 20 3c 62 3e 34 3c 2f 62 3e 20 74 6f 20 3c  ut <b>4</b> to <
11fe0 62 3e 36 20 6b 6d 2f 68 3c 2f 62 3e 2c 20 61 6e  b>6 km/h</b>, an
11ff0 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74  d consequently t
12000 68 65 20 3c 62 3e 49 73 6f 63 68 72 6f 6e 65 3c  he <b>Isochrone<
12010 2f 62 3e 20 65 66 66 65 63 74 69 76 65 6c 79 20  /b> effectively 
12020 72 65 73 70 65 63 74 73 20 74 68 65 20 3c 75 3e  respects the <u>
12030 3c 69 3e 73 61 6d 65 20 74 69 6d 65 3c 2f 69 3e  <i>same time</i>
12040 3c 2f 75 3e 20 72 65 71 75 69 73 69 74 65 2e 3c  </u> requisite.<
12050 62 72 3e 3c 62 72 3e 0d 0a 53 70 65 61 6b 69 6e  br><br>..Speakin
12060 67 20 69 6e 20 6d 6f 72 65 20 67 65 6e 65 72 61  g in more genera
12070 6c 20 74 65 72 6d 73 2c 20 61 6e 20 49 73 6f 63  l terms, an Isoc
12080 68 72 6f 6e 65 20 63 61 6e 20 62 65 20 69 6e 74  hrone can be int
12090 65 6e 64 65 64 20 61 73 20 61 20 67 65 6e 65 72  ended as a gener
120a0 69 63 20 73 79 6e 6f 6e 79 6d 20 66 6f 72 20 3c  ic synonym for <
120b0 75 3e 3c 69 3e 73 61 6d 65 20 43 6f 73 74 3c 2f  u><i>same Cost</
120c0 69 3e 3c 2f 75 3e 2c 20 65 76 65 6e 20 77 68 65  i></u>, even whe
120d0 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6f 62  n there is no ob
120e0 76 69 6f 75 73 20 63 6f 6e 6e 65 63 74 69 6f 6e  vious connection
120f0 20 77 69 74 68 20 3c 62 3e 54 69 6d 65 2e 3c 2f   with <b>Time.</
12100 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74  b>.<br><br>..</t
12110 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d  d></tr></table>.
12120 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c  .<hr><br>..<h1><
12130 61 20 6e 61 6d 65 3d 22 74 73 70 22 3e 37 20 2d  a name="tsp">7 -
12140 20 53 6f 6c 76 69 6e 67 20 54 53 50 20 28 74 72   Solving TSP (tr
12150 61 76 65 6c 69 6e 67 20 73 61 6c 65 73 6d 61 6e  aveling salesman
12160 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f  ) problems</a></
12170 68 31 3e 0d 0a 3c 62 3e 54 53 50 3c 2f 62 3e 20  h1>..<b>TSP</b> 
12180 28 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a  (<a href="https:
12190 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f  //en.wikipedia.o
121a0 72 67 2f 77 69 6b 69 2f 54 72 61 76 65 6c 6c 69  rg/wiki/Travelli
121b0 6e 67 5f 73 61 6c 65 73 6d 61 6e 5f 70 72 6f 62  ng_salesman_prob
121c0 6c 65 6d 22 3e 54 72 61 76 65 6c 69 6e 67 20 53  lem">Traveling S
121d0 61 6c 65 73 6d 61 6e 20 50 72 6f 62 6c 65 6d 3c  alesman Problem<
121e0 2f 61 3e 29 20 69 73 20 61 20 77 65 6c 6c 20 6b  /a>) is a well k
121f0 6e 6f 77 6e 20 4f 70 65 72 61 74 69 6f 6e 73 20  nown Operations 
12200 52 65 73 65 61 72 63 68 20 70 72 6f 62 6c 65 6d  Research problem
12210 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61  ...<br><br>..<ta
12220 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30  ble bgcolor="#c0
12230 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffc0" cellspacin
12240 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69  g="10" cellpaddi
12250 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d  ng="6"><tr><td>.
12260 0a 3c 68 33 3e 54 68 65 20 54 72 61 76 65 6c 69  .<h3>The Traveli
12270 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62  ng Salesman Prob
12280 6c 65 6d 3c 2f 68 33 3e 0d 0a 3c 62 3e 3c 69 3e  lem</h3>..<b><i>
12290 47 69 76 65 6e 20 61 20 6c 69 73 74 20 6f 66 20  Given a list of 
122a0 63 69 74 69 65 73 20 61 6e 64 20 74 68 65 20 64  cities and the d
122b0 69 73 74 61 6e 63 65 73 20 62 65 74 77 65 65 6e  istances between
122c0 20 65 61 63 68 20 70 61 69 72 20 6f 66 20 63 69   each pair of ci
122d0 74 69 65 73 2c 20 77 68 61 74 20 69 73 20 74 68  ties, what is th
122e0 65 20 73 68 6f 72 74 65 73 74 20 70 6f 73 73 69  e shortest possi
122f0 62 6c 65 20 72 6f 75 74 65 20 74 68 61 74 20 76  ble route that v
12300 69 73 69 74 73 20 65 61 63 68 20 63 69 74 79 20  isits each city 
12310 61 6e 64 20 72 65 74 75 72 6e 73 20 74 6f 20 74  and returns to t
12320 68 65 20 6f 72 69 67 69 6e 20 63 69 74 79 20 3f  he origin city ?
12330 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e 3c 62  </i></b>..<br><b
12340 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f  r>..</td></tr></
12350 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75  table>..<br>..<u
12360 3e 4e 6f 74 65 3a 3c 2f 75 3e 20 74 68 65 20 74  >Note:</u> the t
12370 65 72 6d 73 20 3c 69 3e 3c 75 3e 73 61 6c 65 73  erms <i><u>sales
12380 6d 61 6e 3c 2f 75 3e 3c 2f 69 3e 20 61 6e 64 20  man</u></i> and 
12390 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f  <i><u>city</u></
123a0 69 3e 20 61 72 65 20 75 6e 69 76 65 72 73 61 6c  i> are universal
123b0 6c 79 20 75 73 65 64 20 66 6f 72 20 68 69 73 74  ly used for hist
123c0 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e 73 2c 20  orical reasons, 
123d0 62 75 74 20 79 6f 75 20 73 68 6f 75 6c 64 20 61  but you should a
123e0 76 6f 69 64 20 74 6f 20 6c 69 74 65 72 61 6c 6c  void to literall
123f0 79 20 69 6e 74 65 6e 64 20 62 6f 74 68 20 74 68  y intend both th
12400 65 6d 2e 3c 62 72 3e 0d 0a 54 68 65 20 74 65 72  em.<br>..The ter
12410 6d 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e  m <u><i>salesman
12420 3c 2f 69 3e 3c 2f 75 3e 20 69 6e 20 74 68 69 73  </i></u> in this
12430 20 73 70 65 63 69 66 69 63 20 63 6f 6e 74 65 78   specific contex
12440 74 20 69 6e 74 65 6e 64 73 20 61 6e 79 20 70 6f  t intends any po
12450 73 73 69 62 6c 65 20 6b 69 6e 64 20 6f 66 20 3c  ssible kind of <
12460 75 3e 3c 69 3e 6d 6f 76 69 6e 67 20 61 67 65 6e  u><i>moving agen
12470 74 3c 2f 69 3e 3c 2f 75 3e 20 28 70 65 64 65 73  t</i></u> (pedes
12480 74 72 69 61 6e 2c 20 76 65 68 69 63 6c 65 2c 20  trian, vehicle, 
12490 70 61 73 73 65 6e 67 65 72 20 6f 72 20 77 68 61  passenger or wha
124a0 74 65 76 65 72 20 65 6c 73 65 29 2c 20 65 78 61  tever else), exa
124b0 63 74 6c 79 20 61 73 20 3c 69 3e 3c 75 3e 63 69  ctly as <i><u>ci
124c0 74 79 3c 2f 75 3e 3c 2f 69 3e 20 73 69 6d 70 6c  ty</u></i> simpl
124d0 79 20 73 74 61 6e 64 73 20 66 6f 72 20 61 6e 79  y stands for any
124e0 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 69 63 20 64   <i><u>generic d
124f0 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e 3c 2f  estination</u></
12500 69 3e 20 6f 6e 20 61 20 67 69 76 65 6e 20 4e 65  i> on a given Ne
12510 74 77 6f 72 6b 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  twork...<br><br>
12520 0d 0a 57 65 20 63 61 6e 20 63 6f 6e 63 65 70 74  ..We can concept
12530 75 61 6c 79 20 73 70 6c 69 74 20 54 50 53 20 69  ualy split TPS i
12540 6e 20 74 77 6f 20 68 61 6c 76 65 73 3a 0d 0a 3c  n two halves:..<
12550 6f 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6d 70 75 74 69  ol>..<li>computi
12560 6e 67 20 61 6c 6c 20 64 69 73 74 61 6e 63 65 73  ng all distances
12570 20 62 65 74 77 65 65 6e 20 70 61 69 72 73 20 6f   between pairs o
12580 66 20 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e 2e  f <i>cities</i>.
12590 20 54 68 69 73 20 69 73 20 61 20 74 79 70 69 63   This is a typic
125a0 61 6c 20 3c 62 3e 53 68 6f 72 74 65 73 74 50 61  al <b>ShortestPa
125b0 74 68 3c 2f 62 3e 20 70 72 6f 62 6c 65 6d 2c 20  th</b> problem, 
125c0 61 6e 64 20 77 65 20 63 61 6e 20 64 75 6c 79 20  and we can duly 
125d0 75 73 65 20 74 68 65 20 44 69 6a 6b 73 74 72 61  use the Dijkstra
125e0 27 73 20 61 6c 67 6f 72 69 74 68 6d 20 66 6f 72  's algorithm for
125f0 20 74 68 69 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   this.</li>..<li
12600 3e 74 68 65 6e 20 77 65 20 68 61 76 65 20 74 6f  >then we have to
12610 20 63 68 65 63 6b 20 61 6c 6c 20 70 6f 73 73 69   check all possi
12620 62 6c 65 20 3c 62 3e 70 65 72 6d 75 74 61 74 69  ble <b>permutati
12630 6f 6e 73 3c 2f 62 3e 20 2f 20 3c 62 3e 63 6f 6d  ons</b> / <b>com
12640 62 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 73 6f  binations</b> so
12650 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65   to identify the
12660 20 6f 70 74 69 6d 61 6c 20 54 53 50 20 73 6f 6c   optimal TSP sol
12670 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f  ution.</li>..</o
12680 6c 3e 0d 0a 55 6e 68 61 70 70 69 6c 79 20 74 68  l>..Unhappily th
12690 65 72 65 20 69 73 20 61 20 70 72 61 63 74 69 63  ere is a practic
126a0 61 6c 20 64 69 66 66 69 63 75 6c 74 79 20 69 6e  al difficulty in
126b0 20 73 75 63 68 20 61 20 73 74 72 61 69 67 68 74   such a straight
126c0 20 61 70 70 72 6f 61 63 68 3b 20 74 68 65 20 6e   approach; the n
126d0 75 6d 62 65 72 20 6f 66 20 63 6f 6d 62 69 6e 61  umber of combina
126e0 74 69 6f 6e 73 20 77 69 6c 6c 20 67 72 6f 77 20  tions will grow 
126f0 65 78 74 72 65 6d 65 6c 79 20 66 61 73 74 20 61  extremely fast a
12700 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20  s the number of 
12710 3c 62 3e 3c 69 3e 63 69 74 69 65 73 3c 2f 69 3e  <b><i>cities</i>
12720 3c 2f 62 3e 20 69 6e 63 72 65 61 73 65 73 2e 3c  </b> increases.<
12730 62 72 3e 0d 0a 53 69 6d 70 6c 79 20 63 6f 6d 70  br>..Simply comp
12740 75 74 69 6e 67 20 74 68 65 20 63 6f 6d 70 6c 65  uting the comple
12750 74 65 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 20  te TSP solution 
12760 66 6f 72 20 61 62 6f 75 74 20 74 65 6e 20 63 69  for about ten ci
12770 74 69 65 73 20 77 69 6c 6c 20 72 65 71 75 69 72  ties will requir
12780 65 20 61 20 3c 62 3e 76 65 72 79 20 6c 6f 6e 67  e a <b>very long
12790 20 74 69 6d 65 3c 2f 62 3e 20 65 76 65 6e 20 75   time</b> even u
127a0 73 69 6e 67 20 61 20 73 75 70 65 72 63 6f 6d 70  sing a supercomp
127b0 75 74 65 72 2e 3c 62 72 3e 0d 0a 41 6e 64 20 61  uter.<br>..And a
127c0 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6d  ttempting to com
127d0 70 75 74 65 20 61 20 54 53 50 20 73 6f 6c 75 74  pute a TSP solut
127e0 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20 68 75  ion for about hu
127f0 6e 64 72 65 64 20 63 69 74 69 65 73 20 77 69 6c  ndred cities wil
12800 6c 20 72 65 71 75 69 72 65 20 61 20 3c 62 3e 70  l require a <b>p
12810 72 61 63 74 69 63 61 6c 6c 79 20 69 6e 66 69 6e  ractically infin
12820 69 74 65 3c 2f 62 3e 20 74 69 6d 65 2e 0d 0a 3c  ite</b> time...<
12830 62 72 3e 3c 62 72 3e 0d 0a 48 6f 77 65 76 65 72  br><br>..However
12840 20 73 6f 6c 76 69 6e 67 20 54 53 50 20 69 73 20   solving TSP is 
12850 68 69 67 68 6c 79 20 64 65 73 69 72 61 62 6c 65  highly desirable
12860 20 69 6e 20 6d 61 6e 79 20 61 70 70 6c 69 63 61   in many applica
12870 74 69 6f 6e 20 66 69 65 6c 64 73 3a 20 3c 62 3e  tion fields: <b>
12880 6c 6f 67 69 73 74 69 63 73 3c 2f 62 3e 20 28 6a  logistics</b> (j
12890 75 73 74 20 74 68 69 6e 6b 20 61 62 6f 75 74 20  ust think about 
128a0 63 6f 75 72 69 65 72 20 63 6f 6d 70 61 6e 69 65  courier companie
128b0 73 20 61 73 20 44 48 4c 2c 20 46 65 64 45 58 2c  s as DHL, FedEX,
128c0 20 55 50 53 20 6f 72 20 54 4e 54 29 2c 20 3c 62   UPS or TNT), <b
128d0 3e 66 69 65 6c 64 20 6d 61 69 6e 74 65 6e 61 6e  >field maintenan
128e0 63 65 3c 2f 62 3e 20 2f 20 3c 62 3e 61 73 73 69  ce</b> / <b>assi
128f0 73 74 61 6e 63 65 3c 2f 62 3e 2c 20 3c 62 3e 77  stance</b>, <b>w
12900 61 73 74 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 3c  aste collection<
12910 2f 62 3e 2c 20 3c 62 3e 73 63 68 6f 6f 6c 62 75  /b>, <b>schoolbu
12920 73 3c 2f 62 3e 20 2f 20 3c 62 3e 73 68 61 72 65  s</b> / <b>share
12930 64 20 74 61 78 69 20 73 65 72 76 69 63 65 73 3c  d taxi services<
12940 2f 62 3e 20 65 74 63 2e 3c 62 72 3e 0d 0a 4d 61  /b> etc.<br>..Ma
12950 6e 79 20 61 6c 67 6f 72 69 74 68 6d 73 20 68 61  ny algorithms ha
12960 76 65 20 62 65 65 6e 20 69 6e 76 65 6e 74 65 64  ve been invented
12970 20 64 75 72 69 6e 67 20 6c 61 73 74 20 64 65 63   during last dec
12980 61 64 65 73 20 69 6e 74 65 6e 64 65 64 20 74 6f  ades intended to
12990 20 70 72 6f 64 75 63 65 20 70 72 61 63 74 69 63   produce practic
129a0 61 6c 20 61 6c 74 68 6f 75 67 68 20 61 70 70 72  al although appr
129b0 6f 78 69 6d 61 74 65 20 2f 20 69 6d 70 65 72 66  oximate / imperf
129c0 65 63 74 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e  ect TSP solution
129d0 73 20 69 6e 20 61 20 72 65 61 73 6f 6e 61 62 6c  s in a reasonabl
129e0 79 20 73 68 6f 72 74 20 74 69 6d 65 2e 0d 0a 4d  y short time...M
129f0 61 6e 79 20 6f 66 20 74 68 65 6d 20 73 74 72 6f  any of them stro
12a00 6e 67 6c 79 20 64 65 70 65 6e 64 20 6f 6e 20 3c  ngly depend on <
12a10 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
12a20 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67  en.wikipedia.org
12a30 2f 77 69 6b 69 2f 48 65 75 72 69 73 74 69 63 22  /wiki/Heuristic"
12a40 3e 68 65 75 72 69 73 74 69 63 3c 2f 61 3e 20 61  >heuristic</a> a
12a50 6e 64 20 2f 20 6f 72 20 3c 61 20 68 72 65 66 3d  nd / or <a href=
12a60 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69  "https://en.wiki
12a70 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 52  pedia.org/wiki/R
12a80 61 6e 64 6f 6d 6e 65 73 73 22 3e 72 61 6e 64 6f  andomness">rando
12a90 6d 6e 65 73 73 3c 2f 61 3e 2e 0d 0a 3c 62 72 3e  mness</a>...<br>
12aa0 3c 62 72 3e 0d 0a 3c 62 3e 56 69 72 74 75 61 6c  <br>..<b>Virtual
12ab0 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 73 75 70 70  Routing</b> supp
12ac0 6f 72 74 73 20 74 77 6f 20 64 69 66 66 65 72 65  orts two differe
12ad0 6e 74 20 54 53 50 20 61 6c 67 6f 72 69 74 68 6d  nt TSP algorithm
12ae0 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  s:..<ul>..<li><b
12af0 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 28 3c 69 3e  >TSP NN</b> (<i>
12b00 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c 69 3e 4e 65  aka</i> <b><i>Ne
12b10 61 72 65 73 74 20 4e 65 69 67 68 62 6f 75 72 3c  arest Neighbour<
12b20 2f 69 3e 3c 2f 62 3e 29 3c 62 72 3e 0d 0a 54 68  /i></b>)<br>..Th
12b30 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  is <a href="http
12b40 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61  s://en.wikipedia
12b50 2e 6f 72 67 2f 77 69 6b 69 2f 4e 65 61 72 65 73  .org/wiki/Neares
12b60 74 5f 6e 65 69 67 68 62 6f 75 72 5f 61 6c 67 6f  t_neighbour_algo
12b70 72 69 74 68 6d 22 3e 66 69 72 73 74 20 61 6c 67  rithm">first alg
12b80 6f 72 69 74 68 6d 3c 2f 61 3e 20 69 73 20 73 74  orithm</a> is st
12b90 72 61 69 67 68 74 66 6f 72 77 61 72 64 20 73 69  raightforward si
12ba0 6d 70 6c 65 20 61 6e 64 20 76 65 72 79 20 66 61  mple and very fa
12bb0 73 74 3b 20 69 74 20 63 61 6e 20 65 66 66 65 63  st; it can effec
12bc0 74 69 76 65 6c 79 20 73 6f 6c 76 65 20 68 75 67  tively solve hug
12bd0 65 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e 73 20  e TSP solutions 
12be0 28 74 68 6f 75 73 61 6e 64 20 3c 69 3e 63 69 74  (thousand <i>cit
12bf0 69 65 73 3c 2f 69 3e 20 6f 72 20 65 76 65 6e 20  ies</i> or even 
12c00 6d 6f 72 65 29 20 69 6e 20 61 20 76 65 72 79 20  more) in a very 
12c10 73 68 6f 72 74 20 74 69 6d 65 2e 3c 62 72 3e 0d  short time.<br>.
12c20 0a 3c 75 3e 53 68 6f 72 74 20 64 65 73 63 72 69  .<u>Short descri
12c30 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c 75 6c 3e  ption</u>:..<ul>
12c40 0d 0a 3c 6c 69 3e 73 74 61 72 74 69 6e 67 20 66  ..<li>starting f
12c50 72 6f 6d 20 74 68 65 20 3c 75 3e 3c 69 3e 62 61  rom the <u><i>ba
12c60 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20  se city</i></u> 
12c70 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d  the <u><i>salesm
12c80 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67 6f 65 73 20  an</i></u> goes 
12c90 74 6f 20 74 68 65 20 3c 75 3e 3c 69 3e 63 69 74  to the <u><i>cit
12ca0 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 73 65 6e  y</i></u> presen
12cb0 74 69 6e 67 20 74 68 65 20 3c 69 3e 3c 75 3e 6c  ting the <i><u>l
12cc0 65 73 73 65 72 20 63 6f 6e 6e 65 63 74 69 6f 6e  esser connection
12cd0 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f   cost</u></i>.</
12ce0 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 61 6c 72  li>..<li>the alr
12cf0 65 61 64 79 20 76 69 73 69 74 65 64 20 3c 69 3e  eady visited <i>
12d00 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20  <u>city</u></i> 
12d10 69 73 20 63 61 6e 63 65 6c 6c 65 64 20 66 72 6f  is cancelled fro
12d20 6d 20 74 68 65 20 6c 69 73 74 2c 20 61 6e 64 20  m the list, and 
12d30 74 68 65 6e 20 74 68 65 20 3c 75 3e 3c 69 3e 73  then the <u><i>s
12d40 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20  alesman</i></u> 
12d50 67 6f 65 73 20 74 6f 20 74 68 65 20 6e 65 78 74  goes to the next
12d60 20 3c 75 3e 3c 69 3e 63 69 74 79 3c 2f 69 3e 3c   <u><i>city</i><
12d70 2f 75 3e 20 70 72 65 73 65 6e 74 69 6e 67 20 74  /u> presenting t
12d80 68 65 20 3c 69 3e 3c 75 3e 6c 65 73 73 65 72 20  he <i><u>lesser 
12d90 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6f 73 74 3c  connection cost<
12da0 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  /u></i>.</li>..<
12db0 6c 69 3e 74 68 65 20 63 79 63 6c 65 20 63 6f 6e  li>the cycle con
12dc0 74 69 6e 75 65 73 20 75 6e 74 69 6c 20 61 6c 6c  tinues until all
12dd0 20 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73 3c 2f    <i><u>cities</
12de0 75 3e 3c 2f 69 3e 20 69 6e 20 74 68 65 20 6c 69  u></i> in the li
12df0 73 74 20 68 61 76 65 20 62 65 65 6e 20 76 69 73  st have been vis
12e00 69 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  ited.</li>..<li>
12e10 66 69 6e 61 6c 6c 79 2c 20 74 68 65 20 3c 75 3e  finally, the <u>
12e20 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c  <i>salesman</i><
12e30 2f 75 3e 20 72 65 74 75 72 6e 73 20 74 6f 20 68  /u> returns to h
12e40 69 73 2f 68 65 72 20 69 6e 69 74 69 61 6c 20 3c  is/her initial <
12e50 75 3e 3c 69 3e 62 61 73 65 20 63 69 74 79 3c 2f  u><i>base city</
12e60 69 3e 3c 2f 75 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  i></u></li>..</u
12e70 6c 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 20  l>..<u>Note</u> 
12e80 69 74 27 73 20 76 65 72 79 20 75 6e 6c 69 6b 65  it's very unlike
12e90 20 74 68 61 74 20 54 53 50 20 4e 4e 20 63 6f 75   that TSP NN cou
12ea0 6c 64 20 66 69 6e 64 20 74 68 65 20 3c 62 3e 6f  ld find the <b>o
12eb0 70 74 69 6d 61 6c 3c 2f 62 3e 20 73 6f 6c 75 74  ptimal</b> solut
12ec0 69 6f 6e 2c 20 62 75 74 20 69 74 20 63 61 6e 20  ion, but it can 
12ed0 71 75 69 63 6b 6c 79 20 66 69 6e 64 20 73 6f 6d  quickly find som
12ee0 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 3c 62 3e  e reasonable <b>
12ef0 61 70 70 72 6f 78 69 6d 61 74 65 3c 2f 62 3e 20  approximate</b> 
12f00 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 66 65 77  solution (<i>few
12f10 20 69 73 20 73 75 72 65 6c 79 20 62 65 74 74 65   is surely bette
12f20 72 20 74 68 61 6e 20 6e 6f 74 68 69 6e 67 3c 2f  r than nothing</
12f30 69 3e 29 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 65  i>).<br>..In the
12f40 20 6d 6f 73 74 20 75 6e 6c 75 63 6b 79 20 63 61   most unlucky ca
12f50 73 65 20 54 53 50 20 4e 4e 20 63 6f 75 6c 64 20  se TSP NN could 
12f60 70 6f 73 73 69 62 6c 79 20 72 65 74 75 72 6e 20  possibly return 
12f70 74 68 65 20 3c 62 3e 77 6f 72 73 74 20 73 6f 6c  the <b>worst sol
12f80 75 74 69 6f 6e 3c 2f 62 3e 2c 20 62 75 74 20 74  ution</b>, but t
12f90 68 65 20 73 70 65 63 69 66 69 63 20 69 6d 70 6c  he specific impl
12fa0 65 6d 65 6e 74 61 74 69 6f 6e 20 61 64 6f 70 74  ementation adopt
12fb0 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75  ed by VirtualRou
12fc0 74 69 6e 67 20 63 68 65 63 6b 73 20 61 67 61 69  ting checks agai
12fd0 6e 73 74 20 74 68 69 73 20 70 6f 73 73 69 62 69  nst this possibi
12fe0 6c 69 74 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  lity:..<ul>..<li
12ff0 3e 65 61 63 68 20 54 53 50 20 4e 4e 20 69 73 20  >each TSP NN is 
13000 61 6c 77 61 79 73 20 63 6f 6d 70 75 74 65 64 20  always computed 
13010 74 77 69 63 65 20 62 79 20 72 61 6e 64 6f 6d 6c  twice by randoml
13020 79 20 63 68 6f 6f 73 69 6e 67 20 61 20 64 69 66  y choosing a dif
13030 66 65 72 65 6e 74 20 3c 75 3e 3c 69 3e 62 61 73  ferent <u><i>bas
13040 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 61  e city</i></u> a
13050 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 6c 69 7a  nd then normaliz
13060 69 6e 67 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e  ing the solution
13070 3b 20 74 68 65 20 62 65 73 74 20 6f 66 20 74 68  ; the best of th
13080 65 20 74 77 6f 20 73 6f 6c 75 74 69 6f 6e 73 20  e two solutions 
13090 69 73 20 74 68 65 6e 20 72 65 74 75 72 6e 65 64  is then returned
130a0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 69 73  .</li>..<li>this
130b0 20 73 69 6d 70 6c 65 20 62 75 74 20 65 66 66 65   simple but effe
130c0 63 74 69 76 65 20 70 72 65 63 61 75 74 69 6f 6e  ctive precaution
130d0 20 72 6f 62 75 73 74 6c 79 20 65 6e 73 75 72 65   robustly ensure
130e0 73 20 74 68 61 74 20 74 68 65 20 3c 62 3e 77 6f  s that the <b>wo
130f0 72 73 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e  rst solution</b>
13100 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 72   will never be r
13110 65 74 75 72 6e 65 64 2c 20 61 6e 64 20 6a 75 73  eturned, and jus
13120 74 20 69 6d 70 6c 69 65 73 20 61 20 6d 6f 64 65  t implies a mode
13130 72 61 74 65 6c 79 20 69 6e 63 72 65 61 73 65 64  rately increased
13140 20 65 78 65 63 75 74 69 6f 6e 20 74 69 6d 65 2e   execution time.
13150 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  </li>..</ul></li
13160 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 53 50 20 47 41  >..<li><b>TSP GA
13170 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  </b> (<i>aka</i>
13180 20 3c 62 3e 3c 69 3e 47 65 6e 65 74 69 63 20 41   <b><i>Genetic A
13190 6c 67 6f 72 69 74 68 6d 3c 2f 69 3e 3c 2f 62 3e  lgorithm</i></b>
131a0 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 3c 61 20  ).<br>..This <a 
131b0 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e  href="https://en
131c0 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77  .wikipedia.org/w
131d0 69 6b 69 2f 47 65 6e 65 74 69 63 5f 61 6c 67 6f  iki/Genetic_algo
131e0 72 69 74 68 6d 22 3e 61 6c 74 65 72 6e 61 74 69  rithm">alternati
131f0 76 65 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e  ve algorithm</a>
13200 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 20 63 6f   is much more co
13210 6d 70 6c 65 78 20 61 6e 64 20 73 6f 70 68 69 73  mplex and sophis
13220 74 69 63 61 74 65 64 2c 20 61 6e 64 20 69 73 20  ticated, and is 
13230 64 69 72 65 63 74 6c 79 20 69 6e 73 70 69 72 65  directly inspire
13240 64 20 62 79 20 62 69 6f 6c 6f 67 69 63 61 6c 20  d by biological 
13250 63 6f 6e 63 65 70 74 73 20 73 75 63 68 20 61 73  concepts such as
13260 20 3c 62 3e 73 65 78 75 61 6c 20 72 65 70 72 6f   <b>sexual repro
13270 64 75 63 74 69 6f 6e 3c 2f 62 3e 2c 20 3c 62 3e  duction</b>, <b>
13280 67 65 6e 65 74 69 63 20 6d 75 74 61 74 69 6f 6e  genetic mutation
13290 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 61 74  s</b> and <b>nat
132a0 75 72 61 6c 20 73 65 6c 65 63 74 69 6f 6e 3c 2f  ural selection</
132b0 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 68 6f 72  b>.<br>..<u>Shor
132c0 74 20 64 65 73 63 72 69 70 74 69 6f 6e 3c 2f 75  t description</u
132d0 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 20  >:..<ul>..<li>a 
132e0 66 69 72 73 74 20 69 6e 69 74 69 61 6c 20 73 65  first initial se
132f0 74 20 6f 66 20 73 6f 6c 75 74 69 6f 6e 73 20 28  t of solutions (
13300 3c 69 3e 3c 75 3e 74 68 65 20 70 6f 70 75 6c 61  <i><u>the popula
13310 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29 20 69 73  tion</u></i>) is
13320 20 63 72 65 61 74 65 64 20 62 79 20 75 73 69 6e   created by usin
13330 67 20 54 53 50 20 4e 4e 20 61 66 74 65 72 20 72  g TSP NN after r
13340 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 69 6e 67  andomly choosing
13350 20 74 68 65 20 3c 75 3e 3c 69 3e 62 61 73 65 20   the <u><i>base 
13360 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64  city</i></u> and
13370 20 74 68 65 6e 20 6e 6f 72 6d 61 6c 69 7a 69 6e   then normalizin
13380 67 20 65 61 63 68 20 73 6f 6c 75 74 69 6f 6e 2e  g each solution.
13390 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20  </li>..<li>then 
133a0 64 75 72 69 6e 67 20 65 61 63 68 20 73 74 65 70  during each step
133b0 20 6f 66 20 74 68 65 20 65 78 65 63 75 74 69 6f   of the executio
133c0 6e 20 6c 6f 6f 70 20 28 3c 69 3e 3c 75 3e 67 65  n loop (<i><u>ge
133d0 6e 65 72 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e  neration</u></i>
133e0 29 20 70 61 69 72 73 20 6f 66 20 73 6f 6c 75 74  ) pairs of solut
133f0 69 6f 6e 73 20 3c 69 3e 3c 75 3e 73 65 78 75 61  ions <i><u>sexua
13400 6c 6c 79 20 72 65 70 72 6f 64 75 63 65 73 3c 2f  lly reproduces</
13410 69 3e 3c 2f 75 3e 20 67 69 76 69 6e 67 20 62 69  i></u> giving bi
13420 72 74 68 20 74 6f 20 3c 75 3e 3c 69 3e 63 68 69  rth to <u><i>chi
13430 6c 64 72 65 6e 20 73 6f 6c 75 74 69 6f 6e 73 3c  ldren solutions<
13440 2f 69 3e 3c 2f 75 3e 3b 20 72 65 70 72 6f 64 75  /i></u>; reprodu
13450 63 74 69 6f 6e 20 69 73 20 73 75 62 6a 65 63 74  ction is subject
13460 20 74 6f 20 3c 75 3e 3c 69 3e 63 68 72 6f 6d 6f   to <u><i>chromo
13470 73 6f 6d 65 20 63 72 6f 73 73 6f 76 65 72 73 3c  some crossovers<
13480 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 3c 69 3e 3c  /i></u> and <i><
13490 75 3e 72 61 6e 64 6f 6d 20 6d 75 74 61 74 69 6f  u>random mutatio
134a0 6e 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d  n</u></i>.</li>.
134b0 0a 3c 6c 69 3e 66 6f 72 20 65 61 63 68 20 3c 69  .<li>for each <i
134c0 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e 3c 2f  ><u>generation</
134d0 75 3e 3c 2f 69 3e 20 74 68 65 20 3c 69 3e 3c 75  u></i> the <i><u
134e0 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65 63 74 69  >natural selecti
134f0 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 65 6c 69 6d 69  on</u></i> elimi
13500 6e 61 74 65 73 20 61 6c 6c 20 70 6f 6f 72 6c 79  nates all poorly
13510 20 66 69 74 20 69 6e 64 69 76 69 64 75 61 6c 73   fit individuals
13520 20 66 72 6f 6d 20 74 68 65 20 3c 75 3e 3c 69 3e   from the <u><i>
13530 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f 69 3e 3c 2f  population</i></
13540 75 3e 20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e  u> and consequen
13550 74 6c 79 20 6f 6e 6c 79 20 74 68 65 20 62 65 73  tly only the bes
13560 74 20 66 69 74 20 69 6e 64 69 76 69 64 75 61 6c  t fit individual
13570 73 20 63 61 6e 20 66 75 72 74 68 65 72 20 70 72  s can further pr
13580 6f 70 61 67 61 74 65 20 74 68 65 69 72 20 3c 75  opagate their <u
13590 3e 3c 69 3e 67 65 6e 6f 6d 65 3c 2f 69 3e 3c 2f  ><i>genome</i></
135a0 75 3e 20 74 6f 20 74 68 65 20 6e 65 78 74 20 3c  u> to the next <
135b0 75 3e 3c 69 3e 67 65 6e 65 72 61 74 69 6f 6e 3c  u><i>generation<
135c0 2f 69 3e 3c 2f 75 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  /i></u>.</li>..<
135d0 6c 69 3e 61 66 74 65 72 20 61 20 63 65 72 74 61  li>after a certa
135e0 69 6e 20 6e 75 6d 62 65 72 20 6f 66 20 3c 69 3e  in number of <i>
135f0 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e 73 3c 2f  <u>generations</
13600 69 3e 3c 2f 75 3e 20 28 6c 65 74 27 73 20 73 61  i></u> (let's sa
13610 79 20 61 62 6f 75 74 20 73 6f 6d 65 20 68 75 6e  y about some hun
13620 64 72 65 64 74 68 20 69 74 65 72 61 74 69 6f 6e  dredth iteration
13630 73 29 20 74 68 65 20 3c 62 3e 6f 70 74 69 6d 61  s) the <b>optima
13640 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 20 28  l solution</b> (
13650 6f 72 20 61 74 20 6c 65 61 73 74 20 61 20 3c 62  or at least a <b
13660 3e 66 61 69 72 6c 79 20 67 6f 6f 64 20 73 75 62  >fairly good sub
13670 2d 6f 70 74 69 6d 61 6c 20 73 6f 6c 75 74 69 6f  -optimal solutio
13680 6e 3c 2f 62 3e 29 20 73 68 6f 75 6c 64 20 66 69  n</b>) should fi
13690 6e 61 6c 6c 79 20 65 6d 65 72 67 65 2c 20 61 6e  nally emerge, an
136a0 64 20 73 6f 20 74 68 65 20 6c 6f 6f 70 20 63 61  d so the loop ca
136b0 6e 20 65 78 69 74 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  n exit.</li>..</
136c0 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75  ul></li>..<li><u
136d0 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 54 53 50 20 47  >Note</u>: TSP G
136e0 41 20 69 73 20 75 73 75 61 6c 6c 79 20 65 78 70  A is usually exp
136f0 65 63 74 65 64 20 74 6f 20 69 64 65 6e 74 69 66  ected to identif
13700 79 20 62 65 74 74 65 72 20 73 6f 6c 75 74 69 6f  y better solutio
13710 6e 73 20 74 68 61 6e 20 54 53 50 20 4e 4e 20 63  ns than TSP NN c
13720 61 6e 20 64 6f 2c 20 62 75 74 20 69 74 20 77 69  an do, but it wi
13730 6c 6c 20 73 75 72 65 6c 79 20 72 65 71 75 69 72  ll surely requir
13740 65 20 6d 75 63 68 20 6d 6f 72 65 20 74 69 6d 65  e much more time
13750 20 74 6f 20 63 6f 6d 70 6c 65 74 65 2e 3c 2f 6c   to complete.</l
13760 69 3e 20 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e  i> ..</ul>..<br>
13770 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20  <br>..Let's now 
13780 65 78 61 6d 69 6e 65 20 61 20 70 72 61 63 74 69  examine a practi
13790 63 61 6c 20 65 78 61 6d 70 6c 65 20 6f 66 20 54  cal example of T
137a0 53 50 20 73 6f 6c 76 69 6e 67 20 75 73 69 6e 67  SP solving using
137b0 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2e   VirtualRouting.
137c0 20 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55   ..<verbatim>..U
137d0 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54  PDATE byfoot SET
137e0 20 52 65 71 75 65 73 74 20 3d 20 27 54 53 50 27   Request = 'TSP'
137f0 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f  ;....SELECT Algo
13800 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20  rithm, Request, 
13810 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74  Options, Delimit
13820 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75  er, RouteId, Rou
13830 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e  teRow, Role, Lin
13840 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d  kRowid, NodeFrom
13850 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20  , NodeTo, Cost, 
13860 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a  Geometry, Name..
13870 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
13880 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37  RE NodeFrom = 17
13890 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20  8731 AND NodeTo 
138a0 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 39 39  = '183286,181999
138b0 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c 31  ,184030,183882,1
138c0 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61  78754';..</verba
138d0 74 69 6d 3e 0d 0a 41 20 56 69 72 74 75 61 6c 52  tim>..A VirtualR
138e0 6f 75 74 69 6e 67 20 3c 62 3e 54 53 50 3c 2f 62  outing <b>TSP</b
138f0 3e 20 71 75 65 72 79 20 68 61 73 20 74 68 65 20  > query has the 
13900 73 61 6d 65 20 69 64 65 6e 74 69 63 61 6c 20 66  same identical f
13910 6f 72 6d 20 6f 66 20 61 20 3c 62 3e 6d 75 6c 74  orm of a <b>mult
13920 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 62  i-destination</b
13930 3e 20 71 75 65 72 79 3b 20 74 68 65 20 3c 69 3e  > query; the <i>
13940 3c 75 3e 62 61 73 65 20 63 69 74 79 3c 75 3e 3c  <u>base city<u><
13950 2f 69 3e 20 69 73 20 61 6c 77 61 79 73 20 65 78  /i> is always ex
13960 70 65 63 74 65 64 20 74 6f 20 63 6f 72 72 65 73  pected to corres
13970 70 6f 6e 64 20 74 6f 20 3c 62 3e 4e 6f 64 65 46  pond to <b>NodeF
13980 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 61 6c 6c 20  rom</b> and all 
13990 6f 74 68 65 72 20 3c 69 3e 3c 75 3e 63 69 74 69  other <i><u>citi
139a0 65 73 3c 2f 75 3e 3c 2f 69 3e 20 74 6f 20 62 65  es</u></i> to be
139b0 20 76 69 73 69 74 65 64 20 61 72 65 20 65 78 70   visited are exp
139c0 65 63 74 65 64 20 74 6f 20 62 65 20 65 6e 75 6d  ected to be enum
139d0 65 72 61 74 65 64 20 69 6e 74 6f 20 61 20 3c 62  erated into a <b
139e0 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69  >multi-destinati
139f0 6f 6e 3c 2f 62 3e 20 6c 69 73 74 20 61 73 73 69  on</b> list assi
13a00 67 6e 65 64 20 74 6f 20 3c 62 3e 4e 6f 64 65 54  gned to <b>NodeT
13a10 6f 3c 2f 62 3e 2e 0d 0a 3c 75 3e 4e 6f 74 65 3c  o</b>...<u>Note<
13a20 2f 75 3e 3a 20 79 6f 75 20 6d 75 73 74 20 65 78  /u>: you must ex
13a30 70 6c 69 63 69 74 6c 79 20 73 65 74 20 74 68 65  plicitly set the
13a40 20 63 75 72 72 65 6e 74 20 3c 62 3e 52 65 71 75   current <b>Requ
13a50 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 53  est</b> as <b>TS
13a60 50 3c 2f 62 3e 2c 20 3c 62 3e 54 53 50 20 4e 4e  P</b>, <b>TSP NN
13a70 3c 2f 62 3e 20 6f 72 20 3c 62 3e 54 53 50 20 47  </b> or <b>TSP G
13a80 41 3c 2f 62 3e 20 28 54 53 50 20 61 6e 64 20 54  A</b> (TSP and T
13a90 53 50 20 4e 4e 20 61 72 65 20 73 79 6e 6f 6e 79  SP NN are synony
13aa0 6d 73 29 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ms)...<br><br>..
13ab0 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
13ac0 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
13ad0 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
13ae0 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
13af0 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
13b00 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
13b10 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74  Algorithm</th><t
13b20 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
13b30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e  a0">Request</th>
13b40 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
13b50 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
13b60 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
13b70 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65  d0d0a0">Delimite
13b80 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  r</th><th bgcolo
13b90 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
13ba0 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  eId</th><th bgco
13bb0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
13bc0 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
13bd0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
13be0 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
13bf0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
13c00 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
13c10 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
13c20 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
13c30 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
13c40 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
13c50 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
13c60 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
13c70 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
13c80 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
13c90 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
13ca0 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
13cb0 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
13cc0 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64  <td>Dijkstra</td
13cd0 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c 2f 74 64 3e  ><td>TSP NN</td>
13ce0 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74 64  <td>Full</td><td
13cf0 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34 2c 20  >, &#91;dec=44, 
13d00 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74 64 3e  hex=2c&#93;</td>
13d10 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13d20 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
13d30 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
13d40 3c 74 64 3e 54 53 50 20 53 6f 6c 75 74 69 6f 6e  <td>TSP Solution
13d50 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13d60 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13d70 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
13d80 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13d90 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
13da0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32  align="right">12
13db0 35 34 2e 34 33 33 39 33 33 3c 2f 74 64 3e 3c 74  54.433933</td><t
13dc0 64 3e 42 4c 4f 42 20 73 7a 3d 32 30 30 30 20 47  d>BLOB sz=2000 G
13dd0 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
13de0 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
13df0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
13e00 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13e10 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
13e20 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e  td>NULL<td align
13e30 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
13e40 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13e50 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
13e60 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13e70 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13e80 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
13e90 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
13ea0 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20  >184030</td><td 
13eb0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
13ec0 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c 74 64  6.364755</td><td
13ed0 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 20 47 45 4f  >BLOB sz=304 GEO
13ee0 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
13ef0 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
13f00 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
13f10 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
13f20 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
13f30 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
13f40 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
13f50 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13f60 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
13f70 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
13f80 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c  ="right">224014<
13f90 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13fa0 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
13fb0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13fc0 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74  t">182885</td><t
13fd0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13fe0 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74  94.812424</td><t
13ff0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
14000 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e  IA PIETRO ARETIN
14010 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  O</td>..</tr>..<
14020 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
14030 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14040 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14050 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14060 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14070 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >2</td><td align
14080 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
14090 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
140a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
140b0 34 38 36 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4862</td><td ali
140c0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
140d0 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
140e0 22 72 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f  "right">182043</
140f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14100 67 68 74 22 3e 33 37 2e 30 39 35 32 38 37 3c 2f  ght">37.095287</
14110 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14120 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
14130 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
14140 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
14150 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14160 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14170 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
14180 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
14190 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
141a0 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
141b0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
141c0 6e 3d 22 72 69 67 68 74 22 3e 32 32 36 30 37 30  n="right">226070
141d0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
141e0 72 69 67 68 74 22 3e 31 38 32 30 34 33 3c 2f 74  right">182043</t
141f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14200 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c  ht">184030</td><
14210 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14220 3e 34 34 2e 34 35 37 30 34 34 3c 2f 74 64 3e 3c  >44.457044</td><
14230 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14240 50 49 41 5a 5a 41 20 53 41 4e 54 27 41 47 4f 53  PIAZZA SANT'AGOS
14250 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TINO</td>..</tr>
14260 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
14270 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14280 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14290 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
142a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
142b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
142c0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
142d0 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
142e0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
142f0 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c  ="right">184030<
14300 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14310 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64  ight">181999</td
14320 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14330 74 22 3e 31 33 39 2e 31 31 34 39 33 38 3c 2f 74  t">139.114938</t
14340 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 39  d><td>BLOB sz=49
14350 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  6 GEOMETRY</td><
14360 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
14370 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
14380 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14390 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
143a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
143b0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
143c0 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >3</td><td align
143d0 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
143e0 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
143f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
14400 36 30 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  6071</td><td ali
14410 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33  gn="right">18403
14420 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
14430 22 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f  "right">182629</
14440 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14450 67 68 74 22 3e 35 35 2e 36 38 39 30 30 39 3c 2f  ght">55.689009</
14460 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14470 3c 74 64 3e 56 49 41 20 47 49 55 53 45 50 50 45  <td>VIA GIUSEPPE
14480 20 47 41 52 49 42 41 4c 44 49 3c 2f 74 64 3e 0d   GARIBALDI</td>.
14490 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
144a0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
144b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
144c0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
144d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
144e0 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">3</td><td al
144f0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74  ign="right">2</t
14500 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
14510 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14520 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c 74 64 20  >225512</td><td 
14530 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14540 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2629</td><td ali
14550 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33  gn="right">18293
14560 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
14570 22 72 69 67 68 74 22 3e 33 34 2e 31 38 34 31 39  "right">34.18419
14580 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
14590 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41  td><td>CORSO ITA
145a0 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LIA</td>..</tr>.
145b0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
145c0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
145d0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
145e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
145f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f  lign="right">3</
14600 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14610 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
14620 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
14630 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31 31  n="right">225511
14640 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14650 72 69 67 68 74 22 3e 31 38 32 39 33 33 3c 2f 74  right">182933</t
14660 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14670 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c  ht">181999</td><
14680 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14690 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74 64 3e 3c  >49.241735</td><
146a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
146b0 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64  CORSO ITALIA</td
146c0 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
146d0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
146e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
146f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14700 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14710 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20  ight">3</td><td 
14720 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
14730 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
14740 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14750 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14760 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20  >181999</td><td 
14770 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
14780 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
14790 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 37 2e 36  gn="right">217.6
147a0 37 32 38 38 35 3c 2f 74 64 3e 3c 74 64 3e 42 4c  72885</td><td>BL
147b0 4f 42 20 73 7a 3d 36 38 38 20 47 45 4f 4d 45 54  OB sz=688 GEOMET
147c0 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
147d0 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
147e0 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
147f0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14800 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14810 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
14820 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c  ="right">4</td><
14830 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14840 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >1</td><td>Link<
14850 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14860 69 67 68 74 22 3e 32 32 32 36 33 35 3c 2f 74 64  ight">222635</td
14870 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14880 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
14890 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
148a0 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20 61  181998</td><td a
148b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 31  lign="right">101
148c0 2e 36 32 39 37 35 30 3c 2f 74 64 3e 3c 74 64 3e  .629750</td><td>
148d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52  NULL</td><td>COR
148e0 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a  SO ITALIA</td>..
148f0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
14900 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14910 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14920 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14930 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14940 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">4</td><td ali
14950 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
14960 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
14970 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14980 32 32 34 37 38 30 3c 2f 74 64 3e 3c 74 64 20 61  224780</td><td a
14990 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
149a0 39 39 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  998</td><td alig
149b0 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 36 30  n="right">183560
149c0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
149d0 72 69 67 68 74 22 3e 37 33 2e 37 33 33 35 37 32  right">73.733572
149e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
149f0 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41  d><td>VIA DELL'A
14a00 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a  NFITEATRO</td>..
14a10 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
14a20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14a30 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14a40 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20  /td><td>NULL<td 
14a50 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
14a60 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14a70 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e  ight">3</td><td>
14a80 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
14a90 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 32  gn="right">22582
14aa0 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
14ab0 22 72 69 67 68 74 22 3e 31 38 33 35 36 30 3c 2f  "right">183560</
14ac0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14ad0 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e  ght">183286</td>
14ae0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14af0 22 3e 34 32 2e 33 30 39 35 36 34 3c 2f 74 64 3e  ">42.309564</td>
14b00 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14b10 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49 54 45  >VIA DELL'ANFITE
14b20 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ATRO</td>..</tr>
14b30 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
14b40 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14b50 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14b60 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
14b70 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
14b80 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14b90 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
14ba0 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
14bb0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
14bc0 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
14bd0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14be0 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64  ight">178754</td
14bf0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14c00 74 22 3e 33 37 38 2e 33 31 33 36 38 34 3c 2f 74  t">378.313684</t
14c10 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 37  d><td>BLOB sz=27
14c20 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  2 GEOMETRY</td><
14c30 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
14c40 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
14c50 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14c60 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14c70 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14c80 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14c90 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >5</td><td align
14ca0 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
14cb0 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
14cc0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
14cd0 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4414</td><td ali
14ce0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
14cf0 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
14d00 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
14d10 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14d20 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35 37 3c  ght">136.372057<
14d30 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14d40 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49  ><td>VIA MARGARI
14d50 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TONE</td>..</tr>
14d60 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
14d70 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14d80 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14d90 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
14da0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c  align="right">5<
14db0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14dc0 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
14dd0 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
14de0 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 37  gn="right">21917
14df0 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
14e00 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
14e10 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14e20 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e  ght">178732</td>
14e30 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14e40 22 3e 39 33 2e 32 38 35 35 33 38 3c 2f 74 64 3e  ">93.285538</td>
14e50 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14e60 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43  >VIA FRANCESCO C
14e70 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RISPI</td>..</tr
14e80 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
14e90 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14ea0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14eb0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14ec0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35   align="right">5
14ed0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14ee0 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
14ef0 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
14f00 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 30  ign="right">2190
14f10 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  58</td><td align
14f20 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c  ="right">178732<
14f30 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14f40 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64  ight">178754</td
14f50 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14f60 74 22 3e 31 34 38 2e 36 35 36 30 38 39 3c 2f 74  t">148.656089</t
14f70 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14f80 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
14f90 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
14fa0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
14fb0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14fc0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14fd0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14fe0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14ff0 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >5</td><td align
15000 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
15010 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
15020 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
15030 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
15040 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  54</td><td align
15050 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c  ="right">183882<
15060 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
15070 69 67 68 74 22 3e 31 38 38 2e 32 31 36 38 33 31  ight">188.216831
15080 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
15090 3d 34 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =400 GEOMETRY</t
150a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
150b0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
150c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
150d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
150e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
150f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15100 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">6</td><td al
15110 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
15120 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
15130 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15140 3e 32 32 34 35 33 38 3c 2f 74 64 3e 3c 74 64 20  >224538</td><td 
15150 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
15160 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
15170 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 37  gn="right">18197
15180 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
15190 22 72 69 67 68 74 22 3e 35 30 2e 39 30 30 36 36  "right">50.90066
151a0 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  3</td><td>NULL</
151b0 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e  td><td>VIA ANTON
151c0 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74  IO GUADAGNOLI</t
151d0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
151e0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
151f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
15200 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
15210 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  </td>..<td align
15220 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c  ="right">6</td><
15230 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15240 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >2</td><td>Link<
15250 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
15260 69 67 68 74 22 3e 32 32 34 35 33 37 3c 2f 74 64  ight">224537</td
15270 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15280 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e 3c 74  t">181972</td><t
15290 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
152a0 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61  182000</td><td a
152b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 36 2e  lign="right">86.
152c0 33 30 31 30 35 31 3c 2f 74 64 3e 3c 74 64 3e 4e  301051</td><td>N
152d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
152e0 44 45 4c 20 4e 49 4e 46 45 4f 3c 2f 74 64 3e 0d  DEL NINFEO</td>.
152f0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
15300 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
15310 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
15320 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
15330 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15340 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">6</td><td al
15350 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
15360 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
15370 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15380 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74 64 20  >225527</td><td 
15390 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
153a0 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2000</td><td ali
153b0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38  gn="right">18388
153c0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
153d0 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35 31 31  "right">51.01511
153e0 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
153f0 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43 49 4f  td><td>VIA LICIO
15400 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e 0d 0a   NENCETTI</td>..
15410 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
15420 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
15430 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
15440 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15450 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15460 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">6</td><td ali
15470 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
15480 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
15490 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e  td>NULL<td align
154a0 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38 32 3c  ="right">183882<
154b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
154c0 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
154d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
154e0 74 22 3e 31 35 34 2e 37 35 30 38 33 39 3c 2f 74  t">154.750839</t
154f0 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 34  d><td>BLOB sz=24
15500 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  0 GEOMETRY</td><
15510 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
15520 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
15530 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
15540 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
15550 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
15560 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
15570 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >7</td><td align
15580 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
15590 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
155a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
155b0 35 35 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  5527</td><td ali
155c0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38  gn="right">18388
155d0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
155e0 22 72 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f  "right">182000</
155f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15600 67 68 74 22 3e 35 31 2e 30 31 35 31 31 37 3c 2f  ght">51.015117</
15610 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
15620 3c 74 64 3e 56 49 41 20 4c 49 43 49 4f 20 4e 45  <td>VIA LICIO NE
15630 4e 43 45 54 54 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  NCETTI</td>..</t
15640 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
15650 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
15660 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15670 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
15680 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15690 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
156a0 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
156b0 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
156c0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32  lign="right">222
156d0 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  636</td><td alig
156e0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30  n="right">182000
156f0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
15700 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
15710 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
15720 68 74 22 3e 31 30 33 2e 37 33 35 37 32 32 3c 2f  ht">103.735722</
15730 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
15740 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20 41  <td>VIA PIETRO A
15750 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  RETINO</td>..</t
15760 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
15770 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20 71 75  r>..Let's now qu
15780 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68  ickly examine th
15790 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75  e resultset retu
157a0 72 6e 65 64 20 62 79 20 61 6e 79 20 54 53 50 20  rned by any TSP 
157b0 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  query:..<ul>..<l
157c0 69 3e 74 68 65 20 67 65 6e 65 72 61 6c 20 6c 61  i>the general la
157d0 79 6f 75 74 20 69 73 20 6d 6f 72 65 20 6f 72 20  yout is more or 
157e0 6c 65 73 73 20 74 68 65 20 73 61 6d 65 20 61 73  less the same as
157f0 20 79 6f 75 27 76 65 20 61 6c 72 65 61 64 79 20   you've already 
15800 73 65 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65  seen in the case
15810 20 6f 66 20 3c 62 3e 53 68 6f 72 74 65 73 74 50   of <b>ShortestP
15820 61 74 68 3c 2f 62 3e 20 71 75 65 72 69 65 73 2e  ath</b> queries.
15830 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  </li>..<li>the <
15840 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20  b>first row</b> 
15850 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  of the resultset
15860 20 69 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65   is someway exce
15870 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20  ptional, and is 
15880 74 68 65 20 75 6e 69 71 75 65 20 72 6f 77 20 6f  the unique row o
15890 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  f the resultset 
158a0 70 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f  presenting <b>NO
158b0 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65  T NULL</b> value
158c0 73 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f  s in the <b>Algo
158d0 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65  rithm</b>, <b>Re
158e0 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70  quest</b>, <b>Op
158f0 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62  tions</b> and <b
15900 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 63  >Delimiter</b> c
15910 6f 6c 75 6d 6e 73 2e 3c 62 72 3e 0d 0a 49 74 20  olumns.<br>..It 
15920 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 3c 62 3e  contains the <b>
15930 54 53 50 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e  TSP solution</b>
15940 20 61 73 20 61 20 77 68 6f 6c 65 3a 20 63 6f 6c   as a whole: col
15950 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 20  umn <b>Cost</b> 
15960 69 73 20 74 68 65 20 3c 75 3e 74 6f 74 61 6c 20  is the <u>total 
15970 63 6f 73 74 3c 2f 75 3e 20 61 6e 64 20 63 6f 6c  cost</u> and col
15980 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c  umn <b>Geometry<
15990 2f 62 3e 20 69 73 20 74 68 65 20 3c 75 3e 6f 76  /b> is the <u>ov
159a0 65 72 61 6c 6c 20 73 6f 6c 75 74 69 6f 6e 20 70  erall solution p
159b0 61 74 68 3c 2f 75 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  ath</u>.</li>..<
159c0 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c 62 3e 52 6f  li>columns <b>Ro
159d0 75 74 65 49 64 3c 2f 62 3e 20 61 6e 64 20 3c 62  uteId</b> and <b
159e0 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 68 61  >RouteRow</b> ha
159f0 76 65 20 74 68 65 20 73 61 6d 65 20 69 6e 74 65  ve the same inte
15a00 72 70 72 65 74 61 74 69 6f 6e 20 61 73 20 69 6e  rpretation as in
15a10 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e   <b>multi-destin
15a20 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 50 61  ation ShortestPa
15a30 74 68 3c 2f 62 3e 20 71 75 65 72 69 65 73 2c 20  th</b> queries, 
15a40 62 75 74 20 69 6e 20 74 68 69 73 20 73 70 65 63  but in this spec
15a50 69 66 69 63 20 63 61 73 65 20 65 61 63 68 20 3c  ific case each <
15a60 75 3e 3c 69 3e 72 6f 75 74 65 3c 2f 69 3e 3c 2f  u><i>route</i></
15a70 75 3e 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74  u> corresponds t
15a80 6f 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 62  o a connection b
15a90 65 74 77 65 65 6e 20 74 77 6f 20 3c 69 3e 3c 75  etween two <i><u
15aa0 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 2e  >cities</u></i>.
15ab0 3c 62 72 3e 0d 0a 41 6c 6c 20 3c 69 3e 3c 75 3e  <br>..All <i><u>
15ac0 72 6f 75 74 65 73 3c 2f 75 3e 3c 2f 69 3e 20 61  routes</u></i> a
15ad0 72 65 20 6f 72 64 65 72 20 61 63 63 6f 72 64 69  re order accordi
15ae0 6e 67 6c 79 20 74 6f 20 74 68 65 20 72 75 6e 6e  ngly to the runn
15af0 69 6e 67 20 73 65 71 75 65 6e 63 65 20 6f 66 20  ing sequence of 
15b00 74 68 65 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e  the TSP solution
15b10 2e 20 3c 62 3e 52 6f 75 74 65 49 64 3d 30 3c 2f  . <b>RouteId=0</
15b20 62 3e 20 69 64 65 6e 74 69 66 69 65 73 20 74 68  b> identifies th
15b30 65 20 6f 76 65 72 61 6c 6c 20 54 53 50 20 73 6f  e overall TSP so
15b40 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  lution.</li>..</
15b50 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65  ul><br><br>..<ve
15b60 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20  rbatim>..UPDATE 
15b70 62 79 66 6f 6f 74 20 53 45 54 20 52 65 71 75 65  byfoot SET Reque
15b80 73 74 20 3d 20 27 54 53 50 20 47 41 27 3b 0d 0a  st = 'TSP GA';..
15b90 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74  ..SELECT Algorit
15ba0 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74  hm, Request, Opt
15bb0 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c  ions, Delimiter,
15bc0 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52   RouteId, RouteR
15bd0 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
15be0 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
15bf0 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f  odeTo, Cost, Geo
15c00 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f  metry, Name..FRO
15c10 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
15c20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33  NodeFrom = 17873
15c30 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27  1 AND NodeTo = '
15c40 31 38 33 32 38 36 2c 31 38 31 39 39 39 2c 31 38  183286,181999,18
15c50 34 30 33 30 2c 31 38 33 38 38 32 2c 31 37 38 37  4030,183882,1787
15c60 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  54';..</verbatim
15c70 3e 0d 0a 49 66 20 79 6f 75 20 77 69 73 68 20 74  >..If you wish t
15c80 6f 20 67 65 74 20 61 20 3c 62 3e 54 53 50 20 47  o get a <b>TSP G
15c90 41 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e 20 79  A</b> solution y
15ca0 6f 75 20 73 69 6d 70 6c 65 20 68 61 76 65 20 74  ou simple have t
15cb0 6f 20 73 65 74 20 3c 62 3e 52 65 71 75 65 73 74  o set <b>Request
15cc0 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 53 50 20 47  </b> as <b>TSP G
15cd0 41 3c 2f 62 3e 3b 20 61 6e 64 20 79 6f 75 20 63  A</b>; and you c
15ce0 61 6e 20 73 65 74 20 61 67 61 69 6e 20 3c 62 3e  an set again <b>
15cf0 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c  Request</b> as <
15d00 62 3e 54 53 50 3c 2f 62 3e 20 6f 72 20 3c 62 3e  b>TSP</b> or <b>
15d10 54 53 50 20 4e 4e 3c 2f 62 3e 20 74 6f 20 72 65  TSP NN</b> to re
15d20 76 65 72 74 20 62 61 63 6b 20 74 6f 20 74 68 65  vert back to the
15d30 20 73 69 6d 70 6c 65 72 20 2f 20 66 61 73 74 65   simpler / faste
15d40 72 20 61 6c 67 6f 72 69 74 68 6d 2e 0d 0a 3c 62  r algorithm...<b
15d50 72 3e 0d 0a 41 6c 73 6f 20 69 6e 20 74 68 65 20  r>..Also in the 
15d60 63 61 73 65 20 6f 66 20 54 53 50 20 79 6f 75 20  case of TSP you 
15d70 63 61 6e 20 65 76 65 6e 74 75 61 6c 6c 79 20 61  can eventually a
15d80 63 74 69 76 61 74 65 20 74 68 65 20 75 73 75 61  ctivate the usua
15d90 6c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e  l <b>Options</b>
15da0 20 61 6c 72 65 61 64 79 20 65 78 70 6c 61 69 6e   already explain
15db0 65 64 20 69 6e 20 74 68 65 20 53 68 6f 72 74 65  ed in the Shorte
15dc0 73 74 50 61 74 68 20 65 78 61 6d 70 6c 65 73 2e  stPath examples.
15dd0 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
15de0 3e 3a 54 53 50 20 70 72 6f 62 6c 65 6d 73 20 77  >:TSP problems w
15df0 69 6c 6c 20 61 6c 77 61 79 73 20 69 6d 70 6c 79  ill always imply
15e00 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e 44 69   using the <b>Di
15e10 6a 6b 73 74 72 61 27 73 3c 2f 62 3e 20 61 6c 67  jkstra's</b> alg
15e20 6f 72 69 74 68 6d 2c 20 65 76 65 6e 20 77 68 65  orithm, even whe
15e30 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76  n the alternativ
15e40 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f  e <b>A*</b> algo
15e50 72 69 74 68 6d 20 69 73 20 63 75 72 72 65 6e 74  rithm is current
15e60 6c 79 20 73 65 6c 65 63 74 65 64 2e 0d 0a 3c 76  ly selected...<v
15e70 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45  erbatim>..UPDATE
15e80 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65 71 75   byfoot SET Requ
15e90 65 73 74 20 3d 20 27 54 53 50 27 2c 20 4f 70 74  est = 'TSP', Opt
15ea0 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49 4e 4b 53  ions = 'NO LINKS
15eb0 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67  ';....SELECT Alg
15ec0 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c  orithm, Request,
15ed0 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69   Options, Delimi
15ee0 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f  ter, RouteId, Ro
15ef0 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
15f00 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
15f10 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
15f20 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
15f30 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
15f40 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
15f50 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
15f60 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39 39   = '183286,18199
15f70 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c  9,184030,183882,
15f80 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62  178754';..</verb
15f90 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f  atim>..The follo
15fa0 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73  wing table shows
15fb0 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72   the resultset r
15fc0 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 73  eturned by the s
15fd0 61 6d 65 20 54 53 50 20 71 75 65 72 79 20 75 73  ame TSP query us
15fe0 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f  ed in the previo
15ff0 75 73 20 65 78 61 6d 70 6c 65 20 61 66 74 65 72  us example after
16000 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 3c 62   enabling the <b
16010 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 6f 70  >NO LINKS</b> op
16020 74 69 6f 6e 2e 20 3c 62 72 3e 3c 62 72 3e 0d 0a  tion. <br><br>..
16030 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
16040 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
16050 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
16060 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
16070 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
16080 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
16090 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74  Algorithm</th><t
160a0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
160b0 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e  a0">Request</th>
160c0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
160d0 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
160e0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
160f0 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65  d0d0a0">Delimite
16100 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  r</th><th bgcolo
16110 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
16120 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  eId</th><th bgco
16130 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
16140 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
16150 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
16160 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
16170 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
16180 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
16190 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
161a0 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
161b0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
161c0 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
161d0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
161e0 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
161f0 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
16200 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
16210 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
16220 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
16230 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
16240 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64  <td>Dijkstra</td
16250 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c 2f 74 64 3e  ><td>TSP NN</td>
16260 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f 74 64  <td>No Links</td
16270 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d  ><td>, &#91;dec=
16280 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c  44, hex=2c&#93;<
16290 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
162a0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
162b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
162c0 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f 6c 75  /td><td>TSP Solu
162d0 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  tion</td><td>NUL
162e0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
162f0 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
16300 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16310 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
16320 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16330 22 3e 31 32 35 34 2e 34 33 33 39 33 33 3c 2f 74  ">1254.433933</t
16340 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 30  d><td>BLOB sz=20
16350 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  00 GEOMETRY</td>
16360 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
16370 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
16380 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16390 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
163a0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61  td><td>NULL<td a
163b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
163c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
163d0 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
163e0 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
163f0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
16400 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
16410 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16420 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e  ght">184030</td>
16430 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16440 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64  ">176.364755</td
16450 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34  ><td>BLOB sz=304
16460 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
16470 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
16480 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
16490 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
164a0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
164b0 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69  ><td>NULL<td ali
164c0 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
164d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
164e0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
164f0 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
16500 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16510 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64  ight">184030</td
16520 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16530 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
16540 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16550 31 33 39 2e 31 31 34 39 33 38 3c 2f 74 64 3e 3c  139.114938</td><
16560 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 39 36 20 47  td>BLOB sz=496 G
16570 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
16580 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
16590 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
165a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
165b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
165c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
165d0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
165e0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
165f0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e  ight">0</td><td>
16600 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55  Route</td><td>NU
16610 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
16620 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
16630 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16640 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64  ight">183286</td
16650 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16660 74 22 3e 32 31 37 2e 36 37 32 38 38 35 3c 2f 74  t">217.672885</t
16670 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38  d><td>BLOB sz=68
16680 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c  8 GEOMETRY</td><
16690 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f  td>NULL</td>..</
166a0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
166b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
166c0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
166d0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
166e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
166f0 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >4</td><td align
16700 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
16710 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
16720 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
16730 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
16740 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
16750 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c  ="right">178754<
16760 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
16770 69 67 68 74 22 3e 33 37 38 2e 33 31 33 36 38 34  ight">378.313684
16780 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
16790 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =272 GEOMETRY</t
167a0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
167b0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
167c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
167d0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
167e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
167f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
16800 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">5</td><td al
16810 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
16820 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
16830 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
16840 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
16850 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  78754</td><td al
16860 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38  ign="right">1838
16870 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  82</td><td align
16880 3d 22 72 69 67 68 74 22 3e 31 38 38 2e 32 31 36  ="right">188.216
16890 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42  831</td><td>BLOB
168a0 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 54 52 59   sz=400 GEOMETRY
168b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
168c0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
168d0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
168e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
168f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16900 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16910 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64  right">6</td><td
16920 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
16930 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f  </td><td>Route</
16940 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
16950 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
16960 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64  ">183882</td><td
16970 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
16980 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
16990 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 34 2e  ign="right">154.
169a0 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64 3e 42  750839</td><td>B
169b0 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f 4d 45  LOB sz=240 GEOME
169c0 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  TRY</td><td>NULL
169d0 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f  </td>..</tr>..</
169e0 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  table>..<br><br>
169f0 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20 62 65  <br>..The map be
16a00 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c 79 20  low graphically 
16a10 73 68 6f 77 73 20 74 68 65 20 70 72 65 76 69 6f  shows the previo
16a20 75 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 71 75  us <b>TSP</b> qu
16a30 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  eries...<br><br>
16a40 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70  ..<img src="http
16a50 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73  s://www.gaia-gis
16a60 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f  .it/gaia-sins/ro
16a70 75 74 69 6e 67 2d 66 69 67 73 2f 74 73 70 31 2e  uting-figs/tsp1.
16a80 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 34 22 3e  jpg" alt="fig4">
16a90 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65 64 20  ..<ul>..<li>Red 
16aa0 73 74 61 72 3a 20 74 68 65 20 3c 75 3e 3c 69 3e  star: the <u><i>
16ab0 62 61 73 65 2d 63 69 74 79 3c 2f 69 3e 3c 2f 75  base-city</i></u
16ac0 3e 20 28 66 72 6f 6d 20 77 68 65 72 65 20 74 68  > (from where th
16ad0 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e  e <u><i>salesman
16ae0 3c 2f 69 3e 3c 2f 75 3e 29 20 62 65 67 69 6e 73  </i></u>) begins
16af0 20 68 69 73 2f 68 65 72 20 74 72 69 70 2e 3c 2f   his/her trip.</
16b00 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65 65 6e 20 64  li>..<li>Green d
16b10 6f 74 73 3a 20 74 68 65 20 3c 75 3e 3c 69 3e 63  ots: the <u><i>c
16b20 69 74 69 65 73 3c 2f 69 3e 3c 2f 75 3e 20 74 6f  ities</i></u> to
16b30 20 62 65 20 76 69 73 69 74 65 64 2e 3c 2f 6c 69   be visited.</li
16b40 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20 6c 69  >..<li>Yellow li
16b50 6e 65 3a 20 74 68 65 20 54 53 50 20 73 6f 6c 75  ne: the TSP solu
16b60 74 69 6f 6e 20 28 74 68 61 74 20 69 73 20 61 6c  tion (that is al
16b70 77 61 79 73 20 61 20 63 69 72 63 75 6c 61 72 20  ways a circular 
16b80 70 61 74 68 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  path).</li>..</u
16b90 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  l><br>..<table b
16ba0 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22  gcolor="#ffb060"
16bb0 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30   cellspacing="10
16bc0 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
16bd0 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e  "><tr><td>..<h3>
16be0 57 61 72 6e 69 6e 67 3a 20 68 6f 77 20 74 6f 20  Warning: how to 
16bf0 63 6f 72 72 65 63 74 6c 79 20 68 61 6e 64 6c 69  correctly handli
16c00 6e 67 20 54 53 50 20 72 65 73 75 6c 74 73 65 74  ng TSP resultset
16c10 73 20 77 69 74 68 20 73 70 61 74 69 61 6c 69 74  s with spatialit
16c20 65 5f 67 75 69 3c 2f 68 33 3e 0d 0a 59 6f 75 20  e_gui</h3>..You 
16c30 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 66 6f 72  should never for
16c40 67 65 74 20 6f 72 20 6f 76 65 72 6c 6f 6f 6b 20  get or overlook 
16c50 74 68 61 74 20 62 6f 74 68 20 3c 62 3e 54 53 50  that both <b>TSP
16c60 20 4e 4e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54   NN</b> and <b>T
16c70 53 50 20 47 41 3c 2f 62 3e 20 61 72 65 20 3c 75  SP GA</b> are <u
16c80 3e 3c 69 3e 68 65 75 72 69 73 74 69 63 20 61 6c  ><i>heuristic al
16c90 67 6f 72 69 74 68 6d 73 3c 2f 69 3e 3c 2f 75 3e  gorithms</i></u>
16ca0 20 68 65 61 76 69 6c 79 20 72 65 6c 79 69 6e 67   heavily relying
16cb0 20 6f 6e 20 3c 75 3e 3c 69 3e 72 61 6e 64 6f 6d   on <u><i>random
16cc0 3c 69 3e 3c 2f 75 3e 20 63 68 6f 69 63 65 73 2e  <i></u> choices.
16cd0 3c 62 72 3e 0d 0a 54 68 69 73 20 63 6f 75 6c 64  <br>..This could
16ce0 20 65 61 73 69 6c 79 20 68 61 76 65 20 74 68 65   easily have the
16cf0 20 70 72 61 63 74 69 63 61 6c 20 63 6f 6e 73 65   practical conse
16d00 71 75 65 6e 63 65 20 74 68 61 74 20 72 65 73 6f  quence that reso
16d10 6c 76 69 6e 67 20 74 77 69 63 65 20 28 6f 72 20  lving twice (or 
16d20 65 76 65 6e 20 6d 6f 72 65 20 74 69 6d 65 73 29  even more times)
16d30 20 74 68 65 20 73 61 6d 65 20 69 64 65 6e 74 69   the same identi
16d40 63 61 6c 20 54 53 50 20 71 75 65 72 79 20 63 6f  cal TSP query co
16d50 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79 20 72  uld eventually r
16d60 65 74 75 72 6e 20 64 69 66 66 65 72 65 6e 74 20  eturn different 
16d70 72 65 73 75 6c 74 73 65 74 73 2e 3c 62 72 3e 0d  resultsets.<br>.
16d80 0a 54 68 65 72 65 20 69 73 20 6e 6f 74 68 69 6e  .There is nothin
16d90 67 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79 20  g intrinsically 
16da0 77 72 6f 6e 67 20 69 6e 20 74 68 69 73 2c 20 69  wrong in this, i
16db0 74 20 73 69 6d 70 6c 79 20 69 73 20 61 20 64 69  t simply is a di
16dc0 72 65 63 74 20 63 6f 6e 73 65 71 75 65 6e 63 65  rect consequence
16dd0 20 6f 66 20 75 73 69 6e 67 20 3c 75 3e 3c 69 3e   of using <u><i>
16de0 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f 69 3e 3c 2f  randomness</i></
16df0 75 3e 3b 20 77 65 20 61 72 65 20 73 69 6d 70 6c  u>; we are simpl
16e00 79 20 62 61 72 67 61 69 6e 69 6e 67 20 3c 62 3e  y bargaining <b>
16e10 65 78 61 63 74 6e 65 73 73 3c 2f 62 3e 20 61 6e  exactness</b> an
16e20 64 20 3c 62 3e 72 65 70 72 6f 64 75 63 69 62 69  d <b>reproducibi
16e30 6c 69 74 79 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e  lity</b> for <b>
16e40 71 75 69 63 6b 6e 65 73 73 3c 2f 62 3e 2e 3c 62  quickness</b>.<b
16e50 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 73 70 61 74 69  r><br>..<b>spati
16e60 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 6f 6e  alite_gui</b> on
16e70 20 69 74 73 20 6f 77 6e 20 61 64 6f 70 74 73 20   its own adopts 
16e80 61 20 3c 62 3e 70 61 67 65 64 20 73 74 72 61 74  a <b>paged strat
16e90 65 67 79 3c 2f 62 3e 20 77 68 65 6e 20 73 68 6f  egy</b> when sho
16ea0 77 69 6e 67 20 68 75 67 65 20 72 65 73 75 6c 74  wing huge result
16eb0 73 65 74 73 3b 20 74 68 69 73 20 72 65 71 75 69  sets; this requi
16ec0 72 65 73 20 72 65 70 65 61 74 69 6e 67 20 61 67  res repeating ag
16ed0 61 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 20  ain the initial 
16ee0 53 51 4c 20 71 75 65 72 79 20 65 61 63 68 20 74  SQL query each t
16ef0 69 6d 65 20 74 68 61 74 20 61 20 3c 62 3e 6e 65  ime that a <b>ne
16f00 77 20 70 61 67 65 20 6f 66 20 35 30 30 20 72 6f  w page of 500 ro
16f10 77 73 3c 2f 62 3e 20 68 61 73 20 74 6f 20 62 65  ws</b> has to be
16f20 20 73 68 6f 77 6e 20 6f 6e 20 74 68 65 20 63 75   shown on the cu
16f30 72 72 65 6e 74 20 77 69 6e 64 6f 77 20 70 61 6e  rrent window pan
16f40 65 6c 2e 3c 62 72 3e 0d 0a 54 68 65 20 74 77 6f  el.<br>..The two
16f50 20 74 68 69 6e 67 73 20 64 6f 6e 27 74 20 67 6f   things don't go
16f60 20 74 6f 67 65 74 68 65 72 20 77 65 6c 6c 3b 20   together well; 
16f70 73 6f 20 64 6f 6e 27 74 20 62 65 20 73 75 72 70  so don't be surp
16f80 72 69 73 65 64 20 77 68 65 6e 20 65 76 65 6e 74  rised when event
16f90 75 61 6c 6c 79 20 64 69 73 63 6f 76 65 72 69 6e  ually discoverin
16fa0 67 20 74 68 61 74 20 3c 62 3e 73 70 61 74 69 61  g that <b>spatia
16fb0 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 77 69 6c  lite_gui</b> wil
16fc0 6c 20 62 65 68 61 76 65 20 62 69 7a 61 72 72 65  l behave bizarre
16fd0 6c 79 20 77 68 69 6c 65 20 70 72 65 73 65 6e 74  ly while present
16fe0 69 6e 67 20 73 6f 6d 65 20 72 65 73 75 6c 74 73  ing some results
16ff0 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 61  et returned by a
17000 20 54 53 50 20 71 75 65 72 79 2e 20 0d 0a 3c 76   TSP query. ..<v
17010 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45  erbatim>..UPDATE
17020 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65 71 75   byfoot SET Requ
17030 65 73 74 20 3d 20 27 54 53 50 27 3b 0d 0a 0d 0a  est = 'TSP';....
17040 43 52 45 41 54 45 20 54 41 42 4c 45 20 6d 79 5f  CREATE TABLE my_
17050 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 41 53 0d  tsp_solution AS.
17060 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69 74 68  .SELECT Algorith
17070 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70 74 69  m, Request, Opti
17080 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20  ons, Delimiter, 
17090 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52 6f  RouteId, RouteRo
170a0 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77  w, Role, LinkRow
170b0 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f  id, NodeFrom, No
170c0 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d  deTo, Cost, Geom
170d0 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d  etry, Name..FROM
170e0 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e   byfoot..WHERE N
170f0 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31  odeFrom = 178731
17100 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31   AND NodeTo = '1
17110 38 33 32 38 36 2c 31 38 31 39 39 39 2c 31 38 34  83286,181999,184
17120 30 33 30 2c 31 38 33 38 38 32 2c 31 37 38 37 35  030,183882,17875
17130 34 27 3b 0d 0a 0d 0a 2e 2e 2e 20 20 3c 6e 6f 77  4';.......  <now
17140 20 71 75 65 72 79 20 22 6d 79 5f 74 73 70 5f 73   query "my_tsp_s
17150 6f 6c 75 74 69 6f 6e 22 20 75 73 69 6e 67 20 73  olution" using s
17160 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3e 20 20  patialite_gui>  
17170 2e 2e 2e 0d 0a 0d 0a 44 52 4f 50 20 54 41 42 4c  .......DROP TABL
17180 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f  E my_tsp_solutio
17190 6e 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  n;..</verbatim>.
171a0 0a 3c 75 3e 48 69 6e 74 3c 2f 75 3e 3a 20 72 65  .<u>Hint</u>: re
171b0 73 6f 6c 76 69 6e 67 20 74 68 69 73 20 70 75 7a  solving this puz
171c0 7a 6c 69 6e 67 20 69 73 73 75 65 20 69 73 20 68  zling issue is h
171d0 6f 77 65 76 65 72 20 62 61 73 69 63 61 6c 6c 79  owever basically
171e0 20 73 69 6d 70 6c 65 3a 0d 0a 3c 6f 6c 3e 0d 0a   simple:..<ol>..
171f0 3c 6c 69 3e 79 6f 75 20 73 69 6d 70 6c 79 20 68  <li>you simply h
17200 61 76 65 20 74 6f 20 74 61 6b 65 20 61 20 3c 62  ave to take a <b
17210 3e 73 74 61 74 69 63 20 73 6e 61 70 73 68 6f 74  >static snapshot
17220 3c 2f 62 3e 20 6f 66 20 79 6f 75 72 20 54 53 50  </b> of your TSP
17230 20 72 65 73 75 6c 74 73 65 74 20 62 79 20 75 73   resultset by us
17240 69 6e 67 20 74 68 65 20 3c 62 3e 43 52 45 41 54  ing the <b>CREAT
17250 45 20 54 41 42 4c 45 20 3c 69 3e 6e 61 6d 65 3c  E TABLE <i>name<
17260 2f 69 3e 20 41 53 20 3c 69 3e 54 53 50 20 71 75  /i> AS <i>TSP qu
17270 65 72 79 3c 69 3e 3c 2f 62 3e 2e 3c 2f 6c 69 3e  ery<i></b>.</li>
17280 0d 0a 3c 6c 69 3e 74 68 65 6e 20 79 6f 75 20 63  ..<li>then you c
17290 61 6e 20 66 72 65 65 6c 79 20 65 78 61 6d 69 6e  an freely examin
172a0 65 20 74 68 65 20 61 62 6f 76 65 20 73 6e 61 70  e the above snap
172b0 73 68 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  shot.</li>..<li>
172c0 61 6e 64 20 66 69 6e 61 6c 6c 79 20 79 6f 75 20  and finally you 
172d0 63 61 6e 20 64 75 6c 79 20 3c 62 3e 44 52 4f 50  can duly <b>DROP
172e0 3c 2f 62 3e 20 74 68 65 20 73 6e 61 70 73 68 6f  </b> the snapsho
172f0 74 20 6f 6e 63 65 20 69 74 27 73 20 6e 6f 20 6c  t once it's no l
17300 6f 6e 67 65 72 20 75 73 65 66 75 6c 2e 3c 2f 6c  onger useful.</l
17310 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e  i>..</ol>..</td>
17320 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d  </tr>..</table>.
17330 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67  .<br>..<table bg
17340 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20  color="#c0ffc0" 
17350 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22  cellspacing="10"
17360 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
17370 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 4d  ><tr><td>..<h3>M
17380 6f 72 65 20 61 62 6f 75 74 20 4c 69 6e 65 61 72  ore about Linear
17390 20 52 65 66 65 72 65 6e 63 69 6e 67 20 61 6e 64   Referencing and
173a0 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
173b0 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 68 33 3e  Linestrings</h3>
173c0 20 0d 0a 59 6f 75 20 68 61 76 65 20 61 6c 72 65   ..You have alre
173d0 61 64 79 20 73 65 65 6e 20 69 6e 20 61 20 70 72  ady seen in a pr
173e0 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 74  evious example t
173f0 68 61 74 20 61 6c 6c 20 4c 49 4e 45 53 54 52 49  hat all LINESTRI
17400 4e 47 73 20 63 72 65 61 74 65 64 20 62 79 20 56  NGs created by V
17410 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 73 75  irtualRouting su
17420 70 70 6f 72 74 20 74 68 65 20 3c 62 3e 4d 3c 2f  pport the <b>M</
17430 62 3e 20 28 3c 62 3e 3c 69 3e 6d 65 61 73 75 72  b> (<b><i>measur
17440 65 3c 2f 69 3e 3c 2f 62 3e 29 20 63 6f 6f 72 64  e</i></b>) coord
17450 69 6e 61 74 65 20 69 6e 74 65 6e 64 65 64 20 61  inate intended a
17460 73 20 61 20 3c 62 3e 70 72 6f 67 72 65 73 73 69  s a <b>progressi
17470 76 65 20 63 6f 73 74 3c 2f 62 3e 20 66 6f 72 20  ve cost</b> for 
17480 65 61 63 68 20 76 65 72 74 65 78 2e 20 41 6e 64  each vertex. And
17490 20 79 6f 75 20 61 6c 72 65 61 64 79 20 6b 6e 6f   you already kno
174a0 77 20 74 68 65 20 74 68 65 79 20 63 61 6e 20 73  w the they can s
174b0 75 70 70 6f 72 74 20 3c 62 3e 3c 69 3e 6c 69 6e  upport <b><i>lin
174c0 65 61 72 20 72 65 66 65 72 65 6e 63 69 6e 67 3c  ear referencing<
174d0 2f 69 3e 3c 2f 62 3e 20 28 3c 62 3e 4c 52 3c 2f  /i></b> (<b>LR</
174e0 62 3e 29 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  b>) SQL function
174f0 73 2e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f  s.<br>..Let's no
17500 77 20 67 6f 20 69 6e 20 66 75 72 74 68 65 72 20  w go in further 
17510 64 65 70 74 68 2e 0d 0a 3c 68 33 3e 54 72 61 6a  depth...<h3>Traj
17520 65 63 74 6f 72 79 20 6f 62 6a 65 63 74 73 3c 2f  ectory objects</
17530 68 33 3e 0d 0a 41 20 3c 62 3e 54 72 61 6a 65 63  h3>..A <b>Trajec
17540 74 6f 72 79 3c 2f 62 3e 20 69 73 20 61 6e 79 20  tory</b> is any 
17550 4c 69 6e 65 73 74 72 69 6e 67 20 73 75 70 70 6f  Linestring suppo
17560 72 74 69 6e 67 20 3c 62 3e 4d 20 63 6f 6f 72 64  rting <b>M coord
17570 69 6e 61 74 65 73 3c 2f 62 3e 20 77 69 74 68 20  inates</b> with 
17580 61 20 63 6f 6e 74 69 6e 75 6f 75 73 6c 79 20 69  a continuously i
17590 6e 63 72 65 61 73 69 6e 67 20 74 72 65 6e 64 2e  ncreasing trend.
175a0 3c 62 72 3e 0d 0a 49 6e 20 73 69 6d 70 6c 65 72  <br>..In simpler
175b0 20 77 6f 72 64 73 2c 20 74 68 65 20 3c 62 3e 4d   words, the <b>M
175c0 2d 76 61 6c 75 65 3c 2f 62 3e 20 6f 66 20 65 61  -value</b> of ea
175d0 63 68 20 76 65 72 74 65 78 20 28 65 78 63 65 70  ch vertex (excep
175e0 74 20 74 68 65 20 6c 61 73 74 20 6f 6e 65 29 20  t the last one) 
175f0 6d 75 73 74 20 62 65 20 3c 62 3e 6c 65 73 73 65  must be <b>lesse
17600 72 3c 2f 62 3e 20 74 68 61 6e 20 74 68 65 20 4d  r</b> than the M
17610 2d 56 61 6c 75 65 20 6f 66 20 74 68 65 20 6e 65  -Value of the ne
17620 78 74 20 76 65 72 74 65 78 2e 0d 0a 3c 76 65 72  xt vertex...<ver
17630 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a  batim>..SELECT *
17640 20 46 52 4f 4d 20 6d 79 5f 74 73 70 5f 73 6f 6c   FROM my_tsp_sol
17650 75 74 69 6f 6e 20 57 48 45 52 45 20 53 54 5f 49  ution WHERE ST_I
17660 73 56 61 6c 69 64 54 72 61 6a 65 63 74 6f 72 79  sValidTrajectory
17670 28 67 65 6f 6d 65 74 72 79 29 20 3d 20 31 3b 0d  (geometry) = 1;.
17680 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
17690 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61  ----..1..</verba
176a0 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e  tim>..As you can
176b0 20 65 61 73 69 6c 79 20 63 68 65 63 6b 20 62 79   easily check by
176c0 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53 54 5f 49   calling <b>ST_I
176d0 73 56 61 6c 69 64 54 72 61 6a 65 63 74 6f 72 79  sValidTrajectory
176e0 28 29 3c 2f 62 3e 20 65 76 65 72 79 20 4c 69 6e  ()</b> every Lin
176f0 65 73 74 72 69 6e 67 20 63 72 65 61 74 65 64 20  estring created 
17700 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  by VirtualRoutin
17710 67 20 69 73 20 61 20 3c 62 3e 76 61 6c 69 64 20  g is a <b>valid 
17720 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62 3e 2e 0d  Trajectory</b>..
17730 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
17740 45 43 54 20 53 54 5f 54 72 61 6a 65 63 74 6f 72  ECT ST_Trajector
17750 79 49 6e 74 65 72 70 6f 6c 61 74 65 50 6f 69 6e  yInterpolatePoin
17760 74 28 47 65 6f 6d 65 74 72 79 2c 20 31 30 30 2e  t(Geometry, 100.
17770 30 29 0d 0a 46 52 4f 4d 20 6d 79 5f 74 73 70 5f  0)..FROM my_tsp_
17780 73 6f 6c 75 74 69 6f 6e 0d 0a 57 48 45 52 45 20  solution..WHERE 
17790 52 6f 75 74 65 49 64 20 3d 20 30 3b 0d 0a 3c 2f  RouteId = 0;..</
177a0 76 65 72 62 61 74 69 6d 3e 0d 0a 53 6f 20 79 6f  verbatim>..So yo
177b0 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 63  u just have to c
177c0 61 6c 6c 20 3c 62 3e 53 54 5f 54 72 61 6a 65 63  all <b>ST_Trajec
177d0 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61 74 65 50  toryInterpolateP
177e0 6f 69 6e 74 28 29 3c 2f 62 3e 20 69 6e 20 6f 72  oint()</b> in or
177f0 64 65 72 20 74 6f 20 63 72 65 61 74 65 20 61 20  der to create a 
17800 50 4f 49 4e 54 20 70 72 65 63 69 73 65 6c 79 20  POINT precisely 
17810 6c 6f 63 61 74 65 64 20 6f 6e 20 74 68 65 20 4c  located on the L
17820 69 6e 65 73 74 72 69 6e 67 20 61 74 20 74 68 65  inestring at the
17830 20 67 69 76 65 6e 20 3c 62 3e 63 6f 73 74 3c 2f   given <b>cost</
17840 62 3e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 68 72  b>...<br><br><hr
17850 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 73  ><br><br>..The s
17860 69 64 65 20 6d 61 70 20 67 72 61 70 68 69 63 61  ide map graphica
17870 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20 65 73  lly shows the es
17880 74 69 6d 61 74 65 64 20 70 6f 73 69 74 69 6f 6e  timated position
17890 73 20 65 76 65 72 79 20 31 30 30 6d 20 61 73 73  s every 100m ass
178a0 75 6d 69 6e 67 20 74 68 65 20 73 61 6d 65 20 70  uming the same p
178b0 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 79 20  ath returned by 
178c0 74 68 65 20 6c 61 74 65 73 74 20 54 53 50 20 71  the latest TSP q
178d0 75 65 72 79 2e 0d 0a 3c 2f 74 64 3e 3c 74 64 3e  uery...</td><td>
178e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
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 0d 0a 3c 69 6d 67 20 73 72         ..<img sr
20030 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  c="https://www.g
20040 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
20050 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67  sins/routing-fig
20060 73 2f 74 73 70 32 2e 6a 70 67 22 20 61 6c 74 3d  s/tsp2.jpg" alt=
20070 22 66 69 67 35 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f  "fig5">..</td></
20080 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  tr></table>..<br
20090 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d  ><br>..<hr><br>.
200a0 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22 70 32  .<h1><a name="p2
200b0 70 22 3e 38 20 2d 20 53 6f 6c 76 69 6e 67 20 50  p">8 - Solving P
200c0 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 70 72  oint-to-Point pr
200d0 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d  oblems</a></h1>.
200e0 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50  .A <b>Point-to-P
200f0 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79 20 69  oint</b> query i
20100 73 20 76 65 72 79 20 73 69 6d 69 6c 61 72 20 74  s very similar t
20110 6f 20 61 20 6d 6f 73 74 20 75 73 75 61 6c 20 3c  o a most usual <
20120 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61  b>single-destina
20130 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20 50 61  tion Shortest Pa
20140 74 68 3c 2f 62 3e 20 71 75 65 72 79 2c 20 65 78  th</b> query, ex
20150 63 65 70 74 20 74 68 61 74 3a 0d 0a 3c 75 6c 3e  cept that:..<ul>
20160 0d 0a 3c 6c 69 3e 41 20 63 6c 61 73 73 69 63 20  ..<li>A classic 
20170 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
20180 65 72 79 20 72 65 71 75 69 72 65 73 20 74 6f 20  ery requires to 
20190 73 70 65 63 69 66 79 20 61 20 3c 62 3e 4e 6f 64  specify a <b>Nod
201a0 65 46 72 6f 6d 3c 2f 62 3e 20 28 3c 75 3e 3c 69  eFrom</b> (<u><i
201b0 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 29  >origin</i></u>)
201c0 20 61 6e 64 20 61 20 3c 62 3e 4e 6f 64 65 54 6f   and a <b>NodeTo
201d0 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 64 65 73 74  </b> (<u><i>dest
201e0 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 29  ination</i></u>)
201f0 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 50 6f  .</li>..<li>A Po
20200 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65  int-to-Point que
20210 72 79 20 68 61 73 20 6d 6f 72 65 20 72 65 6c 61  ry has more rela
20220 78 65 64 20 72 65 71 75 69 73 69 74 65 73 2c 20  xed requisites, 
20230 61 6e 64 20 6a 75 73 74 20 72 65 71 75 69 72 65  and just require
20240 73 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 3c  s to specify a <
20250 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20  b>PointFrom</b> 
20260 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69  (<u><i>origin</i
20270 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 20 3c 62 3e  ></u>) and a <b>
20280 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 28 3c 75 3e  PointTo</b> (<u>
20290 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f  <i>destination</
202a0 69 3e 3c 2f 75 3e 29 2e 3c 62 72 3e 0d 0a 42 6f  i></u>).<br>..Bo
202b0 74 68 20 3c 62 3e 50 6f 69 6e 74 73 3c 2f 62 3e  th <b>Points</b>
202c0 20 63 61 6e 20 62 65 20 66 72 65 65 6c 79 20 70   can be freely p
202d0 6f 73 69 74 69 6f 6e 65 64 20 65 76 65 72 79 77  ositioned everyw
202e0 68 65 72 65 20 6f 6e 20 61 20 6d 61 70 2c 20 61  here on a map, a
202f0 6e 64 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69  nd are not requi
20300 72 65 64 20 74 6f 20 70 72 65 63 69 73 65 6c 79  red to precisely
20310 20 69 6e 74 65 72 73 65 63 74 20 6e 65 69 74 68   intersect neith
20320 65 72 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f 62 3e  er a <b>Node</b>
20330 20 6e 6f 72 20 61 20 3c 62 3e 4c 69 6e 6b 3c 2f   nor a <b>Link</
20340 62 3e 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c  b> of the underl
20350 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62  aying Network.<b
20360 72 3e 0d 0a 54 68 65 20 50 6f 69 6e 74 2d 74 6f  r>..The Point-to
20370 2d 50 6f 69 6e 74 27 73 20 3c 75 3e 3c 69 3e 69  -Point's <u><i>i
20380 6e 74 65 72 6e 61 6c 20 6c 6f 67 69 63 3c 2f 69  nternal logic</i
20390 3e 3c 2f 75 3e 20 77 69 6c 6c 20 74 68 65 6e 20  ></u> will then 
203a0 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 64  automatically id
203b0 65 6e 74 69 66 79 20 28 69 66 20 70 6f 73 73 69  entify (if possi
203c0 62 6c 65 29 20 74 68 65 20 61 70 70 72 6f 70 72  ble) the appropr
203d0 69 61 74 65 20 4e 6f 64 65 73 20 66 6f 72 20 63  iate Nodes for c
203e0 6f 6d 70 75 74 69 6e 67 20 61 20 53 68 6f 72 74  omputing a Short
203f0 65 73 74 20 50 61 74 68 20 73 6f 6c 75 74 69 6f  est Path solutio
20400 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  n.<br>..<u>Note<
20410 2f 75 3e 3a 20 74 68 65 20 74 77 6f 20 50 6f 69  /u>: the two Poi
20420 6e 74 73 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20  nts <b>must</b> 
20430 62 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 3c  be in the same <
20440 62 3e 53 52 49 44 3c 2f 62 3e 20 6f 66 20 74 68  b>SRID</b> of th
20450 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65  e underlaying Ne
20460 74 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  twork.</li>..</u
20470 6c 3e 0d 0a 3c 68 33 3e 48 6f 77 20 69 74 20 70  l>..<h3>How it p
20480 72 61 63 74 69 63 61 6c 6c 79 20 77 6f 72 6b 73  ractically works
20490 3c 2f 68 33 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69  </h3>..<ol>..<li
204a0 3e 61 20 66 69 72 73 74 20 3c 75 3e 3c 69 3e 73  >a first <u><i>s
204b0 70 61 74 69 61 6c 20 73 65 61 72 63 68 3c 2f 69  patial search</i
204c0 3e 3c 2f 75 3e 20 62 61 73 65 64 20 6f 6e 20 74  ></u> based on t
204d0 68 65 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c  he <b>PointFrom<
204e0 2f 62 3e 20 77 69 6c 6c 20 61 74 74 65 6d 70 74  /b> will attempt
204f0 20 74 6f 20 69 64 65 6e 74 69 66 79 20 61 6c 6c   to identify all
20500 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 66 61   <b>Links</b> fa
20510 6c 6c 69 6e 67 20 77 69 74 68 69 6e 20 61 20 67  lling within a g
20520 69 76 65 6e 20 3c 62 3e 74 6f 6c 65 72 61 6e 63  iven <b>toleranc
20530 65 20 72 61 64 69 75 73 3c 2f 62 3e 20 66 72 6f  e radius</b> fro
20540 6d 20 74 68 65 20 50 6f 69 6e 74 2e 3c 2f 6c 69  m the Point.</li
20550 3e 0d 0a 3c 6c 69 3e 61 20 73 65 63 6f 6e 64 20  >..<li>a second 
20560 73 69 6d 69 6c 61 72 20 73 70 61 74 69 61 6c 20  similar spatial 
20570 73 65 61 72 63 68 20 77 69 6c 6c 20 61 74 74 65  search will atte
20580 6d 70 74 20 74 6f 20 69 64 65 6e 74 69 66 79 20  mpt to identify 
20590 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e  all <b>Links</b>
205a0 20 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20   related to the 
205b0 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c  <b>PointTo</b>.<
205c0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 3c 62  /li>..<li>all <b
205d0 3e 4e 6f 64 65 73 3c 2f 62 3e 20 62 65 6c 6f 6e  >Nodes</b> belon
205e0 67 69 6e 67 20 74 6f 20 61 6e 79 20 3c 62 3e 4c  ging to any <b>L
205f0 69 6e 6b 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69  ink</b> identifi
20600 65 64 20 62 79 20 74 68 65 20 66 69 72 73 74 20  ed by the first 
20610 73 70 61 74 69 61 6c 20 73 65 61 72 63 68 20 77  spatial search w
20620 69 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65 72 65  ill be considere
20630 64 20 61 73 20 70 6f 73 73 69 62 6c 65 20 3c 62  d as possible <b
20640 3e 4e 6f 64 65 46 72 6f 6d 20 63 61 6e 64 69 64  >NodeFrom candid
20650 61 74 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a  ates</b>.</li>..
20660 3c 6c 69 3e 61 6e 64 20 73 79 6d 6d 65 74 72 69  <li>and symmetri
20670 63 61 6c 6c 79 2c 20 61 6c 6c 20 3c 62 3e 4e 6f  cally, all <b>No
20680 64 65 73 3c 2f 62 3e 20 62 65 6c 6f 6e 67 69 6e  des</b> belongin
20690 67 20 74 6f 20 61 6e 79 20 3c 62 3e 4c 69 6e 6b  g to any <b>Link
206a0 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 64 20  </b> identified 
206b0 62 79 20 74 68 65 20 73 65 63 6f 6e 64 20 73 70  by the second sp
206c0 61 74 69 61 6c 20 73 65 61 72 63 68 20 77 69 6c  atial search wil
206d0 6c 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20  l be considered 
206e0 61 73 20 70 6f 73 73 69 62 6c 65 20 3c 62 3e 4e  as possible <b>N
206f0 6f 64 65 54 6f 20 63 61 6e 64 69 64 61 74 65 73  odeTo candidates
20700 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </b>.</li>..<li>
20710 61 20 66 75 6c 6c 20 70 65 72 6d 75 74 61 74 69  a full permutati
20720 6f 6e 20 6f 66 20 61 6c 6c 20 53 68 6f 72 74 65  on of all Shorte
20730 73 74 20 50 61 74 68 20 73 6f 6c 75 74 69 6f 6e  st Path solution
20740 73 20 63 6f 6e 6e 65 63 74 69 6e 67 20 6f 6e 65  s connecting one
20750 20 74 68 65 20 46 72 6f 6d 20 63 61 6e 64 69 64   the From candid
20760 61 74 65 73 20 74 6f 20 6f 6e 65 20 6f 66 20 74  ates to one of t
20770 68 65 20 54 6f 20 63 61 6e 64 69 64 61 74 65 73  he To candidates
20780 20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20 63 6f   will be then co
20790 6d 70 75 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  mputed.</li>..<l
207a0 69 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20 74 68  i>and finally th
207b0 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 20 50 6f 69  e <b>optimal Poi
207c0 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f 6c 75  nt-to-Point solu
207d0 74 69 6f 6e 3c 2f 62 3e 20 77 69 6c 6c 20 62 65  tion</b> will be
207e0 20 73 65 6c 65 63 74 65 64 20 62 79 20 69 64 65   selected by ide
207f0 6e 74 69 66 79 69 6e 67 20 77 68 69 63 68 20 73  ntifying which s
20800 70 65 63 69 66 69 63 20 63 61 6e 64 69 64 61 74  pecific candidat
20810 65 20 70 72 65 73 65 6e 74 73 20 74 68 65 20 3c  e presents the <
20820 62 3e 6c 65 73 73 65 72 20 43 6f 73 74 3c 2f 62  b>lesser Cost</b
20830 3e 20 6f 66 20 74 68 65 6d 20 61 6c 6c 2e 3c 2f  > of them all.</
20840 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 3c 62 72 3e 0d 0a  li>..</ol><br>..
20850 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
20860 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61  #ffb060" cellspa
20870 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
20880 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
20890 64 3e 0d 0a 3c 68 33 3e 42 65 20 61 77 61 72 65  d>..<h3>Be aware
208a0 3c 2f 68 33 3e 0d 0a 41 74 74 65 6d 70 74 69 6e  </h3>..Attemptin
208b0 67 20 74 6f 20 73 6f 6c 76 65 20 50 6f 69 6e 74  g to solve Point
208c0 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65  -to-Point querie
208d0 73 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69  s strictly requi
208e0 72 65 73 20 74 68 61 74 20 61 6e 20 61 70 70 72  res that an appr
208f0 6f 70 72 69 61 74 65 20 3c 62 3e 53 70 61 74 69  opriate <b>Spati
20900 61 6c 20 49 6e 64 65 78 3c 2f 62 3e 20 63 61 6e  al Index</b> can
20910 20 65 66 66 65 63 74 69 76 65 6c 79 20 73 75 70   effectively sup
20920 70 6f 72 74 20 61 6c 6c 20 4c 69 6e 6b 73 20 6f  port all Links o
20930 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e  f the underlayin
20940 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a  g Network.<br>..
20950 49 66 20 73 75 63 68 20 61 20 72 65 71 75 69 73  If such a requis
20960 69 74 65 20 69 73 20 6e 6f 74 20 73 61 74 69 73  ite is not satis
20970 66 69 65 64 20 74 68 65 20 61 62 6f 76 65 20 6d  fied the above m
20980 65 6e 74 69 6f 6e 65 64 20 3c 75 3e 3c 69 3e 73  entioned <u><i>s
20990 70 61 74 69 61 6c 20 73 65 61 72 63 68 65 73 3c  patial searches<
209a0 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c 20 6d 69 73  /i></u> will mis
209b0 65 72 61 62 6c 79 20 66 61 69 6c 2c 20 61 6e 64  erably fail, and
209c0 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 61 6c   consequently al
209d0 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  l Point-to-Point
209e0 20 71 75 65 72 69 65 73 20 77 69 6c 6c 20 62 65   queries will be
209f0 20 75 6e 61 62 6c 65 20 74 6f 20 69 64 65 6e 74   unable to ident
20a00 69 66 79 20 61 6e 79 20 70 6f 73 73 69 62 6c 65  ify any possible
20a10 20 43 61 6e 64 69 64 61 74 65 20 74 6f 20 62 65   Candidate to be
20a20 20 65 76 61 6c 75 61 74 65 64 2e 0d 0a 3c 68 33   evaluated...<h3
20a30 3e 41 6c 77 61 79 73 20 72 65 6d 65 6d 62 65 72  >Always remember
20a40 3c 2f 68 33 3e 0d 0a 43 61 72 65 66 75 6c 6c 79  </h3>..Carefully
20a50 20 63 68 65 63 6b 20 69 66 20 61 6e 20 61 70 70   check if an app
20a60 72 6f 70 72 69 61 74 65 20 53 70 61 74 69 61 6c  ropriate Spatial
20a70 20 49 6e 64 65 78 20 64 6f 20 72 65 61 6c 6c 79   Index do really
20a80 20 65 78 69 73 74 73 20 62 65 66 6f 72 65 20 61   exists before a
20a90 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 65 78 65  ttempting to exe
20aa0 63 75 74 65 20 61 6e 79 20 50 6f 69 6e 74 2d 74  cute any Point-t
20ab0 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79 2e 0d 0a  o-Point query...
20ac0 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c  <br><br>..</td><
20ad0 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  /tr></table>..<b
20ae0 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c  r>..<table bgcol
20af0 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 65 6c  or="#c0ffc0" cel
20b00 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65  lspacing="10" ce
20b10 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74  llpadding="6"><t
20b20 72 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e  r><td align="cen
20b30 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d 22 32 22  ter" colspan="2"
20b40 3e 0d 0a 3c 68 32 3e 42 61 73 69 63 20 63 6f 6e  >..<h2>Basic con
20b50 63 65 70 74 73 2c 20 74 65 63 68 6e 69 63 61 6c  cepts, technical
20b60 20 64 65 74 61 69 6c 73 20 61 6e 64 20 72 65 6c   details and rel
20b70 61 74 65 64 20 67 6c 6f 73 73 61 72 79 3c 2f 68  ated glossary</h
20b80 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  2>..</td></tr>..
20b90 3c 74 72 3e 3c 74 64 3e 0d 0a 54 68 65 20 73 69  <tr><td>..The si
20ba0 64 65 20 66 69 67 75 72 65 20 73 68 6f 77 73 20  de figure shows 
20bb0 61 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 50  a hypothetical P
20bc0 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f  oint-to-Point so
20bd0 6c 75 74 69 6f 6e 20 61 6c 6d 6f 73 74 20 70 72  lution almost pr
20be0 65 63 69 73 65 6c 79 20 62 61 73 65 64 20 6f 6e  ecisely based on
20bf0 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73   the following s
20c00 65 71 75 65 6e 63 65 20 6f 66 20 4e 6f 64 65 73  equence of Nodes
20c10 3a 3c 62 72 3e 0d 0a 3c 62 3e 3c 69 3e 4e 31 2d  :<br>..<b><i>N1-
20c20 4e 32 2d 4e 33 2d 4e 34 2d 4e 35 2d 4e 36 2d 4e  N2-N3-N4-N5-N6-N
20c30 37 2d 4e 38 2d 4e 39 2d 4e 31 30 2d 4e 31 31 2d  7-N8-N9-N10-N11-
20c40 4e 31 32 2d 4e 31 33 2d 4e 31 34 2d 4e 31 35 3c  N12-N13-N14-N15<
20c50 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e 3c 62 72  /i></b>..<br><br
20c60 3e 0d 0a 48 6f 77 65 76 65 72 2c 20 61 73 20 79  >..However, as y
20c70 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 6e 6f  ou can easily no
20c80 74 69 63 65 2c 20 74 68 65 72 65 20 61 72 65 20  tice, there are 
20c90 74 77 6f 20 73 74 72 69 6b 69 6e 67 20 65 78 63  two striking exc
20ca0 65 70 74 69 6f 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a  eptions:..<ul>..
20cb0 3c 6c 69 3e 54 68 65 20 3c 62 3e 66 69 72 73 74  <li>The <b>first
20cc0 3c 2f 62 3e 20 4c 69 6e 6b 20 28 63 6f 6e 6e 65  </b> Link (conne
20cd0 63 74 69 6e 67 20 3c 62 3e 4e 31 3c 2f 62 3e 20  cting <b>N1</b> 
20ce0 74 6f 20 3c 62 3e 4e 32 3c 2f 62 3e 29 20 69 73  to <b>N2</b>) is
20cf0 20 6e 6f 74 20 63 6f 6d 70 6c 65 74 65 6c 79 20   not completely 
20d00 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20  required by the 
20d10 53 6f 6c 75 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 4a  Solution.<br>..J
20d20 75 73 74 20 61 20 73 6d 61 6c 6c 20 70 6f 72 74  ust a small port
20d30 69 6f 6e 20 28 64 72 61 77 6e 20 69 6e 20 72 65  ion (drawn in re
20d40 64 29 20 6f 66 20 74 68 69 73 20 4c 69 6e 6b 20  d) of this Link 
20d50 69 73 20 65 66 66 65 63 74 69 76 65 6c 79 20 72  is effectively r
20d60 65 71 75 69 72 65 64 2e 3c 62 72 3e 0d 0a 54 68  equired.<br>..Th
20d70 65 20 72 65 6d 61 69 6e 69 6e 67 20 70 61 72 74  e remaining part
20d80 20 28 64 72 61 77 6e 20 69 6e 20 67 72 61 79 29   (drawn in gray)
20d90 20 69 73 6e 27 74 20 63 6f 76 65 72 65 64 20 62   isn't covered b
20da0 79 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e 2e 3c  y the Solution.<
20db0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 45 78 61 63 74 6c  /li>..<li>Exactl
20dc0 79 20 74 68 65 20 73 61 6d 65 20 69 73 20 66 6f  y the same is fo
20dd0 72 20 74 68 65 20 3c 62 3e 6c 61 73 74 3c 2f 62  r the <b>last</b
20de0 3e 20 4c 69 6e 6b 20 63 6f 6e 6e 65 63 74 69 6e  > Link connectin
20df0 67 20 3c 62 3e 4e 31 34 3c 2f 62 3e 20 74 6f 20  g <b>N14</b> to 
20e00 3c 62 3e 4e 31 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e  <b>N15</b>.</li>
20e10 0d 0a 3c 6c 69 3e 54 68 61 74 27 73 20 6e 6f 74  ..<li>That's not
20e20 20 61 6c 6c 3a 20 74 68 65 72 65 20 61 72 65 20   all: there are 
20e30 74 77 6f 20 73 68 6f 72 74 20 73 65 67 6d 65 6e  two short segmen
20e40 74 73 20 28 64 72 61 77 6e 20 69 6e 20 67 72 65  ts (drawn in gre
20e50 65 6e 29 20 63 6f 6e 6e 65 63 74 69 6e 67 20 3c  en) connecting <
20e60 62 3e 50 66 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20  b>Pfrom</b> and 
20e70 3c 62 3e 50 74 6f 3c 2f 62 3e 20 28 3c 69 3e 6f  <b>Pto</b> (<i>o
20e80 72 69 67 69 6e 3c 2f 69 3e 20 61 6e 64 20 3c 69  rigin</i> and <i
20e90 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e  >destination</i>
20ea0 20 50 6f 69 6e 74 73 29 20 72 65 73 70 65 63 74   Points) respect
20eb0 69 76 65 6c 79 20 74 6f 20 74 68 65 20 3c 62 3e  ively to the <b>
20ec0 66 69 72 73 74 3c 2f 62 3e 20 61 6e 64 20 3c 62  first</b> and <b
20ed0 3e 6c 61 73 74 3c 2f 62 3e 20 70 61 72 74 69 61  >last</b> partia
20ee0 6c 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c  l Links.</li>..<
20ef0 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 41 6c 6c 20  /ul>..<br>..All 
20f00 74 68 69 73 20 73 68 6f 75 6c 64 6e 27 74 20 62  this shouldn't b
20f10 65 20 75 6e 65 78 70 65 63 74 65 64 2c 20 62 65  e unexpected, be
20f20 63 61 75 73 65 20 69 74 20 73 69 6d 70 6c 79 20  cause it simply 
20f30 69 73 20 74 68 65 20 6d 6f 73 74 20 6f 62 76 69  is the most obvi
20f40 6f 75 73 20 64 69 72 65 63 74 20 63 6f 6e 73 65  ous direct conse
20f50 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 76 65  quence of the ve
20f60 72 79 20 62 61 73 69 63 20 61 73 73 75 6d 70 74  ry basic assumpt
20f70 69 6f 6e 73 20 61 74 20 74 68 65 20 62 61 73 69  ions at the basi
20f80 73 20 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  s of Point-to-Po
20f90 69 6e 74 20 71 75 65 72 69 65 73 3a 0d 0a 3c 75  int queries:..<u
20fa0 6c 3e 0d 0a 3c 6c 69 3e 4e 65 69 74 68 65 72 20  l>..<li>Neither 
20fb0 74 68 65 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d  the <b>PointFrom
20fc0 3c 2f 62 3e 20 6e 6f 72 20 74 68 65 20 3c 62 3e  </b> nor the <b>
20fd0 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 61 72 65 20  PointTo</b> are 
20fe0 72 65 71 75 69 72 65 64 20 74 6f 20 65 78 61 63  required to exac
20ff0 74 6c 79 20 69 6e 74 65 72 73 65 63 74 20 61 20  tly intersect a 
21000 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 2e 3c 62 72 3e  <b>Node</b>.<br>
21010 0d 0a 43 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74  ..Consequently t
21020 68 65 20 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20  he <b>first</b> 
21030 61 6e 64 20 3c 62 3e 6c 61 73 74 3c 2f 62 3e 20  and <b>last</b> 
21040 4c 69 6e 6b 73 20 6f 66 20 74 68 65 20 6f 76 65  Links of the ove
21050 72 61 6c 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  rall Point-to-Po
21060 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 20 63 6f 75  int Solution cou
21070 6c 64 20 62 65 20 6f 6e 6c 79 20 70 61 72 74 69  ld be only parti
21080 61 6c 6c 79 20 69 6e 76 6f 6c 76 65 64 2e 3c 62  ally involved.<b
21090 72 3e 0d 0a 49 6e 20 56 69 72 74 75 61 6c 52 6f  r>..In VirtualRo
210a0 75 74 69 6e 67 20 6a 61 72 67 6f 6e 20 74 68 65  uting jargon the
210b0 73 65 20 74 77 6f 20 3c 75 3e 3c 69 3e 73 70 65  se two <u><i>spe
210c0 63 69 61 6c 20 69 74 65 6d 73 3c 2f 69 3e 3c 2f  cial items</i></
210d0 75 3e 20 61 72 65 20 72 65 73 70 65 63 74 69 76  u> are respectiv
210e0 65 6c 79 20 63 61 6c 6c 65 64 3a 0d 0a 3c 75 6c  ely called:..<ul
210f0 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61  >..<li><b>Partia
21100 6c 20 4c 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f  l Link (Start)</
21110 62 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  b></li>..<li><b>
21120 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 45 6e  Partial Link (En
21130 64 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  d)</b></li>..</u
21140 6c 3e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 42 6f  l></li> ..<li>Bo
21150 74 68 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 46  th the <b>PointF
21160 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 74 68 65 20  rom</b> and the 
21170 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 63  <b>PointTo</b> c
21180 61 6e 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20  an legitimately 
21190 68 61 76 65 20 61 6e 79 20 61 72 62 69 74 72 61  have any arbitra
211a0 72 79 20 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20  ry position and 
211b0 61 72 65 20 6e 65 76 65 72 20 72 65 71 75 69 72  are never requir
211c0 65 64 20 74 6f 20 65 78 61 63 74 6c 79 20 69 6e  ed to exactly in
211d0 74 65 72 73 65 63 74 20 61 20 3c 62 3e 4c 69 6e  tersect a <b>Lin
211e0 6b 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69 73  k</b>.<br>..This
211f0 20 63 61 6e 20 65 61 73 69 6c 79 20 69 6d 70 6c   can easily impl
21200 79 20 74 68 61 74 20 61 6e 20 3c 75 3e 3c 69 3e  y that an <u><i>
21210 65 78 74 72 61 20 73 68 6f 72 74 20 6c 65 67 3c  extra short leg<
21220 2f 69 3e 3c 2f 75 3e 20 63 6f 75 6c 64 20 62 65  /i></u> could be
21230 20 72 65 71 75 69 72 65 64 20 69 6e 20 6f 72 64   required in ord
21240 65 72 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 68  er to connect th
21250 65 20 46 72 6f 6d 2f 54 6f 20 50 6f 69 6e 74 73  e From/To Points
21260 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f   to the correspo
21270 6e 64 69 6e 67 20 4c 69 6e 6b 73 2e 3c 62 72 3e  nding Links.<br>
21280 0d 0a 49 6e 20 56 69 72 75 74 61 6c 52 6f 75 74  ..In VirutalRout
21290 69 6e 67 20 6a 61 72 67 6f 6e 20 74 68 65 73 65  ing jargon these
212a0 20 74 77 6f 20 3c 75 3e 3c 69 3e 73 70 65 63 69   two <u><i>speci
212b0 61 6c 20 69 74 65 6d 73 3c 2f 69 3e 3c 2f 75 3e  al items</i></u>
212c0 20 61 72 65 20 72 65 73 70 65 63 74 69 76 65 6c   are respectivel
212d0 79 20 63 61 6c 6c 65 64 3a 0d 0a 3c 75 6c 3e 0d  y called:..<ul>.
212e0 0a 3c 6c 69 3e 3c 62 3e 49 6e 67 72 65 73 73 20  .<li><b>Ingress 
212f0 50 61 74 68 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c  Path</b></li>..<
21300 6c 69 3e 3c 62 3e 45 67 72 65 73 73 20 50 61 74  li><b>Egress Pat
21310 68 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  h</b></li>..</ul
21320 3e 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 75 3e  ></li> ..<li><u>
21330 4e 6f 74 65 3c 2f 75 3e 3a 20 6e 6f 6e 65 20 6f  Note</u>: none o
21340 66 20 74 68 65 6d 20 69 73 20 61 20 73 74 72 69  f them is a stri
21350 63 74 6c 79 20 6d 61 6e 64 61 74 6f 72 79 20 69  ctly mandatory i
21360 74 65 6d 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  tem:..<ul>..<li>
21370 74 68 65 20 3c 62 3e 49 6e 67 72 65 73 73 3c 2f  the <b>Ingress</
21380 62 3e 20 61 6e 64 2f 6f 72 20 3c 62 3e 45 67 72  b> and/or <b>Egr
21390 65 73 73 20 50 61 74 68 73 3c 2f 62 3e 20 61 72  ess Paths</b> ar
213a0 65 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 77  e not required w
213b0 68 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f  hen the correspo
213c0 6e 64 69 6e 67 20 50 6f 69 6e 74 20 65 78 61 63  nding Point exac
213d0 74 6c 79 20 69 6e 74 65 72 73 65 63 74 73 20 61  tly intersects a
213e0 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   Link.</li>..<li
213f0 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b  ><b>Partial Link
21400 73 3c 2f 62 3e 20 28 65 69 74 68 65 72 20 3c 62  s</b> (either <b
21410 3e 28 53 74 61 72 74 29 3c 2f 62 3e 20 6f 72 20  >(Start)</b> or 
21420 3c 62 3e 28 45 6e 64 28 3c 2f 62 3e 29 20 61 72  <b>(End(</b>) ar
21430 65 20 6e 65 76 65 72 20 72 65 71 75 69 72 65 64  e never required
21440 20 77 68 65 6e 20 74 68 65 20 63 6f 72 72 65 73   when the corres
21450 70 6f 6e 64 69 6e 67 20 50 6f 69 6e 74 20 65 78  ponding Point ex
21460 61 63 74 6c 79 20 6d 61 74 63 68 65 73 20 61 20  actly matches a 
21470 4e 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  Node.</li>..</ul
21480 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  ></li>..</ul>..<
21490 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69 6d 67  /td>..<td>..<img
214a0 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
214b0 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
214c0 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d  ia-sins/routing-
214d0 66 69 67 73 2f 70 32 70 2d 73 74 72 75 63 74 2e  figs/p2p-struct.
214e0 70 6e 67 22 20 61 6c 74 3d 22 70 32 70 2d 73 74  png" alt="p2p-st
214f0 72 75 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74  ruct">..</td></t
21500 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 41 20  r>..<tr><td>..A 
21510 6d 6f 72 65 20 63 6f 6d 70 72 65 68 65 6e 73 69  more comprehensi
21520 76 65 20 61 6e 64 20 64 65 74 61 69 6c 65 64 20  ve and detailed 
21530 65 78 70 6c 61 6e 61 74 69 6f 6e 20 62 61 73 65  explanation base
21540 64 20 6f 6e 20 74 68 65 20 73 69 64 65 20 66 69  d on the side fi
21550 67 75 72 65 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  gure:..<ul>..<li
21560 3e 3c 62 3e 4c 31 3c 2f 62 3e 20 69 73 20 61 20  ><b>L1</b> is a 
21570 4c 69 6e 6b 20 63 6f 6e 6e 65 63 74 69 6e 67 20  Link connecting 
21580 4e 6f 64 65 73 20 3c 62 3e 4e 31 3c 2f 62 3e 20  Nodes <b>N1</b> 
21590 61 6e 64 20 3c 62 3e 4e 32 3c 2f 62 3e 2e 3c 2f  and <b>N2</b>.</
215a0 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 74 3c 2f  li>..<li><b>Pt</
215b0 62 3e 20 69 73 20 6f 6e 65 20 62 65 74 77 65 65  b> is one betwee
215c0 6e 20 50 6f 69 6e 74 46 72 6f 6d 20 6f 72 20 50  n PointFrom or P
215d0 6f 69 6e 74 54 6f 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  ointTo.</li>..</
215e0 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 6f 6c 3e 0d  ul>..<br>..<ol>.
215f0 0a 3c 6c 69 3e 54 68 65 20 50 6f 69 6e 74 2d 74  .<li>The Point-t
21600 6f 2d 50 6f 69 6e 74 20 69 6e 74 65 72 6e 61 6c  o-Point internal
21610 20 6c 6f 67 69 63 20 77 69 6c 6c 20 73 74 61 72   logic will star
21620 74 20 62 79 20 69 64 65 6e 74 69 66 79 69 6e 67  t by identifying
21630 20 3c 62 3e 69 3c 2f 62 3e 2c 0d 0a 74 68 61 74   <b>i</b>,..that
21640 20 69 73 20 74 68 65 20 50 6f 69 6e 74 20 69 6e   is the Point in
21650 74 65 72 73 65 63 74 69 6e 67 20 3c 62 3e 4c 31  tersecting <b>L1
21660 3c 2f 62 3e 20 61 6e 64 20 70 72 65 73 65 6e 74  </b> and present
21670 69 6e 67 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20  ing the minimum 
21680 64 69 73 74 61 6e 63 65 20 62 65 74 77 65 65 6e  distance between
21690 20 74 68 65 20 4c 69 6e 6b 20 61 6e 64 20 3c 62   the Link and <b
216a0 3e 50 74 3c 2f 62 3e 0d 0a 28 63 6f 72 72 65 73  >Pt</b>..(corres
216b0 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 72  ponding to the r
216c0 65 73 75 6c 74 20 72 65 74 75 72 6e 65 64 20 62  esult returned b
216d0 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 3c 62  y calling the <b
216e0 3e 53 54 5f 4c 69 6e 65 5f 4c 6f 63 61 74 65 5f  >ST_Line_Locate_
216f0 50 6f 69 6e 74 28 29 3c 2f 62 3e 20 53 51 4c 20  Point()</b> SQL 
21700 66 75 6e 63 74 69 6f 6e 29 2e 3c 2f 6c 69 3e 0d  function).</li>.
21710 0a 3c 6c 69 3e 4e 6f 77 20 74 68 65 20 4c 69 6e  .<li>Now the Lin
21720 6b 20 3c 62 3e 4c 31 3c 2f 62 3e 20 77 69 6c 6c  k <b>L1</b> will
21730 20 62 65 20 73 70 6c 69 74 20 69 6e 20 74 77 6f   be split in two
21740 20 68 61 6c 76 65 73 20 3c 62 3e 4c 31 2d 61 3c   halves <b>L1-a<
21750 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 31 2d 62 3c  /b> and <b>L1-b<
21760 2f 62 3e 20 61 63 63 6f 72 64 69 6e 67 6c 79 20  /b> accordingly 
21770 74 6f 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20  to the position 
21780 6f 66 20 3c 62 3e 69 3c 2f 62 3e 0d 0a 28 63 6f  of <b>i</b>..(co
21790 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74  rresponding to t
217a0 68 65 20 72 65 73 75 6c 74 73 20 72 65 74 75 72  he results retur
217b0 6e 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74  ned by calling t
217c0 68 65 20 3c 62 3e 53 54 5f 4c 69 6e 65 5f 53 75  he <b>ST_Line_Su
217d0 62 73 74 72 69 6e 67 28 29 3c 2f 62 3e 20 53 51  bstring()</b> SQ
217e0 4c 20 66 75 6e 63 74 69 6f 6e 29 2e 3c 62 72 3e  L function).<br>
217f0 0d 0a 42 6f 74 68 20 68 61 6c 76 65 73 20 77 69  ..Both halves wi
21800 6c 6c 20 62 65 20 6e 6f 77 20 63 6f 6e 73 69 64  ll be now consid
21810 65 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c 65  ered as possible
21820 20 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b   <b>Partial Link
21830 73 20 28 53 74 61 72 74 29 20 63 61 6e 64 69 64  s (Start) candid
21840 61 74 65 73 3c 2f 62 3e 20 6c 65 61 64 69 6e 67  ates</b> leading
21850 20 72 65 73 70 65 63 74 69 76 65 6c 79 20 74 6f   respectively to
21860 20 3c 62 3e 4e 31 3c 2f 62 3e 20 6f 72 20 3c 62   <b>N1</b> or <b
21870 3e 4e 32 3c 2f 62 3e 3b 0d 0a 64 69 72 65 63 74  >N2</b>;..direct
21880 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 61 75 74  ions will be aut
21890 6f 6d 61 74 69 63 61 6c 6c 79 20 69 6e 76 65 72  omatically inver
218a0 74 65 64 20 61 73 20 72 65 71 75 69 72 65 64 2c  ted as required,
218b0 20 62 75 74 20 6f 6e 6c 79 20 69 66 20 74 68 65   but only if the
218c0 72 65 20 61 72 65 20 6e 6f 20 3c 62 3e 6f 6e 65  re are no <b>one
218d0 2d 77 61 79 3c 2f 62 3e 20 66 6f 72 62 69 64 64  -way</b> forbidd
218e0 69 6e 67 20 72 65 73 74 72 69 63 74 69 6f 6e 73  ing restrictions
218f0 2e 3c 62 72 3e 0d 0a 28 74 68 65 20 64 69 72 65  .<br>..(the dire
21900 63 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 6f  ctions will be o
21910 62 76 69 6f 75 73 6c 79 20 69 6e 76 65 72 74 65  bviously inverte
21920 64 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66  d in the case of
21930 20 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b   <b>Partial Link
21940 73 20 28 45 6e 64 29 3c 2f 62 3e 20 2f 20 3c 62  s (End)</b> / <b
21950 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 29 3c 2f 6c 69  >NodeTo</b>)</li
21960 3e 0d 0a 3c 6c 69 3e 41 6e 64 20 66 69 6e 61 6c  >..<li>And final
21970 6c 79 20 61 20 73 74 72 61 69 67 68 74 20 73 65  ly a straight se
21980 67 6d 65 6e 74 20 3c 62 3e 70 3c 2f 62 3e 20 63  gment <b>p</b> c
21990 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 50 74 3c  onnecting <b>Pt<
219a0 2f 62 3e 20 74 6f 20 3c 62 3e 69 3c 2f 62 3e 20  /b> to <b>i</b> 
219b0 77 69 6c 6c 20 62 65 20 63 6f 6e 73 74 72 75 63  will be construc
219c0 74 65 64 2e 0d 0a 53 6f 20 3c 62 3e 70 3c 2f 62  ted...So <b>p</b
219d0 3e 20 65 78 61 63 74 6c 79 20 63 6f 72 72 65 73  > exactly corres
219e0 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 3c 62 3e  ponds to the <b>
219f0 49 6e 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e  Ingress Path</b>
21a00 20 69 66 20 3c 62 3e 50 74 3c 2f 62 3e 20 69 73   if <b>Pt</b> is
21a10 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62   <b>PointFrom</b
21a20 3e 2e 3c 62 72 3e 0d 0a 28 74 68 65 20 64 69 72  >.<br>..(the dir
21a30 65 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65  ection should be
21a40 20 6f 62 76 69 6f 75 73 6c 79 20 69 6e 76 65 72   obviously inver
21a50 74 65 64 20 69 6e 20 74 68 65 20 63 61 73 65 20  ted in the case 
21a60 6f 66 20 74 68 65 20 3c 62 3e 45 67 72 65 73 73  of the <b>Egress
21a70 20 50 61 74 68 3c 2f 62 3e 20 2f 20 3c 62 3e 50   Path</b> / <b>P
21a80 6f 69 6e 74 54 6f 3c 2f 62 3e 29 3c 2f 6c 69 3e  ointTo</b>)</li>
21a90 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 0d 0a  ..</ol>..</td>..
21aa0 3c 74 64 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22  <td>..<img src="
21ab0 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
21ac0 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e  -gis.it/gaia-sin
21ad0 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 73  s/routing-figs/s
21ae0 70 6c 69 74 2d 6c 69 6e 6b 2e 70 6e 67 22 20 61  plit-link.png" a
21af0 6c 74 3d 22 70 32 70 2d 73 74 72 75 63 74 22 3e  lt="p2p-struct">
21b00 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f  ..</td></tr>..</
21b10 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74  table>..<br>..<t
21b20 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66  able bgcolor="#f
21b30 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69  fb060" cellspaci
21b40 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
21b50 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
21b60 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3c 2f 68  ..<h3>Warning</h
21b70 33 3e 0d 0a 56 69 72 74 75 61 6c 52 6f 75 74 69  3>..VirtualRouti
21b80 6e 67 20 77 68 65 6e 20 73 6f 6c 76 69 6e 67 20  ng when solving 
21b90 61 20 50 6f 69 6e 74 2d 74 6f 2d 50 72 6f 62 6c  a Point-to-Probl
21ba0 65 6d 20 72 65 71 75 69 72 65 73 20 74 6f 20 67  em requires to g
21bb0 65 74 20 61 20 70 72 65 63 69 73 65 20 65 73 74  et a precise est
21bc0 69 6d 61 74 69 6f 6e 20 6f 66 20 3c 62 3e 43 6f  imation of <b>Co
21bd0 73 74 73 3c 2f 62 3e 20 72 65 6c 61 74 65 64 20  sts</b> related 
21be0 74 6f 20 3c 62 3e 49 6e 67 72 65 73 73 3c 2f 62  to <b>Ingress</b
21bf0 3e 20 61 6e 64 20 3c 62 3e 45 67 72 65 73 73 20  > and <b>Egress 
21c00 50 61 74 68 73 3c 2f 62 3e 20 61 6e 64 20 74 6f  Paths</b> and to
21c10 20 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b   <b>Partial Link
21c20 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 42 75 74 20  s</b>.<br>..But 
21c30 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 69  VirtualRouting i
21c40 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 75 6e 61  s completely una
21c50 62 6c 65 20 74 6f 20 63 6f 6d 70 75 74 65 20 63  ble to compute c
21c60 6f 6d 70 6c 65 78 20 28 61 6e 64 20 75 6e 73 70  omplex (and unsp
21c70 65 63 69 66 69 65 64 29 20 43 6f 73 74 20 66 6f  ecified) Cost fo
21c80 72 6d 75 6c 61 65 2c 20 61 6e 64 20 63 6f 6e 73  rmulae, and cons
21c90 65 71 75 65 6e 74 6c 79 20 69 74 20 63 61 6e 20  equently it can 
21ca0 73 69 6d 70 6c 79 20 61 73 73 75 6d 65 20 61 20  simply assume a 
21cb0 43 6f 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 69  Cost correspondi
21cc0 6e 67 20 74 6f 20 74 68 65 20 47 65 6f 6d 65 74  ng to the Geomet
21cd0 72 69 63 20 4c 65 6e 67 74 68 20 6f 66 20 73 75  ric Length of su
21ce0 63 68 20 69 74 65 6d 73 2e 3c 62 72 3e 3c 62 72  ch items.<br><br
21cf0 3e 0d 0a 3c 62 3e 43 6f 6e 63 6c 75 73 69 6f 6e  >..<b>Conclusion
21d00 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 4e 65 74 77 6f  </b>: only Netwo
21d10 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e  rks based on <b>
21d20 43 6f 73 74 73 3c 2f 62 3e 20 63 6f 72 72 65 73  Costs</b> corres
21d30 70 6f 6e 64 69 6e 67 20 74 6f 20 3c 62 3e 47 65  ponding to <b>Ge
21d40 6f 6d 65 74 72 69 63 20 4c 65 6e 67 74 68 73 3c  ometric Lengths<
21d50 2f 62 3e 20 63 61 6e 20 65 66 66 65 63 74 69 76  /b> can effectiv
21d60 65 6c 79 20 73 75 70 70 6f 72 74 20 50 6f 69 6e  ely support Poin
21d70 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69  t-to-Point queri
21d80 65 73 2e 3c 62 72 3e 0d 0a 41 6e 79 20 64 69 66  es.<br>..Any dif
21d90 66 65 72 65 6e 74 20 4e 65 74 77 6f 72 6b 20 63  ferent Network c
21da0 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 77 69 6c  onfiguration wil
21db0 6c 20 73 75 72 65 6c 79 20 6c 65 61 64 20 74 6f  l surely lead to
21dc0 20 77 72 6f 6e 67 20 61 6e 64 20 69 6e 63 6f 6e   wrong and incon
21dd0 73 69 73 74 65 6e 74 20 72 65 73 75 6c 74 73 2e  sistent results.
21de0 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64  ..<br><br>..</td
21df0 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a  ></tr></table>..
21e00 3c 62 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20  <br><br>..Let's 
21e10 6e 6f 77 20 65 78 61 6d 69 6e 65 20 61 20 70 72  now examine a pr
21e20 61 63 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 20  actical example 
21e30 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e  of Point-to-Poin
21e40 74 20 73 6f 6c 76 69 6e 67 20 75 73 69 6e 67 20  t solving using 
21e50 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 2e 0d  VirtualRouting..
21e60 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
21e70 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52  ECT Algorithm, R
21e80 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c  equest, Options,
21e90 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65 52   RouteId, RouteR
21ea0 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f  ow, Role, LinkRo
21eb0 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e  wid, NodeFrom, N
21ec0 6f 64 65 54 6f 2c 20 50 6f 69 6e 74 46 72 6f 6d  odeTo, PointFrom
21ed0 2c 20 50 6f 69 6e 74 54 6f 2c 20 54 6f 6c 65 72  , PointTo, Toler
21ee0 61 6e 63 65 2c 20 43 6f 73 74 2c 20 47 65 6f 6d  ance, Cost, Geom
21ef0 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d  etry, Name..FROM
21f00 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 50   byfoot..WHERE P
21f10 6f 69 6e 74 46 72 6f 6d 20 3d 20 28 53 45 4c 45  ointFrom = (SELE
21f20 43 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75  CT geom FROM hou
21f30 73 65 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d  se_nr_vw WHERE m
21f40 75 6e 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41  unicipality = 'A
21f50 52 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65  REZZO' AND addre
21f60 73 73 20 3d 20 27 56 49 41 20 44 45 27 27 20 43  ss = 'VIA DE'' C
21f70 45 4e 43 49 20 31 33 27 29 0d 0a 20 20 20 20 41  ENCI 13')..    A
21f80 4e 44 20 50 6f 69 6e 74 54 6f 20 3d 20 28 53 45  ND PointTo = (SE
21f90 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f 4d 20 68  LECT geom FROM h
21fa0 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 45 52 45  ouse_nr_vw WHERE
21fb0 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 20 3d 20   municipality = 
21fc0 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 61 64 64  'AREZZO' AND add
21fd0 72 65 73 73 20 3d 20 27 56 49 41 20 41 4e 54 4f  ress = 'VIA ANTO
21fe0 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 20 31  NIO GUADAGNOLI 1
21ff0 39 2f 42 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74  9/B');..</verbat
22000 69 6d 3e 0d 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d  im>..A <b>Point-
22010 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65  to-Point</b> que
22020 72 79 20 68 61 73 20 74 68 65 20 73 61 6d 65 20  ry has the same 
22030 66 6f 72 6d 20 6f 66 20 61 20 3c 62 3e 73 69 6e  form of a <b>sin
22040 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20  gle-destination 
22050 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c 2f 62  Shortest Path</b
22060 3e 20 71 75 65 72 79 2c 20 65 78 63 65 70 74 20  > query, except 
22070 74 68 61 74 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d  that <b>NodeFrom
22080 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65  </b> and <b>Node
22090 54 6f 3c 2f 62 3e 20 61 72 65 20 6e 6f 77 20 72  To</b> are now r
220a0 65 70 6c 61 63 65 64 20 62 79 20 3c 62 3e 50 6f  eplaced by <b>Po
220b0 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20  intFrom</b> and 
220c0 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 2e 3c  <b>PointTo</b>.<
220d0 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
220e0 20 74 68 65 20 73 61 6d 70 6c 65 20 44 42 2d 66   the sample DB-f
220f0 69 6c 65 20 73 75 70 70 6f 72 74 73 20 3c 62 3e  ile supports <b>
22100 48 6f 75 73 65 20 4e 75 6d 62 65 72 73 3c 2f 62  House Numbers</b
22110 3e 2c 20 73 6f 20 79 6f 75 20 63 61 6e 20 64 69  >, so you can di
22120 72 65 63 74 6c 79 20 75 73 65 20 48 6f 75 73 65  rectly use House
22130 20 4e 75 6d 62 65 72 20 63 6f 6f 72 64 69 6e 61   Number coordina
22140 74 65 73 20 61 73 20 72 65 66 65 72 65 6e 63 65  tes as reference
22150 20 50 6f 69 6e 74 73 2e 0d 0a 3c 62 72 3e 3c 62   Points...<br><b
22160 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e  r>..The followin
22170 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20 74 68  g table shows th
22180 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75  e resultset retu
22190 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76  rned by the abov
221a0 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  e Point-to-Point
221b0 20 71 75 65 72 79 2e 3c 62 72 3e 3c 62 72 3e 0d   query.<br><br>.
221c0 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22  .<table border="
221d0 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66  1" bgcolor="#fff
221e0 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fcf" cellspacing
221f0 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67  ="4" cellpadding
22200 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62  ="6">..<tr><th b
22210 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
22220 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c  >Algorithm</th><
22230 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
22240 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68  0a0">Request</th
22250 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
22260 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f  0d0a0">Options</
22270 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
22280 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 49 64  #d0d0a0">RouteId
22290 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
222a0 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65  ="#d0d0a0">Route
222b0 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  Row</th><th bgco
222c0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
222d0 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  le</th><th bgcol
222e0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e  or="#d0d0a0">Lin
222f0 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62  kRowid</th><th b
22300 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
22310 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74  >NodeFrom</th><t
22320 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
22330 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c  a0">NodeTo</th><
22340 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
22350 30 61 30 22 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f  0a0">PointFrom</
22360 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
22370 23 64 30 64 30 61 30 22 3e 50 6f 69 6e 74 54 6f  #d0d0a0">PointTo
22380 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
22390 3d 22 23 64 30 64 30 61 30 22 3e 54 6f 6c 65 72  ="#d0d0a0">Toler
223a0 61 6e 63 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ance</th><th bgc
223b0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 43  olor="#d0d0a0">C
223c0 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ost</th><th bgco
223d0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 47 65  lor="#d0d0a0">Ge
223e0 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62  ometry</th><th b
223f0 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
22400 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d  >Name</th></tr>.
22410 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b 73  .<tr>..<td>Dijks
22420 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e  tra</td><td>Poin
22430 74 32 50 6f 69 6e 74 20 50 61 74 68 3c 2f 74 64  t2Point Path</td
22440 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c 74  ><td>Full</td><t
22450 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22460 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
22470 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
22480 64 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20 53 6f  d>Point2Point So
22490 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e  lution</td><td>N
224a0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
224b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
224c0 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 38  d><td>BLOB sz=68
224d0 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
224e0 64 3e 42 4c 4f 42 20 73 7a 3d 36 38 20 47 45 4f  d>BLOB sz=68 GEO
224f0 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 20 61 6c  METRY</td><td al
22500 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 30 2e 30  ign="right">20.0
22510 30 30 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  00000</td><td al
22520 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 35 32 2e  ign="right">652.
22530 38 31 35 31 33 39 3c 2f 74 64 3e 3c 74 64 3e 42  815139</td><td>B
22540 4c 4f 42 20 73 7a 3d 31 35 35 32 20 47 45 4f 4d  LOB sz=1552 GEOM
22550 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
22560 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
22570 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
22580 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22590 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
225a0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
225b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
225c0 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
225d0 49 6e 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64  Ingress Path</td
225e0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
225f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22600 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22610 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22620 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22630 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22640 3e 32 2e 33 30 31 36 38 37 3c 2f 74 64 3e 3c 74  >2.301687</td><t
22650 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22660 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
22670 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
22680 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22690 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
226a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
226b0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
226c0 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
226d0 64 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28  d>Partial Link (
226e0 53 74 61 72 74 29 3c 2f 74 64 3e 3c 74 64 20 61  Start)</td><td a
226f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34  lign="right">224
22700 32 36 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  264</td><td>NULL
22710 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22720 72 69 67 68 74 22 3e 31 38 32 36 33 30 3c 2f 74  right">182630</t
22730 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22740 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22750 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
22760 67 6e 3d 22 72 69 67 68 74 22 3e 34 36 2e 30 38  gn="right">46.08
22770 32 37 36 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2761</td><td>NUL
22780 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45  L</td><td>VIA DE
22790 27 20 43 45 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f  ' CENCI</td>..</
227a0 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
227b0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
227c0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
227d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
227e0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
227f0 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74  ign="right">3</t
22800 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
22810 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22820 3e 32 32 33 37 35 38 3c 2f 74 64 3e 3c 74 64 20  >223758</td><td 
22830 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
22840 32 36 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  2630</td><td ali
22850 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32  gn="right">18262
22860 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
22870 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22880 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22890 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
228a0 34 2e 31 39 38 31 31 35 3c 2f 74 64 3e 3c 74 64  4.198115</td><td
228b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f  >NULL</td><td>CO
228c0 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d  RSO ITALIA</td>.
228d0 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
228e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
228f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22900 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22910 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
22920 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
22930 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74  </td><td>Link</t
22940 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22950 68 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c  ht">225512</td><
22960 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22970 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20  >182629</td><td 
22980 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
22990 32 39 33 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2933</td><td>NUL
229a0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
229b0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
229c0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
229d0 22 3e 33 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e  ">34.184194</td>
229e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
229f0 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74  >CORSO ITALIA</t
22a00 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
22a10 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
22a20 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22a30 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
22a40 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
22a50 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22a60 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">5</td><td>Link
22a70 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22a80 72 69 67 68 74 22 3e 32 32 35 35 31 31 3c 2f 74  right">225511</t
22a90 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22aa0 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c  ht">182933</td><
22ab0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22ac0 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 3e  >181999</td><td>
22ad0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22ae0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22af0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22b00 67 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f  ght">49.241735</
22b10 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22b20 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41  <td>CORSO ITALIA
22b30 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
22b40 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
22b50 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22b60 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
22b70 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
22b80 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22b90 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">6</td><td>L
22ba0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
22bb0 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 35  n="right">222635
22bc0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22bd0 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74  right">181999</t
22be0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22bf0 68 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c  ht">181998</td><
22c00 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22c10 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22c20 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
22c30 22 72 69 67 68 74 22 3e 31 30 31 2e 36 32 39 37  "right">101.6297
22c40 35 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  50</td><td>NULL<
22c50 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54  /td><td>CORSO IT
22c60 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ALIA</td>..</tr>
22c70 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
22c80 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22c90 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22ca0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22cb0 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >0</td><td align
22cc0 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c  ="right">7</td><
22cd0 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
22ce0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
22cf0 34 37 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4780</td><td ali
22d00 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39  gn="right">18199
22d10 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  8</td><td align=
22d20 22 72 69 67 68 74 22 3e 31 38 33 35 36 30 3c 2f  "right">183560</
22d30 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22d40 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22d50 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
22d60 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 33 2e 37  ign="right">73.7
22d70 33 33 35 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55  33572</td><td>NU
22d80 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44  LL</td><td>VIA D
22d90 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f  ELL'ANFITEATRO</
22da0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
22db0 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
22dc0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22dd0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
22de0 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
22df0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22e00 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">8</td><td>Lin
22e10 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
22e20 22 72 69 67 68 74 22 3e 32 32 35 38 32 37 3c 2f  "right">225827</
22e30 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22e40 67 68 74 22 3e 31 38 33 35 36 30 3c 2f 74 64 3e  ght">183560</td>
22e50 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22e60 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
22e70 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22e80 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22e90 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22ea0 69 67 68 74 22 3e 34 32 2e 33 30 39 35 36 34 3c  ight">42.309564<
22eb0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22ec0 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e  ><td>VIA DELL'AN
22ed0 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c  FITEATRO</td>..<
22ee0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
22ef0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22f00 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22f10 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22f20 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
22f30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f  lign="right">9</
22f40 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
22f50 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22f60 22 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64  ">224897</td><td
22f70 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
22f80 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  83286</td><td al
22f90 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31  ign="right">1831
22fa0 32 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  28</td><td>NULL<
22fb0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22fc0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22fd0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22fe0 37 32 2e 34 34 34 36 30 39 3c 2f 74 64 3e 3c 74  72.444609</td><t
22ff0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
23000 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
23010 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
23020 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
23030 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
23040 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
23050 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
23060 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
23070 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e 4c 69  t">10</td><td>Li
23080 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
23090 3d 22 72 69 67 68 74 22 3e 32 32 34 32 33 32 3c  ="right">224232<
230a0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
230b0 69 67 68 74 22 3e 31 38 33 31 32 38 3c 2f 74 64  ight">183128</td
230c0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
230d0 74 22 3e 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74  t">182890</td><t
230e0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
230f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
23100 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
23110 72 69 67 68 74 22 3e 31 30 33 2e 36 31 32 32 32  right">103.61222
23120 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  1</td><td>NULL</
23130 74 64 3e 3c 74 64 3e 56 49 41 20 4e 49 43 43 4f  td><td>VIA NICCO
23140 4c 4f 27 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e  LO' ARETINO</td>
23150 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
23160 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
23170 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23180 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
23190 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
231a0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
231b0 31 31 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69  11</td><td>Parti
231c0 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 74  al Link (End)</t
231d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
231e0 68 74 22 3e 32 32 34 30 31 39 3c 2f 74 64 3e 3c  ht">224019</td><
231f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
23200 3e 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74 64 3e  >182890</td><td>
23210 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
23220 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
23230 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23240 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  ..<td align="rig
23250 68 74 22 3e 39 35 2e 37 36 30 32 32 32 3c 2f 74  ht">95.760222</t
23260 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
23270 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47  td>VIA ANTONIO G
23280 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a  UADAGNOLI</td>..
23290 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
232a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
232b0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
232c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
232d0 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
232e0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32  align="right">12
232f0 3c 2f 74 64 3e 3c 74 64 3e 45 67 72 65 73 73 20  </td><td>Egress 
23300 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  Path</td><td>NUL
23310 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
23320 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23330 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
23340 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
23350 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
23360 3d 22 72 69 67 68 74 22 3e 37 2e 33 31 36 37 30  ="right">7.31670
23370 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
23380 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23390 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  ..</tr>..</table
233a0 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e  >..<br>..Let's n
233b0 6f 77 20 71 75 69 63 6b 6c 79 20 65 78 61 6d 69  ow quickly exami
233c0 6e 65 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  ne the resultset
233d0 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
233e0 20 61 62 6f 76 65 20 3c 62 3e 50 6f 69 6e 74 2d   above <b>Point-
233f0 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65  to-Point</b> que
23400 72 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74  ry:..<ul>..<li>t
23410 68 65 20 67 65 6e 65 72 61 6c 20 6c 61 79 6f 75  he general layou
23420 74 20 69 73 20 61 6c 6d 6f 73 74 20 65 78 61 63  t is almost exac
23430 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20  tly the same as 
23440 79 6f 75 27 76 65 20 61 6c 72 65 61 64 79 20 73  you've already s
23450 65 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65 20  een in the case 
23460 6f 66 20 53 68 6f 72 74 65 73 74 50 61 74 68 20  of ShortestPath 
23470 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c  queries.</li>..<
23480 6c 69 3e 69 6e 20 74 68 65 20 73 70 65 63 69 66  li>in the specif
23490 69 63 20 63 61 73 65 20 6f 66 20 50 6f 69 6e 74  ic case of Point
234a0 2d 74 6f 2d 50 6f 69 6e 74 20 74 68 65 20 3c 62  -to-Point the <b
234b0 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 6f  >first row</b> o
234c0 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  f the resultset 
234d0 77 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f 6e 74  will always cont
234e0 61 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e  ain the followin
234f0 67 73 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f  gs <b>NOT NULL</
23500 62 3e 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 75 6c  b> columns:..<ul
23510 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64 65 46 72  >..<li><b>NodeFr
23520 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f  om</b> and <b>No
23530 64 65 54 6f 3c 2f 62 3e 3a 20 74 68 65 20 74 77  deTo</b>: the tw
23540 6f 20 47 65 6f 6d 65 74 72 69 65 73 20 64 65 66  o Geometries def
23550 69 6e 69 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e  ining the <u><i>
23560 6f 72 69 67 69 6e 3c 2f 69 3e 3c 2f 75 3e 20 61  origin</i></u> a
23570 6e 64 20 3c 75 3e 3c 69 3e 64 65 73 74 69 6e 61  nd <u><i>destina
23580 74 69 6f 6e 3c 2f 69 3e 3c 2f 75 3e 20 50 6f 69  tion</i></u> Poi
23590 6e 74 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  nts.</li>..<li><
235a0 62 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a  b>Tolerance</b>:
235b0 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 64 69 73   the maximum dis
235c0 74 61 6e 63 65 20 61 6c 6c 6f 77 65 64 20 62 65  tance allowed be
235d0 74 77 65 65 6e 20 72 65 66 65 72 65 6e 63 65 20  tween reference 
235e0 50 6f 69 6e 74 73 20 61 6e 64 20 43 61 6e 64 69  Points and Candi
235f0 64 61 74 65 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e  date Links.</li>
23600 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
23610 69 3e 74 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f 62  i>the <b>Role</b
23620 3e 20 63 6f 6c 75 6d 6e 20 63 61 6e 20 61 73 73  > column can ass
23630 75 6d 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 66  ume one of the f
23640 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a  ollowing values:
23650 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50  ..<ul>..<li><b>P
23660 6f 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c 75 74  oint2Point Solut
23670 69 6f 6e 3c 2f 62 3e 3a 20 74 68 65 20 68 65 61  ion</b>: the hea
23680 64 65 72 20 72 6f 77 20 73 75 6d 6d 61 72 69 7a  der row summariz
23690 69 6e 67 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e  ing the Solution
236a0 20 61 73 20 61 20 77 68 6f 6c 65 2e 0d 0a 3c 75   as a whole...<u
236b0 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 6f 69 6e 74  l>..<li><b>Point
236c0 46 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69  From</b>, <b>Poi
236d0 6e 74 54 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  ntTo</b> and <b>
236e0 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 20 63 6f  Tolerance</b> co
236f0 6c 75 6d 6e 73 20 77 69 6c 6c 20 68 61 76 65 20  lumns will have 
23700 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20  <b>NOT NULL</b> 
23710 76 61 6c 75 65 73 20 6f 6e 6c 79 20 69 6e 20 74  values only in t
23720 68 65 20 68 65 61 64 65 72 20 72 6f 77 2e 3c 2f  he header row.</
23730 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
23740 0a 3c 6c 69 3e 3c 62 3e 49 6e 67 72 65 73 73 20  .<li><b>Ingress 
23750 50 61 74 68 3c 2f 62 3e 3a 20 61 20 73 74 72 61  Path</b>: a stra
23760 69 67 68 74 20 73 65 67 6d 65 6e 74 20 63 6f 6e  ight segment con
23770 6e 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69 67  necting the Orig
23780 69 6e 20 50 6f 69 6e 74 20 74 6f 20 74 68 65 20  in Point to the 
23790 66 69 72 73 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e  first Link.</li>
237a0 0d 0a 3c 6c 69 3e 3c 62 3e 45 67 72 65 73 73 20  ..<li><b>Egress 
237b0 50 61 74 68 3c 2f 62 3e 3a 20 61 20 73 74 72 61  Path</b>: a stra
237c0 69 67 68 74 20 73 65 67 6d 65 6e 74 20 63 6f 6e  ight segment con
237d0 6e 65 63 74 69 6e 67 20 74 68 65 20 6c 61 73 74  necting the last
237e0 20 4c 69 6e 6b 20 74 6f 20 74 68 65 20 44 65 73   Link to the Des
237f0 74 69 6e 61 74 69 6f 6e 20 50 6f 69 6e 74 2e 0d  tination Point..
23800 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 62 6f 74 68 20  .<ul>..<li>both 
23810 74 68 65 20 49 6e 67 72 65 73 73 20 61 6e 64 20  the Ingress and 
23820 74 68 65 20 45 67 72 65 73 73 20 50 61 74 68 20  the Egress Path 
23830 72 6f 77 73 20 77 69 6c 6c 20 61 6c 77 61 79 73  rows will always
23840 20 68 61 76 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62   have <b>NULL</b
23850 3e 20 76 61 6c 75 65 73 20 6f 6e 20 3c 62 3e 4c  > values on <b>L
23860 69 6e 6b 52 6f 77 69 64 3c 2f 62 3e 2c 20 3c 62  inkRowid</b>, <b
23870 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e  >NodeFrom</b> an
23880 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20  d <b>NodeTo</b> 
23890 63 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c  columns.</li>..<
238a0 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  /ul></li>..<li><
238b0 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28  b>Partial Link (
238c0 53 74 61 72 74 29 3c 2f 62 3e 3a 20 74 68 65 20  Start)</b>: the 
238d0 70 61 72 74 69 61 6c 20 73 65 63 74 69 6f 6e 20  partial section 
238e0 6f 66 20 74 68 65 20 66 69 72 73 74 20 4c 69 6e  of the first Lin
238f0 6b 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68  k...<ul>..<li>th
23900 69 73 20 73 70 65 63 69 66 69 63 20 72 6f 77 20  is specific row 
23910 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 61 76 65  will always have
23920 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76   a <b>NULL</b> v
23930 61 6c 75 65 20 6f 6e 20 74 68 65 20 3c 62 3e 4e  alue on the <b>N
23940 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 63 6f 6c 75  odeFrom</b> colu
23950 6d 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  mn.</li>..</ul><
23960 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72  /li>..<li><b>Par
23970 74 69 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c  tial Link (End)<
23980 2f 62 3e 3a 20 74 68 65 20 70 61 72 74 69 61 6c  /b>: the partial
23990 20 73 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20   section of the 
239a0 6c 61 73 74 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e  last Link...<ul>
239b0 0d 0a 3c 6c 69 3e 74 68 69 73 20 73 70 65 63 69  ..<li>this speci
239c0 66 69 63 20 72 6f 77 20 77 69 6c 6c 20 61 6c 77  fic row will alw
239d0 61 79 73 20 68 61 76 65 20 61 20 3c 62 3e 4e 55  ays have a <b>NU
239e0 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 20 6f 6e 20  LL</b> value on 
239f0 74 68 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  the <b>NodeTo</b
23a00 3e 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0d 0a  > column.</li>..
23a10 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </ul></li>..<li>
23a20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 3a 20 61 6e 79  <b>Link</b>: any
23a30 20 6f 74 68 65 72 20 4c 69 6e 6b 20 72 65 71 75   other Link requ
23a40 69 72 65 64 20 62 79 20 74 68 65 20 50 6f 69 6e  ired by the Poin
23a50 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75 74  t-to-Point Solut
23a60 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ion...<ul>..<li>
23a70 61 6c 6c 20 74 68 65 73 65 20 72 6f 77 73 20 77  all these rows w
23a80 69 6c 6c 20 61 6c 77 61 79 73 20 68 61 76 65 20  ill always have 
23a90 3c 62 3e 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20  <b>NOT NULL</b> 
23aa0 76 61 6c 75 65 73 20 6f 6e 20 3c 62 3e 4c 69 6e  values on <b>Lin
23ab0 6b 52 6f 77 69 64 3c 2f 62 3e 2c 20 3c 62 3e 4e  kRowid</b>, <b>N
23ac0 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20  odeFrom</b> and 
23ad0 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f  <b>NodeTo</b> co
23ae0 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  lumns.</li>..</u
23af0 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  l></li>..</ul></
23b00 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e  li>..</ul>..<br>
23b10 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 50 6f 69  <br><br>..<b>Poi
23b20 6e 74 2d 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 20  nt-to-Point</b> 
23b30 71 75 65 72 69 65 73 20 63 61 6e 20 62 65 20 63  queries can be c
23b40 75 73 74 6f 6d 69 7a 65 64 2c 20 62 75 74 20 74  ustomized, but t
23b50 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  he configuration
23b60 20 72 75 6c 65 73 20 73 6c 69 67 68 74 6c 79 20   rules slightly 
23b70 64 69 66 66 65 72 20 66 72 6f 6d 20 77 68 61 74  differ from what
23b80 20 79 6f 75 20 68 61 76 65 20 61 6c 72 65 61 64   you have alread
23b90 79 20 73 65 65 6e 20 69 6e 20 70 72 65 76 69 6f  y seen in previo
23ba0 75 73 20 65 78 61 6d 70 6c 65 73 2e 0d 0a 3c 75  us examples...<u
23bb0 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 41 6c 67 6f 72  l>..<li><b>Algor
23bc0 69 74 68 6d 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 3c  ithm</b>: only <
23bd0 62 3e 44 69 6a 6b 73 74 72 61 3c 2f 62 3e 20 69  b>Dijkstra</b> i
23be0 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 3c  s supported by <
23bf0 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  b>Point-to-Point
23c00 3c 2f 62 3e 2c 20 61 6e 64 20 77 69 6c 6c 20 62  </b>, and will b
23c10 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 73 73  e implicitly ass
23c20 75 6d 65 64 20 65 76 65 6e 20 77 68 65 6e 20 74  umed even when t
23c30 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 3c  he alternative <
23c40 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f 72 69 74  b>A*</b> algorit
23c50 68 6d 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20  hm is currently 
23c60 73 65 6c 65 63 74 65 64 2e 3c 62 72 3e 0d 0a 54  selected.<br>..T
23c70 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 74  his is because t
23c80 68 65 20 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69  he internal logi
23c90 63 20 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f  c of Point-to-Po
23ca0 69 6e 74 20 72 65 71 75 69 72 65 73 20 6d 75 6c  int requires mul
23cb0 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 71  ti-destination q
23cc0 75 65 72 69 65 73 20 69 6e 20 6f 72 64 65 72 20  ueries in order 
23cd0 74 6f 20 65 76 61 6c 75 61 74 65 20 61 6c 6c 20  to evaluate all 
23ce0 43 61 6e 64 69 64 61 74 65 20 53 6f 6c 75 74 69  Candidate Soluti
23cf0 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ons.</li>..<li><
23d00 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20 74  b>Options</b>: t
23d10 68 65 20 75 73 75 61 6c 20 3c 62 3e 46 55 4c 4c  he usual <b>FULL
23d20 3c 2f 62 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45 3c  </b>, <b>SIMPLE<
23d30 2f 62 3e 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53  /b>, <b>NO LINKS
23d40 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 47  </b> and <b>NO G
23d50 45 4f 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61 72  EOMETRIES</b> ar
23d60 65 20 73 75 70 70 6f 72 74 65 64 20 61 6e 64 20  e supported and 
23d70 77 69 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61  will have the sa
23d80 6d 65 20 65 66 66 65 63 74 20 61 73 20 69 6e 20  me effect as in 
23d90 73 69 6e 67 6c 65 2d 64 65 73 74 69 6e 61 74 69  single-destinati
23da0 6f 6e 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e  on queries.</li>
23db0 0d 0a 3c 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61 6e  ..<li><b>Toleran
23dc0 63 65 3c 2f 62 3e 3a 20 74 68 69 73 20 73 65 74  ce</b>: this set
23dd0 74 69 6e 67 20 69 73 20 73 70 65 63 69 66 69 63  ting is specific
23de0 20 74 6f 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69   to Point-to-Poi
23df0 6e 74 2c 20 61 6e 64 20 64 65 66 69 6e 65 73 20  nt, and defines 
23e00 74 68 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f  the maximum allo
23e10 77 61 62 6c 65 20 64 69 73 74 61 6e 63 65 20 62  wable distance b
23e20 65 74 77 65 65 6e 20 61 20 72 65 66 65 72 65 6e  etween a referen
23e30 63 65 20 50 6f 69 6e 74 20 61 6e 64 20 43 61 6e  ce Point and Can
23e40 64 69 64 61 74 65 20 4c 69 6e 6b 73 2e 3c 62 72  didate Links.<br
23e50 3e 0d 0a 49 74 20 64 65 66 61 75 6c 74 73 20 74  >..It defaults t
23e60 6f 20 3c 62 3e 32 30 2e 30 6d 3c 2f 62 3e 20 69  o <b>20.0m</b> i
23e70 66 20 6e 6f 74 20 65 78 70 6c 69 63 69 74 6c 79  f not explicitly
23e80 20 73 65 74 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c   set.</li>..</ul
23e90 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55  >..<verbatim>..U
23ea0 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54  PDATE byfoot SET
23eb0 20 4f 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47   Options = 'NO G
23ec0 45 4f 4d 45 54 52 49 45 53 27 2c 20 54 6f 6c 65  EOMETRIES', Tole
23ed0 72 61 6e 63 65 20 3d 20 32 35 2e 35 3b 0d 0a 0d  rance = 25.5;...
23ee0 0a 53 45 4c 45 43 54 20 52 65 71 75 65 73 74 2c  .SELECT Request,
23ef0 20 4f 70 74 69 6f 6e 73 2c 20 54 6f 6c 65 72 61   Options, Tolera
23f00 6e 63 65 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52  nce, RouteRow, R
23f10 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20  ole, LinkRowid, 
23f20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f  NodeFrom, NodeTo
23f30 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79  , Cost, Geometry
23f40 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66  , Name..FROM byf
23f50 6f 6f 74 0d 0a 57 48 45 52 45 20 50 6f 69 6e 74  oot..WHERE Point
23f60 46 72 6f 6d 20 3d 20 28 53 45 4c 45 43 54 20 67  From = (SELECT g
23f70 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f 6e  eom FROM house_n
23f80 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e 69 63  r_vw WHERE munic
23f90 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45 5a 5a  ipality = 'AREZZ
23fa0 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73 20 3d  O' AND address =
23fb0 20 27 56 49 41 20 44 45 27 27 20 43 45 4e 43 49   'VIA DE'' CENCI
23fc0 20 31 33 27 29 0d 0a 20 20 20 20 41 4e 44 20 50   13')..    AND P
23fd0 6f 69 6e 74 54 6f 20 3d 20 28 53 45 4c 45 43 54  ointTo = (SELECT
23fe0 20 67 65 6f 6d 20 46 52 4f 4d 20 68 6f 75 73 65   geom FROM house
23ff0 5f 6e 72 5f 76 77 20 57 48 45 52 45 20 6d 75 6e  _nr_vw WHERE mun
24000 69 63 69 70 61 6c 69 74 79 20 3d 20 27 41 52 45  icipality = 'ARE
24010 5a 5a 4f 27 20 41 4e 44 20 61 64 64 72 65 73 73  ZZO' AND address
24020 20 3d 20 27 56 49 41 20 41 4e 54 4f 4e 49 4f 20   = 'VIA ANTONIO 
24030 47 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 43 27  GUADAGNOLI 19/C'
24040 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  );..</verbatim>.
24050 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  .The following t
24060 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72  able shows the r
24070 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
24080 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 50  d by the above P
24090 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75  oint-to-Point qu
240a0 65 72 79 20 61 66 74 65 72 20 73 65 6c 65 63 74  ery after select
240b0 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 20 3d  ing <b>Options =
240c0 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45 53 27   'NO GEOMETRIES'
240d0 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54 6f 6c 65  </b> and <b>Tole
240e0 72 61 6e 63 65 20 3d 20 32 35 2e 35 3c 2f 62 3e  rance = 25.5</b>
240f0 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  <br><br>..<table
24100 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
24110 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
24120 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
24130 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
24140 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
24150 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65 73  "#d0d0a0">Reques
24160 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  t</th><th bgcolo
24170 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69  r="#d0d0a0">Opti
24180 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ons</th><th bgco
24190 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 54 6f  lor="#d0d0a0">To
241a0 6c 65 72 61 6e 63 65 3c 2f 74 68 3e 3c 74 68 20  lerance</th><th 
241b0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
241c0 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c  ">RouteRow</th><
241d0 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
241e0 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74  0a0">Role</th><t
241f0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
24200 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74  a0">LinkRowid</t
24210 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
24220 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d  d0d0a0">NodeFrom
24230 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
24240 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54  ="#d0d0a0">NodeT
24250 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  o</th><th bgcolo
24260 72 3d 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74  r="#d0d0a0">Cost
24270 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
24280 3d 22 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65  ="#d0d0a0">Geome
24290 74 72 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  try</th><th bgco
242a0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61  lor="#d0d0a0">Na
242b0 6d 65 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74  me</th></tr>..<t
242c0 72 3e 0d 0a 3c 74 64 3e 50 6f 69 6e 74 32 50 6f  r>..<td>Point2Po
242d0 69 6e 74 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64  int Path</td><td
242e0 3e 4e 6f 20 47 65 6f 6d 65 74 72 69 65 73 3c 2f  >No Geometries</
242f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24300 67 68 74 22 3e 32 35 2e 35 30 30 30 30 30 3c 2f  ght">25.500000</
24310 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24320 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 50  ght">0</td><td>P
24330 6f 69 6e 74 32 50 6f 69 6e 74 20 53 6f 6c 75 74  oint2Point Solut
24340 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ion</td><td>NULL
24350 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24360 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24370 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24380 3e 36 35 31 2e 30 36 37 30 38 32 3c 2f 74 64 3e  >651.067082</td>
24390 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
243a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
243b0 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
243c0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
243d0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
243e0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
243f0 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 49 6e 67 72  ">1</td><td>Ingr
24400 65 73 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64  ess Path</td><td
24410 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24420 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24430 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24440 69 67 68 74 22 3e 32 2e 33 30 31 36 38 37 3c 2f  ight">2.301687</
24450 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24460 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
24470 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
24480 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
24490 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
244a0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
244b0 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 50  ght">2</td><td>P
244c0 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28 53 74 61  artial Link (Sta
244d0 72 74 29 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  rt)</td><td alig
244e0 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 32 36 34  n="right">224264
244f0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24500 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24510 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c  ht">182630</td><
24520 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
24530 3e 34 36 2e 30 38 32 37 36 31 3c 2f 74 64 3e 3c  >46.082761</td><
24540 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24550 56 49 41 20 44 45 27 20 43 45 4e 43 49 3c 2f 74  VIA DE' CENCI</t
24560 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
24570 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
24580 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24590 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
245a0 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
245b0 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
245c0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
245d0 32 33 37 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  23758</td><td al
245e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36  ign="right">1826
245f0 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  30</td><td align
24600 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c  ="right">182629<
24610 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24620 69 67 68 74 22 3e 32 34 2e 31 39 38 31 31 35 3c  ight">24.198115<
24630 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24640 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49  ><td>CORSO ITALI
24650 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  A</td>..</tr>..<
24660 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
24670 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24680 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
24690 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c  align="right">4<
246a0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
246b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
246c0 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c 74  t">225512</td><t
246d0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
246e0 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61  182629</td><td a
246f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
24700 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  933</td><td alig
24710 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31 38 34  n="right">34.184
24720 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  194</td><td>NULL
24730 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49  </td><td>CORSO I
24740 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  TALIA</td>..</tr
24750 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
24760 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24770 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24780 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24790 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">5</td><td>Link
247a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
247b0 72 69 67 68 74 22 3e 32 32 35 35 31 31 3c 2f 74  right">225511</t
247c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
247d0 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e 3c  ht">182933</td><
247e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
247f0 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20  >181999</td><td 
24800 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 39  align="right">49
24810 2e 32 34 31 37 33 35 3c 2f 74 64 3e 3c 74 64 3e  .241735</td><td>
24820 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52  NULL</td><td>COR
24830 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a  SO ITALIA</td>..
24840 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
24850 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24860 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24870 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24880 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e  ight">6</td><td>
24890 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
248a0 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 30  gn="right">22580
248b0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
248c0 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
248d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
248e0 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
248f0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24900 22 3e 39 35 2e 35 39 32 32 30 34 3c 2f 74 64 3e  ">95.592204</td>
24910 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24920 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43  >VIA FRANCESCO C
24930 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RISPI</td>..</tr
24940 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
24950 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24960 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24970 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24980 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">7</td><td>Link
24990 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
249a0 72 69 67 68 74 22 3e 32 31 39 31 37 31 3c 2f 74  right">219171</t
249b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
249c0 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
249d0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
249e0 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20  >178732</td><td 
249f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 33  align="right">93
24a00 2e 32 38 35 35 33 38 3c 2f 74 64 3e 3c 74 64 3e  .285538</td><td>
24a10 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
24a20 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50   FRANCESCO CRISP
24a30 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
24a40 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
24a50 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24a60 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
24a70 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c  align="right">8<
24a80 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
24a90 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24aa0 74 22 3e 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74  t">219058</td><t
24ab0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24ac0 31 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61  178732</td><td a
24ad0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
24ae0 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  754</td><td alig
24af0 6e 3d 22 72 69 67 68 74 22 3e 31 34 38 2e 36 35  n="right">148.65
24b00 36 30 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  6089</td><td>NUL
24b10 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52  L</td><td>VIA FR
24b20 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f  ANCESCO CRISPI</
24b30 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
24b40 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
24b50 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24b60 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
24b70 67 6e 3d 22 72 69 67 68 74 22 3e 39 3c 2f 74 64  gn="right">9</td
24b80 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c 69 6e  ><td>Partial Lin
24b90 6b 20 28 45 6e 64 29 3c 2f 74 64 3e 3c 74 64 20  k (End)</td><td 
24ba0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
24bb0 34 30 31 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4019</td><td ali
24bc0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39  gn="right">18289
24bd0 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  0</td><td>NULL</
24be0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24bf0 67 68 74 22 3e 31 35 30 2e 32 36 30 36 34 31 3c  ght">150.260641<
24c00 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24c10 3e 3c 74 64 3e 56 49 41 20 41 4e 54 4f 4e 49 4f  ><td>VIA ANTONIO
24c20 20 47 55 41 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e   GUADAGNOLI</td>
24c30 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
24c40 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
24c50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
24c60 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
24c70 22 72 69 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c  "right">10</td><
24c80 74 64 3e 45 67 72 65 73 73 20 50 61 74 68 3c 2f  td>Egress Path</
24c90 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24ca0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
24cb0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
24cc0 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 32 36  ign="right">7.26
24cd0 34 31 31 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  4118</td><td>NUL
24ce0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24cf0 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
24d00 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ble>..<br><br>..
24d10 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 67 72  The map below gr
24d20 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20  aphically shows 
24d30 74 68 65 20 74 77 6f 20 50 6f 69 6e 74 2d 74 6f  the two Point-to
24d40 2d 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 73  -Point Solutions
24d50 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
24d60 20 70 72 65 76 69 6f 75 73 20 71 75 65 72 69 65   previous querie
24d70 73 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69  s...<br><br>..<i
24d80 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  mg src="https://
24d90 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
24da0 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e  gaia-sins/routin
24db0 67 2d 66 69 67 73 2f 70 6f 69 6e 74 2d 74 6f 2d  g-figs/point-to-
24dc0 70 6f 69 6e 74 2e 6a 70 67 22 20 61 6c 74 3d 22  point.jpg" alt="
24dd0 70 6f 69 6e 74 2d 74 6f 2d 70 6f 69 6e 74 22 3e  point-to-point">
24de0 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20  ..<ul>..<li>the 
24df0 67 72 65 65 6e 20 6c 69 6e 65 20 63 6f 72 72 65  green line corre
24e00 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 66 69  sponds to the fi
24e10 72 73 74 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69  rst solution (<i
24e20 3e 50 6f 69 6e 74 54 6f 20 3d 20 56 49 41 20 47  >PointTo = VIA G
24e30 55 41 44 41 47 4e 4f 4c 49 20 31 39 2f 42 3c 2f  UADAGNOLI 19/B</
24e40 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74  i>).</li>..<li>t
24e50 68 65 20 79 65 6c 6c 6f 77 20 6c 69 6e 65 20 63  he yellow line c
24e60 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68  orresponds to th
24e70 65 20 73 65 63 6f 6e 64 20 73 6f 6c 75 74 69 6f  e second solutio
24e80 6e 20 28 3c 69 3e 50 6f 69 6e 74 54 6f 20 3d 20  n (<i>PointTo = 
24e90 56 49 41 20 47 55 41 44 41 47 4e 4f 4c 49 20 31  VIA GUADAGNOLI 1
24ea0 39 2f 43 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a  9/C</i>).</li>..
24eb0 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e  </ul>..<br>..<u>
24ec0 4e 6f 74 65 3c 2f 75 3e 3a 20 50 6f 69 6e 74 2d  Note</u>: Point-
24ed0 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 69 65 73  to-Point queries
24ee0 20 61 72 65 20 76 65 72 79 20 73 65 6e 73 69 74   are very sensit
24ef0 69 76 65 2c 20 61 6e 64 20 61 20 76 65 72 79 20  ive, and a very 
24f00 62 6c 61 6e 64 20 73 68 69 66 74 20 61 66 66 65  bland shift affe
24f10 63 74 69 6e 67 20 74 68 65 20 70 6f 73 69 74 69  cting the positi
24f20 6f 6e 20 6f 66 20 61 20 72 65 66 65 72 65 6e 63  on of a referenc
24f30 65 20 50 6f 69 6e 74 20 63 6f 75 6c 64 20 65 61  e Point could ea
24f40 73 69 6c 79 20 63 61 75 73 65 20 64 72 61 6d 61  sily cause drama
24f50 74 69 63 20 63 68 61 6e 67 65 73 20 69 6e 20 74  tic changes in t
24f60 68 65 20 53 6f 6c 75 74 69 6f 6e 27 73 20 50 61  he Solution's Pa
24f70 74 68 20 28 61 73 20 69 73 20 69 6e 20 74 68 69  th (as is in thi
24f80 73 20 63 61 73 65 29 2e 0d 0a 3c 62 72 3e 3c 62  s case)...<br><b
24f90 72 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 61  r>..<hr><br>..<a
24fa0 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77   href="https://w
24fb0 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 66  ww.gaia-gis.it/f
24fc0 6f 73 73 69 6c 2f 6c 69 62 73 70 61 74 69 61 6c  ossil/libspatial
24fd0 69 74 65 2f 77 69 6b 69 3f 6e 61 6d 65 3d 34 2e  ite/wiki?name=4.
24fe0 33 2e 30 2d 64 6f 63 22 3e 62 61 63 6b 3c 2f 61  3.0-doc">back</a
24ff0 3e 0a 5a 20 63 33 32 39 39 38 62 36 66 35 35 37  >.Z c32998b6f557
25000 34 64 35 64 31 38 64 61 33 63 31 38 31 65 66 35  4d5d18da3c181ef5
25010 64 39 62 37 0a                                   d9b7.