Hex Artifact Content
Not logged in

Artifact ac94e13731d940d35197d7b0676df49de7ea67c5:

Wiki page [VirtualRouting] by sandro 2018-04-25 11:01:13.
0000: 44 20 32 30 31 38 2d 30 34 2d 32 35 54 31 31 3a  D 2018-04-25T11:
0010: 30 31 3a 31 33 2e 33 33 30 0a 4c 20 56 69 72 74  01:13.330.L Virt
0020: 75 61 6c 52 6f 75 74 69 6e 67 0a 50 20 31 36 31  ualRouting.P 161
0030: 34 35 64 62 66 36 37 62 32 64 65 32 33 37 38 63  45dbf67b2de2378c
0040: 31 61 35 66 38 62 64 35 36 33 62 62 37 65 32 37  1a5f8bd563bb7e27
0050: 33 34 34 63 34 0a 55 20 73 61 6e 64 72 6f 0a 57  344c4.U sandro.W
0060: 20 31 35 31 33 32 39 0a 3c 61 20 68 72 65 66 3d   151329.<a href=
0070: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
0080: 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f  a-gis.it/fossil/
0090: 6c 69 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69  libspatialite/wi
00a0: 6b 69 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f  ki?name=4.3.0-do
00b0: 63 22 3e 62 61 63 6b 3c 2f 61 3e 3c 68 72 3e 3c  c">back</a><hr><
00c0: 62 72 3e 0d 0a 3c 68 31 3e 54 61 62 6c 65 20 6f  br>..<h1>Table o
00d0: 66 20 43 6f 6e 74 65 6e 74 73 3c 2f 68 31 3e 0d  f Contents</h1>.
00e0: 0a 31 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 69  .1 - <a href="#i
00f0: 6e 74 72 6f 22 3e 49 6e 74 72 6f 64 75 63 74 69  ntro">Introducti
0100: 6f 6e 3c 2f 61 3e 3c 62 72 3e 0d 0a 32 20 2d 20  on</a><br>..2 - 
0110: 3c 61 20 68 72 65 66 3d 22 23 73 61 6d 70 6c 65  <a href="#sample
0120: 22 3e 54 68 65 20 73 61 6d 70 6c 65 2f 74 65 73  ">The sample/tes
0130: 74 20 44 42 3c 2f 61 3e 3c 62 72 3e 0d 0a 33 20  t DB</a><br>..3 
0140: 2d 20 3c 61 20 68 72 65 66 3d 22 23 63 72 65 61  - <a href="#crea
0150: 74 65 22 3e 43 72 65 61 74 69 6e 67 20 56 69 72  te">Creating Vir
0160: 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c  tualRouting Tabl
0170: 65 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 34 20 2d 20  es</a><br>..4 - 
0180: 3c 61 20 68 72 65 66 3d 22 23 66 72 6f 6d 5f 74  <a href="#from_t
0190: 6f 22 3e 53 6f 6c 76 69 6e 67 20 63 6c 61 73 73  o">Solving class
01a0: 69 63 20 53 68 6f 72 74 65 73 74 20 50 61 74 68  ic Shortest Path
01b0: 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72   problems</a><br
01c0: 3e 0d 0a 35 20 2d 20 3c 61 20 68 72 65 66 3d 22  >..5 - <a href="
01d0: 23 6d 75 6c 74 69 22 3e 53 6f 6c 76 69 6e 67 20  #multi">Solving 
01e0: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
01f0: 6e 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  n Shortest Path 
0200: 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e  problems</a><br>
0210: 0d 0a 36 20 2d 20 3c 61 20 68 72 65 66 3d 22 23  ..6 - <a href="#
0220: 69 73 6f 63 68 72 6f 6e 65 22 3e 53 6f 6c 76 69  isochrone">Solvi
0230: 6e 67 20 49 73 6f 63 68 72 6f 6e 65 20 70 72 6f  ng Isochrone pro
0240: 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e 0d 0a 37  blems</a><br>..7
0250: 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 74 73 70   - <a href="#tsp
0260: 22 3e 53 6f 6c 76 69 6e 67 20 54 53 50 20 28 74  ">Solving TSP (t
0270: 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 73 6d 61  raveling salesma
0280: 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c  n) problems</a><
0290: 62 72 3e 0d 0a 38 20 2d 20 3c 61 20 68 72 65 66  br>..8 - <a href
02a0: 3d 22 23 70 32 70 22 3e 53 6f 6c 76 69 6e 67 20  ="#p2p">Solving 
02b0: 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 70  Point-to-Point p
02c0: 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 62 72 3e 0d  roblems</a><br>.
02d0: 0a 3c 62 72 3e 3c 68 72 3e 0d 0a 3c 68 31 3e 3c  .<br><hr>..<h1><
02e0: 61 20 6e 61 6d 65 3d 22 69 6e 74 72 6f 22 3e 31  a name="intro">1
02f0: 20 2d 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c   - Introduction<
0300: 2f 61 3e 3c 2f 68 31 3e 0d 0a 50 72 65 76 69 6f  /a></h1>..Previo
0310: 75 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 53  us versions of S
0320: 70 61 74 69 61 4c 69 74 65 20 74 72 61 64 69 74  patiaLite tradit
0330: 69 6f 6e 61 6c 6c 79 20 73 75 70 70 6f 72 74 65  ionally supporte
0340: 64 20 61 20 3c 62 3e 70 75 72 65 20 53 51 4c 20  d a <b>pure SQL 
0350: 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65 3c 2f  routing module</
0360: 62 3e 20 74 68 61 74 20 77 61 73 20 6e 61 6d 65  b> that was name
0370: 64 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73  d <a href="https
0380: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
0390: 69 74 2f 66 6f 73 73 69 6c 2f 6c 69 62 73 70 61  it/fossil/libspa
03a0: 74 69 61 6c 69 74 65 2f 77 69 6b 69 3f 6e 61 6d  tialite/wiki?nam
03b0: 65 3d 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b  e=VirtualNetwork
03c0: 2b 72 65 6c 6f 61 64 65 64 22 3e 56 69 72 74 75  +reloaded">Virtu
03d0: 61 6c 4e 65 74 77 6f 72 6b 3c 2f 61 3e 2e 3c 62  alNetwork</a>.<b
03e0: 72 3e 3c 62 72 3e 0d 0a 53 69 6e 63 65 20 76 65  r><br>..Since ve
03f0: 72 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f  rsion <b>5.0.0</
0400: 62 3e 20 61 20 62 72 61 6e 64 20 6e 65 77 20 3c  b> a brand new <
0410: 62 3e 72 6f 75 74 69 6e 67 20 6d 6f 64 75 6c 65  b>routing module
0420: 3c 2f 62 3e 20 28 6d 6f 72 65 20 61 64 76 61 6e  </b> (more advan
0430: 63 65 64 20 61 6e 64 20 73 6f 70 68 69 73 74 69  ced and sophisti
0440: 63 61 74 65 64 29 20 69 73 20 61 76 61 69 6c 61  cated) is availa
0450: 62 6c 65 2c 20 74 68 61 74 20 69 73 20 63 61 6c  ble, that is cal
0460: 6c 65 64 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f  led <b>VirtualRo
0470: 75 74 69 6e 67 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  uting</b>.<br>..
0480: 54 68 65 20 6e 6f 77 20 6f 62 73 6f 6c 65 74 65  The now obsolete
0490: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f   <b>VirtualNetwo
04a0: 72 6b 3c 2f 62 3e 20 69 73 20 73 74 69 6c 6c 20  rk</b> is still 
04b0: 73 75 70 70 6f 72 74 65 64 20 62 79 20 76 65 72  supported by ver
04c0: 73 69 6f 6e 20 3c 62 3e 35 2e 30 2e 30 3c 2f 62  sion <b>5.0.0</b
04d0: 3e 20 73 6f 20 61 73 20 74 6f 20 6e 6f 74 20 63  > so as to not c
04e0: 61 75 73 65 20 61 6e 20 61 62 72 75 70 74 20 62  ause an abrupt b
04f0: 72 65 61 6b 20 74 6f 20 61 6c 72 65 61 64 79 20  reak to already 
0500: 65 78 69 73 74 69 6e 67 20 61 70 70 6c 69 63 61  existing applica
0510: 74 69 6f 6e 73 2c 20 62 75 74 20 77 69 6c 6c 20  tions, but will 
0520: 70 72 65 73 75 6d 61 62 6c 79 20 62 65 20 64 69  presumably be di
0530: 73 63 6f 6e 74 69 6e 75 65 64 20 69 6e 20 66 75  scontinued in fu
0540: 74 75 72 65 20 76 65 72 73 69 6f 6e 73 2e 3c 62  ture versions.<b
0550: 72 3e 0d 0a 55 73 69 6e 67 20 3c 62 3e 56 69 72  r>..Using <b>Vir
0560: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20  tualRouting</b> 
0570: 69 6e 73 74 65 61 64 20 6f 66 20 3c 62 3e 56 69  instead of <b>Vi
0580: 72 74 75 61 6c 4e 65 74 77 69 72 6b 3c 2f 62 3e  rtualNetwirk</b>
0590: 20 69 73 20 77 61 72 6d 6c 79 20 72 65 63 6f 6d   is warmly recom
05a0: 6d 65 6e 64 65 64 20 66 6f 72 20 61 6e 79 20 6e  mended for any n
05b0: 65 77 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 20  ew development. 
05c0: 0d 0a 3c 68 32 3e 54 68 65 6f 72 65 74 69 63 61  ..<h2>Theoretica
05d0: 6c 20 66 6f 75 6e 64 61 74 69 6f 6e 73 20 2d 20  l foundations - 
05e0: 61 6e 20 75 6c 74 72 61 2d 71 75 69 63 6b 20 72  an ultra-quick r
05f0: 65 63 61 6c 6c 3c 2f 68 32 3e 0d 0a 41 6c 6c 20  ecall</h2>..All 
0600: 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72  <b>Routing algor
0610: 69 74 68 6d 73 3c 2f 62 3e 20 28 3c 69 3e 61 6b  ithms</b> (<i>ak
0620: 61 3c 2f 69 3e 20 3c 62 3e 53 68 6f 72 74 65 73  a</i> <b>Shortes
0630: 74 20 50 61 74 68 3c 2f 62 3e 20 61 6c 67 6f 72  t Path</b> algor
0640: 69 74 68 6d 73 29 20 61 72 65 20 62 61 73 65 64  ithms) are based
0650: 20 6f 6e 20 74 68 65 20 6d 61 74 68 65 6d 61 74   on the mathemat
0660: 69 63 73 20 6f 66 20 74 68 65 20 3c 61 20 68 72  ics of the <a hr
0670: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77  ef="https://en.w
0680: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b  ikipedia.org/wik
0690: 69 2f 47 72 61 70 68 5f 74 68 65 6f 72 79 22 3e  i/Graph_theory">
06a0: 47 72 61 70 68 20 74 68 65 6f 72 79 3c 2f 61 3e  Graph theory</a>
06b0: 20 6f 72 20 74 6f 20 62 65 20 6d 6f 72 65 20 70   or to be more p
06c0: 72 65 63 69 73 65 3a 20 6f 6e 20 3c 62 3e 57 65  recise: on <b>We
06d0: 69 67 68 74 65 64 20 47 72 61 70 68 73 3c 2f 62  ighted Graphs</b
06e0: 3e 2e 0d 0a 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73  >...<br>..<img s
06f0: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
0700: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
0710: 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66 69  -sins/routing-fi
0720: 67 73 2f 6e 65 74 77 6f 72 6b 2e 70 6e 67 22 20  gs/network.png" 
0730: 61 6c 74 3d 22 6e 65 74 77 6f 72 6b 22 3e 0d 0a  alt="network">..
0740: 3c 62 72 3e 0d 0a 41 20 74 6f 70 6f 6c 6f 67 69  <br>..A topologi
0750: 63 61 6c 6c 79 20 76 61 6c 69 64 20 3c 62 3e 4e  cally valid <b>N
0760: 65 74 77 6f 72 6b 3c 2f 62 3e 20 69 73 20 61 20  etwork</b> is a 
0770: 64 61 74 61 73 65 74 20 74 68 61 74 20 66 75 6c  dataset that ful
0780: 66 69 6c 6c 73 20 74 68 65 20 66 6f 6c 6c 6f 77  fills the follow
0790: 69 6e 67 20 72 65 71 75 69 72 65 6d 65 6e 74 73  ing requirements
07a0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 41 6c 6c  :..<ul>..<li>All
07b0: 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 64 61   items in the da
07c0: 74 61 73 65 74 20 61 72 65 20 63 61 6c 6c 65 64  taset are called
07d0: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 28 3c   <b>Links</b> (<
07e0: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 41 72 63  i>aka</i> <b>Arc
07f0: 73 3c 2f 62 3e 29 2c 20 61 6e 64 20 61 72 65 20  s</b>), and are 
0800: 65 78 70 65 63 74 65 64 20 74 6f 20 72 65 70 72  expected to repr
0810: 65 73 65 6e 74 20 73 6f 6d 65 20 6f 72 69 65 6e  esent some orien
0820: 74 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a  ted connection j
0830: 6f 69 6e 69 6e 67 20 74 77 6f 20 3c 62 3e 4e 6f  oining two <b>No
0840: 64 65 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75  des</b>.<br>..<u
0850: 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a 20 69 6e  >Example</u>: in
0860: 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 75 72   the above figur
0870: 65 20 4c 69 6e 6b 20 3c 62 3e 4c 33 3c 2f 62 3e  e Link <b>L3</b>
0880: 20 63 6f 6e 6e 65 63 74 73 20 4e 6f 64 65 73 20   connects Nodes 
0890: 3c 62 3e 4e 32 3c 2f 62 3e 20 61 6e 64 20 3c 62  <b>N2</b> and <b
08a0: 3e 4e 35 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c  >N5</b>.</li>..<
08b0: 6c 69 3e 54 68 65 72 65 66 6f 72 65 20 61 6c 6c  li>Therefore all
08c0: 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20 61 72   <b>Links</b> ar
08d0: 65 20 61 6c 77 61 79 73 20 65 78 70 65 63 74 65  e always expecte
08e0: 64 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20  d to explicitly 
08f0: 72 65 66 65 72 65 6e 63 65 20 61 20 3c 62 3e 53  reference a <b>S
0900: 74 61 72 74 2d 4e 6f 64 65 3c 2f 62 3e 20 28 3c  tart-Node</b> (<
0910: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 4e 6f 64  i>aka</i> <b>Nod
0920: 65 2d 46 72 6f 6d 3c 2f 62 3e 29 20 61 6e 64 20  e-From</b>) and 
0930: 61 6e 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f  an <b>End-Node</
0940: 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c  b> (<i>aka</i> <
0950: 62 3e 4e 6f 64 65 2d 54 6f 3c 2f 62 3e 29 2e 0d  b>Node-To</b>)..
0960: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 4c 69 6e 6b 73  .<ul>..<li>Links
0970: 20 61 72 65 20 61 6c 77 61 79 73 20 3c 62 3e 6f   are always <b>o
0980: 72 69 65 6e 74 65 64 3c 2f 62 3e 2c 20 61 6e 64  riented</b>, and
0990: 20 74 68 65 69 72 20 6e 61 74 75 72 61 6c 20 64   their natural d
09a0: 69 72 65 63 74 69 6f 6e 20 69 73 20 3c 62 3e 46  irection is <b>F
09b0: 72 6f 6d 2d 54 6f 3c 2f 62 3e 3a 0d 0a 3c 75 6c  rom-To</b>:..<ul
09c0: 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 20 3c 62 3e  >..<li>in an <b>
09d0: 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f  unidirectional</
09e0: 62 3e 20 4e 65 74 77 6f 72 6b 20 65 61 63 68 20  b> Network each 
09f0: 4c 69 6e 6b 20 69 73 20 61 6e 20 3c 62 3e 6f 6e  Link is an <b>on
0a00: 65 2d 77 61 79 3c 2f 62 3e 20 63 6f 6e 6e 65 63  e-way</b> connec
0a10: 74 69 6f 6e 2e 3c 62 72 3e 0d 0a 49 66 20 74 68  tion.<br>..If th
0a20: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20  e connection is 
0a30: 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20  to be available 
0a40: 69 6e 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20  in the opposite 
0a50: 64 69 72 65 63 74 69 6f 6e 2c 20 61 20 73 65 63  direction, a sec
0a60: 6f 6e 64 20 4c 69 6e 6b 20 6d 75 73 74 20 62 65  ond Link must be
0a70: 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 63 6c   explicitly decl
0a80: 61 72 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 45 78  ared.<br>..<u>Ex
0a90: 61 6d 70 6c 65 3c 2f 75 3e 3a 20 4c 69 6e 6b 20  ample</u>: Link 
0aa0: 3c 62 3e 58 31 3c 2f 62 3e 20 67 6f 65 73 20 66  <b>X1</b> goes f
0ab0: 72 6f 6d 20 4e 6f 64 65 20 3c 62 3e 41 3c 2f 62  rom Node <b>A</b
0ac0: 3e 20 74 6f 20 4e 6f 64 65 20 3c 62 3e 42 3c 2f  > to Node <b>B</
0ad0: 62 3e 2c 20 61 6e 64 20 4c 69 6e 6b 20 3c 62 3e  b>, and Link <b>
0ae0: 58 32 3c 2f 62 3e 20 67 6f 65 73 20 66 72 6f 6d  X2</b> goes from
0af0: 20 4e 6f 64 65 20 3c 62 3e 42 3c 2f 62 3e 20 74   Node <b>B</b> t
0b00: 6f 20 4e 6f 64 65 20 3c 62 3e 41 3c 2f 62 3e 2e  o Node <b>A</b>.
0b10: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 20  </li>..<li>in a 
0b20: 3c 62 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c  <b>bidirectional
0b30: 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 20 61 6c 6c  </b> Network all
0b40: 20 4c 69 6e 6b 73 20 61 72 65 20 61 73 73 75 6d   Links are assum
0b50: 65 64 20 74 6f 20 65 73 74 61 62 6c 69 73 68 20  ed to establish 
0b60: 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 20  a connection in 
0b70: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 2e  both directions.
0b80: 3c 62 72 3e 0d 0a 44 65 66 69 6e 69 74 69 6e 67  <br>..Definiting
0b90: 20 61 6e 20 3c 62 3e 6f 6e 65 2d 77 61 79 20 63   an <b>one-way c
0ba0: 6f 6e 6e 65 63 74 69 6f 6e 3c 2f 62 3e 20 72 65  onnection</b> re
0bb0: 71 75 69 72 65 73 20 61 6e 20 61 70 70 72 6f 70  quires an approp
0bc0: 72 69 61 74 65 20 61 74 74 72 69 62 75 74 65 20  riate attribute 
0bd0: 74 6f 20 62 65 20 73 65 74 20 28 73 65 65 20 62  to be set (see b
0be0: 65 6c 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  elow).</li>..</u
0bf0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68 65  l></li>..<li>The
0c00: 20 3c 62 3e 53 74 61 72 74 2d 3c 2f 62 3e 20 61   <b>Start-</b> a
0c10: 6e 64 20 3c 62 3e 45 6e 64 2d 4e 6f 64 65 3c 2f  nd <b>End-Node</
0c20: 62 3e 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61  b> could eventua
0c30: 6c 6c 79 20 62 65 20 74 68 65 20 73 61 6d 65 2c  lly be the same,
0c40: 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73   and in this cas
0c50: 65 20 77 65 27 6c 6c 20 68 61 76 65 20 61 20 3c  e we'll have a <
0c60: 62 3e 73 65 6c 66 2d 63 6c 6f 73 65 64 3c 2f 62  b>self-closed</b
0c70: 3e 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  > Link.</li>..<l
0c80: 69 3e 4e 65 74 77 6f 72 6b 27 73 20 4c 69 6e 6b  i>Network's Link
0c90: 73 20 3c 62 3e 63 61 6e 3c 2f 62 3e 20 65 76 65  s <b>can</b> eve
0ca0: 6e 74 75 61 6c 6c 79 20 64 65 66 69 6e 65 20 61  ntually define a
0cb0: 20 6c 69 6e 65 61 72 20 47 65 6f 6d 65 74 72 79   linear Geometry
0cc0: 20 28 3c 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c   (<b>LINESTRING<
0cd0: 2f 62 3e 29 20 67 6f 69 6e 67 20 66 72 6f 6d 20  /b>) going from 
0ce0: 74 68 65 20 3c 62 3e 53 74 61 72 74 2d 4e 6f 64  the <b>Start-Nod
0cf0: 65 3c 2f 62 3e 20 74 6f 20 74 68 65 20 3c 62 3e  e</b> to the <b>
0d00: 45 6e 64 2d 4e 6f 64 65 3c 2f 62 3e 2c 20 62 75  End-Node</b>, bu
0d10: 74 20 74 68 69 73 20 69 73 20 61 6e 20 6f 70 74  t this is an opt
0d20: 69 6f 6e 61 6c 20 66 65 61 74 75 72 65 2c 20 6e  ional feature, n
0d30: 6f 74 20 61 20 6d 61 6e 64 61 74 6f 72 79 20 72  ot a mandatory r
0d40: 65 71 75 69 72 65 6d 65 6e 74 2e 3c 2f 6c 69 3e  equirement.</li>
0d50: 0d 0a 3c 6c 69 3e 57 68 61 74 20 69 73 20 61 62  ..<li>What is ab
0d60: 73 6f 6c 75 74 65 6c 79 20 72 65 71 75 69 72 65  solutely require
0d70: 64 20 69 73 20 74 68 61 74 20 65 61 63 68 20 3c  d is that each <
0d80: 62 3e 4c 69 6e 6b 3c 2f 62 3e 20 6d 75 73 74 20  b>Link</b> must 
0d90: 65 78 70 6c 69 63 69 74 6c 79 20 72 65 66 65 72  explicitly refer
0da0: 65 6e 63 65 20 69 74 73 20 3c 62 3e 4e 6f 64 65  ence its <b>Node
0db0: 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  s</b>.</li>..</u
0dc0: 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 4e  l></li>..<li>A N
0dd0: 65 74 77 6f 72 6b 20 73 75 70 70 6f 72 74 69 6e  etwork supportin
0de0: 67 20 47 65 6f 6d 65 74 72 69 65 73 20 69 73 20  g Geometries is 
0df0: 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74  a <b>Spatial Net
0e00: 77 6f 72 6b 3c 2f 62 3e 3b 20 6f 74 68 65 72 77  work</b>; otherw
0e10: 69 73 65 20 61 20 4e 65 74 77 6f 72 6b 20 6c 61  ise a Network la
0e20: 63 6b 69 6e 67 20 61 6e 79 20 47 65 6f 6d 65 74  cking any Geomet
0e30: 72 79 20 69 73 20 61 20 3c 62 3e 4c 6f 67 69 63  ry is a <b>Logic
0e40: 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 2e 0d  al Network</b>..
0e50: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20  .<ul>..<li>In a 
0e60: 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f  <b>Spatial Netwo
0e70: 72 6b 3c 2f 62 3e 20 61 6c 6c 20 4c 69 6e 6b 73  rk</b> all Links
0e80: 20 3c 62 3e 6d 75 73 74 3c 2f 62 3e 20 68 61 76   <b>must</b> hav
0e90: 65 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  e a correspondin
0ea0: 67 20 47 65 6f 6d 65 74 72 79 2e 3c 2f 6c 69 3e  g Geometry.</li>
0eb0: 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62 3e 4c 6f  ..<li>In a <b>Lo
0ec0: 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b 3c 2f 62  gical Network</b
0ed0: 3e 20 61 6c 6c 20 4c 69 6e 6b 73 20 3c 62 3e 61  > all Links <b>a
0ee0: 72 65 20 73 74 72 69 63 74 6c 79 20 66 6f 72 62  re strictly forb
0ef0: 69 64 64 65 6e 3c 2f 62 3e 20 74 6f 20 68 61 76  idden</b> to hav
0f00: 65 20 61 6e 79 20 47 65 6f 6d 65 74 72 79 2e 3c  e any Geometry.<
0f10: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c  /li>..<li>In a <
0f20: 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72  b>Spatial Networ
0f30: 6b 3c 2f 62 3e 20 62 6f 74 68 20 74 68 65 20 3c  k</b> both the <
0f40: 62 3e 53 74 61 72 74 50 6f 69 6e 74 3c 2f 62 3e  b>StartPoint</b>
0f50: 20 61 6e 64 20 3c 62 3e 45 6e 64 50 6f 69 6e 74   and <b>EndPoint
0f60: 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e  </b> of each Lin
0f70: 6b 27 73 20 3c 62 3e 4c 49 4e 45 53 54 52 49 4e  k's <b>LINESTRIN
0f80: 47 3c 2f 62 3e 20 61 72 65 20 61 6c 77 61 79 73  G</b> are always
0f90: 20 65 78 70 65 63 74 65 64 20 74 6f 20 65 78 61   expected to exa
0fa0: 63 74 6c 79 20 63 6f 69 6e 63 69 64 65 20 77 69  ctly coincide wi
0fb0: 74 68 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  th the correspon
0fc0: 64 69 6e 67 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62  ding <b>Nodes</b
0fd0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  >.</li>..</ul></
0fe0: 6c 69 3e 0d 0a 3c 6c 69 3e 49 6e 20 61 20 3c 62  li>..<li>In a <b
0ff0: 3e 53 70 61 74 69 61 6c 20 4e 65 74 77 6f 72 6b  >Spatial Network
1000: 3c 2f 62 3e 20 61 6c 6c 20 72 65 66 65 72 65 6e  </b> all referen
1010: 63 65 73 20 74 6f 20 74 68 65 20 73 61 6d 65 20  ces to the same 
1020: 3c 62 3e 4e 6f 64 65 3c 2f 62 3e 20 62 79 20 64  <b>Node</b> by d
1030: 69 66 66 65 72 65 6e 74 20 4c 69 6e 6b 73 20 3c  ifferent Links <
1040: 62 3e 6d 75 73 74 3c 2f 62 3e 20 62 65 20 61 6e  b>must</b> be an
1050: 20 65 78 61 63 74 20 6d 61 74 63 68 2e 3c 62 72   exact match.<br
1060: 3e 0d 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75  >..<u>Example</u
1070: 3e 3a 20 4e 6f 64 65 20 3c 62 3e 4e 35 3c 2f 62  >: Node <b>N5</b
1080: 3e 20 69 73 20 73 68 61 72 65 64 20 62 79 20 4c  > is shared by L
1090: 69 6e 6b 73 20 3c 62 3e 4c 33 3c 2f 62 3e 2c 20  inks <b>L3</b>, 
10a0: 3c 62 3e 4c 36 3c 2f 62 3e 2c 20 3c 62 3e 4c 37  <b>L6</b>, <b>L7
10b0: 3c 2f 62 3e 2c 20 3c 62 3e 4c 39 3c 2f 62 3e 20  </b>, <b>L9</b> 
10c0: 61 6e 64 20 3c 62 3e 4c 31 30 3c 2f 62 3e 2c 20  and <b>L10</b>, 
10d0: 73 6f 20 61 6c 6c 20 74 68 65 69 72 20 63 6f 72  so all their cor
10e0: 72 65 73 70 6f 6e 64 69 6e 67 20 4c 49 4e 45 53  responding LINES
10f0: 54 52 49 4e 47 53 20 61 72 65 20 65 78 70 65 63  TRINGS are expec
1100: 74 65 64 20 74 6f 20 68 61 76 65 20 74 68 65 20  ted to have the 
1110: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 78  corresponding ex
1120: 74 72 65 6d 69 74 79 20 28 3c 62 3e 53 74 61 72  tremity (<b>Star
1130: 74 2d 3c 2f 62 3e 20 6f 72 20 3c 62 3e 45 6e 64  t-</b> or <b>End
1140: 2d 3c 2f 62 3e 2c 20 64 65 70 65 6e 64 69 6e 67  -</b>, depending
1150: 20 6f 6e 20 74 68 65 20 6f 72 69 65 6e 74 61 74   on the orientat
1160: 69 6f 6e 29 20 70 6f 69 6e 74 73 20 74 68 61 74  ion) points that
1170: 20 6d 75 73 74 20 65 78 61 63 74 6c 79 20 6d 61   must exactly ma
1180: 74 63 68 20 74 68 65 20 6f 74 68 65 72 2e 3c 62  tch the other.<b
1190: 72 3e 0d 0a 41 20 3c 62 3e 74 6f 70 6f 6c 6f 67  r>..A <b>topolog
11a0: 69 63 61 6c 20 69 6e 63 6f 6e 73 69 73 74 65 6e  ical inconsisten
11b0: 63 79 3c 2f 62 3e 20 65 78 69 73 74 73 20 69 66  cy</b> exists if
11c0: 20 61 6e 79 20 6f 66 20 74 68 65 73 65 20 63 6f   any of these co
11d0: 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74  nditions are not
11e0: 20 73 61 74 69 73 66 69 65 64 2c 20 77 68 69 63   satisfied, whic
11f0: 68 20 6c 65 61 64 73 20 74 6f 20 61 6e 20 3c 62  h leads to an <b
1200: 3e 69 6e 76 61 6c 69 64 3c 2f 62 3e 20 4e 65 74  >invalid</b> Net
1210: 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  work.</li>..<li>
1220: 41 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74  Accordingly to t
1230: 68 65 20 61 62 6f 76 65 20 70 72 65 6d 69 73 65  he above premise
1240: 73 2c 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20  s, <b>Nodes</b> 
1250: 61 72 65 20 6e 65 76 65 72 20 65 78 70 65 63 74  are never expect
1260: 65 64 20 74 6f 20 62 65 20 65 78 70 6c 69 63 69  ed to be explici
1270: 74 6c 79 20 64 65 63 6c 61 72 65 64 20 69 6e 20  tly declared in 
1280: 61 20 73 65 70 61 72 61 74 65 20 54 61 62 6c 65  a separate Table
1290: 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 69  .<br>..Just a si
12a0: 6e 67 6c 65 20 54 61 62 6c 65 20 64 65 63 6c 61  ngle Table decla
12b0: 72 69 6e 67 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b  ring all <b>Link
12c0: 73 3c 2f 62 3e 20 69 73 20 72 65 71 75 69 72 65  s</b> is require
12d0: 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 75  d in order to fu
12e0: 6c 6c 79 20 64 65 66 69 6e 65 20 61 20 74 6f 70  lly define a top
12f0: 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69 64  ologically valid
1300: 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 41   Network.<br>..A
1310: 6c 6c 20 74 68 65 20 4e 6f 64 65 73 20 63 61 6e  ll the Nodes can
1320: 20 74 68 65 6e 20 62 65 20 65 61 73 69 6c 79 20   then be easily 
1330: 65 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 74  extracted from t
1340: 68 65 20 4c 69 6e 6b 27 73 20 64 65 66 69 6e 69  he Link's defini
1350: 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 63 6f  tions and the co
1360: 6f 72 64 69 6e 61 74 65 73 20 66 6f 72 20 65 61  ordinates for ea
1370: 63 68 20 4e 6f 64 65 20 63 61 6e 20 62 65 20 64  ch Node can be d
1380: 69 72 65 63 74 6c 79 20 73 65 74 20 62 79 20 65  irectly set by e
1390: 78 74 72 61 63 74 69 6e 67 20 74 68 65 20 65 78  xtracting the ex
13a0: 74 72 65 6d 65 20 50 6f 69 6e 74 20 6f 66 20 74  treme Point of t
13b0: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
13c0: 20 4c 69 6e 65 73 74 72 69 6e 67 73 2e 3c 62 72   Linestrings.<br
13d0: 3e 0d 0a 49 66 20 61 6e 79 20 6d 69 73 6d 61 74  >..If any mismat
13e0: 63 68 20 69 73 20 64 65 74 65 63 74 65 64 20 74  ch is detected t
13f0: 68 65 20 4e 65 74 77 6f 72 6b 20 77 69 6c 6c 20  he Network will 
1400: 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 2e 3c  become invalid.<
1410: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20 3c 62 3e 4c  /li>..<li>A <b>L
1420: 69 6e 6b 3c 2f 62 3e 20 6d 61 79 20 6c 65 67 69  ink</b> may legi
1430: 74 69 6d 61 74 65 6c 79 20 73 65 6c 66 2d 69 6e  timately self-in
1440: 74 65 72 73 65 63 74 20 69 74 73 65 6c 66 20 28  tersect itself (
1450: 65 2e 67 2e 20 66 6f 72 6d 69 6e 67 20 61 20 6c  e.g. forming a l
1460: 6f 6f 70 29 2c 20 61 73 20 73 68 6f 77 6e 20 69  oop), as shown i
1470: 6e 20 74 68 65 20 61 62 6f 76 65 20 66 69 67 75  n the above figu
1480: 72 65 20 62 79 20 4c 69 6e 6b 20 3c 62 3e 4c 31  re by Link <b>L1
1490: 35 3c 2f 62 3e 20 28 6f 72 61 6e 67 65 20 73 70  5</b> (orange sp
14a0: 6f 74 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54  ot).</li>..<li>T
14b0: 77 6f 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20  wo <b>Links</b> 
14c0: 6d 61 79 20 6c 65 67 69 74 69 6d 61 74 65 6c 79  may legitimately
14d0: 20 69 6e 74 65 72 73 65 63 74 20 77 68 65 72 65   intersect where
14e0: 20 6e 6f 20 4e 6f 64 65 20 65 78 69 73 74 73 2c   no Node exists,
14f0: 20 61 73 20 65 78 65 6d 70 6c 69 66 69 65 64 20   as exemplified 
1500: 6f 6e 20 74 68 65 20 61 62 6f 76 65 20 66 69 67  on the above fig
1510: 75 72 65 20 62 79 20 4c 69 6e 6b 73 20 3c 62 3e  ure by Links <b>
1520: 4c 34 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4c 37  L4</b> and <b>L7
1530: 3c 2f 62 3e 20 28 67 72 65 65 6e 20 73 70 6f 74  </b> (green spot
1540: 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 75 73 75  ).<br>..This usu
1550: 61 6c 6c 79 20 68 61 70 70 65 6e 73 20 77 68 65  ally happens whe
1560: 6e 20 6f 6e 65 20 6f 66 20 74 68 65 20 74 77 6f  n one of the two
1570: 20 4c 69 6e 6b 73 20 6f 76 65 72 70 61 73 73 65   Links overpasse
1580: 73 20 74 68 65 20 6f 74 68 65 72 2c 20 6f 72 20  s the other, or 
1590: 77 68 65 72 65 20 73 6f 6d 65 20 74 65 63 68 6e  where some techn
15a0: 69 63 61 6c 20 72 65 73 74 72 69 63 74 69 6f 6e  ical restriction
15b0: 20 65 78 69 73 74 73 20 28 65 2e 67 2e 20 74 77   exists (e.g. tw
15c0: 6f 20 69 6e 73 75 6c 61 74 65 64 20 77 69 72 65  o insulated wire
15d0: 73 20 69 6e 20 61 6e 20 45 6c 65 63 74 72 69 63  s in an Electric
15e0: 61 6c 20 4e 65 74 77 6f 72 6b 29 2e 3c 2f 6c 69  al Network).</li
15f0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 73 3c  >..<li><b>Links<
1600: 2f 62 3e 20 61 72 65 6e 27 74 20 73 74 72 69 63  /b> aren't stric
1610: 74 6c 79 20 72 65 71 75 69 72 65 64 20 74 6f 20  tly required to 
1620: 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69  be associated wi
1630: 74 68 20 61 6e 79 20 73 70 65 63 69 66 69 63 20  th any specific 
1640: 61 74 74 72 69 62 75 74 65 2c 20 62 75 74 20 74  attribute, but t
1650: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 74 74  he following att
1660: 72 69 62 75 74 65 73 20 61 72 65 20 61 6c 6d 6f  ributes are almo
1670: 73 74 20 75 6e 69 76 65 72 73 61 6c 6c 79 20 73  st universally s
1680: 75 70 70 6f 72 74 65 64 3a 0d 0a 3c 75 6c 3e 0d  upported:..<ul>.
1690: 0a 3c 6c 69 3e 61 20 3c 62 3e 6e 61 6d 65 3c 2f  .<li>a <b>name</
16a0: 62 3e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74  b> identifying t
16b0: 68 65 20 4c 69 6e 6b 2e 3c 62 72 3e 0d 0a 3c 75  he Link.<br>..<u
16c0: 3e 45 78 61 6d 70 6c 65 73 3c 2f 75 3e 3a 20 74  >Examples</u>: t
16d0: 68 65 20 3c 69 3e 72 6f 61 64 20 74 6f 70 6f 6e  he <i>road topon
16e0: 79 6d 3c 2f 69 3e 20 69 6e 20 61 20 3c 62 3e 72  ym</i> in a <b>r
16f0: 6f 61 64 20 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2c  oad network</b>,
1700: 20 6f 72 20 74 68 65 20 3c 69 3e 72 69 76 65 72   or the <i>river
1710: 20 6e 61 6d 65 3c 2f 69 3e 20 69 6e 20 61 6e 20   name</i> in an 
1720: 3c 62 3e 68 79 64 72 6f 67 72 61 70 68 69 63 20  <b>hydrographic 
1730: 6e 65 74 77 6f 72 6b 3c 2f 62 3e 2e 3c 2f 6c 69  network</b>.</li
1740: 3e 0d 0a 3c 6c 69 3e 6f 6e 65 20 28 6f 72 20 65  >..<li>one (or e
1750: 76 65 6e 20 6d 6f 72 65 29 20 61 70 70 72 6f 70  ven more) approp
1760: 72 69 61 74 65 20 3c 62 3e 63 6f 73 74 20 76 61  riate <b>cost va
1770: 6c 75 65 3c 2f 62 3e 28 73 29 2e 3c 62 72 3e 0d  lue</b>(s).<br>.
1780: 0a 3c 75 3e 45 78 61 6d 70 6c 65 3c 2f 75 3e 3a  .<u>Example</u>:
1790: 20 74 68 65 20 3c 69 3e 74 69 6d 65 3c 2f 69 3e   the <i>time</i>
17a0: 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61   required to tra
17b0: 76 65 72 73 65 20 74 68 65 20 4c 69 6e 6b 20 28  verse the Link (
17c0: 6d 61 79 20 62 65 20 64 69 73 74 69 6e 67 75 69  may be distingui
17d0: 73 68 65 64 20 62 65 74 77 65 65 6e 20 70 65 64  shed between ped
17e0: 65 73 74 72 69 61 6e 73 2c 20 62 69 63 79 63 6c  estrians, bicycl
17f0: 65 73 2c 20 63 61 72 73 2c 20 6c 6f 72 72 69 65  es, cars, lorrie
1800: 73 20 61 6e 64 20 73 6f 20 6f 6e 29 2e 3c 2f 6c  s and so on).</l
1810: 69 3e 0d 0a 3c 6c 69 3e 61 20 70 61 69 72 20 6f  i>..<li>a pair o
1820: 66 20 3c 62 3e 62 6f 6f 6c 65 61 6e 20 66 6c 61  f <b>boolean fla
1830: 67 73 3c 2f 62 3e 20 28 3c 62 3e 66 72 6f 6d 2d  gs</b> (<b>from-
1840: 74 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 74 6f  to</b> and <b>to
1850: 2d 66 72 6f 6d 3c 2f 62 3e 29 20 61 72 65 20 69  -from</b>) are i
1860: 6e 74 65 6e 64 65 6e 64 20 74 6f 20 73 70 65 63  ntendend to spec
1870: 69 66 79 20 69 66 20 74 68 65 20 4c 69 6e 6b 20  ify if the Link 
1880: 63 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64  can be traversed
1890: 20 6f 6e 20 62 6f 74 68 20 64 69 72 65 63 74 69   on both directi
18a0: 6f 6e 73 20 6f 72 20 6a 75 73 74 20 69 6e 20 6f  ons or just in o
18b0: 6e 65 20 28 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f  ne (<b>one-way</
18c0: 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  b>).</li>..</ul>
18d0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 53 70  </li>..<li><u>Sp
18e0: 65 63 69 61 6c 20 63 61 73 65 3c 2f 75 3e 3a 20  ecial case</u>: 
18f0: 61 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 20 4c  a <b>forbidden L
1900: 69 6e 6b 3c 2f 62 3e 20 69 73 20 61 6e 79 20 70  ink</b> is any p
1910: 65 72 66 65 63 74 6c 79 20 76 61 6c 69 64 20 4c  erfectly valid L
1920: 69 6e 6b 20 74 68 61 74 20 66 6f 72 20 61 6e 79  ink that for any
1930: 20 67 6f 6f 64 20 72 65 61 73 6f 6e 20 63 61 6e   good reason can
1940: 20 6e 65 76 65 72 20 62 65 20 74 72 61 76 65 72   never be traver
1950: 73 65 64 20 69 6e 20 62 6f 74 68 20 64 69 72 65  sed in both dire
1960: 63 74 69 6f 6e 73 2e 20 50 72 61 63 74 69 63 61  ctions. Practica
1970: 6c 20 65 78 61 6d 70 6c 65 73 3a 0d 0a 3c 75 6c  l examples:..<ul
1980: 3e 0d 0a 3c 6c 69 3e 52 6f 61 64 20 4e 65 74 77  >..<li>Road Netw
1990: 6f 72 6b 73 3a 20 69 74 20 63 6f 75 6c 64 20 62  orks: it could b
19a0: 65 20 75 73 65 66 75 6c 20 72 65 70 72 65 73 65  e useful represe
19b0: 6e 74 69 6e 67 20 3c 62 3e 70 65 64 65 73 74 72  nting <b>pedestr
19c0: 69 61 6e 20 73 74 72 65 65 74 73 3c 2f 62 3e 20  ian streets</b> 
19d0: 61 6e 64 20 3c 62 3e 62 69 63 79 63 6c 65 20 6c  and <b>bicycle l
19e0: 61 6e 65 73 3c 2f 62 3e 2c 20 62 75 74 20 74 68  anes</b>, but th
19f0: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding 
1a00: 4c 69 6e 6b 73 20 77 69 6c 6c 20 62 65 20 61 6c  Links will be al
1a10: 77 61 79 73 20 66 6f 72 62 69 64 64 65 6e 20 74  ways forbidden t
1a20: 6f 20 63 61 72 20 63 69 72 63 75 6c 61 74 69 6f  o car circulatio
1a30: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 65 6c  n.</li>..<li>Tel
1a40: 63 6f 6d 20 2f 20 45 6c 65 63 74 72 69 63 61 6c  com / Electrical
1a50: 20 4e 65 74 77 6f 72 6b 73 3a 20 73 65 76 65 72   Networks: sever
1a60: 61 6c 20 4c 69 6e 6b 73 20 28 3c 62 3e 77 69 72  al Links (<b>wir
1a70: 65 73 3c 2f 62 3e 29 20 63 6f 75 6c 64 20 62 65  es</b>) could be
1a80: 20 70 68 79 73 69 63 61 6c 6c 79 20 69 6e 73 74   physically inst
1a90: 61 6c 6c 65 64 20 62 75 74 20 74 65 6d 70 6f 72  alled but tempor
1aa0: 61 72 69 6c 79 20 3c 62 3e 6f 75 74 2d 6f 66 2d  arily <b>out-of-
1ab0: 73 65 72 76 69 63 65 3c 2f 62 3e 20 66 6f 72 20  service</b> for 
1ac0: 74 65 63 68 6e 69 63 61 6c 20 72 65 61 73 6f 6e  technical reason
1ad0: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  s.</li>..</ul></
1ae0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 34 3e  li>..</ul>..<h4>
1af0: 4c 6f 67 69 63 61 6c 20 63 6f 6e 63 6c 75 73 69  Logical conclusi
1b00: 6f 6e 73 3c 2f 68 34 3e 0d 0a 41 6e 79 20 74 6f  ons</h4>..Any to
1b10: 70 6f 6c 6f 67 69 63 61 6c 6c 79 20 76 61 6c 69  pologically vali
1b20: 64 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c 2f 62 3e  d <b>Network</b>
1b30: 20 28 69 72 72 65 73 70 65 63 74 69 76 65 20 6f   (irrespective o
1b40: 66 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20  f whether it is 
1b50: 61 20 3c 62 3e 53 70 61 74 69 61 6c 3c 2f 62 3e  a <b>Spatial</b>
1b60: 20 6f 72 20 3c 62 3e 4c 6f 67 69 63 61 6c 3c 2f   or <b>Logical</
1b70: 62 3e 20 74 79 70 65 29 20 69 73 20 61 20 76 61  b> type) is a va
1b80: 6c 69 64 20 3c 62 3e 47 72 61 70 68 3c 2f 62 3e  lid <b>Graph</b>
1b90: 2e 3c 62 72 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b  .<br>..A Network
1ba0: 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 73 75   allowing the su
1bb0: 70 70 6f 72 74 20 28 64 69 72 65 63 74 20 6f 72  pport (direct or
1bc0: 20 69 6e 64 69 72 65 63 74 29 20 6f 66 20 73 6f   indirect) of so
1bd0: 6d 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c  me appropriate <
1be0: 62 3e 63 6f 73 74 20 76 61 6c 75 65 3c 2f 62 3e  b>cost value</b>
1bf0: 20 69 73 20 61 20 76 61 6c 69 64 20 3c 62 3e 57   is a valid <b>W
1c00: 65 69 67 68 74 65 64 20 47 72 61 70 68 3c 2f 62  eighted Graph</b
1c10: 3e 2c 20 61 6e 64 20 63 61 6e 20 63 6f 6e 73 65  >, and can conse
1c20: 71 75 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20  quently support 
1c30: 3c 62 3e 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72  <b>Routing algor
1c40: 69 74 68 6d 73 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  ithms</b>.<br>..
1c50: 41 6c 6c 20 52 6f 75 74 69 6e 67 20 61 6c 67 6f  All Routing algo
1c60: 72 69 74 68 6d 73 20 61 72 65 20 69 6e 74 65 6e  rithms are inten
1c70: 64 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20  ded to identify 
1c80: 74 68 65 20 3c 62 3e 53 68 6f 72 74 65 73 74 20  the <b>Shortest 
1c90: 50 61 74 68 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f  Path</b> solutio
1ca0: 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 77 6f  n connecting two
1cb0: 20 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 69 6e   <b>Nodes</b> in
1cc0: 20 61 20 3c 62 3e 77 65 69 67 68 74 65 64 20 67   a <b>weighted g
1cd0: 72 61 70 68 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61  raph</b> (<i>aka
1ce0: 3c 2f 69 3e 20 3c 62 3e 4e 65 74 77 6f 72 6b 3c  </i> <b>Network<
1cf0: 2f 62 3e 29 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  /b>).<br><br>..<
1d00: 62 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3c 2f 62  b><u>Note</u></b
1d10: 3e 3a 20 74 68 65 20 74 65 72 6d 20 3c 62 3e 3c  >: the term <b><
1d20: 69 3e 53 68 6f 72 74 65 73 74 20 50 61 74 68 3c  i>Shortest Path<
1d30: 2f 69 3e 3c 2f 62 3e 20 63 61 6e 20 62 65 20 65  /i></b> can be e
1d40: 61 73 69 6c 79 20 6d 69 73 75 6e 64 65 72 73 74  asily misunderst
1d50: 6f 6f 64 2e 3c 62 72 3e 0d 0a 44 75 65 20 74 6f  ood.<br>..Due to
1d60: 20 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73   historical reas
1d70: 6f 6e 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d  ons the most com
1d80: 6d 6f 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20  mon application 
1d90: 66 69 65 6c 64 20 66 6f 72 20 52 6f 75 74 69 6e  field for Routin
1da0: 67 20 61 6c 67 6f 72 69 74 68 6d 73 20 69 73 20  g algorithms is 
1db0: 72 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e 52 6f  related to <b>Ro
1dc0: 61 64 20 4e 65 74 77 6f 72 6b 73 3c 2f 62 3e 2c  ad Networks</b>,
1dd0: 20 62 75 74 20 61 6c 73 6f 20 6d 61 6e 79 20 6f   but also many o
1de0: 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 4e 65  ther kinds of Ne
1df0: 74 77 6f 72 6b 73 20 65 78 69 73 74 3a 0d 0a 3c  tworks exist:..<
1e00: 75 6c 3e 0d 0a 3c 6c 69 3e 48 79 64 72 6f 67 72  ul>..<li>Hydrogr
1e10: 61 70 68 69 63 20 4e 65 74 77 6f 72 6b 73 2e 3c  aphic Networks.<
1e20: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 61 73 20 2f 20  /li>..<li>Gas / 
1e30: 57 61 74 65 72 20 2f 20 4f 69 6c 20 4e 65 74 77  Water / Oil Netw
1e40: 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  orks.</li>..<li>
1e50: 45 6c 65 63 74 72 69 63 61 6c 20 4e 65 74 77 6f  Electrical Netwo
1e60: 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54  rks.</li>..<li>T
1e70: 65 6c 65 63 6f 6d 75 6e 69 63 61 74 69 6f 6e 20  elecomunication 
1e80: 4e 65 74 77 6f 72 6b 73 2e 3c 2f 6c 69 3e 0d 0a  Networks.</li>..
1e90: 3c 6c 69 3e 53 6f 63 69 61 6c 20 6f 72 20 45 63  <li>Social or Ec
1ea0: 6f 6e 6f 6d 69 63 61 6c 20 4e 65 74 77 6f 72 6b  onomical Network
1eb0: 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 72  s representing r
1ec0: 65 6c 61 74 69 6f 6e 73 68 69 70 73 20 62 65 74  elationships bet
1ed0: 77 65 65 6e 20 69 6e 64 69 76 69 64 75 61 6c 73  ween individuals
1ee0: 20 6f 72 20 63 6f 6d 70 61 6e 69 65 73 2e 3c 2f   or companies.</
1ef0: 6c 69 3e 0d 0a 3c 6c 69 3e 45 70 69 64 65 6d 69  li>..<li>Epidemi
1f00: 6f 6c 6f 67 69 63 61 6c 20 4e 65 74 77 6f 72 6b  ological Network
1f10: 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74  s representing t
1f20: 68 65 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f  he propagation o
1f30: 66 20 69 6e 66 65 63 74 69 76 65 20 64 69 73 65  f infective dise
1f40: 61 73 65 73 20 62 65 74 77 65 65 6e 20 69 6e 64  ases between ind
1f50: 69 76 69 64 75 61 6c 73 20 6f 72 20 67 72 6f 75  ividuals or grou
1f60: 70 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  ps.</li>..</ul><
1f70: 2f 6c 69 3e 20 0d 0a 3c 62 72 3e 0d 0a 49 6e 20  /li> ..<br>..In 
1f80: 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 63 61  all the above ca
1f90: 73 65 73 20 77 65 20 63 65 72 74 61 69 6e 6c 79  ses we certainly
1fa0: 20 68 61 76 65 20 76 61 6c 69 64 20 4e 65 74 77   have valid Netw
1fb0: 6f 72 6b 73 20 73 75 70 70 6f 72 74 69 6e 67 20  orks supporting 
1fc0: 52 6f 75 74 69 6e 67 20 61 6c 67 6f 72 69 74 68  Routing algorith
1fd0: 6e 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20  ns, but not all 
1fe0: 6f 66 20 74 68 65 6d 20 63 61 6e 20 69 6d 70 6c  of them can impl
1ff0: 79 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65  y something like
2000: 20 61 20 3c 69 3e 73 70 61 74 69 61 6c 20 64 69   a <i>spatial di
2010: 73 74 61 6e 63 65 3c 2f 69 3e 20 28 3c 69 3e 67  stance</i> (<i>g
2020: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c  eometric length<
2030: 2f 69 3e 29 20 6f 72 20 61 20 3c 69 3e 74 72 61  /i>) or a <i>tra
2040: 76 65 6c 20 74 69 6d 65 3c 2f 69 3e 2e 3c 62 72  vel time</i>.<br
2050: 3e 0d 0a 49 6e 20 74 68 65 20 6d 6f 73 74 20 67  >..In the most g
2060: 65 6e 65 72 61 6c 20 61 63 63 65 70 74 69 6f 6e  eneral acception
2070: 20 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 63 61   <b>costs</b> ca
2080: 6e 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64  n be represented
2090: 20 62 79 20 61 6e 79 20 72 65 61 73 6f 6e 61 62   by any reasonab
20a0: 6c 65 20 70 68 79 73 69 63 61 6c 20 71 75 61 6e  le physical quan
20b0: 74 69 74 79 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20  tity.<br>..So a 
20c0: 6d 6f 72 65 20 67 65 6e 65 72 61 6c 69 7a 65 64  more generalized
20d0: 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 61   definition is a
20e0: 73 73 75 6d 69 6e 67 20 74 68 61 74 20 52 6f 75  ssuming that Rou
20f0: 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 73 20  ting algorithms 
2100: 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20  are intended to 
2110: 69 64 65 6e 74 69 66 79 20 3c 62 3e 6c 65 73 73  identify <b>less
2120: 65 72 20 63 6f 73 74 3c 2f 62 3e 20 73 6f 6c 75  er cost</b> solu
2130: 74 69 6f 6e 73 20 6f 6e 20 61 20 3c 62 3e 77 65  tions on a <b>we
2140: 69 67 68 74 65 64 20 67 72 61 70 68 3c 2f 62 3e  ighted graph</b>
2150: 2e 3c 62 72 3e 0d 0a 54 68 65 20 65 78 61 63 74  .<br>..The exact
2160: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20   interpretation 
2170: 6f 66 20 74 68 65 20 69 6e 76 6f 6c 76 65 64 20  of the involved 
2180: 3c 62 3e 63 6f 73 74 73 3c 2f 62 3e 20 28 3c 69  <b>costs</b> (<i
2190: 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 77 65 69 67  >aka</i> <b>weig
21a0: 68 74 73 3c 2f 62 3e 29 20 73 74 72 69 63 74 6c  hts</b>) strictl
21b0: 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65  y depends on the
21c0: 20 76 65 72 79 20 73 70 65 63 69 66 69 63 20 6e   very specific n
21d0: 61 74 75 72 65 20 6f 66 20 65 61 63 68 20 4e 65  ature of each Ne
21e0: 74 77 6f 72 6b 2e 0d 0a 3c 68 33 3e 54 68 65 20  twork...<h3>The 
21f0: 44 69 6a 6b 73 74 72 61 27 73 20 61 6c 67 6f 72  Dijkstra's algor
2200: 69 74 68 6d 3c 2f 68 33 3e 0d 0a 54 68 69 73 20  ithm</h3>..This 
2210: 77 65 6c 6c 20 6b 6e 6f 77 6e 20 3c 61 20 68 72  well known <a hr
2220: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77  ef="https://en.w
2230: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b  ikipedia.org/wik
2240: 69 2f 44 69 6a 6b 73 74 72 61 25 32 37 73 5f 61  i/Dijkstra%27s_a
2250: 6c 67 6f 72 69 74 68 6d 22 3e 61 6c 67 6f 72 69  lgorithm">algori
2260: 74 68 6d 3c 2f 61 3e 20 69 73 6e 27 74 20 6e 65  thm</a> isn't ne
2270: 63 65 73 73 61 72 69 6c 79 20 74 68 65 20 66 61  cessarily the fa
2280: 73 74 65 73 74 20 6f 6e 65 2c 20 62 75 74 20 69  stest one, but i
2290: 74 20 61 6c 77 61 79 73 20 65 6e 73 75 72 65 73  t always ensures
22a0: 20 3c 62 3e 66 75 6c 6c 20 63 6f 72 72 65 63 74   <b>full correct
22b0: 6e 65 73 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d  ness</b>:..<ul>.
22c0: 0a 3c 6c 69 3e 41 6e 79 20 4e 6f 64 65 2d 74 6f  .<li>Any Node-to
22d0: 2d 4e 6f 64 65 20 63 6f 6e 6e 65 63 74 69 6f 6e  -Node connection
22e0: 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 44   identified by D
22f0: 69 6a 6b 73 74 72 61 27 73 20 69 73 20 63 65 72  ijkstra's is cer
2300: 74 61 69 6e 6c 79 20 65 6e 73 75 72 65 64 20 74  tainly ensured t
2310: 6f 20 62 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 3c  o be <b>optimal<
2320: 2f 62 3e 2e 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68  /b>.<br>..In oth
2330: 65 72 20 77 6f 72 64 73 2c 20 6e 6f 20 63 6f 6e  er words, no con
2340: 6e 65 74 63 74 69 6f 6e 20 70 72 65 73 65 6e 74  netction present
2350: 69 6e 67 20 61 20 6c 6f 77 65 72 20 63 6f 73 74  ing a lower cost
2360: 20 63 61 6e 20 63 6f 6e 63 65 70 74 75 61 6c 6c   can conceptuall
2370: 79 20 65 78 69 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c  y exist.</li>..<
2380: 6c 69 3e 57 68 65 6e 20 44 69 6a 73 6a 74 72 61  li>When Dijsjtra
2390: 27 73 20 66 61 69 6c 73 20 74 6f 20 69 64 65 6e  's fails to iden
23a0: 74 69 66 79 20 61 20 73 6f 6c 75 74 69 6f 6e 20  tify a solution 
23b0: 74 68 69 73 20 73 75 72 65 6c 79 20 6d 65 61 6e  this surely mean
23c0: 73 20 74 68 61 74 20 6e 6f 20 73 6f 6c 75 74 69  s that no soluti
23d0: 6f 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 3c  on is possible.<
23e0: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 68 33  /li>..</ul>..<h3
23f0: 3e 54 68 65 20 41 2a 20 61 6c 67 6f 72 69 74 68  >The A* algorith
2400: 6d 3c 2f 68 33 3e 0d 0a 4d 61 6e 79 20 61 6c 74  m</h3>..Many alt
2410: 65 72 6e 61 74 69 76 65 20 52 6f 75 74 69 6e 67  ernative Routing
2420: 20 61 6c 67 6f 72 69 74 68 6d 73 20 68 61 76 65   algorithms have
2430: 20 62 65 65 6e 20 69 6e 76 65 6e 74 65 64 20 64   been invented d
2440: 75 72 69 6e 67 20 74 68 65 20 79 65 61 72 73 2e  uring the years.
2450: 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 65 6d 20 61  <br>..All them a
2460: 72 65 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72  re based on heur
2470: 69 73 74 69 63 20 61 73 73 75 6d 70 74 69 6f 6e  istic assumption
2480: 73 20 61 6e 64 20 61 72 65 20 69 6e 74 65 6e 64  s and are intend
2490: 65 64 20 74 6f 20 62 65 20 66 61 73 74 65 72 20  ed to be faster 
24a0: 74 68 61 6e 20 44 69 6a 6b 73 74 72 61 27 73 2c  than Dijkstra's,
24b0: 20 62 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65   but none of the
24c0: 6d 20 63 61 6e 20 65 6e 73 75 72 65 20 3c 62 3e  m can ensure <b>
24d0: 66 75 6c 6c 20 63 6f 72 72 65 63 74 6e 65 73 73  full correctness
24e0: 3c 2f 62 3e 20 61 73 20 44 69 6a 6b 73 74 72 61  </b> as Dijkstra
24f0: 27 73 20 64 6f 65 73 2e 3c 62 72 3e 0d 0a 54 68  's does.<br>..Th
2500: 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73  e <a href="https
2510: 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e  ://en.wikipedia.
2520: 6f 72 67 2f 77 69 6b 69 2f 41 2a 5f 73 65 61 72  org/wiki/A*_sear
2530: 63 68 5f 61 6c 67 6f 72 69 74 68 6d 22 3e 41 2a  ch_algorithm">A*
2540: 20 61 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 61   algorithm</a> a
2550: 70 70 6c 69 65 73 20 61 20 6d 69 6c 64 20 68 65  pplies a mild he
2560: 75 72 69 73 74 69 63 20 6f 70 74 69 6d 69 7a 61  uristic optimiza
2570: 74 69 6f 6e 2c 20 61 6e 64 20 63 61 6e 20 62 65  tion, and can be
2580: 20 61 20 72 65 61 6c 69 73 74 69 63 20 61 6c 74   a realistic alt
2590: 65 72 6e 61 74 69 76 65 20 74 6f 20 44 69 6a 6b  ernative to Dijk
25a0: 73 74 72 61 27 73 20 69 6e 20 6d 61 6e 79 20 63  stra's in many c
25b0: 61 73 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  ases.<br><br>..<
25c0: 68 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65  hr>..<h1><a name
25d0: 3d 22 73 61 6d 70 6c 65 22 3e 32 20 2d 20 54 68  ="sample">2 - Th
25e0: 65 20 73 61 6d 70 6c 65 2f 74 65 73 74 20 44 42  e sample/test DB
25f0: 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 59 6f 75 20 61  </a></h1>..You a
2600: 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 66  re expected to f
2610: 6f 6c 6c 6f 77 20 74 68 65 20 63 75 72 72 65 6e  ollow the curren
2620: 74 20 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 74  t tutorial about
2630: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69   <b>VirtualRouti
2640: 6e 67 3c 2f 62 3e 20 62 79 20 64 69 72 65 63 74  ng</b> by direct
2650: 6c 79 20 74 65 73 74 69 6e 67 20 61 6c 6c 20 53  ly testing all S
2660: 51 4c 20 71 75 65 72 69 65 73 20 64 69 73 63 75  QL queries discu
2670: 73 73 65 64 20 20 62 65 6c 6f 77 20 77 69 74 68  ssed  below with
2680: 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74   the <a href="ht
2690: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
26a0: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
26b0: 72 6f 75 74 69 6e 67 2d 73 61 6d 70 6c 65 2d 35  routing-sample-5
26c0: 2e 30 2e 30 2e 37 7a 22 3e 73 61 6d 70 6c 65 2f  .0.0.7z">sample/
26d0: 74 65 73 74 20 44 42 20 74 68 61 74 20 79 6f 75  test DB that you
26e0: 20 63 61 6e 20 64 6f 77 6e 6c 6f 61 64 20 66 72   can download fr
26f0: 6f 6d 20 68 65 72 65 3c 2f 61 3e 3c 62 72 3e 3c  om here</a><br><
2700: 62 72 3e 0d 0a 54 68 65 20 73 61 6d 70 6c 65 20  br>..The sample 
2710: 44 42 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20  DB contains the 
2720: 66 75 6c 6c 20 3c 62 3e 72 6f 61 64 20 6e 65 74  full <b>road net
2730: 77 6f 72 6b 3c 2f 62 3e 20 6f 66 20 3c 62 3e 54  work</b> of <b>T
2740: 75 73 63 61 6e 79 20 52 65 67 69 6f 6e 20 28 49  uscany Region (I
2750: 74 61 6c 79 29 3c 2f 62 3e 20 28 3c 61 20 68 72  taly)</b> (<a hr
2760: 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30  ef="http://www50
2770: 32 2e 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e  2.regione.toscan
2780: 61 2e 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64  a.it/geoscopio/d
2790: 6f 77 6e 6c 6f 61 64 2f 67 72 61 66 6f 5f 73 74  ownload/grafo_st
27a0: 72 61 64 61 6c 65 2f 69 74 65 72 6e 65 74 2e 7a  radale/iternet.z
27b0: 69 70 22 3e 49 74 65 72 2e 4e 65 74 20 64 61 74  ip">Iter.Net dat
27c0: 61 73 65 74 3c 2f 61 3e 29 20 6b 69 6e 64 6c 79  aset</a>) kindly
27d0: 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20   released under 
27e0: 74 68 65 20 3c 62 3e 43 43 2d 42 59 2d 53 41 20  the <b>CC-BY-SA 
27f0: 34 2e 30 3c 2f 62 3e 20 6c 69 63 65 6e 63 65 20  4.0</b> licence 
2800: 74 65 72 6d 73 2e 3c 62 72 3e 0d 0a 41 6c 6c 74  terms.<br>..Allt
2810: 68 6f 75 67 68 20 74 68 65 20 63 6f 6e 74 65 6e  hough the conten
2820: 74 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65  ts stored in the
2830: 20 73 61 6d 70 6c 65 20 64 61 74 61 62 61 73 65   sample database
2840: 20 68 61 76 65 20 62 65 65 6e 20 72 65 61 72 72   have been rearr
2850: 61 6e 67 65 64 2c 20 69 74 20 69 73 20 73 74 69  anged, it is sti
2860: 6c 6c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68  ll subject to th
2870: 65 20 69 6e 69 74 69 61 6c 20 3c 62 3e 43 43 2d  e initial <b>CC-
2880: 42 59 2d 53 41 20 34 2e 30 3c 2f 62 3e 20 63 6c  BY-SA 4.0</b> cl
2890: 61 75 73 65 73 20 28 3c 69 3e 64 65 72 69 76 65  auses (<i>derive
28a0: 64 20 77 6f 72 6b 3c 2f 69 3e 29 2e 0d 0a 3c 62  d work</i>)...<b
28b0: 72 3e 3c 62 72 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  r><br>..<ul>..<l
28c0: 69 3e 61 6c 6c 20 72 6f 61 64 20 6e 61 6d 65 73  i>all road names
28d0: 20 61 72 65 20 73 74 6f 72 65 64 20 77 69 74 68   are stored with
28e0: 69 6e 20 74 68 65 20 3c 62 3e 74 6f 70 6f 6e 79  in the <b>topony
28f0: 6d 73 3c 2f 62 3e 20 54 61 62 6c 65 2e 3c 62 72  ms</b> Table.<br
2900: 3e 0d 0a 73 69 6e 63 65 20 74 68 65 20 73 61 6d  >..since the sam
2910: 65 20 72 6f 61 64 20 6e 61 6d 65 73 20 63 6f 75  e road names cou
2920: 6c 64 20 62 65 20 75 73 65 64 20 69 6e 20 64 69  ld be used in di
2930: 66 66 65 72 65 6e 74 20 4d 75 6e 69 63 69 70 61  fferent Municipa
2940: 6c 69 74 69 65 73 2c 20 74 68 65 20 3c 62 3e 74  lities, the <b>t
2950: 6f 70 6f 6e 79 6d 73 3c 2f 62 3e 20 54 61 62 6c  oponyms</b> Tabl
2960: 65 20 72 65 6c 61 74 69 6f 6e 61 6c 6c 79 20 72  e relationally r
2970: 65 66 65 72 65 6e 63 65 73 20 74 68 65 20 3c 62  eferences the <b
2980: 3e 6d 75 6e 69 63 69 70 61 6c 69 74 69 65 73 3c  >municipalities<
2990: 2f 62 3e 20 54 61 62 6c 65 20 28 76 69 61 20 3c  /b> Table (via <
29a0: 62 3e 50 52 49 4d 41 52 59 3c 2f 62 3e 20 2f 20  b>PRIMARY</b> / 
29b0: 3c 62 3e 46 4f 52 45 49 47 4e 20 4b 45 59 3c 2f  <b>FOREIGN KEY</
29c0: 62 3e 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 73  b> relationships
29d0: 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  ).</li>..<li>the
29e0: 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 53 70   <b>roads</b> Sp
29f0: 61 74 69 61 6c 20 54 61 62 6c 65 20 63 6f 6e 74  atial Table cont
2a00: 61 69 6e 73 20 61 62 6f 75 74 20 3c 62 3e 33 38  ains about <b>38
2a10: 30 2c 30 30 30 3c 2f 62 3e 20 4c 69 6e 6b 73 2c  0,000</b> Links,
2a20: 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f 6c   and has the fol
2a30: 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a 0d  lowing columns:.
2a40: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64  .<ul>..<li><b>id
2a50: 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64 65  </b>: unique ide
2a60: 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68 20  ntifier of each 
2a70: 4c 69 6e 6b 20 28 3c 62 3e 50 52 49 4d 41 52 59  Link (<b>PRIMARY
2a80: 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d   KEY</b>).</li>.
2a90: 0a 3c 6c 69 3e 3c 62 3e 6e 6f 64 65 5f 66 72 6f  .<li><b>node_fro
2aa0: 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e 6f 64  m</b> and <b>nod
2ab0: 65 5f 74 6f 3c 2f 62 3e 3a 20 4e 6f 64 65 20 69  e_to</b>: Node i
2ac0: 64 65 6e 74 69 66 69 65 72 73 2e 0d 0a 54 68 65  dentifiers...The
2ad0: 20 6f 72 69 67 69 6e 61 6c 20 49 74 65 72 2e 4e   original Iter.N
2ae0: 65 74 20 64 61 74 61 73 65 74 20 61 64 6f 70 74  et dataset adopt
2af0: 73 20 76 65 72 79 20 6c 6f 6e 67 20 61 6e 20 63  s very long an c
2b00: 6f 6d 70 6c 65 78 20 61 6c 70 68 61 6e 75 6d 65  omplex alphanume
2b10: 72 69 63 20 4e 6f 64 65 20 63 6f 64 65 73 3b 20  ric Node codes; 
2b20: 74 68 65 20 69 6e 74 65 67 65 72 20 4e 6f 64 65  the integer Node
2b30: 20 49 44 73 20 77 65 72 65 20 6f 62 74 61 69 6e   IDs were obtain
2b40: 65 64 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68  ed by calling th
2b50: 65 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69  e <b>CreateRouti
2b60: 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 53 51  ngNodes()</b> SQ
2b70: 4c 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 75  L function discu
2b80: 73 73 65 64 20 69 6e 20 61 20 66 6f 6c 6c 6f 77  ssed in a follow
2b90: 69 6e 67 20 73 65 63 74 69 6f 6e 2e 3c 2f 6c 69  ing section.</li
2ba0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69 64 5f 74 6f 70  >..<li><b>id_top
2bb0: 6f 6e 79 6d 3c 2f 62 3e 3a 20 72 65 6c 61 74 69  onym</b>: relati
2bc0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74  onal reference t
2bd0: 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64  o the correspond
2be0: 69 6e 67 20 72 6f 61 64 20 6e 61 6d 65 20 63 6f  ing road name co
2bf0: 6e 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65  ntained into the
2c00: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e   <b>toponyms</b>
2c10: 20 54 61 62 6c 65 20 28 3c 62 3e 46 4f 52 45 49   Table (<b>FOREI
2c20: 47 4e 20 4b 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69  GN KEY</b>).</li
2c30: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 73 70 65 65 64 5f  >..<li><b>speed_
2c40: 6b 6d 68 3c 2f 62 3e 3a 20 74 68 65 20 65 73 74  kmh</b>: the est
2c50: 69 6d 61 74 65 64 20 61 76 65 72 61 67 65 20 73  imated average s
2c60: 70 65 65 64 20 73 75 70 70 6f 72 74 65 64 20 62  peed supported b
2c70: 79 20 74 68 65 20 4c 69 6e 6b 2c 20 65 78 70 72  y the Link, expr
2c80: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6b 6d 2f 68  essed in <b>km/h
2c90: 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  </b>.<br>..<u>No
2ca0: 74 65 3c 2f 75 3e 3a 20 3c 62 3e 6e 65 67 61 74  te</u>: <b>negat
2cb0: 69 76 65 3c 2f 62 3e 20 73 70 65 65 64 73 20 69  ive</b> speeds i
2cc0: 6e 74 65 6e 64 20 61 20 66 6f 72 62 69 64 64 65  ntend a forbidde
2cd0: 6e 20 4c 69 6e 6b 20 28 61 73 20 69 74 20 63 6f  n Link (as it co
2ce0: 75 6c 64 20 62 65 20 74 68 65 20 63 61 73 65 20  uld be the case 
2cf0: 6f 66 20 70 65 64 65 73 74 72 69 61 6e 20 73 74  of pedestrian st
2d00: 72 65 65 74 73 20 6f 72 20 62 69 63 79 63 6c 65  reets or bicycle
2d10: 20 6c 61 6e 65 73 20 65 78 6c 75 64 69 6e 67 20   lanes exluding 
2d20: 6d 6f 74 6f 72 20 76 65 68 69 63 6c 65 73 29 2e  motor vehicles).
2d30: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6f 6e  </li>..<li><b>on
2d40: 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 62 3e 20  eway_fromto</b> 
2d50: 61 6e 64 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f  and <b>oneway_to
2d60: 66 72 6f 6d 3c 2f 62 3e 3a 20 62 6f 6f 6c 65 61  from</b>: boolea
2d70: 6e 20 66 6c 61 67 73 20 64 65 74 65 72 6d 69 6e  n flags determin
2d80: 65 20 69 66 20 61 20 4c 69 6e 6b 20 63 61 6e 20  e if a Link can 
2d90: 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20  be traversed in 
2da0: 62 6f 74 68 20 64 69 72 65 63 74 69 6f 6e 73 20  both directions 
2db0: 6f 72 20 6a 75 73 74 20 69 6e 20 61 20 73 69 6e  or just in a sin
2dc0: 67 6c 65 20 64 69 72 65 63 74 69 6f 6e 20 28 3c  gle direction (<
2dd0: 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 29 2e 3c  b>one-way</b>).<
2de0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
2df0: 3a 20 61 6c 6c 20 4c 69 6e 6b 73 20 64 65 63 6c  : all Links decl
2e00: 61 72 69 6e 67 20 3c 62 3e 6f 6e 65 77 61 79 5f  aring <b>oneway_
2e10: 66 72 6f 6d 74 6f 3d 30 3c 2f 62 3e 20 61 6e 64  fromto=0</b> and
2e20: 20 3c 62 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f   <b>oneway_tofro
2e30: 6d 3d 30 3c 2f 62 3e 20 61 72 65 20 69 6e 74 65  m=0</b> are inte
2e40: 6e 64 65 64 20 74 6f 20 62 65 20 61 6c 77 61 79  nded to be alway
2e50: 73 20 66 6f 72 62 69 64 64 65 6e 2e 3c 2f 6c 69  s forbidden.</li
2e60: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 63 6f 73 74 3c 2f  >..<li><b>cost</
2e70: 62 3e 3a 20 74 68 65 20 3c 62 3e 74 69 6d 65 3c  b>: the <b>time<
2e80: 2f 62 3e 20 65 78 70 72 65 73 73 65 64 20 69 6e  /b> expressed in
2e90: 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e 20   <b>seconds</b> 
2ea0: 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 76  required to trav
2eb0: 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e 3c  erse each Link.<
2ec0: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c  br>..<u>Note #1<
2ed0: 2f 75 3e 20 61 6c 6c 20 63 6f 73 74 73 20 77 65  /u> all costs we
2ee0: 72 65 20 63 61 6c 63 75 6c 61 74 65 64 20 61 63  re calculated ac
2ef0: 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65  cordingly to the
2f00: 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 75   following formu
2f10: 6c 61 3a 20 3c 62 3e 63 6f 73 74 20 3d 20 28 28  la: <b>cost = ((
2f20: 53 54 5f 4c 65 6e 67 74 68 28 67 65 6f 6d 29 20  ST_Length(geom) 
2f30: 2f 20 31 30 30 30 2e 30 29 20 2f 20 73 70 65 65  / 1000.0) / spee
2f40: 64 5f 6b 6d 68 29 20 2a 20 33 36 30 30 2e 30 3c  d_kmh) * 3600.0<
2f50: 2f 62 3e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  /b><br>..<u>Note
2f60: 20 23 32 3c 2f 75 3e 20 61 6c 6c 20 3c 62 3e 38   #2</u> all <b>8
2f70: 36 2c 34 30 30 2e 30 3c 2f 62 3e 20 63 6f 73 74  6,400.0</b> cost
2f80: 20 76 61 6c 75 65 73 20 28 65 71 75 69 76 61 6c   values (equival
2f90: 65 6e 74 20 74 6f 20 31 20 64 61 79 29 20 69 6d  ent to 1 day) im
2fa0: 70 6c 79 20 61 6e 20 3c 62 3e 69 6e 66 69 6e 69  ply an <b>infini
2fb0: 74 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 74 68  tive cost</b> th
2fc0: 75 73 20 69 6e 74 65 6e 64 69 6e 67 20 61 20 3c  us intending a <
2fd0: 62 3e 66 6f 72 62 69 64 64 65 6e 3c 2f 62 3e 20  b>forbidden</b> 
2fe0: 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  Link.</li>..<li>
2ff0: 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20 3c  <b>geom</b>: a <
3000: 62 3e 33 44 20 4c 69 6e 65 73 74 72 69 6e 67 3c  b>3D Linestring<
3010: 2f 62 3e 20 72 65 70 72 65 73 65 6e 74 69 6e 67  /b> representing
3020: 20 74 68 65 20 47 65 6f 6d 65 74 72 79 20 6f 66   the Geometry of
3030: 20 65 61 63 68 20 4c 69 6e 6b 2e 3c 62 72 3e 0d   each Link.<br>.
3040: 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68  .<u>Note</u>: th
3050: 65 20 6f 72 69 67 69 6e 61 6c 20 3c 62 3e 49 74  e original <b>It
3060: 65 72 2e 4e 65 74 3c 2f 62 3e 20 64 61 74 61 73  er.Net</b> datas
3070: 65 74 20 69 73 20 6a 75 73 74 20 3c 62 3e 32 44  et is just <b>2D
3080: 3c 2f 62 3e 3b 20 65 6c 65 76 61 74 69 6f 6e 73  </b>; elevations
3090: 20 28 3c 62 3e 5a 3c 2f 62 3e 20 63 6f 6f 72 64   (<b>Z</b> coord
30a0: 69 6e 61 74 65 73 29 20 77 65 72 65 20 69 6e 74  inates) were int
30b0: 65 72 70 6f 6c 61 74 65 64 20 62 79 20 64 72 61  erpolated by dra
30c0: 70 69 6e 67 20 74 68 65 20 64 61 74 61 73 65 74  ping the dataset
30d0: 20 6f 76 65 72 20 61 6e 20 3c 61 20 68 72 65 66   over an <a href
30e0: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 35 30 32 2e  ="http://www502.
30f0: 72 65 67 69 6f 6e 65 2e 74 6f 73 63 61 6e 61 2e  regione.toscana.
3100: 69 74 2f 67 65 6f 73 63 6f 70 69 6f 2f 64 6f 77  it/geoscopio/dow
3110: 6e 6c 6f 61 64 2f 61 6c 74 69 6d 65 74 72 69 61  nload/altimetria
3120: 2f 64 61 5f 63 74 72 31 30 6b 2f 67 62 2f 44 54  /da_ctr10k/gb/DT
3130: 4d 5f 4f 72 6f 67 72 61 66 69 63 6f 2e 37 7a 22  M_Orografico.7z"
3140: 3e 6f 72 6f 67 72 61 70 68 69 63 20 44 45 4d 20  >orographic DEM 
3150: 28 31 30 6d 20 58 20 31 30 6d 20 63 65 6c 6c 73  (10m X 10m cells
3160: 29 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  )</a></li>..</ul
3170: 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20  ></li>..<li>the 
3180: 3c 62 3e 72 6f 61 64 73 5f 76 77 3c 2f 62 3e 20  <b>roads_vw</b> 
3190: 53 70 61 74 69 61 6c 20 56 69 65 77 20 72 65 73  Spatial View res
31a0: 6f 6c 76 65 73 20 61 6c 6c 20 72 65 6c 61 74 69  olves all relati
31b0: 6f 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20  onal references 
31c0: 62 65 74 77 65 65 6e 20 3c 62 3e 72 6f 61 64 73  between <b>roads
31d0: 3c 2f 62 3e 2c 20 3c 62 3e 74 6f 70 6f 6e 79 6d  </b>, <b>toponym
31e0: 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6d 75 6e  s</b> and <b>mun
31f0: 69 63 69 70 61 6c 69 74 69 65 73 3c 2f 62 3e 2c  icipalities</b>,
3200: 20 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 66   thus allowing f
3210: 6f 72 20 65 61 73 69 65 72 20 53 51 4c 20 71 75  or easier SQL qu
3220: 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  eries.</li>..<li
3230: 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f 6e 72  >the <b>house_nr
3240: 3c 2f 62 3e 20 53 70 61 74 69 61 6c 20 54 61 62  </b> Spatial Tab
3250: 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 62 6f 75  le contains abou
3260: 74 20 3c 62 3e 31 2c 34 38 30 2c 30 30 30 3c 2f  t <b>1,480,000</
3270: 62 3e 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 73  b> House Numbers
3280: 2c 20 61 6e 64 20 68 61 73 20 74 68 65 20 66 6f  , and has the fo
3290: 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 3a  llowing columns:
32a0: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 69  ..<ul>..<li><b>i
32b0: 64 3c 2f 62 3e 3a 20 75 6e 69 71 75 65 20 69 64  d</b>: unique id
32c0: 65 6e 74 69 66 69 65 72 20 6f 66 20 65 61 63 68  entifier of each
32d0: 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20 28 3c   House Number (<
32e0: 62 3e 50 52 49 4d 41 52 59 20 4b 45 59 3c 2f 62  b>PRIMARY KEY</b
32f0: 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  >).</li>..<li><b
3300: 3e 69 64 5f 72 6f 61 64 3c 2f 62 3e 3a 20 72 65  >id_road</b>: re
3310: 6c 61 74 69 6f 6e 61 6c 20 72 65 66 65 72 65 6e  lational referen
3320: 63 65 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73  ce to the corres
3330: 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20 63 6f 6e  ponding Link con
3340: 74 61 69 6e 65 64 20 69 6e 74 6f 20 74 68 65 20  tained into the 
3350: 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 20 54 61 62  <b>roads</b> Tab
3360: 6c 65 20 28 3c 62 3e 46 4f 52 45 49 47 4e 20 4b  le (<b>FOREIGN K
3370: 45 59 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c  EY</b>).</li>..<
3380: 6c 69 3e 3c 62 3e 6c 61 62 65 6c 3c 2f 62 3e 3a  li><b>label</b>:
3390: 20 74 68 65 20 74 65 78 74 75 61 6c 20 6c 61 62   the textual lab
33a0: 65 6c 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 79  el fully qualify
33b0: 69 6e 67 20 65 61 63 68 20 48 6f 75 73 65 20 4e  ing each House N
33c0: 75 6d 62 65 72 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  umber.</li>..<li
33d0: 3e 3c 62 3e 67 65 6f 6d 3c 2f 62 3e 3a 20 61 20  ><b>geom</b>: a 
33e0: 3c 62 3e 33 44 20 50 6f 69 6e 74 3c 2f 62 3e 20  <b>3D Point</b> 
33f0: 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65  representing the
3400: 20 47 65 6f 6d 65 74 72 79 20 6f 66 20 65 61 63   Geometry of eac
3410: 68 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 2e 3c  h House Number.<
3420: 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23 31 3c  br>..<u>Note #1<
3430: 2f 75 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 69  /u>: also in thi
3440: 73 20 63 61 73 65 20 61 6c 6c 20 65 6c 65 76 61  s case all eleva
3450: 74 69 6f 6e 73 20 28 3c 62 3e 5a 3c 2f 62 3e 20  tions (<b>Z</b> 
3460: 63 6f 6f 72 64 69 6e 61 74 65 73 29 20 77 65 72  coordinates) wer
3470: 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 62  e interpolated b
3480: 79 20 64 72 61 70 69 6e 67 20 74 68 65 20 64 61  y draping the da
3490: 74 61 73 65 74 20 6f 76 65 72 20 74 68 65 20 73  taset over the s
34a0: 61 6d 65 20 44 45 4d 20 61 73 20 61 62 6f 76 65  ame DEM as above
34b0: 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 20 23  .<br>..<u>Note #
34c0: 32 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20  2</u>: strictly 
34d0: 73 70 65 61 63 6b 69 6e 67 20 74 68 65 20 48 6f  speacking the Ho
34e0: 75 73 65 20 4e 75 6d 62 65 72 73 20 61 72 65 20  use Numbers are 
34f0: 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 65 20  not part of the 
3500: 52 6f 61 64 20 4e 65 74 77 6f 72 6b 3b 20 74 68  Road Network; th
3510: 65 79 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20  ey are included 
3520: 69 6e 20 74 68 65 20 73 61 6d 70 6c 65 2f 74 65  in the sample/te
3530: 73 74 20 64 61 74 61 62 61 73 65 20 61 73 20 75  st database as u
3540: 73 65 66 75 6c 20 65 78 61 6d 70 6c 65 73 20 65  seful examples e
3550: 78 70 6c 61 69 6e 65 64 20 6c 61 74 65 72 20 69  xplained later i
3560: 6e 20 74 68 69 73 20 74 65 78 74 2e 3c 2f 6c 69  n this text.</li
3570: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
3580: 6c 69 3e 74 68 65 20 3c 62 3e 68 6f 75 73 65 5f  li>the <b>house_
3590: 6e 72 5f 76 77 3c 2f 62 3e 20 53 70 61 74 69 61  nr_vw</b> Spatia
35a0: 6c 20 56 69 65 77 20 72 65 73 6f 6c 76 65 73 20  l View resolves 
35b0: 61 6c 6c 20 72 65 6c 61 74 69 6f 6e 61 6c 20 72  all relational r
35c0: 65 66 65 72 65 6e 63 65 73 20 62 65 74 77 65 65  eferences betwee
35d0: 6e 20 3c 62 3e 68 6f 75 73 65 5f 6e 72 3c 2f 62  n <b>house_nr</b
35e0: 3e 2c 20 3c 62 3e 72 6f 61 64 73 3c 2f 62 3e 2c  >, <b>roads</b>,
35f0: 20 3c 62 3e 74 6f 70 6f 6e 79 6d 73 3c 2f 62 3e   <b>toponyms</b>
3600: 20 61 6e 64 20 3c 62 3e 6d 75 6e 69 63 69 70 61   and <b>municipa
3610: 6c 69 74 69 65 73 3c 2f 62 3e 2c 20 74 68 75 73  lities</b>, thus
3620: 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 65 61   allowing for ea
3630: 73 69 65 72 20 53 51 4c 20 71 75 65 72 69 65 73  sier SQL queries
3640: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
3650: 62 72 3e 0d 0a 20 3c 68 72 3e 0d 0a 3c 68 31 3e  br>.. <hr>..<h1>
3660: 3c 61 20 6e 61 6d 65 3d 22 63 72 65 61 74 65 22  <a name="create"
3670: 3e 33 20 2d 20 43 72 65 61 74 69 6e 67 20 56 69  >3 - Creating Vi
3680: 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61 62  rtualRouting Tab
3690: 6c 65 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 6c  les</a></h1>..Al
36a0: 6c 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  l VirtualRouting
36b0: 20 71 75 65 72 69 65 73 20 61 72 65 20 62 61 73   queries are bas
36c0: 65 64 20 6f 6e 20 61 20 73 70 65 63 69 66 69 63  ed on a specific
36d0: 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75 74 69   <b>VirtualRouti
36e0: 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 2c 20 61 6e  ng Table</b>, an
36f0: 64 20 69 6e 20 74 75 72 6e 2c 20 74 68 65 20 56  d in turn, the V
3700: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
3710: 62 6c 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20  ble is based on 
3720: 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  a corresponding 
3730: 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54  <b>Binary Data T
3740: 61 62 6c 65 3c 2f 62 3e 20 77 68 69 63 68 2c 20  able</b> which, 
3750: 74 61 6b 65 6e 20 74 6f 67 65 61 74 68 65 72 2c  taken togeather,
3760: 20 69 73 20 61 6e 20 65 66 66 69 63 69 65 6e 74   is an efficient
3770: 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20   representation 
3780: 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e  of the underlyin
3790: 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a  g Network.<br>..
37a0: 53 6f 20 77 65 27 6c 6c 20 73 74 61 72 74 20 66  So we'll start f
37b0: 69 72 73 74 20 62 79 20 63 72 65 61 74 69 6e 67  irst by creating
37c0: 20 74 68 65 73 65 20 74 61 62 6c 65 73 2e 3c 62   these tables.<b
37d0: 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6f 6c 64 2c  r><br>..The old,
37e0: 20 61 6e 64 20 6e 6f 77 20 73 75 70 65 72 73 65   and now superse
37f0: 64 65 64 2c 20 3c 62 3e 56 69 72 74 75 61 6c 4e  ded, <b>VirtualN
3800: 65 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 71 75 69  etwork</b> requi
3810: 72 65 64 20 74 68 65 20 75 73 65 20 6f 66 20 61  red the use of a
3820: 20 73 65 70 61 72 61 74 65 20 43 4c 49 20 74 6f   separate CLI to
3830: 6f 6c 20 28 3c 62 3e 73 70 61 74 69 61 6c 69 74  ol (<b>spatialit
3840: 65 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 29 20 69  e_network</b>) i
3850: 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 70 65  n order to prope
3860: 72 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65 20 61  rly initialize a
3870: 20 56 69 72 74 75 61 6c 4e 65 74 77 6f 72 6b 20   VirtualNetwork 
3880: 54 61 62 6c 65 20 61 6e 64 20 69 74 73 20 63 6f  Table and its co
3890: 6d 70 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44  mpanion Binary D
38a0: 61 74 61 20 54 61 62 6c 65 3b 0d 0a 61 6c 74 65  ata Table;..alte
38b0: 72 6e 61 74 69 76 65 6c 79 20 3c 62 3e 73 70 61  rnatively <b>spa
38c0: 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20  tialite_gui</b> 
38d0: 73 75 70 70 6f 72 74 65 64 20 61 20 3c 62 3e 47  supported a <b>G
38e0: 55 49 20 77 69 7a 61 72 64 3c 2f 62 3e 20 66 6f  UI wizard</b> fo
38f0: 72 20 74 68 65 20 73 61 6d 65 20 74 61 73 6b 2e  r the same task.
3900: 20 53 69 6e 63 65 20 76 65 72 73 69 6f 6e 20 3c   Since version <
3910: 62 3e 35 2e 30 2e 30 3c 2f 62 3e 2c 20 53 70 61  b>5.0.0</b>, Spa
3920: 74 69 61 4c 69 74 65 20 20 73 75 70 70 6f 72 74  tiaLite  support
3930: 73 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 61  s this functiona
3940: 6c 69 74 79 20 64 69 72 65 63 74 6c 79 2c 20 77  lity directly, w
3950: 69 74 68 20 74 68 65 20 3c 62 3e 43 72 65 61 74  ith the <b>Creat
3960: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 53  eRouting()</b> S
3970: 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a 3c 76  QL function...<v
3980: 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
3990: 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 27   CreateRouting('
39a0: 62 79 66 6f 6f 74 5f 64 61 74 61 27 2c 20 27 62  byfoot_data', 'b
39b0: 79 66 6f 6f 74 27 2c 20 27 72 6f 61 64 73 5f 76  yfoot', 'roads_v
39c0: 77 27 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c  w', 'node_from',
39d0: 20 27 6e 6f 64 65 74 6f 27 2c 20 27 67 65 6f 6d   'nodeto', 'geom
39e0: 27 2c 20 4e 55 4c 4c 29 3b 0d 0a 0d 0a 53 45 4c  ', NULL);....SEL
39f0: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e  ECT CreateRoutin
3a00: 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29  g_GetLastError()
3a10: 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ;..-------------
3a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a30: 2d 2d 2d 2d 2d 2d 2d 0d 0a 54 6f 4e 6f 64 65 20  -------..ToNode 
3a40: 43 6f 6c 75 6d 6e 20 22 6e 6f 64 65 74 6f 22 20  Column "nodeto" 
3a50: 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69  is not defined i
3a60: 6e 20 74 68 65 20 49 6e 70 75 74 20 54 61 62 6c  n the Input Tabl
3a70: 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  e..</verbatim>..
3a80: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69  <u>Note</u>: thi
3a90: 73 20 66 69 72 73 74 20 71 75 65 72 79 20 28 62  s first query (b
3aa0: 61 73 65 64 20 6f 6e 20 74 68 65 20 3c 69 3e 6d  ased on the <i>m
3ab0: 69 6e 69 6d 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20  inimal form</i> 
3ac0: 6f 66 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  of <b>CreateRout
3ad0: 69 6e 67 3c 2f 62 3e 29 20 3c 62 3e 3c 69 3e 3c  ing</b>) <b><i><
3ae0: 75 3e 64 65 6c 69 62 65 72 61 74 65 6c 79 3c 2f  u>deliberately</
3af0: 75 3e 3c 2f 69 3e 3c 2f 62 3e 20 63 6f 6e 74 61  u></i></b> conta
3b00: 69 6e 73 20 61 6e 20 69 6e 74 65 6e 64 65 64 20  ins an intended 
3b10: 65 72 72 6f 72 20 63 61 75 73 69 6e 67 20 61 20  error causing a 
3b20: 66 61 69 6c 75 72 65 20 74 6f 20 20 72 61 69 73  failure to  rais
3b30: 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 3c  e an exception.<
3b40: 62 72 3e 0d 0a 43 72 65 61 74 65 52 6f 75 74 69  br>..CreateRouti
3b50: 6e 67 28 29 20 63 61 6e 20 66 61 69 6c 20 66 6f  ng() can fail fo
3b60: 72 20 6d 75 6c 74 69 70 6c 65 20 72 65 61 73 6f  r multiple reaso
3b70: 6e 73 2c 20 61 6e 64 20 62 79 20 63 61 6c 6c 69  ns, and by calli
3b80: 6e 67 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  ng <b>CreateRout
3b90: 69 6e 67 5f 47 65 74 4c 61 73 74 45 72 72 6f 72  ing_GetLastError
3ba0: 28 29 3c 2f 62 3e 20 79 6f 75 20 63 61 6e 20 65  ()</b> you can e
3bb0: 61 73 69 6c 79 20 69 64 65 6e 74 69 66 79 20 74  asily identify t
3bc0: 68 65 20 65 78 61 63 74 20 72 65 61 73 6f 6e 20  he exact reason 
3bd0: 77 68 79 20 74 68 65 20 6d 6f 73 74 20 72 65 63  why the most rec
3be0: 65 6e 74 20 63 61 6c 6c 20 74 6f 20 43 72 65 61  ent call to Crea
3bf0: 74 65 52 6f 75 74 69 6e 67 28 29 20 66 61 69 6c  teRouting() fail
3c00: 65 64 2e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74  ed.<br>..<verbat
3c10: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  im>..SELECT Crea
3c20: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 66 6f 6f  teRouting('byfoo
3c30: 74 5f 64 61 74 61 27 2c 20 27 62 79 66 6f 6f 74  t_data', 'byfoot
3c40: 27 2c 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27  ', 'roads_vw', '
3c50: 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64  node_from', 'nod
3c60: 65 5f 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 4e  e_to', 'geom', N
3c70: 55 4c 4c 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20  ULL, 'toponym', 
3c80: 31 2c 20 31 29 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d  1, 1);..--------
3c90: 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 0d 0a 53 45 4c 45  -----..1....SELE
3ca0: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67  CT CreateRouting
3cb0: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3b  _GetLastError();
3cc0: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
3cd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3ce0: 2d 2d 2d 2d 2d 2d 0d 0a 4e 55 4c 4c 0d 0a 3c 2f  ------..NULL..</
3cf0: 76 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69 73 20  verbatim>..This 
3d00: 73 65 63 6f 6e 64 20 61 74 74 65 6d 70 74 20 77  second attempt w
3d10: 69 6c 6c 20 73 75 63 63 65 65 64 2c 20 77 69 74  ill succeed, wit
3d20: 68 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28  h CreateRouting(
3d30: 29 20 72 65 74 75 72 6e 69 6e 67 20 3c 62 3e 31  ) returning <b>1
3d40: 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  </b> (<i>aka</i>
3d50: 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 2c 20 61   <b>TRUE</b>), a
3d60: 6e 64 20 61 73 20 79 6f 75 20 63 61 6e 20 65 61  nd as you can ea
3d70: 73 69 6c 79 20 63 68 65 63 6b 20 6e 6f 77 20 74  sily check now t
3d80: 68 65 20 44 61 74 61 62 61 73 65 20 63 6f 6e 74  he Database cont
3d90: 61 69 6e 73 20 74 77 6f 20 6e 65 77 20 54 61 62  ains two new Tab
3da0: 6c 65 73 3a 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f  les: <b>byfoot</
3db0: 62 3e 20 61 6e 64 20 3c 62 3e 62 79 66 6f 6f 74  b> and <b>byfoot
3dc0: 5f 64 61 74 61 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  _data</b>.<br>..
3dd0: 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 61 66 74  <u>Note</u>: aft
3de0: 65 72 20 61 20 73 75 63 63 65 73 73 66 75 6c 20  er a successful 
3df0: 63 61 6c 6c 20 74 6f 20 43 72 65 61 74 65 52 6f  call to CreateRo
3e00: 75 74 69 6e 67 28 29 20 3c 62 3e 43 72 65 61 74  uting() <b>Creat
3e10: 65 52 6f 75 74 69 6e 67 5f 47 65 74 4c 61 73 74  eRouting_GetLast
3e20: 45 72 72 6f 72 28 29 3c 2f 62 3e 20 77 69 6c 6c  Error()</b> will
3e30: 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 3c   always return <
3e40: 62 3e 4e 55 4c 4c 3c 2f 62 3e 2e 3c 62 72 3e 3c  b>NULL</b>.<br><
3e50: 62 72 3e 0d 0a 4c 65 74 27 73 20 6c 6f 6f 6b 2c  br>..Let's look,
3e60: 20 69 6e 20 6d 6f 72 65 20 64 65 74 61 69 6c 2c   in more detail,
3e70: 20 6f 66 20 74 68 65 20 3c 69 3e 6d 69 6e 69 6d   of the <i>minim
3e80: 61 6c 20 66 6f 72 6d 3c 2f 69 3e 20 6f 66 20 43  al form</i> of C
3e90: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3b 20  reateRouting(); 
3ea0: 61 6e 64 20 74 68 65 20 6d 65 61 6e 69 6e 67 20  and the meaning 
3eb0: 6f 66 20 65 61 63 68 20 61 72 67 75 6d 65 6e 74  of each argument
3ec0: 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 3c 69 3e  :..<ol>..<li><i>
3ed0: 62 79 66 6f 6f 74 5f 64 61 74 61 3c 2f 69 3e 3a  byfoot_data</i>:
3ee0: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65   the name of the
3ef0: 20 4e 65 74 77 6f 72 6b 20 42 69 6e 61 72 79 20   Network Binary 
3f00: 44 61 74 61 20 54 61 62 6c 65 20 74 6f 20 62 65  Data Table to be
3f10: 20 63 72 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a   created.</li>..
3f20: 3c 6c 69 3e 3c 69 3e 62 79 66 6f 6f 74 3c 2f 69  <li><i>byfoot</i
3f30: 3e 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  >: the name of t
3f40: 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  he VirtualRoutin
3f50: 67 20 54 61 62 6c 65 20 74 6f 20 62 65 20 63 72  g Table to be cr
3f60: 65 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  eated.</li>..<li
3f70: 3e 3c 69 3e 72 6f 61 64 73 5f 76 77 3c 2f 69 3e  ><i>roads_vw</i>
3f80: 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68  : the name of th
3f90: 65 20 3c 62 3e 53 70 61 74 69 61 6c 20 54 61 62  e <b>Spatial Tab
3fa0: 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 53 70 61  le</b> or <b>Spa
3fb0: 74 69 61 6c 20 56 69 65 77 3c 2f 62 3e 20 72 65  tial View</b> re
3fc0: 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 75  presenting the u
3fd0: 6e 64 65 72 6c 79 69 6e 67 20 4e 65 74 77 6f 72  nderlying Networ
3fe0: 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  k.<br>..<u>Note<
3ff0: 2f 75 3e 3a 20 69 6e 20 74 68 69 73 20 63 61 73  /u>: in this cas
4000: 65 20 77 65 20 61 63 74 75 61 6c 6c 79 20 75 73  e we actually us
4010: 65 64 20 61 20 53 70 61 74 69 61 6c 20 56 69 65  ed a Spatial Vie
4020: 77 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  w.</li>..<li><i>
4030: 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e  node_from</i>: n
4040: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
4050: 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76 65 20  n (in the above 
4060: 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29 20 65  Table or View) e
4070: 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e 74 61  xpected to conta
4080: 69 6e 20 3c 62 3e 6e 6f 64 65 2d 66 72 6f 6d 3c  in <b>node-from<
4090: 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 2f 6c 69 3e  /b> values.</li>
40a0: 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64 65 5f 74 6f  ..<li><i>node_to
40b0: 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68  </i>: name of th
40c0: 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65  e column (in the
40d0: 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20   above Table or 
40e0: 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74  View) expected t
40f0: 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 6e 6f 64  o contain <b>nod
4100: 65 2d 74 6f 3c 2f 62 3e 20 76 61 6c 75 65 73 2e  e-to</b> values.
4110: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 67 65  </li>..<li><i>ge
4120: 6f 6d 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20  om</i>: name of 
4130: 74 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74  the column (in t
4140: 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f  he above Table o
4150: 72 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64  r View) expected
4160: 20 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 4c   to contain <b>L
4170: 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62 3e 2e 3c  inestrings</b>.<
4180: 62 72 3e 0d 0a 49 6e 20 74 68 65 20 63 61 73 65  br>..In the case
4190: 20 6f 66 20 61 20 3c 62 3e 4c 6f 67 69 63 61 6c   of a <b>Logical
41a0: 20 4e 65 74 77 6f 72 6b 3c 2f 62 3e 3a 20 61 20   Network</b>: a 
41b0: 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 73 68 6f   <b>NULL</b> sho
41c0: 75 6c 64 20 62 65 20 70 61 73 73 65 64 2e 2e 3c  uld be passed..<
41d0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 4e 55 4c  /li>..<li><i>NUL
41e0: 4c 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74  L</i>: name of t
41f0: 68 65 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68  he column (in th
4200: 65 20 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72  e above Table or
4210: 20 56 69 65 77 29 20 65 78 70 65 63 74 65 64 20   View) expected 
4220: 74 6f 20 63 6f 6e 74 61 69 6e 20 3c 62 3e 63 6f  to contain <b>co
4230: 73 74 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62  st</b> values.<b
4240: 72 3e 0d 0a 49 6e 20 74 68 69 73 20 63 61 73 65  r>..In this case
4250: 20 77 65 20 68 61 76 65 20 70 61 73 73 65 64 20   we have passed 
4260: 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61  a <b>NULL</b> va
4270: 6c 75 65 2c 20 61 6e 64 20 63 6f 6e 73 65 71 75  lue, and consequ
4280: 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 63 6f 73  ently the <b>cos
4290: 74 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69  t</b> of each Li
42a0: 6e 6b 20 77 69 6c 6c 20 62 65 20 61 73 73 75 6d  nk will be assum
42b0: 65 64 20 74 6f 20 62 65 20 72 65 70 72 65 73 65  ed to be represe
42c0: 6e 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 67  nted by the <b>g
42d0: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 3c  eometric length<
42e0: 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72 72 65  /b> of the corre
42f0: 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 65 73 74 72  sponding Linestr
4300: 69 6e 67 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ing.<br>..<u>Not
4310: 65 20 23 31 3c 2f 75 3e 3a 20 69 6e 20 74 68 65  e #1</u>: in the
4320: 20 63 61 73 65 20 6f 66 20 4e 65 74 77 6f 72 6b   case of Network
4330: 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 6c 6f  s based on <b>lo
4340: 6e 67 69 74 75 64 65 73 3c 2f 62 3e 20 61 6e 64  ngitudes</b> and
4350: 20 3c 62 3e 6c 61 74 69 74 75 64 65 73 3c 2f 62   <b>latitudes</b
4360: 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62  > (<i>aka</i> <b
4370: 3e 67 65 6f 67 72 61 70 68 69 63 3c 2f 62 3e 20  >geographic</b> 
4380: 52 65 66 65 72 65 6e 63 65 20 53 79 73 74 65 6d  Reference System
4390: 73 29 20 74 68 65 20 67 65 6f 6d 65 74 72 79 20  s) the geometry 
43a0: 6c 65 6e 67 74 68 20 6f 66 20 61 6c 6c 20 4c 69  length of all Li
43b0: 6e 65 73 74 72 69 6e 67 73 20 77 69 6c 6c 20 62  nestrings will b
43c0: 65 20 70 72 65 63 69 73 65 6c 79 20 3c 62 3e 6d  e precisely <b>m
43d0: 65 61 73 75 72 65 64 20 6f 6e 20 74 68 65 20 65  easured on the e
43e0: 6c 6c 69 70 73 6f 69 64 3c 2f 62 3e 20 62 79 20  llipsoid</b> by 
43f0: 61 70 70 6c 79 69 6e 67 20 74 68 65 20 6d 6f 73  applying the mos
4400: 74 20 61 63 63 75 72 61 74 65 20 3c 62 3e 67 65  t accurate <b>ge
4410: 6f 64 65 73 69 63 20 66 6f 72 6d 75 6c 61 73 3c  odesic formulas<
4420: 2f 62 3e 20 61 6e 64 20 77 69 6c 6c 20 63 6f 6e  /b> and will con
4430: 73 65 71 75 65 6e 74 6c 79 20 62 65 20 65 78 70  sequently be exp
4440: 72 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74  ressed in <b>met
4450: 65 72 73 3c 2f 62 3e 2e 20 49 6e 20 61 6e 79 20  ers</b>. In any 
4460: 6f 74 68 65 72 20 63 61 73 65 20 28 3c 62 3e 70  other case (<b>p
4470: 72 6f 6a 65 63 74 65 64 3c 2f 62 3e 20 52 65 66  rojected</b> Ref
4480: 65 72 65 6e 63 65 20 53 79 73 74 65 6d 73 29 20  erence Systems) 
4490: 6c 65 6e 67 74 68 73 20 77 69 6c 6c 20 62 65 20  lengths will be 
44a0: 65 78 70 72 65 73 73 65 64 20 69 6e 20 74 68 65  expressed in the
44b0: 20 3c 62 3e 6d 65 61 73 75 72 65 20 75 6e 69 74   <b>measure unit
44c0: 3c 2f 62 3e 20 64 65 66 69 6e 65 64 20 62 79 20  </b> defined by 
44d0: 74 68 65 20 52 65 66 65 72 65 6e 63 65 20 53 79  the Reference Sy
44e0: 73 74 65 6d 20 28 65 2e 67 2e 20 3c 62 3e 6d 65  stem (e.g. <b>me
44f0: 74 65 72 73 3c 2f 62 3e 20 66 6f 72 20 3c 62 3e  ters</b> for <b>
4500: 55 54 4d 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69  UTM</b> projecti
4510: 6f 6e 73 20 61 6e 64 20 3c 62 3e 66 65 65 74 3c  ons and <b>feet<
4520: 2f 62 3e 20 66 6f 72 20 3c 62 3e 4e 41 44 2d 66  /b> for <b>NAD-f
4530: 74 3c 2f 62 3e 20 70 72 6f 6a 65 63 74 69 6f 6e  t</b> projection
4540: 73 29 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65  s).<br>..<u>Note
4550: 20 23 32 3c 2f 75 3e 3a 20 74 68 65 20 3c 62 3e   #2</u>: the <b>
4560: 67 65 6f 6d 2d 63 6f 6c 75 6d 6e 3c 2f 62 3e 20  geom-column</b> 
4570: 61 6e 64 20 3c 62 3e 63 6f 73 74 2d 63 6f 6c 75  and <b>cost-colu
4580: 6d 6e 3c 2f 62 3e 20 61 72 67 75 6d 65 6e 74 73  mn</b> arguments
4590: 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77   are never allow
45a0: 65 64 20 74 6f 20 62 65 20 3c 62 3e 4e 55 4c 4c  ed to be <b>NULL
45b0: 3c 2f 62 3e 20 61 74 20 74 68 65 20 73 61 6d 65  </b> at the same
45c0: 20 74 69 6d 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69   time.</li>..<li
45d0: 3e 3c 69 3e 74 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a  ><i>toponym</i>:
45e0: 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c   name of the col
45f0: 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f 76  umn (in the abov
4600: 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77 29  e Table or View)
4610: 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 6e   expected to con
4620: 74 61 69 6e 20 3c 62 3e 72 6f 61 64 2d 6e 61 6d  tain <b>road-nam
4630: 65 3c 2f 62 3e 20 76 61 6c 75 65 73 2e 3c 62 72  e</b> values.<br
4640: 3e 0d 0a 49 74 20 63 6f 75 6c 64 20 62 65 20 6c  >..It could be l
4650: 65 67 69 74 69 6d 61 74 65 6c 79 20 73 65 74 20  egitimately set 
4660: 74 6f 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69  to <b>NULL</b> i
4670: 66 20 61 6c 6c 20 4c 69 6e 6b 73 20 61 72 65 20  f all Links are 
4680: 61 6e 6f 6e 79 6d 6f 75 73 2e 3c 2f 6c 69 3e 0d  anonymous.</li>.
4690: 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 61  .<li><i>1</i>: a
46a0: 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e   boolean flag in
46b0: 74 65 6e 64 65 64 20 74 6f 20 73 70 65 63 69 66  tended to specif
46c0: 79 20 69 66 20 74 68 65 20 4e 65 74 77 6f 72 6b  y if the Network
46d0: 20 6d 75 73 74 20 73 75 70 70 6f 72 74 20 74 68   must support th
46e0: 65 20 3c 62 3e 41 2a 20 61 6c 67 6f 72 69 74 68  e <b>A* algorith
46f0: 6d 3c 2f 62 3e 20 6f 72 20 6e 6f 74 20 28 73 65  m</b> or not (se
4700: 74 20 74 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e  t to <b>TRUE</b>
4710: 20 62 79 20 64 65 66 61 75 6c 74 29 2e 3c 2f 6c   by default).</l
4720: 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e  i>..<li><i>1</i>
4730: 3a 20 61 20 62 6f 6f 6c 65 61 6e 20 66 6c 61 67  : a boolean flag
4740: 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 73 70 65   intended to spe
4750: 63 69 66 79 20 69 66 20 61 6c 6c 20 4e 65 74 77  cify if all Netw
4760: 6f 72 6b 27 73 20 4c 69 6e 6b 73 20 61 72 65 20  ork's Links are 
4770: 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 3c 62  assumed to be <b
4780: 3e 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f  >bidirectional</
4790: 62 3e 20 6f 72 20 6e 6f 74 20 28 61 73 73 75 6d  b> or not (assum
47a0: 65 64 20 74 6f 20 62 65 20 3c 62 3e 54 52 55 45  ed to be <b>TRUE
47b0: 3c 2f 62 3e 20 62 79 20 64 65 66 61 75 6c 74 29  </b> by default)
47c0: 2e 3c 2f 6c 69 3e 20 0d 0a 3c 2f 6f 6c 3e 0d 0a  .</li> ..</ol>..
47d0: 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22  <table bgcolor="
47e0: 23 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61  #c0ffc0" cellspa
47f0: 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61  cing="10" cellpa
4800: 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74  dding="6"><tr><t
4810: 64 3e 0d 0a 3c 68 33 3e 54 65 63 68 6e 69 63 61  d>..<h3>Technica
4820: 6c 20 6e 6f 74 65 3c 2f 68 33 3e 0d 0a 54 68 65  l note</h3>..The
4830: 20 69 6e 74 65 72 6e 61 6c 20 65 6e 63 6f 64 69   internal encodi
4840: 6e 67 20 61 64 6f 70 74 65 64 20 62 79 20 74 68  ng adopted by th
4850: 65 20 3c 62 3e 42 69 6e 61 72 79 20 44 61 74 61  e <b>Binary Data
4860: 20 54 61 62 6c 65 3c 2f 62 3e 20 69 73 20 75 6e   Table</b> is un
4870: 63 68 61 6e 67 65 64 20 61 6e 64 20 69 73 20 74  changed and is t
4880: 68 65 20 73 61 6d 65 20 66 6f 72 20 62 6f 74 68  he same for both
4890: 20 3c 62 3e 56 69 72 74 75 61 6c 4e 65 74 77 6f   <b>VirtualNetwo
48a0: 6b 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 56 69 72  k</b> and <b>Vir
48b0: 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 2e  tualRouting</b>.
48c0: 3c 62 72 3e 0d 0a 59 6f 75 20 63 61 6e 20 73 61  <br>..You can sa
48d0: 66 65 6c 79 20 62 61 73 65 20 61 20 3c 62 3e 56  fely base a <b>V
48e0: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
48f0: 62 6c 65 3c 2f 62 3e 20 6f 6e 20 61 6e 79 20 65  ble</b> on any e
4900: 78 69 73 74 69 6e 67 20 42 69 6e 61 72 79 20 44  xisting Binary D
4910: 61 74 61 0d 0a 54 61 62 6c 65 20 63 72 65 61 74  ata..Table creat
4920: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 73 70 61  ed by the <b>spa
4930: 74 69 61 6c 69 74 65 2d 6e 65 74 77 6f 72 6b 3c  tialite-network<
4940: 2f 62 3e 20 43 4c 49 20 74 6f 6f 6c 2c 20 65 78  /b> CLI tool, ex
4950: 61 63 74 6c 79 20 61 73 20 79 6f 75 20 63 61 6e  actly as you can
4960: 20 62 61 73 65 20 61 20 3c 62 3e 56 69 72 74 75   base a <b>Virtu
4970: 61 6c 4e 65 74 77 6f 72 6b 20 54 61 62 6c 65 3c  alNetwork Table<
4980: 2f 62 3e 20 6f 6e 20 61 6e 79 20 42 69 6e 61 72  /b> on any Binar
4990: 79 20 44 61 74 61 20 54 61 62 6c 65 20 63 72 65  y Data Table cre
49a0: 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e 43  ated by the <b>C
49b0: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f  reateRouting()</
49c0: 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e  b> SQL function.
49d0: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 43 52  ..<verbatim>..CR
49e0: 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42  EATE VIRTUAL TAB
49f0: 4c 45 20 74 65 73 74 5f 6e 65 74 77 6f 72 6b 20  LE test_network 
4a00: 55 53 49 4e 47 20 56 69 72 74 75 61 6c 4e 65 74  USING VirtualNet
4a10: 77 6f 72 6b 28 27 73 6f 6d 65 5f 64 61 74 61 5f  work('some_data_
4a20: 74 61 62 6c 65 27 29 3b 0d 0a 0d 0a 43 52 45 41  table');....CREA
4a30: 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45  TE VIRTUAL TABLE
4a40: 20 74 65 73 74 5f 72 6f 75 74 69 6e 67 20 55 53   test_routing US
4a50: 49 4e 47 20 56 69 72 74 75 61 6c 52 6f 75 74 69  ING VirtualRouti
4a60: 6e 67 28 27 73 6f 6d 65 5f 64 61 74 61 5f 74 61  ng('some_data_ta
4a70: 62 6c 65 27 29 3b 0d 0a 3c 2f 76 65 72 62 61 74  ble');..</verbat
4a80: 69 6d 3e 0d 0a 49 6e 20 6f 72 64 65 72 20 74 6f  im>..In order to
4a90: 20 6d 61 6e 75 61 6c 6c 79 20 63 72 65 61 74 65   manually create
4aa0: 20 79 6f 75 72 20 56 69 72 74 75 61 6c 20 54 61   your Virtual Ta
4ab0: 62 6c 65 73 20 79 6f 75 20 6a 75 73 74 20 68 61  bles you just ha
4ac0: 76 65 20 74 6f 20 65 78 65 63 75 74 65 20 61 6e  ve to execute an
4ad0: 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 62 3e   appropriate <b>
4ae0: 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20 54  CREATE VIRTUAL T
4af0: 41 42 4c 45 20 2e 2e 2e 20 55 53 49 4e 47 20 56  ABLE ... USING V
4b00: 69 72 74 75 61 6c 2e 2e 2e 20 28 2e 2e 2e 29 3c  irtual... (...)<
4b10: 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0d 0a  /b> statement...
4b20: 3c 68 34 3e 57 61 72 6e 69 6e 67 3c 2f 68 34 3e  <h4>Warning</h4>
4b30: 0d 0a 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66  ..In the case of
4b40: 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65 74 77   <b>Spatial Netw
4b50: 6f 72 6b 73 3c 2f 62 3e 20 62 61 73 65 64 20 6f  orks</b> based o
4b60: 6e 20 61 6e 79 20 3c 62 3e 67 65 6f 67 72 61 70  n any <b>geograp
4b70: 68 69 63 3c 2f 62 3e 20 52 65 66 65 72 65 6e 63  hic</b> Referenc
4b80: 65 20 53 79 73 74 65 6d 20 28 75 73 69 6e 67 20  e System (using 
4b90: 3c 62 3e 6c 6f 6e 67 69 74 75 64 65 73 3c 2f 62  <b>longitudes</b
4ba0: 3e 20 61 6e 64 20 3c 62 3e 6c 61 74 69 74 75 64  > and <b>latitud
4bb0: 65 73 3c 2f 62 3e 29 20 74 68 65 72 65 20 69 73  es</b>) there is
4bc0: 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 64 69   an important di
4bd0: 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e  fference between
4be0: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62   Binary Data Tab
4bf0: 6c 65 73 20 63 72 65 61 74 65 64 20 62 79 20 74  les created by t
4c00: 68 65 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65  he <b>spatialite
4c10: 5f 6e 65 74 77 6f 72 6b 3c 2f 62 3e 20 47 55 49  _network</b> GUI
4c20: 20 74 6f 6f 6c 20 61 6e 64 20 20 42 69 6e 61 72   tool and  Binar
4c30: 79 20 44 61 74 61 20 54 61 62 6c 65 73 20 63 72  y Data Tables cr
4c40: 65 61 74 65 64 20 62 79 20 74 68 65 20 3c 62 3e  eated by the <b>
4c50: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c  CreateRouting()<
4c60: 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  /b> SQL function
4c70: 20 77 68 65 6e 20 3c 62 3e 63 6f 73 74 73 3c 2f   when <b>costs</
4c80: 62 3e 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c  b> are implicitl
4c90: 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 67  y based on the g
4ca0: 65 6f 6d 65 74 72 69 63 20 6c 65 6e 67 74 68 20  eometric length 
4cb0: 6f 66 20 74 68 65 20 4c 69 6e 6b 27 73 20 4c 69  of the Link's Li
4cc0: 6e 65 73 74 72 69 6e 67 3a 0d 0a 3c 75 6c 3e 0d  nestring:..<ul>.
4cd0: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 73 70 61 74  .<li>the <b>spat
4ce0: 69 61 6c 69 74 65 5f 6e 65 74 77 6f 72 6b 3c 2f  ialite_network</
4cf0: 62 3e 20 43 4c 49 20 74 6f 6f 6c 20 28 61 6e 64  b> CLI tool (and
4d00: 20 74 68 65 20 3c 62 3e 47 55 49 20 77 69 7a 61   the <b>GUI wiza
4d10: 72 64 3c 2f 62 3e 20 69 6d 70 6c 65 6d 65 6e 74  rd</b> implement
4d20: 65 64 20 62 79 20 70 72 65 76 69 6f 75 73 20 76  ed by previous v
4d30: 65 72 73 69 6f 6e 73 20 6f 66 20 3c 62 3e 73 70  ersions of <b>sp
4d40: 61 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e  atialite_gui</b>
4d50: 29 20 63 6f 6d 70 75 74 65 20 74 68 65 20 4c 69  ) compute the Li
4d60: 6e 65 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74  nestring's lengt
4d70: 68 20 61 73 20 61 6e 20 3c 62 3e 61 6e 67 75 6c  h as an <b>angul
4d80: 61 72 20 64 69 73 74 61 6e 63 65 3c 2f 62 3e 20  ar distance</b> 
4d90: 65 78 70 72 65 73 73 65 64 20 69 6e 20 3c 62 3e  expressed in <b>
4da0: 64 65 67 72 65 65 73 3c 2f 62 3e 2e 3c 2f 6c 69  degrees</b>.</li
4db0: 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 43 72  >..<li>the <b>Cr
4dc0: 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62  eateRouting()</b
4dd0: 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 20 63  > SQL function c
4de0: 6f 6d 70 75 74 65 73 20 74 68 65 20 4c 69 6e 65  omputes the Line
4df0: 73 74 72 69 6e 67 27 73 20 6c 65 6e 67 74 68 20  string's length 
4e00: 61 73 20 61 20 3c 62 3e 6c 69 6e 65 61 72 20 64  as a <b>linear d
4e10: 69 73 74 61 6e 63 65 3c 2f 62 3e 20 65 78 70 72  istance</b> expr
4e20: 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 72  essed in <b>metr
4e30: 65 73 3c 2f 62 3e 20 62 79 20 61 70 70 6c 79 69  es</b> by applyi
4e40: 6e 67 20 74 68 65 20 6d 6f 73 74 20 61 63 63 75  ng the most accu
4e50: 72 61 74 65 20 3c 62 3e 67 65 6f 64 65 73 69 63  rate <b>geodesic
4e60: 20 66 6f 72 6d 75 6c 61 73 3c 2f 62 3e 20 6f 6e   formulas</b> on
4e70: 20 74 68 65 20 65 6c 6c 69 70 73 6f 69 64 2e 3c   the ellipsoid.<
4e80: 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74  /li>..</ul>..</t
4e90: 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 3c  d></tr></table><
4ea0: 62 72 3e 3c 62 72 3e 0d 0a 3c 76 65 72 62 61 74  br><br>..<verbat
4eb0: 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 43 72 65 61  im>..SELECT Crea
4ec0: 74 65 52 6f 75 74 69 6e 67 28 27 62 79 63 61 72  teRouting('bycar
4ed0: 5f 64 61 74 61 27 2c 20 27 62 79 63 61 72 27 2c  _data', 'bycar',
4ee0: 20 27 72 6f 61 64 73 5f 76 77 27 2c 20 27 6e 6f   'roads_vw', 'no
4ef0: 64 65 5f 66 72 6f 6d 27 2c 20 27 6e 6f 64 65 5f  de_from', 'node_
4f00: 74 6f 27 2c 20 27 67 65 6f 6d 27 2c 20 27 63 6f  to', 'geom', 'co
4f10: 73 74 27 2c 20 27 74 6f 70 6f 6e 79 6d 27 2c 20  st', 'toponym', 
4f20: 31 2c 20 31 2c 20 27 6f 6e 65 77 61 79 5f 66 72  1, 1, 'oneway_fr
4f30: 6f 6d 74 6f 27 2c 20 27 6f 6e 65 77 61 79 5f 74  omto', 'oneway_t
4f40: 6f 66 72 6f 6d 27 2c 20 30 29 3b 0d 0a 2d 2d 2d  ofrom', 0);..---
4f50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4f60: 2d 0d 0a 31 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  -..1..</verbatim
4f70: 3e 0d 0a 41 66 74 65 72 20 63 61 6c 6c 69 6e 67  >..After calling
4f80: 20 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e   <b>CreateRoutin
4f90: 67 28 29 3c 2f 62 3e 20 63 6f 72 72 65 63 74 6c  g()</b> correctl
4fa0: 79 2c 20 20 74 68 65 20 44 61 74 61 62 61 73 65  y,  the Database
4fb0: 20 63 6f 6e 74 61 69 6e 73 20 74 77 6f 20 66 75   contains two fu
4fc0: 72 74 68 65 72 20 54 61 62 6c 65 73 3a 20 3c 62  rther Tables: <b
4fd0: 3e 62 79 63 61 72 3c 2f 62 3e 20 61 6e 64 20 3c  >bycar</b> and <
4fe0: 62 3e 62 79 63 61 72 5f 64 61 74 61 3c 2f 62 3e  b>bycar_data</b>
4ff0: 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 74 69 6d 65  .<br>..This time
5000: 20 79 6f 75 27 76 65 20 75 73 65 64 20 74 68 65   you've used the
5010: 20 3c 69 3e 63 6f 6d 70 6c 65 74 65 20 66 6f 72   <i>complete for
5020: 6d 3c 2f 69 3e 20 6f 66 20 43 72 65 61 74 65 52  m</i> of CreateR
5030: 6f 75 74 69 6e 67 28 29 3b 20 6c 65 74 27 73 20  outing(); let's 
5040: 73 65 65 20 69 6e 20 6d 6f 72 65 20 64 65 70 74  see in more dept
5050: 68 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65  h all the argume
5060: 6e 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65  nts and their me
5070: 61 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c  aning:..<ol>..<l
5080: 69 3e 3c 69 3e 62 79 63 61 72 5f 64 61 74 61 3c  i><i>bycar_data<
5090: 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62 6f  /i>: same as abo
50a0: 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69  ve.</li>..<li><i
50b0: 3e 62 79 63 61 72 3c 2f 69 3e 3a 20 73 61 6d 65  >bycar</i>: same
50c0: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d   as above.</li>.
50d0: 0a 3c 6c 69 3e 3c 69 3e 72 6f 61 64 73 5f 76 77  .<li><i>roads_vw
50e0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
50f0: 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  ove.</li>..<li><
5100: 69 3e 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a  i>node_from</i>:
5110: 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c   same as above.<
5120: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6e 6f 64  /li>..<li><i>nod
5130: 65 5f 74 6f 3c 2f 69 3e 3a 20 73 61 6d 65 20 61  e_to</i>: same a
5140: 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d 0a 3c  s above.</li>..<
5150: 6c 69 3e 3c 69 3e 67 65 6f 6d 3c 2f 69 3e 3a 20  li><i>geom</i>: 
5160: 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 3c 2f  same as above.</
5170: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 63 6f 73 74  li>..<li><i>cost
5180: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
5190: 6f 76 65 2e 0d 0a 49 6e 20 74 68 69 73 20 63 61  ove...In this ca
51a0: 73 65 20 77 65 20 68 61 76 65 20 72 65 66 65 72  se we have refer
51b0: 65 6e 63 65 64 20 61 20 63 6f 6c 75 6d 6e 20 70  enced a column p
51c0: 72 65 6c 6f 61 64 65 64 20 77 69 74 68 20 76 61  reloaded with va
51d0: 6c 75 65 73 20 63 6f 72 72 65 73 70 6f 6e 64 69  lues correspondi
51e0: 6e 67 20 74 6f 20 74 68 65 20 3c 62 3e 74 69 6d  ng to the <b>tim
51f0: 65 3c 2f 62 3e 20 6d 65 61 73 75 72 65 64 20 69  e</b> measured i
5200: 6e 20 3c 62 3e 73 65 63 6f 6e 64 73 3c 2f 62 3e  n <b>seconds</b>
5210: 20 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61   required to tra
5220: 76 65 72 73 65 20 65 61 63 68 20 4c 69 6e 6b 2e  verse each Link.
5230: 3c 2f 6c 69 3e 20 0d 0a 3c 6c 69 3e 3c 69 3e 74  </li> ..<li><i>t
5240: 6f 70 6f 6e 79 6d 3c 2f 69 3e 3a 20 73 61 6d 65  oponym</i>: same
5250: 20 61 73 20 61 62 6f 76 65 2e 3c 2f 6c 69 3e 0d   as above.</li>.
5260: 0a 3c 6c 69 3e 3c 69 3e 31 3c 2f 69 3e 3a 20 73  .<li><i>1</i>: s
5270: 61 6d 65 20 61 73 20 61 62 6f 76 65 20 28 3c 69  ame as above (<i
5280: 3e 41 2a 20 65 6e 61 62 6c 65 64 3c 2f 69 3e 29  >A* enabled</i>)
5290: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 31  .</li>..<li><i>1
52a0: 3c 2f 69 3e 3a 20 73 61 6d 65 20 61 73 20 61 62  </i>: same as ab
52b0: 6f 76 65 20 28 3c 69 3e 62 69 64 69 72 65 63 74  ove (<i>bidirect
52c0: 69 6f 6e 61 6c 20 4c 69 6e 6b 73 3c 2f 69 3e 29  ional Links</i>)
52d0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e 6f  .</li>..<li><i>o
52e0: 6e 65 77 61 79 5f 66 72 6f 6d 74 6f 3c 2f 69 3e  neway_fromto</i>
52f0: 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f  : name of the co
5300: 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20 61 62 6f  lumn (in the abo
5310: 76 65 20 54 61 62 6c 65 20 6f 72 20 56 69 65 77  ve Table or View
5320: 29 20 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f  ) expected to co
5330: 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e 20 66 6c  ntain boolean fl
5340: 61 67 73 20 73 70 65 63 69 66 79 69 6e 67 20 69  ags specifying i
5350: 66 20 65 61 63 68 20 4c 69 6e 6b 20 63 61 6e 20  f each Link can 
5360: 62 65 20 74 72 61 76 65 72 73 65 64 20 69 6e 20  be traversed in 
5370: 74 68 65 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f  the <b>from-to</
5380: 62 3e 20 64 69 72 65 63 74 69 6f 6e 20 6f 72 20  b> direction or 
5390: 6e 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  not.</li>..<li><
53a0: 69 3e 6f 6e 65 77 61 79 5f 74 6f 66 72 6f 6d 3c  i>oneway_tofrom<
53b0: 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20 74 68 65  /i>: name of the
53c0: 20 63 6f 6c 75 6d 6e 20 28 69 6e 20 74 68 65 20   column (in the 
53d0: 61 62 6f 76 65 20 54 61 62 6c 65 20 6f 72 20 56  above Table or V
53e0: 69 65 77 29 20 65 78 70 65 63 74 65 64 20 74 6f  iew) expected to
53f0: 20 63 6f 6e 74 61 69 6e 20 62 6f 6f 6c 65 61 6e   contain boolean
5400: 20 66 6c 61 67 73 20 73 70 65 63 69 66 79 69 6e   flags specifyin
5410: 67 20 69 66 20 65 61 63 68 20 4c 69 6e 6b 20 63  g if each Link c
5420: 61 6e 20 62 65 20 74 72 61 76 65 72 73 65 64 20  an be traversed 
5430: 69 6e 20 74 68 65 20 3c 62 3e 74 6f 2d 66 72 6f  in the <b>to-fro
5440: 6d 3c 2f 62 3e 20 64 69 72 65 63 74 69 6f 6e 20  m</b> direction 
5450: 6f 72 20 6e 6f 74 2e 3c 62 72 3e 0d 0a 3c 75 3e  or not.<br>..<u>
5460: 4e 6f 74 65 20 23 31 3c 2f 75 3e 3a 20 62 6f 74  Note #1</u>: bot
5470: 68 20 3c 62 3e 66 72 6f 6d 2d 74 6f 3c 2f 62 3e  h <b>from-to</b>
5480: 20 61 6e 64 20 3c 62 3e 74 6f 2d 66 72 6f 6d 3c   and <b>to-from<
5490: 2f 62 3e 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73  /b> column names
54a0: 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69 6d 61   can be legitima
54b0: 74 65 6c 79 20 73 65 74 20 61 73 20 3c 62 3e 4e  tely set as <b>N
54c0: 55 4c 4c 3c 2f 62 3e 20 69 66 20 6e 6f 20 3c 62  ULL</b> if no <b
54d0: 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e 20 72 65 73  >one-way</b> res
54e0: 74 72 69 63 74 69 6f 6e 73 20 61 70 70 6c 79 20  trictions apply 
54f0: 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 4e  to the current N
5500: 65 74 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 3c 75 3e  etwork.<br>..<u>
5510: 4e 6f 74 65 20 23 32 3c 2f 75 3e 3a 20 4e 65 74  Note #2</u>: Net
5520: 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 3c 62 3e  works of the <b>
5530: 75 6e 69 64 69 72 65 63 74 69 6f 6e 61 6c 3c 2f  unidirectional</
5540: 62 3e 20 74 79 70 65 20 61 72 65 20 6e 65 76 65  b> type are neve
5550: 72 20 65 6e 61 62 6c 65 64 20 74 6f 20 72 65 66  r enabled to ref
5560: 65 72 65 6e 63 65 20 3c 62 3e 6f 6e 65 2d 77 61  erence <b>one-wa
5570: 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 28 74  y</b> columns (t
5580: 68 65 79 20 73 68 6f 75 6c 64 20 61 6c 77 61 79  hey should alway
5590: 73 20 62 65 20 73 65 74 20 74 6f 20 3c 62 3e 4e  s be set to <b>N
55a0: 55 4c 4c 3c 2f 62 3e 29 2e 3c 2f 6c 69 3e 0d 0a  ULL</b>).</li>..
55b0: 3c 6c 69 3e 3c 69 3e 30 3c 2f 69 3e 3a 20 61 20  <li><i>0</i>: a 
55c0: 62 6f 6f 6c 65 61 6e 20 66 6c 61 67 20 69 6e 74  boolean flag int
55d0: 65 6e 64 69 6e 67 20 61 6e 20 3c 62 3e 6f 76 65  ending an <b>ove
55e0: 72 77 72 69 74 65 20 61 75 74 68 6f 72 69 7a 61  rwrite authoriza
55f0: 74 69 6f 6e 3c 2f 62 3e 2e 0d 0a 3c 75 6c 3e 0d  tion</b>...<ul>.
5600: 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74 6f 20 3c  .<li>If set to <
5610: 62 3e 46 41 4c 53 45 3c 2f 62 3e 20 61 6e 20 65  b>FALSE</b> an e
5620: 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65  xception will be
5630: 20 72 61 69 73 65 64 20 69 66 20 74 68 65 20 3c   raised if the <
5640: 62 3e 42 69 6e 61 72 79 20 44 61 74 61 20 54 61  b>Binary Data Ta
5650: 62 6c 65 3c 2f 62 3e 20 61 6e 64 2f 6f 72 20 74  ble</b> and/or t
5660: 68 65 20 3c 62 3e 56 69 72 74 75 61 6c 52 6f 75  he <b>VirtualRou
5670: 74 69 6e 67 20 54 61 62 6c 65 3c 2f 62 3e 20 61  ting Table</b> a
5680: 6c 72 65 61 64 79 20 65 78 69 73 74 2e 3c 2f 6c  lready exist.</l
5690: 69 3e 0d 0a 3c 6c 69 3e 49 66 20 73 65 74 20 74  i>..<li>If set t
56a0: 6f 20 3c 62 3e 54 52 55 45 3c 2f 62 3e 20 65 76  o <b>TRUE</b> ev
56b0: 65 6e 74 75 61 6c 6c 79 20 65 78 69 73 74 69 6e  entually existin
56c0: 67 20 54 61 62 6c 65 73 20 77 69 6c 6c 20 62 65  g Tables will be
56d0: 2c 20 74 6f 20 61 76 6f 69 64 20 65 72 72 6f 72  , to avoid error
56e0: 73 2c 20 64 72 6f 70 70 65 64 20 62 65 66 6f 72  s, dropped befor
56f0: 65 20 73 74 61 72 74 69 6e 67 20 74 68 65 20 65  e starting the e
5700: 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c 62 3e 43  xecution of <b>C
5710: 72 65 61 74 65 52 6f 75 74 69 6e 67 28 29 3c 2f  reateRouting()</
5720: 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  b>.</li>..</ul><
5730: 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 62 72  /li>..</ol>..<br
5740: 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f  >..<table bgcolo
5750: 72 3d 22 23 66 66 66 66 63 30 22 20 63 65 6c 6c  r="#ffffc0" cell
5760: 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c  spacing="10" cel
5770: 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72  lpadding="6"><tr
5780: 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 48 69 67 68 6c  ><td>..<h3>Highl
5790: 69 67 68 74 3a 20 77 68 65 72 65 20 79 6f 75 20  ight: where you 
57a0: 61 72 65 3c 2f 68 33 3e 0d 0a 59 6f 75 27 76 65  are</h3>..You've
57b0: 20 6a 75 73 74 20 63 72 65 61 74 65 64 20 74 77   just created tw
57c0: 6f 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  o VirtualRouting
57d0: 20 54 61 62 6c 65 73 20 62 61 73 65 64 20 6f 6e   Tables based on
57e0: 20 64 69 66 66 65 72 65 6e 74 20 73 65 74 74 69   different setti
57f0: 6e 67 73 3b 20 62 6f 74 68 20 74 68 65 6d 20 61  ngs; both them a
5800: 72 65 20 70 65 72 66 65 63 74 6c 79 20 76 61 6c  re perfectly val
5810: 69 64 20 61 6e 64 20 72 65 61 73 6f 6e 61 62 6c  id and reasonabl
5820: 65 2c 20 62 75 74 20 74 68 65 79 20 61 72 65 20  e, but they are 
5830: 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 64 69 66  intended for dif
5840: 66 65 72 65 6e 74 20 70 75 72 70 6f 73 65 73 3a  ferent purposes:
5850: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 62  ..<ul>..<li><b>b
5860: 79 66 6f 6f 74 3c 2f 62 3e 20 69 73 20 73 70 65  yfoot</b> is spe
5870: 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e 64  cifically intend
5880: 65 64 20 66 6f 72 20 3c 62 3e 70 65 64 65 73 74  ed for <b>pedest
5890: 72 69 61 6e 73 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e  rians</b>:..<ul>
58a0: 0d 0a 3c 6c 69 3e 61 6c 6c 20 4c 69 6e 6b 73 20  ..<li>all Links 
58b0: 61 72 65 20 61 6c 77 61 79 73 20 61 73 73 75 6d  are always assum
58c0: 65 64 20 74 6f 20 62 65 20 61 63 63 65 73 73 69  ed to be accessi
58d0: 62 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64  ble in <b>both d
58e0: 69 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 3b 20 74  irections</b>; t
58f0: 68 65 72 65 20 61 72 65 20 6e 6f 20 3c 62 3e 6f  here are no <b>o
5900: 6e 65 2d 77 61 79 73 3c 2f 62 3e 20 61 6e 64 20  ne-ways</b> and 
5910: 6e 6f 20 3c 62 3e 66 6f 72 62 69 64 64 65 6e 3c  no <b>forbidden<
5920: 2f 62 3e 20 4c 69 6e 6b 73 2e 3c 2f 6c 69 3e 0d  /b> Links.</li>.
5930: 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 63 6f 73 74  .<li>the <b>cost
5940: 3c 2f 62 3e 20 6f 66 20 65 61 63 68 20 4c 69 6e  </b> of each Lin
5950: 6b 20 69 73 20 64 69 72 65 63 74 6c 79 20 72 65  k is directly re
5960: 70 72 65 73 65 6e 74 65 64 20 62 79 20 69 74 73  presented by its
5970: 20 67 65 6f 6d 65 74 72 69 63 20 3c 62 3e 6c 65   geometric <b>le
5980: 6e 67 74 68 3c 2f 62 3e 2c 20 77 68 69 63 68 20  ngth</b>, which 
5990: 69 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69  is consistent wi
59a0: 74 68 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f  th the assumptio
59b0: 6e 20 6f 66 20 61 6e 20 61 6c 6d 6f 73 74 20 63  n of an almost c
59c0: 6f 6e 73 74 61 6e 74 20 73 70 65 65 64 20 73 75  onstant speed su
59d0: 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6d 6d 75  bstantially immu
59e0: 6e 65 20 66 72 6f 6d 20 61 64 76 65 72 73 65 20  ne from adverse 
59f0: 72 6f 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20  road conditions 
5a00: 61 6e 64 20 74 72 61 66 66 69 63 20 63 6f 6e 67  and traffic cong
5a10: 65 73 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  estion.</li>..</
5a20: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  ul></li>..<li><b
5a30: 3e 62 79 63 61 72 3c 2f 62 3e 20 69 73 20 73 70  >bycar</b> is sp
5a40: 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e  ecifically inten
5a50: 64 65 64 20 66 6f 72 20 3c 62 3e 6d 6f 74 6f 72  ded for <b>motor
5a60: 20 76 65 68 69 63 6c 65 73 3c 2f 62 3e 3a 0d 0a   vehicles</b>:..
5a70: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6d 61 6e 79 20 4c  <ul>..<li>many L
5a80: 69 6e 6b 73 20 61 72 65 20 65 78 70 65 63 74 65  inks are expecte
5a90: 64 20 74 6f 20 62 65 20 61 63 63 65 73 73 69 62  d to be accessib
5aa0: 6c 65 20 69 6e 20 3c 62 3e 62 6f 74 68 20 64 69  le in <b>both di
5ab0: 72 65 63 74 69 6f 6e 73 3c 2f 62 3e 20 62 75 74  rections</b> but
5ac0: 20 6f 74 68 65 72 73 20 63 6f 75 6c 64 20 65 61   others could ea
5ad0: 73 69 6c 79 20 62 65 20 73 75 62 6a 65 63 74 20  sily be subject 
5ae0: 74 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62  to <b>one-way</b
5af0: 3e 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f  > restrictions o
5b00: 72 20 65 76 65 6e 20 62 65 20 63 6f 6d 70 6c 65  r even be comple
5b10: 74 65 6c 79 20 3c 62 3e 66 6f 72 62 69 64 64 65  tely <b>forbidde
5b20: 6e 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  n</b>.</li>..<li
5b30: 3e 74 68 65 20 63 6f 73 74 20 6f 66 20 65 61 63  >the cost of eac
5b40: 68 20 4c 69 6e 6b 20 69 73 20 65 78 70 72 65 73  h Link is expres
5b50: 73 65 64 20 61 73 20 61 6e 20 65 73 74 69 6d 61  sed as an estima
5b60: 74 65 64 20 3c 62 3e 74 72 61 76 65 6c 20 74 69  ted <b>travel ti
5b70: 6d 65 3c 2f 62 3e 2c 20 62 65 63 61 75 73 65 20  me</b>, because 
5b80: 74 68 65 20 65 78 70 65 63 74 65 64 20 73 70 65  the expected spe
5b90: 65 64 73 20 63 61 6e 20 67 72 65 61 74 6c 79 20  eds can greatly 
5ba0: 76 61 72 79 20 61 63 63 6f 72 64 69 6e 67 6c 79  vary accordingly
5bb0: 20 74 6f 20 73 70 65 63 69 66 69 63 20 72 6f 61   to specific roa
5bc0: 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 74 72  d conditions, tr
5bd0: 61 66 66 69 63 20 63 6f 6e 67 65 73 74 69 6f 6e  affic congestion
5be0: 20 61 6e 64 20 6c 65 67 61 6c 20 72 65 67 75 6c   and legal regul
5bf0: 61 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  ations.</li>..</
5c00: 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  ul></li>..</ul>.
5c10: 0a 3c 62 72 3e 0d 0a 3c 75 3e 43 6f 6e 63 6c 75  .<br>..<u>Conclu
5c20: 73 69 6f 6e 3c 2f 75 3e 3a 20 61 20 73 69 6e 67  sion</u>: a sing
5c30: 6c 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  le VirtualRoutin
5c40: 67 20 54 61 62 6c 65 20 63 61 6e 6e 6f 74 20 61  g Table cannot a
5c50: 64 65 71 75 61 74 65 6c 79 20 73 75 70 70 6f 72  dequately suppor
5c60: 74 20 61 6c 6c 20 72 65 71 75 69 72 65 6d 65 6e  t all requiremen
5c70: 74 73 20 61 6e 64 20 65 78 70 65 63 74 61 74 69  ts and expectati
5c80: 6f 6e 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74  ons of different
5c90: 20 75 73 65 72 73 2e 3c 62 72 3e 0d 0a 44 65 66   users.<br>..Def
5ca0: 69 6e 69 6e 67 20 6d 6f 72 65 20 52 6f 75 74 69  ining more Routi
5cb0: 6e 67 20 54 61 62 6c 65 73 20 77 69 74 68 20 64  ng Tables with d
5cc0: 69 66 66 65 72 65 6e 74 20 73 65 74 74 69 6e 67  ifferent setting
5cd0: 73 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 4e  s for the same N
5ce0: 65 74 77 6f 72 6b 20 75 73 75 61 6c 6c 79 20 69  etwork usually i
5cf0: 73 20 61 20 67 6f 6f 64 20 64 65 73 69 67 6e 20  s a good design 
5d00: 63 68 6f 69 63 65 20 6c 65 61 64 69 6e 67 20 74  choice leading t
5d10: 6f 20 6d 6f 72 65 20 72 65 61 6c 69 73 74 69 63  o more realistic
5d20: 20 72 65 73 75 6c 74 73 2e 3c 62 72 3e 0d 0a 3c   results.<br>..<
5d30: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  /td></tr>..</tab
5d40: 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  le>..<br><br>..<
5d50: 68 33 3e 55 74 69 6c 69 74 79 20 66 75 6e 63 74  h3>Utility funct
5d60: 69 6f 6e 20 66 6f 72 20 61 75 74 6f 6d 61 74 69  ion for automati
5d70: 63 61 6c 6c 79 20 73 65 74 74 69 6e 67 20 4e 6f  cally setting No
5d80: 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f 64 65 54  deFrom and NodeT
5d90: 6f 20 49 44 73 3c 2f 68 33 3e 0d 0a 49 74 20 63  o IDs</h3>..It c
5da0: 6f 75 6c 64 20 68 61 70 70 65 6e 20 74 68 61 74  ould happen that
5db0: 20 61 20 3c 62 3e 53 70 61 74 69 61 6c 20 4e 65   a <b>Spatial Ne
5dc0: 74 77 6f 72 6b 3c 2f 62 3e 20 72 65 70 72 65 73  twork</b> repres
5dd0: 65 6e 74 61 74 69 6f 6e 20 69 73 20 74 6f 70 6f  entation is topo
5de0: 6c 6f 67 69 63 61 6c 6c 79 20 63 6f 6e 73 69 73  logically consis
5df0: 74 65 6e 74 2c 20 62 75 74 20 63 6f 6d 70 6c 65  tent, but comple
5e00: 74 65 6c 79 20 6c 61 63 6b 69 6e 67 20 6f 66 20  tely lacking of 
5e10: 61 6e 79 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c  any <b>NodeFrom<
5e20: 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54  /b> and <b>NodeT
5e30: 6f 3c 2f 62 3e 20 64 65 66 69 6e 69 74 69 6f 6e  o</b> definition
5e40: 73 2e 3c 62 72 3e 0d 0a 49 6e 20 73 75 63 68 20  s.<br>..In such 
5e50: 61 20 63 61 73 65 20 79 6f 75 20 63 61 6e 20 73  a case you can s
5e60: 75 63 63 65 73 73 66 75 6c 6c 79 20 72 65 62 75  uccessfully rebu
5e70: 69 6c 64 20 74 68 65 20 6d 69 73 73 69 6e 67 20  ild the missing 
5e80: 20 4e 6f 64 65 46 72 6f 6d 20 61 6e 64 20 4e 6f   NodeFrom and No
5e90: 64 65 54 6f 20 64 65 66 69 6e 69 74 69 6f 6e 73  deTo definitions
5ea0: 20 66 72 6f 6d 20 61 20 76 61 6c 69 64 20 4e 65   from a valid Ne
5eb0: 74 77 6f 72 6b 20 62 79 20 63 61 6c 6c 69 6e 67  twork by calling
5ec0: 20 74 68 65 20 3c 62 3e 43 72 65 61 74 65 52 6f   the <b>CreateRo
5ed0: 75 74 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e  utingNodes()</b>
5ee0: 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 2e 0d 0a   SQL function...
5ef0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45  <verbatim>..SELE
5f00: 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e 67  CT CreateRouting
5f10: 4e 6f 64 65 73 28 4e 55 4c 4c 2c 20 27 74 61 62  Nodes(NULL, 'tab
5f20: 6c 65 5f 6e 61 6d 65 27 2c 20 27 67 65 6f 6d 27  le_name', 'geom'
5f30: 2c 20 27 6e 6f 64 65 5f 66 72 6f 6d 27 2c 20 27  , 'node_from', '
5f40: 6e 6f 64 65 5f 74 6f 27 29 3b 0d 0a 5f 5f 5f 5f  node_to');..____
5f50: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f  ________________
5f60: 5f 5f 5f 5f 5f 0d 0a 31 0d 0a 3c 2f 76 65 72 62  _____..1..</verb
5f70: 61 74 69 6d 3e 0d 0a 4c 65 74 27 73 20 65 78 61  atim>..Let's exa
5f80: 6d 69 6e 65 20 61 6c 6c 20 61 72 67 75 6d 65 6e  mine all argumen
5f90: 74 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65 61  ts and their mea
5fa0: 6e 69 6e 67 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69  ning:..<ol>..<li
5fb0: 3e 3c 69 3e 4e 55 4c 4c 3c 2f 69 3e 3a 20 6e 61  ><i>NULL</i>: na
5fc0: 6d 65 20 6f 66 20 74 68 65 20 3c 62 3e 41 74 74  me of the <b>Att
5fd0: 61 63 68 65 64 2d 44 42 3c 2f 62 3e 20 63 6f 6e  ached-DB</b> con
5fe0: 74 61 69 6e 69 6e 67 20 74 68 65 20 53 70 61 74  taining the Spat
5ff0: 69 61 6c 20 54 61 62 6c 65 2e 3c 62 72 3e 0d 0a  ial Table.<br>..
6000: 49 74 20 63 61 6e 20 62 65 20 6c 65 67 69 74 69  It can be legiti
6010: 6d 61 74 65 6c 79 20 73 65 74 20 74 6f 20 3c 62  mately set to <b
6020: 3e 4e 55 4c 4c 3c 2f 62 3e 2c 20 61 6e 64 20 69  >NULL</b>, and i
6030: 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20  n this case the 
6040: 3c 62 3e 4d 41 49 4e 3c 2f 62 3e 20 44 42 20 69  <b>MAIN</b> DB i
6050: 73 20 61 73 73 75 6d 65 64 2e 3c 2f 6c 69 3e 0d  s assumed.</li>.
6060: 0a 3c 6c 69 3e 3c 69 3e 74 61 62 6c 65 5f 6e 61  .<li><i>table_na
6070: 6d 65 3c 2f 69 3e 3a 20 6e 61 6d 65 20 6f 66 20  me</i>: name of 
6080: 74 68 65 20 53 70 61 74 69 61 6c 20 54 61 62 6c  the Spatial Tabl
6090: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  e.</li>..<li><i>
60a0: 67 65 6f 6d 3c 2f 6c 69 3e 3a 20 6e 61 6d 65 20  geom</li>: name 
60b0: 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 28 28  of the column ((
60c0: 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54 61 62  in the above Tab
60d0: 6c 65 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20 3c  le) containing <
60e0: 62 3e 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 62  b>Linestrings</b
60f0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 69 3e  >.</li>..<li><i>
6100: 6e 6f 64 65 5f 66 72 6f 6d 3c 2f 69 3e 3a 20 6e  node_from</i>: n
6110: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
6120: 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f  n to be added to
6130: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65   the above Table
6140: 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77   and populated w
6150: 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65 20  ith appropriate 
6160: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
6170: 49 44 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c  IDs.</li>..<li><
6180: 69 3e 6e 6f 64 65 5f 74 6f 3c 2f 69 3e 3a 20 6e  i>node_to</i>: n
6190: 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  ame of the colum
61a0: 6e 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f  n to be added to
61b0: 20 74 68 65 20 61 62 6f 76 65 20 54 61 62 6c 65   the above Table
61c0: 20 61 6e 64 20 70 6f 70 75 6c 61 74 65 64 20 77   and populated w
61d0: 69 74 68 20 61 70 70 72 6f 70 72 69 61 74 65 20  ith appropriate 
61e0: 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 49 44  <b>NodeTo</b> ID
61f0: 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  s.<br>..<u>Note<
6200: 2f 75 3e 3a 20 62 6f 74 68 20 3c 62 3e 4e 6f 64  /u>: both <b>Nod
6210: 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62  eFrom</b> and <b
6220: 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75  >NodeTo</b> colu
6230: 6d 6e 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62  mns should not b
6240: 65 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e 65  e already define
6250: 64 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 54  d in the above T
6260: 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c  able.</li>..</ol
6270: 3e 0d 0a 3c 62 3e 43 72 65 61 74 65 52 6f 75 74  >..<b>CreateRout
6280: 69 6e 67 4e 6f 64 65 73 28 29 3c 2f 62 3e 20 77  ingNodes()</b> w
6290: 69 6c 6c 20 72 65 74 75 72 6e 20 3c 62 3e 31 3c  ill return <b>1<
62a0: 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e 20  /b> (<i>aka</i> 
62b0: 3c 62 3e 54 52 55 45 3c 2f 62 3e 29 20 6f 6e 20  <b>TRUE</b>) on 
62c0: 73 75 63 63 65 73 73 3b 20 61 6e 20 65 78 63 65  success; an exce
62d0: 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 72 61  ption will be ra
62e0: 69 73 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 2e  ised on failure.
62f0: 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  <br>..<u>Note</u
6300: 3e 3a 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20  >: you can call 
6310: 3c 62 3e 43 72 65 61 74 65 52 6f 75 74 69 6e 67  <b>CreateRouting
6320: 5f 47 65 74 4c 61 73 74 45 72 72 6f 72 28 29 3c  _GetLastError()<
6330: 2f 62 3e 20 73 6f 20 74 6f 20 70 72 65 63 69 73  /b> so to precis
6340: 65 6c 79 20 69 64 65 6e 74 69 66 79 20 74 68 65  ely identify the
6350: 20 63 61 75 73 65 20 61 63 63 6f 75 6e 74 69 6e   cause accountin
6360: 67 20 66 6f 72 20 66 61 69 6c 75 72 65 2e 3c 62  g for failure.<b
6370: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62  r><br><br>..<tab
6380: 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66  le bgcolor="#c0f
6390: 66 63 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67  fc0" cellspacing
63a0: 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e  ="10" cellpaddin
63b0: 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a  g="6"><tr><td>..
63c0: 3c 68 33 3e 48 61 6e 64 6c 69 6e 67 20 64 79 6e  <h3>Handling dyn
63d0: 61 6d 69 63 20 4e 65 74 77 6f 72 6b 73 3c 2f 68  amic Networks</h
63e0: 33 3e 0d 0a 41 20 4e 65 74 77 6f 72 6b 20 63 6f  3>..A Network co
63f0: 75 6c 64 20 62 65 20 73 75 62 6a 65 63 74 20 74  uld be subject t
6400: 6f 20 72 61 74 68 65 72 20 66 72 65 71 75 65 6e  o rather frequen
6410: 74 20 63 68 61 6e 67 65 73 2c 20 73 75 63 68 20  t changes, such 
6420: 61 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 6e  as:..<ul>..<li>n
6430: 65 77 20 4c 69 6e 6b 73 20 6e 65 65 64 20 74 6f  ew Links need to
6440: 20 62 65 20 61 64 64 65 64 2e 3c 2f 6c 69 3e 0d   be added.</li>.
6450: 0a 3c 6c 69 3e 6f 62 73 6f 6c 65 74 65 20 4c 69  .<li>obsolete Li
6460: 6e 6b 73 20 61 72 65 20 72 65 71 75 69 72 65 64  nks are required
6470: 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 2e 3c   to be removed.<
6480: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 74 68 65 72 20  /li>..<li>other 
6490: 4c 69 6e 6b 73 20 6d 61 79 20 72 65 63 65 69 76  Links may receiv
64a0: 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 43 6f  e a different Co
64b0: 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 6f 6e  st.</li>..<li>on
64c0: 65 2d 77 61 79 73 20 63 6f 75 6c 64 20 62 65 20  e-ways could be 
64d0: 72 65 76 65 72 73 65 64 2c 20 74 68 65 20 64 69  reversed, the di
64e0: 73 63 69 70 6c 69 6e 65 20 6f 66 20 70 65 64 65  scipline of pede
64f0: 73 74 72 69 61 6e 20 61 72 65 61 73 20 63 6f 75  strian areas cou
6500: 6c 64 20 62 65 20 6d 6f 64 69 66 69 65 64 20 61  ld be modified a
6510: 6e 64 20 73 6f 20 6f 6e 2e 3c 2f 6c 69 3e 0d 0a  nd so on.</li>..
6520: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 3c 62 72 3e 0d 0a  </ul></li><br>..
6530: 41 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  A VirtualRouting
6540: 20 54 61 62 6c 65 20 69 73 20 61 6c 77 61 79 73   Table is always
6550: 20 62 61 73 65 64 20 6f 6e 20 61 20 63 6f 6d 70   based on a comp
6560: 61 6e 69 6f 6e 20 42 69 6e 61 72 79 20 44 61 74  anion Binary Dat
6570: 61 20 54 61 62 6c 65 2c 20 74 68 61 74 20 69 73  a Table, that is
6580: 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c 79 20 3c   intrinsically <
6590: 62 3e 73 74 61 74 69 63 3c 2f 62 3e 2c 20 61 6e  b>static</b>, an
65a0: 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 79  d consequently y
65b0: 6f 75 20 61 72 65 20 72 65 71 75 69 72 65 64 20  ou are required 
65c0: 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62 6f 74  to re-create bot
65d0: 68 20 6f 66 20 74 68 65 6d 20 66 72 6f 6d 20 74  h of them from t
65e0: 69 6d 65 20 74 6f 20 74 69 6d 65 20 69 6e 20 6f  ime to time in o
65f0: 72 64 65 72 20 74 6f 20 73 75 70 70 6f 72 74 20  rder to support 
6600: 61 6c 6c 20 72 65 63 65 6e 74 20 63 68 61 6e 67  all recent chang
6610: 65 73 20 61 66 66 65 63 74 69 6e 67 20 74 68 65  es affecting the
6620: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74   underlaying Net
6630: 77 6f 72 6b 2e 3c 62 72 3e 0d 0a 54 68 65 20 6f  work.<br>..The o
6640: 70 74 69 6d 61 6c 20 66 72 65 71 75 65 6e 63 79  ptimal frequency
6650: 20 66 6f 72 20 74 68 65 20 72 65 66 72 65 73 68   for the refresh
6660: 69 6e 67 20 6f 66 20 74 68 65 20 74 68 65 20 52  ing of the the R
6670: 6f 75 74 69 6e 67 20 54 61 62 6c 65 73 20 64 65  outing Tables de
6680: 70 65 6e 64 73 20 20 73 74 72 69 63 74 6c 79 20  pends  strictly 
6690: 6f 6e 20 74 68 65 20 73 70 65 63 69 66 69 63 20  on the specific 
66a0: 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 62 75  requirements, bu
66b0: 74 20 74 68 65 73 65 20 74 77 6f 20 6f 76 65 72  t these two over
66c0: 61 6c 6c 20 61 70 70 72 6f 61 63 68 65 73 20 61  all approaches a
66d0: 72 65 20 63 6f 6d 6d 6f 6e 6c 79 20 61 64 6f 70  re commonly adop
66e0: 74 65 64 3a 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e  ted:..<ol>..<li>
66f0: 3c 62 3e 6c 6f 77 20 66 72 65 71 75 65 6e 63 79  <b>low frequency
6700: 20 72 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65   refresh</b>: be
6710: 73 74 20 66 69 74 20 66 6f 72 20 73 6c 6f 77 6c  st fit for slowl
6720: 79 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f  y evolving Netwo
6730: 72 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 74 68 69  rks.<br>..In thi
6740: 73 20 63 61 73 65 20 72 65 2d 63 72 65 61 74 69  s case re-creati
6750: 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b 20 54  ng the Network T
6760: 61 62 6c 65 73 20 6f 6e 63 65 20 61 20 6d 6f 6e  ables once a mon
6770: 74 68 20 2f 20 77 65 65 6b 20 2f 20 64 61 79 20  th / week / day 
6780: 63 6f 75 6c 64 20 62 65 20 72 65 61 73 6f 6e 61  could be reasona
6790: 62 6c 79 20 65 6e 6f 75 67 68 2e 0d 0a 52 65 63  bly enough...Rec
67a0: 72 65 61 74 69 6e 67 20 74 68 65 20 54 61 62 6c  reating the Tabl
67b0: 65 73 20 66 72 6f 6d 20 73 63 72 61 74 63 68 20  es from scratch 
67c0: 75 73 75 61 6c 6c 79 20 72 65 71 75 69 72 65 73  usually requires
67d0: 20 73 65 76 65 72 61 6c 20 73 65 63 6f 6e 64 73   several seconds
67e0: 20 28 6f 72 20 65 76 65 6e 20 6c 65 73 73 2c 20   (or even less, 
67f0: 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65  depending on the
6800: 20 6e 75 6d 62 65 72 20 6f 66 20 4c 69 6e 6b 73   number of Links
6810: 29 2e 3c 62 72 3e 0d 0a 41 6e 20 6f 70 74 69 6f  ).<br>..An optio
6820: 6e 61 6c 20 72 65 66 72 65 73 68 20 61 63 74 69  nal refresh acti
6830: 76 69 74 79 20 63 6f 75 6c 64 20 62 65 20 70 6c  vity could be pl
6840: 61 6e 6e 65 64 20 61 74 20 6c 6f 77 20 74 72 61  anned at low tra
6850: 66 66 69 63 20 68 6f 75 72 73 20 28 65 2e 67 2e  ffic hours (e.g.
6860: 20 64 75 72 69 6e 67 20 74 68 65 20 6e 69 67 68   during the nigh
6870: 74 29 2c 20 61 6e 64 20 3c 62 3e 43 72 65 61 74  t), and <b>Creat
6880: 65 52 6f 75 74 69 6e 67 28 29 3c 2f 62 3e 20 63  eRouting()</b> c
6890: 6f 75 6c 64 20 62 65 20 6f 70 74 69 6f 6e 61 6c  ould be optional
68a0: 6c 79 20 63 61 6c 6c 65 64 20 62 79 20 65 6e 61  ly called by ena
68b0: 62 6c 69 6e 67 20 74 68 65 20 6f 76 65 72 77 72  bling the overwr
68c0: 69 74 65 20 6f 70 74 69 6f 6e 2e 3c 2f 6c 69 3e  ite option.</li>
68d0: 0d 0a 3c 6c 69 3e 3c 62 3e 6d 65 64 69 75 6d 2d  ..<li><b>medium-
68e0: 68 69 67 68 20 66 72 65 71 75 65 6e 63 79 20 72  high frequency r
68f0: 65 66 72 65 73 68 3c 2f 62 3e 3a 20 62 65 73 74  efresh</b>: best
6900: 20 66 69 74 20 66 6f 72 20 73 77 69 66 74 6c 79   fit for swiftly
6910: 20 65 76 6f 6c 76 69 6e 67 20 4e 65 74 77 6f 72   evolving Networ
6920: 6b 73 2e 3c 62 72 3e 0d 0a 52 65 2d 63 72 65 61  ks.<br>..Re-crea
6930: 74 69 6e 67 20 74 68 65 20 4e 65 74 77 6f 72 6b  ting the Network
6940: 20 54 61 62 6c 65 73 20 6f 6e 63 65 20 70 65 72   Tables once per
6950: 20 68 6f 75 72 20 28 6f 72 20 65 76 65 6e 20 6d   hour (or even m
6960: 6f 72 65 20 66 72 65 71 75 65 6e 74 6c 79 29 20  ore frequently) 
6970: 63 6f 75 6c 64 20 62 65 20 73 74 72 69 63 74 6c  could be strictl
6980: 79 20 72 65 71 75 69 72 65 64 2c 20 61 6e 64 20  y required, and 
6990: 66 72 65 71 75 65 6e 74 20 3c 62 3e 6f 75 74 20  frequent <b>out 
69a0: 6f 66 20 73 65 72 76 69 63 65 3c 2f 62 3e 20 70  of service</b> p
69b0: 65 72 69 6f 64 73 20 77 68 69 6c 65 20 77 61 69  eriods while wai
69c0: 74 69 6e 67 20 66 6f 72 20 74 68 65 20 72 65 66  ting for the ref
69d0: 72 65 73 68 20 70 72 6f 63 65 73 73 20 74 6f 20  resh process to 
69e0: 63 6f 6d 70 6c 65 74 65 20 63 6f 75 6c 64 20 65  complete could e
69f0: 61 73 69 6c 79 20 62 65 63 6f 6d 65 20 75 6e 61  asily become una
6a00: 63 63 65 70 74 61 62 6c 65 2e 3c 62 72 3e 0d 0a  cceptable.<br>..
6a10: 49 6e 20 73 75 63 68 20 63 61 73 65 73 20 79 6f  In such cases yo
6a20: 75 20 63 6f 75 6c 64 20 61 64 6f 70 74 20 61 20  u could adopt a 
6a30: 3c 62 3e 6d 75 6c 74 69 2d 74 68 72 65 61 64 65  <b>multi-threade
6a40: 64 20 73 74 72 61 74 65 67 79 3c 2f 62 3e 3a 0d  d strategy</b>:.
6a50: 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68  .<ul>..<li><b>th
6a60: 72 65 61 64 20 23 31 3c 2f 62 3e 20 28 3c 69 3e  read #1</b> (<i>
6a70: 74 68 65 20 72 65 61 64 65 72 3c 2f 69 3e 29 3a  the reader</i>):
6a80: 20 74 68 69 73 20 66 69 72 73 74 20 74 68 72 65   this first thre
6a90: 61 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74  ad is intended t
6aa0: 6f 20 73 65 72 76 69 63 65 20 61 6e 79 20 69 6e  o service any in
6ab0: 63 6f 6d 69 6e 67 20 52 6f 75 74 69 6e 67 20 72  coming Routing r
6ac0: 65 71 75 65 73 74 2e 20 49 74 20 77 69 6c 6c 20  equest. It will 
6ad0: 62 65 20 61 6c 77 61 79 73 20 61 63 74 69 76 65  be always active
6ae0: 2c 20 61 6e 64 20 77 69 6c 6c 20 74 61 72 67 65  , and will targe
6af0: 74 20 61 20 77 65 6c 6c 20 6b 6e 6f 77 6e 20 56  t a well known V
6b00: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
6b10: 62 6c 65 20 28 65 2e 67 2e 20 3c 62 3e 6d 79 5f  ble (e.g. <b>my_
6b20: 72 6f 75 74 69 6e 67 3c 2f 62 3e 20 62 61 73 65  routing</b> base
6b30: 64 20 6f 6e 20 3c 62 3e 6d 79 5f 72 6f 75 74 69  d on <b>my_routi
6b40: 6e 67 5f 64 61 74 61 3c 2f 62 3e 29 2e 3c 2f 6c  ng_data</b>).</l
6b50: 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 74 68 72 65 61  i>..<li><b>threa
6b60: 64 20 23 32 3c 2f 62 3e 20 28 3c 69 3e 74 68 65  d #2</b> (<i>the
6b70: 20 77 72 69 74 65 72 3c 2f 69 3e 29 3a 20 74 68   writer</i>): th
6b80: 69 73 20 73 65 63 6f 6e 64 20 74 68 72 65 61 64  is second thread
6b90: 20 69 73 20 6a 75 73 74 20 69 6e 74 65 6e 64 65   is just intende
6ba0: 64 20 74 6f 20 72 65 2d 63 72 65 61 74 65 20 62  d to re-create b
6bb0: 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61 62 6c  oth Network Tabl
6bc0: 65 73 20 61 74 20 70 72 65 64 65 66 69 6e 65 64  es at predefined
6bd0: 20 69 6e 74 65 72 76 61 6c 73 2c 20 61 6e 64 20   intervals, and 
6be0: 69 74 20 77 69 6c 6c 20 73 6c 65 65 70 20 74 68  it will sleep th
6bf0: 65 20 6e 65 78 74 20 69 6e 74 65 72 76 61 6c 2e  e next interval.
6c00: 3c 62 72 3e 0d 0a 41 74 20 65 61 63 68 20 69 6e  <br>..At each in
6c10: 74 65 72 76 61 6c 20 61 20 63 6f 70 79 20 6f 66  terval a copy of
6c20: 20 62 6f 74 68 20 4e 65 74 77 6f 72 6b 20 54 61   both Network Ta
6c30: 62 6c 65 73 2c 20 77 69 6c 6c 20 62 65 20 6d 61  bles, will be ma
6c40: 64 65 20 61 6e 64 2c 20 77 68 65 6e 20 63 6f 6d  de and, when com
6c50: 70 6c 65 61 74 65 64 2c 20 77 69 6c 6c 20 6f 76  pleated, will ov
6c60: 65 72 77 72 69 74 65 20 74 68 65 20 6f 72 69 67  erwrite the orig
6c70: 69 6e 61 6c 20 54 61 62 6c 65 73 20 28 61 63 74  inal Tables (act
6c80: 69 76 61 74 69 6e 67 20 61 20 73 65 6d 61 70 68  ivating a semaph
6c90: 6f 72 65 20 64 75 72 69 6e 67 20 74 68 69 73 20  ore during this 
6ca0: 73 68 6f 72 74 2d 74 69 6d 65 64 20 6c 61 73 74  short-timed last
6cb0: 20 73 74 65 70 20 69 73 20 68 69 67 68 6c 79 20   step is highly 
6cc0: 72 65 63 6f 6d 6d 65 6e 64 65 64 29 2e 3c 62 72  recommended).<br
6cd0: 3e 0d 0a 53 6f 6d 65 74 68 69 6e 67 20 6c 69 6b  >..Something lik
6ce0: 65 20 74 68 69 73 20 70 73 65 75 64 6f 2d 63 6f  e this pseudo-co
6cf0: 64 65 20 65 78 65 6d 70 6c 69 66 69 65 73 3a 0d  de exemplifies:.
6d00: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
6d10: 45 43 54 20 43 72 65 61 74 65 52 6f 75 74 69 6e  ECT CreateRoutin
6d20: 67 28 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e  g('new_my_routin
6d30: 67 5f 64 61 74 61 27 2c 20 27 6e 65 77 5f 6d 79  g_data', 'new_my
6d40: 5f 72 6f 75 74 69 6e 67 27 2c 20 2e 2e 2e 29 3b  _routing', ...);
6d50: 0d 0a 0d 0a 2d 2d 3e 20 73 74 61 72 74 20 74 68  ....--> start th
6d60: 65 20 73 65 6d 61 70 68 6f 72 65 20 73 6f 20 74  e semaphore so t
6d70: 6f 20 6c 6f 63 6b 20 74 68 65 20 6f 74 68 65 72  o lock the other
6d80: 20 74 68 72 65 61 64 0d 0a 0d 0a 42 45 47 49 4e   thread....BEGIN
6d90: 3b 0d 0a 44 52 4f 50 20 54 41 42 4c 45 20 6d 79  ;..DROP TABLE my
6da0: 5f 72 6f 75 74 69 6e 67 3b 0d 0a 44 52 4f 50 20  _routing;..DROP 
6db0: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67  TABLE my_routing
6dc0: 5f 64 61 74 61 3b 0d 0a 53 45 4c 45 43 54 20 43  _data;..SELECT C
6dd0: 6c 6f 6e 65 54 61 62 6c 65 28 27 4d 41 49 4e 27  loneTable('MAIN'
6de0: 2c 20 27 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e  , 'new_my_routin
6df0: 67 5f 64 61 74 61 27 2c 20 27 6d 79 5f 72 6f 75  g_data', 'my_rou
6e00: 74 69 6e 67 5f 64 61 74 61 27 2c 20 30 29 3b 0d  ting_data', 0);.
6e10: 0a 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20  .CREATE VIRTUAL 
6e20: 54 41 42 4c 45 20 6d 79 5f 72 6f 75 74 69 6e 67  TABLE my_routing
6e30: 20 55 53 49 4e 47 20 56 69 72 74 75 61 6c 52 6f   USING VirtualRo
6e40: 75 74 69 6e 67 28 27 6d 79 5f 72 6f 75 74 69 6e  uting('my_routin
6e50: 67 5f 64 61 74 61 27 29 3b 0d 0a 44 52 4f 50 20  g_data');..DROP 
6e60: 54 41 42 4c 45 20 6e 65 77 5f 6d 79 5f 72 6f 75  TABLE new_my_rou
6e70: 74 69 6e 67 3b 0d 0a 44 52 4f 50 20 54 41 42 4c  ting;..DROP TABL
6e80: 45 20 6e 65 77 5f 6d 79 5f 72 6f 75 74 69 6e 67  E new_my_routing
6e90: 5f 64 61 74 61 3b 0d 0a 43 4f 4d 4d 49 54 3b 0d  _data;..COMMIT;.
6ea0: 0a 0d 0a 2d 2d 3e 20 72 65 6d 6f 76 65 20 74 68  ...--> remove th
6eb0: 65 20 73 65 6d 61 70 68 6f 72 65 0d 0a 3c 2f 76  e semaphore..</v
6ec0: 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f 74  erbatim>..<u>Not
6ed0: 65 3c 2f 75 3e 3a 20 73 74 72 69 63 74 6c 79 20  e</u>: strictly 
6ee0: 72 65 73 70 65 63 74 69 6e 67 20 74 68 65 20 61  respecting the a
6ef0: 62 6f 76 65 20 73 65 71 75 65 6e 63 65 20 6f 66  bove sequence of
6f00: 20 53 51 4c 20 6f 70 65 72 61 74 69 6f 6e 73 20   SQL operations 
6f10: 69 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 72 65  is absolutely re
6f20: 71 75 69 72 65 64 2e 3c 2f 6c 69 3e 20 0d 0a 3c  quired.</li> ..<
6f30: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e  /ul></li>..</ol>
6f40: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f  ..</td></tr>..</
6f50: 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74  table>..<br>..<t
6f60: 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 66  able bgcolor="#f
6f70: 66 62 30 36 30 22 20 63 65 6c 6c 73 70 61 63 69  fb060" cellspaci
6f80: 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64 64  ng="10" cellpadd
6f90: 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64 3e  ing="6"><tr><td>
6fa0: 0d 0a 3c 68 33 3e 57 61 72 6e 69 6e 67 3a 20 68  ..<h3>Warning: h
6fb0: 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20  ow to correctly 
6fc0: 64 72 6f 70 20 4e 65 74 77 6f 72 6b 20 54 61 62  drop Network Tab
6fd0: 6c 65 73 3c 2f 68 33 3e 0d 0a 57 68 65 6e 20 64  les</h3>..When d
6fe0: 72 6f 70 70 69 6e 67 20 61 20 56 69 72 74 75 61  ropping a Virtua
6ff0: 6c 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 61  lRouting Table a
7000: 6e 64 20 69 74 73 20 63 6f 6d 70 61 6e 69 6f 6e  nd its companion
7010: 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61 62   Binary Data Tab
7020: 6c 65 20 73 74 72 69 63 74 6c 79 20 72 65 73 70  le strictly resp
7030: 65 63 74 69 6e 67 20 74 68 65 20 63 6f 72 72 65  ecting the corre
7040: 63 74 20 73 65 71 75 65 6e 63 65 20 6f 66 20 53  ct sequence of S
7050: 51 4c 20 63 6f 6d 6d 61 6e 64 73 20 69 73 20 65  QL commands is e
7060: 73 73 65 6e 74 69 61 6c 2e 3c 62 72 3e 0d 0a 46  ssential.<br>..F
7070: 61 69 6c 69 6e 67 20 74 6f 20 73 74 72 69 63 74  ailing to strict
7080: 6c 79 20 72 65 73 70 65 63 74 20 74 68 65 20 65  ly respect the e
7090: 78 70 65 63 74 65 64 20 73 65 71 75 65 6e 63 65  xpected sequence
70a0: 20 77 69 6c 6c 20 73 75 72 65 6c 79 20 63 61 75   will surely cau
70b0: 73 65 20 79 6f 75 20 73 65 76 65 72 61 6c 20 74  se you several t
70c0: 72 6f 75 62 6c 65 73 20 61 6e 64 20 73 65 76 65  roubles and seve
70d0: 72 65 20 68 65 61 64 61 63 68 65 73 2c 20 61 6e  re headaches, an
70e0: 64 20 77 69 6c 6c 20 70 6f 73 73 69 62 6c 79 20  d will possibly 
70f0: 6c 65 61 64 20 74 6f 20 61 20 63 6f 6d 70 6c 65  lead to a comple
7100: 74 65 6c 79 20 63 6f 72 72 75 70 74 65 64 20 64  tely corrupted d
7110: 61 74 61 62 61 73 65 2e 2e 0d 0a 3c 6f 6c 3e 0d  atabase....<ol>.
7120: 0a 3c 6c 69 3e 66 69 72 73 74 20 44 52 4f 50 20  .<li>first DROP 
7130: 74 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69  the VirtualRouti
7140: 6e 67 20 54 61 62 6c 65 2e 3c 2f 6c 69 3e 0d 0a  ng Table.</li>..
7150: 3c 6c 69 3e 74 68 65 20 63 6f 6d 70 61 6e 69 6f  <li>the companio
7160: 6e 20 42 69 6e 61 72 79 20 44 61 74 61 20 54 61  n Binary Data Ta
7170: 62 6c 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20  ble can only be 
7180: 73 61 66 65 6c 79 20 44 52 4f 50 65 64 20 61 66  safely DROPed af
7190: 74 65 72 20 74 68 65 20 56 69 72 74 75 61 6c 52  ter the VirtualR
71a0: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 68 61 73  outing Table has
71b0: 20 62 65 65 6e 20 72 65 6d 6f 76 65 64 2e 3c 2f   been removed.</
71c0: 6c 69 3e 0d 0a 3c 6c 69 3e 3c 75 3e 42 65 20 77  li>..<li><u>Be w
71d0: 61 72 6e 65 64 3c 2f 75 3e 3a 20 69 66 20 79 6f  arned</u>: if yo
71e0: 75 20 44 52 4f 50 20 74 68 65 20 42 69 6e 61 72  u DROP the Binar
71f0: 79 20 44 61 74 61 20 54 61 62 6c 65 20 66 69 72  y Data Table fir
7200: 73 74 2c 20 74 68 65 20 56 69 72 74 75 61 6c 52  st, the VirtualR
7210: 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 77 69 6c  outing Table wil
7220: 6c 20 62 65 20 3c 62 3e 6f 72 70 68 61 6e 65 64  l be <b>orphaned
7230: 3c 2f 62 3e 20 61 6e 64 20 63 61 6e 20 6e 6f 20  </b> and can no 
7240: 6c 6f 6e 67 65 72 20 62 65 20 44 52 4f 50 65 64  longer be DROPed
7250: 20 21 3c 62 72 3e 0d 0a 3c 62 3e 42 65 20 77 61   !<br>..<b>Be wa
7260: 72 6e 65 64 20 21 21 3c 2f 62 3e 3c 2f 6c 69 3e  rned !!</b></li>
7270: 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f  ..</ol>..</td></
7280: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
7290: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72  br><br>..<hr><br
72a0: 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22  >..<h1><a name="
72b0: 66 72 6f 6d 5f 74 6f 22 3e 34 20 2d 20 53 6f 6c  from_to">4 - Sol
72c0: 76 69 6e 67 20 63 6c 61 73 73 69 63 20 53 68 6f  ving classic Sho
72d0: 72 74 65 73 74 20 50 61 74 68 20 70 72 6f 62 6c  rtest Path probl
72e0: 65 6d 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 54 68  ems</a></h1>..Th
72f0: 65 20 6d 6f 73 74 20 63 6c 61 73 73 69 63 20 53  e most classic S
7300: 68 6f 72 74 65 73 74 20 50 61 74 68 20 70 72 6f  hortest Path pro
7310: 62 6c 65 6d 20 72 65 71 75 69 72 65 73 20 74 6f  blem requires to
7320: 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 6f 70   identify the op
7330: 74 69 6d 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e  timal connection
7340: 20 62 65 74 77 65 65 6e 20 61 6e 20 3c 62 3e 4f   between an <b>O
7350: 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61  rigin Node</b> a
7360: 6e 64 20 61 20 3c 62 3e 44 65 73 74 69 6e 61 74  nd a <b>Destinat
7370: 69 6f 6e 20 4e 6f 64 65 3c 2f 62 3e 2e 3c 62 72  ion Node</b>.<br
7380: 3e 0d 0a 57 65 20 63 61 6e 20 65 61 73 69 6c 79  >..We can easily
7390: 20 74 72 61 6e 73 6c 61 74 65 20 73 75 63 68 20   translate such 
73a0: 61 20 70 72 6f 62 6c 65 6d 20 69 6e 74 6f 20 61  a problem into a
73b0: 20 73 69 6d 70 6c 65 20 53 51 4c 20 71 75 65 72   simple SQL quer
73c0: 79 20 74 61 72 67 65 74 69 6e 67 20 73 6f 6d 65  y targeting some
73d0: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
73e0: 54 61 62 6c 65 2e 0d 0a 3c 76 65 72 62 61 74 69  Table...<verbati
73f0: 6d 3e 0d 0a 53 45 4c 45 43 54 20 2a 20 0d 0a 46  m>..SELECT * ..F
7400: 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
7410: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
7420: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
7430: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62   183286;..</verb
7440: 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  atim>..<table bo
7450: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
7460: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
7470: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
7480: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
7490: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
74a0: 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68 6d  0d0a0">Algorithm
74b0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
74c0: 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71 75 65  ="#d0d0a0">Reque
74d0: 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  st</th><th bgcol
74e0: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74  or="#d0d0a0">Opt
74f0: 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63  ions</th><th bgc
7500: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 44  olor="#d0d0a0">D
7510: 65 6c 69 6d 69 74 65 72 3c 2f 74 68 3e 3c 74 68  elimiter</th><th
7520: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
7530: 30 22 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c  0">RouteId</th><
7540: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
7550: 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74  0a0">RouteRow</t
7560: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
7570: 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68  d0d0a0">Role</th
7580: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
7590: 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64  0d0a0">LinkRowid
75a0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
75b0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46  ="#d0d0a0">NodeF
75c0: 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  rom</th><th bgco
75d0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
75e0: 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63  deTo</th><th bgc
75f0: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50  olor="#d0d0a0">P
7600: 6f 69 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  ointFrom</th><th
7610: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
7620: 30 22 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c  0">PointTo</th><
7630: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
7640: 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f  0a0">Tolerance</
7650: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
7660: 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74  #d0d0a0">Cost</t
7670: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
7680: 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79  d0d0a0">Geometry
7690: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
76a0: 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c  ="#d0d0a0">Name<
76b0: 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  /th></tr>..<tr>.
76c0: 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74  .<td>Dijkstra</t
76d0: 64 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 50  d><td>Shortest P
76e0: 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c  ath</td><td>Full
76f0: 3c 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b  </td><td>, &#91;
7700: 64 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23  dec=44, hex=2c&#
7710: 39 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  93;</td><td alig
7720: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
7730: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7740: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
7750: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
7760: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7770: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
7780: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
7790: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
77a0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
77b0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
77c0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
77d0: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38  ight">300.912208
77e0: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
77f0: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =272 GEOMETRY</t
7800: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
7810: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
7820: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7830: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
7840: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
7850: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7860: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
7870: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
7880: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
7890: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
78a0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20  >224014</td><td 
78b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
78c0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
78d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
78e0: 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  5</td><td>NULL</
78f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7900: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
7910: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
7920: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64  4.812424</td><td
7930: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
7940: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
7950: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
7960: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
7970: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7980: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
7990: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
79a0: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
79b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
79c0: 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">2</td><td>Link
79d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
79e0: 72 69 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74  right">224446</t
79f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7a00: 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c  ht">182885</td><
7a10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
7a20: 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 3e  >178880</td><td>
7a30: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7a40: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
7a50: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7a60: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f  ght">69.727726</
7a70: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
7a80: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
7a90: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
7aa0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
7ab0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
7ac0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
7ad0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
7ae0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
7af0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
7b00: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
7b10: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
7b20: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34  n="right">224414
7b30: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
7b40: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
7b50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
7b60: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
7b70: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
7b80: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
7b90: 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
7ba0: 22 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30  "right">136.3720
7bb0: 35 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  57</td><td>NULL<
7bc0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
7bd0: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
7be0: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
7bf0: 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75 69 63 6b  br>..Let's quick
7c00: 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72  ly examine the r
7c10: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
7c20: 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 52  d by the above R
7c30: 6f 75 74 69 6e 67 20 71 75 65 72 79 3a 0d 0a 3c  outing query:..<
7c40: 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  ul>..<li>the <b>
7c50: 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20 28 3c  first row</b> (<
7c60: 69 3e 61 6b 61 3c 2f 69 3e 20 68 65 61 64 65 72  i>aka</i> header
7c70: 20 72 6f 77 29 20 68 61 73 20 61 20 73 70 65 63   row) has a spec
7c80: 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61 74 69  ial interpretati
7c90: 6f 6e 2c 20 61 6e 64 20 69 73 20 69 6e 74 65 6e  on, and is inten
7ca0: 64 65 64 20 74 6f 20 73 75 6d 6d 61 72 69 7a 65  ded to summarize
7cb0: 20 74 68 65 20 74 72 61 76 65 6c 20 73 6f 6c 75   the travel solu
7cc0: 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e  tion as a whole.
7cd0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 74  </li>..<li>all t
7ce0: 68 65 20 3c 62 3e 66 6f 6c 6c 6f 77 69 6e 67 20  he <b>following 
7cf0: 72 6f 77 73 3c 2f 62 3e 20 72 65 70 72 65 73 65  rows</b> represe
7d00: 6e 74 20 61 20 73 69 6e 67 6c 65 20 4c 69 6e 6b  nt a single Link
7d10: 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 75 69   required to bui
7d20: 6c 64 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e 20  ld the solution 
7d30: 28 6f 70 74 69 6d 61 20 70 61 74 68 29 3b 20 4c  (optima path); L
7d40: 69 6e 6b 73 20 61 72 65 20 6f 72 64 65 72 65 64  inks are ordered
7d50: 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20   accordingly to 
7d60: 74 68 65 20 74 72 61 76 65 6c 20 64 69 72 65 63  the travel direc
7d70: 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 69 6e 67 20  tion connecting 
7d80: 74 68 65 20 4f 72 69 67 69 6e 20 61 6e 64 20 74  the Origin and t
7d90: 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e 2e 3c  he Destination.<
7da0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e  /li>..<li>column
7db0: 73 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f  s <b>Algorithm</
7dc0: 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c 2f  b>, <b>Request</
7dd0: 62 3e 2c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f  b>, <b>Options</
7de0: 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65 72  b>, <b>Delimiter
7df0: 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46 72  </b>, <b>PointFr
7e00: 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74  om</b>, <b>Point
7e10: 54 6f 3c 2f 62 3e 2c 20 3c 62 3e 54 6f 6c 65 72  To</b>, <b>Toler
7e20: 61 6e 63 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e  ance</b> and <b>
7e30: 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 61 72 65  Geometry</b> are
7e40: 20 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c   always set to <
7e50: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 65 78 63 65 70  b>NULL</b> excep
7e60: 74 20 74 68 61 74 20 69 6e 20 74 68 65 20 66 69  t that in the fi
7e70: 72 73 74 20 72 6f 77 20 6f 66 20 74 68 65 20 72  rst row of the r
7e80: 65 73 75 6c 74 73 65 74 3a 0d 0a 3c 75 6c 3e 0d  esultset:..<ul>.
7e90: 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 41  .<li>column <b>A
7ea0: 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 61 63 63  lgorithm</b> acc
7eb0: 6f 75 6e 74 73 20 66 6f 72 20 74 68 65 20 52 6f  ounts for the Ro
7ec0: 75 74 69 6e 67 20 41 6c 67 6f 72 69 74 68 6d 20  uting Algorithm 
7ed0: 75 73 65 64 20 62 79 20 74 68 65 20 63 75 72 72  used by the curr
7ee0: 65 6e 74 20 71 75 65 72 79 20 28 3c 69 3e 44 69  ent query (<i>Di
7ef0: 6a 6b 73 74 72 61 27 73 3c 2f 69 3e 20 6f 72 20  jkstra's</i> or 
7f00: 3c 69 3e 41 2a 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e  <i>A*</i>).</li>
7f10: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e  ..<li>column <b>
7f20: 52 65 71 75 65 73 74 3c 2f 62 3e 20 73 70 65 63  Request</b> spec
7f30: 69 66 69 65 73 20 74 68 65 20 65 78 61 63 74 20  ifies the exact 
7f40: 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20 63 75  nature of the cu
7f50: 72 72 65 6e 74 20 71 75 65 72 79 20 28 69 6e 20  rrent query (in 
7f60: 74 68 69 73 20 73 70 65 63 69 66 69 63 20 63 61  this specific ca
7f70: 73 65 20 3c 69 3e 53 68 6f 72 74 65 73 74 20 50  se <i>Shortest P
7f80: 61 74 68 3c 2f 69 3e 29 2e 3c 2f 6c 69 3e 0d 0a  ath</i>).</li>..
7f90: 3c 6c 69 3e 66 6f 72 20 6e 6f 77 20 77 65 27 6c  <li>for now we'l
7fa0: 6c 20 69 67 6e 6f 72 65 20 74 68 65 20 63 6f 6c  l ignore the col
7fb0: 75 6d 6e 73 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c  umns <b>Options<
7fc0: 2f 62 3e 2c 20 3c 62 3e 44 65 6c 69 6d 69 74 65  /b>, <b>Delimite
7fd0: 72 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e 74 46  r</b>, <b>PointF
7fe0: 72 6f 6d 3c 2f 62 3e 2c 20 3c 62 3e 50 6f 69 6e  rom</b>, <b>Poin
7ff0: 74 54 6f 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 54  tTo</b> and <b>T
8000: 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20 74 68  olerance</b>: th
8010: 65 69 72 20 72 65 73 70 65 63 74 69 76 65 20 6d  eir respective m
8020: 65 61 6e 69 6e 67 73 20 77 69 6c 6c 20 62 65 20  eanings will be 
8030: 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 66 6f 6c  explained in fol
8040: 6c 6f 77 69 6e 67 20 70 61 72 61 67 72 61 70 68  lowing paragraph
8050: 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c  s.</li>..<li>col
8060: 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74 72 79 3c  umn <b>Geometry<
8070: 2f 62 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 3c  /b> contains a <
8080: 62 3e 4c 49 4e 45 53 54 52 49 4e 47 3c 2f 62 3e  b>LINESTRING</b>
8090: 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20   representation 
80a0: 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 74 72 61  of the whole tra
80b0: 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 2e 3c 62 72  vel solution.<br
80c0: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
80d0: 6f 6e 20 3c 62 3e 4c 6f 67 69 63 61 6c 20 4e 65  on <b>Logical Ne
80e0: 74 77 6f 72 6b 73 3c 2f 62 3e 20 28 6e 6f 74 20  tworks</b> (not 
80f0: 73 75 70 70 6f 72 74 69 6e 67 20 47 65 6f 6d 65  supporting Geome
8100: 74 72 69 65 73 29 20 3c 62 3e 47 65 6f 6d 65 74  tries) <b>Geomet
8110: 72 79 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61  ry</b> will alwa
8120: 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62  ys be <b>NULL</b
8130: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  >.</li>..</ul></
8140: 6c 69 3e 0d 0a 3c 6c 69 3e 77 65 27 6c 6c 20 69  li>..<li>we'll i
8150: 67 6e 6f 72 65 20 66 6f 72 20 6e 6f 77 20 63 6f  gnore for now co
8160: 6c 75 6d 6e 20 3c 62 3e 52 6f 75 74 65 49 64 3c  lumn <b>RouteId<
8170: 2f 62 3e 3b 20 69 74 73 20 6d 65 61 6e 69 6e 67  /b>; its meaning
8180: 20 77 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e   will be explain
8190: 65 64 20 69 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20  ed in following 
81a0: 70 61 72 61 67 72 61 70 68 73 2e 3c 2f 6c 69 3e  paragraphs.</li>
81b0: 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e  ..<li>column <b>
81c0: 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 73 69 6d  RouteRow</b> sim
81d0: 70 6c 79 20 69 73 20 74 68 65 20 70 72 6f 67 72  ply is the progr
81e0: 65 73 73 69 76 65 20 6e 75 6d 62 65 72 20 6f 66  essive number of
81f0: 20 74 68 65 20 72 6f 77 20 69 6e 20 74 68 65 20   the row in the 
8200: 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 20  travel solution 
8210: 28 61 6c 77 61 79 73 20 3c 62 3e 30 3c 2f 62 3e  (always <b>0</b>
8220: 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72   in the header r
8230: 6f 77 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63  ow).</li>..<li>c
8240: 6f 6c 75 6d 6e 20 3c 62 3e 52 6f 6c 65 3c 2f 62  olumn <b>Role</b
8250: 3e 20 63 61 6e 20 62 65 20 3c 69 3e 52 6f 75 74  > can be <i>Rout
8260: 65 3c 2f 69 3e 20 28 68 65 61 64 65 72 20 72 6f  e</i> (header ro
8270: 77 29 20 6f 72 20 3c 69 3e 4c 69 6e 6b 3c 2f 69  w) or <i>Link</i
8280: 3e 20 28 61 6c 6c 20 66 6f 6c 6c 6f 77 69 6e 67  > (all following
8290: 20 72 6f 77 73 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c   rows).</li>..<l
82a0: 69 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 4c 69 6e 6b  i>column <b>Link
82b0: 52 6f 77 69 64 3c 2f 62 3e 20 72 65 66 65 72 65  Rowid</b> refere
82c0: 6e 63 65 73 20 74 68 65 20 3c 62 3e 52 4f 57 49  nces the <b>ROWI
82d0: 44 3c 2f 62 3e 20 6f 66 20 74 68 65 20 63 6f 72  D</b> of the cor
82e0: 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69 6e 6b 20  responding Link 
82f0: 28 61 6c 77 61 79 73 20 73 65 74 20 74 6f 20 3c  (always set to <
8300: 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74 68  b>NULL</b> in th
8310: 65 20 68 65 61 64 65 72 20 72 6f 77 29 2e 3c 2f  e header row).</
8320: 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 20  li>..<li>column 
8330: 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20  <b>NodeFrom</b> 
8340: 61 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62  and <b>NodeTo</b
8350: 3e 20 68 61 76 65 20 74 68 65 20 66 6f 6c 6c 6f  > have the follo
8360: 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74 61 74  wing interpretat
8370: 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ion:..<ul>..<li>
8380: 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f  in the header ro
8390: 77 20 74 68 65 79 20 63 6f 72 72 65 73 70 6f 6e  w they correspon
83a0: 64 20 74 6f 20 68 65 20 3c 62 3e 4f 72 69 67 69  d to he <b>Origi
83b0: 6e 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 65 73  n</b> and <b>Des
83c0: 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 4e 6f 64  tination</b> Nod
83d0: 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e  es.</li>..<li>in
83e0: 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c   all of the foll
83f0: 6f 77 69 6e 67 20 72 6f 77 73 20 74 68 65 79 20  owing rows they 
8400: 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 20  are intended to 
8410: 73 70 65 63 69 66 79 20 74 68 65 20 64 69 72 65  specify the dire
8420: 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 75 72  ction of the cur
8430: 72 65 6e 74 20 4c 69 6e 6b 2e 3c 2f 6c 69 3e 0d  rent Link.</li>.
8440: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  .</ul></li>..<li
8450: 3e 63 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c  >column <b>Cost<
8460: 2f 62 3e 20 68 61 73 20 74 68 65 20 66 6f 6c 6c  /b> has the foll
8470: 6f 77 69 6e 67 20 69 6e 74 65 72 70 72 65 74 61  owing interpreta
8480: 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  tion:..<ul>..<li
8490: 3e 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72  >in the header r
84a0: 6f 77 20 69 74 20 63 6f 72 72 65 73 70 6f 6e 64  ow it correspond
84b0: 73 20 74 6f 20 74 68 65 20 3c 62 3e 74 6f 74 61  s to the <b>tota
84c0: 6c 20 63 6f 73 74 3c 2f 62 3e 20 6f 66 20 74 68  l cost</b> of th
84d0: 65 20 72 6f 75 74 65 2e 3c 2f 6c 69 3e 0d 0a 3c  e route.</li>..<
84e0: 6c 69 3e 69 6e 20 61 6c 6c 20 6f 66 20 74 68 65  li>in all of the
84f0: 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 20   following rows 
8500: 69 74 20 72 65 70 72 65 73 65 6e 74 73 20 74 68  it represents th
8510: 65 20 73 70 65 63 69 66 69 63 20 63 6f 73 74 20  e specific cost 
8520: 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 4c  of the current L
8530: 69 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ink.</li>..</ul>
8540: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 63 6f 6c 75 6d  </li>..<li>colum
8550: 6e 20 3c 62 3e 4e 61 6d 65 3c 2f 62 3e 20 63 6f  n <b>Name</b> co
8560: 6e 74 61 69 6e 73 20 74 68 65 20 64 65 73 63 72  ntains the descr
8570: 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 75  iption of the cu
8580: 72 72 65 6e 74 20 4c 69 6e 6b 20 28 75 73 75 61  rrent Link (usua
8590: 6c 6c 79 20 61 20 72 6f 61 64 20 6e 61 6d 65 29  lly a road name)
85a0: 2c 20 61 6e 64 20 69 73 20 61 6c 77 61 79 73 20  , and is always 
85b0: 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 69 6e 20 74  <b>NULL</b> in t
85c0: 68 65 20 68 65 61 64 65 72 20 72 6f 77 2e 3c 62  he header row.<b
85d0: 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 20  r>..<u>Note</u> 
85e0: 69 74 20 63 6f 75 6c 64 20 62 65 20 61 6c 77 61  it could be alwa
85f0: 79 73 20 62 65 20 3c 62 3e 4e 55 4c 4c 3c 2f 62  ys be <b>NULL</b
8600: 3e 20 69 66 20 74 68 65 20 56 69 72 74 75 61 6c  > if the Virtual
8610: 52 6f 75 74 69 6e 67 20 54 61 62 6c 65 20 64 6f  Routing Table do
8620: 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 73 20  es not supports 
8630: 6e 61 6d 65 73 20 28 69 2e 65 2e 20 74 68 65 20  names (i.e. the 
8640: 3c 62 3e 72 6f 61 64 5f 6e 61 6d 65 5f 63 6f 6c  <b>road_name_col
8650: 75 6d 6e 3c 2f 62 3e 20 70 61 72 6d 20 6f 66 20  umn</b> parm of 
8660: 43 72 65 61 74 65 52 6f 75 74 69 6e 67 20 77 61  CreateRouting wa
8670: 73 20 6e 6f 74 20 75 73 65 64 29 2e 3c 2f 6c 69  s not used).</li
8680: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c  >..</ul></li>..<
8690: 2f 75 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  /ul>..<br><br>..
86a0: 54 65 73 74 69 6e 67 20 74 68 65 20 72 65 74 75  Testing the retu
86b0: 72 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6a 75  rn connection ju
86c0: 73 74 20 72 65 71 75 69 72 65 73 20 73 77 61 70  st requires swap
86d0: 70 69 6e 67 20 74 68 65 20 4f 72 69 67 69 6e 20  ping the Origin 
86e0: 61 6e 64 20 74 68 65 20 44 65 73 74 69 6e 61 74  and the Destinat
86f0: 69 6f 6e 3b 20 69 6e 20 74 68 69 73 20 65 78 61  ion; in this exa
8700: 6d 70 6c 65 20 79 6f 75 27 6c 6c 20 6a 75 73 74  mple you'll just
8710: 20 71 75 65 72 79 20 74 68 65 20 6e 65 65 64 65   query the neede
8720: 64 20 63 6f 6c 75 6d 6e 73 3a 0d 0a 3c 76 65 72  d columns:..<ver
8730: 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52  batim>..SELECT R
8740: 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
8750: 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
8760: 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
8770: 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
8780: 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
8790: 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20 31 37  HERE NodeTo = 17
87a0: 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46 72 6f  8731 AND NodeFro
87b0: 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76  m = 183286;..</v
87c0: 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65  erbatim>..<table
87d0: 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f   border="1" bgco
87e0: 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65  lor="#ffffcf" ce
87f0: 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65  llspacing="4" ce
8800: 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a  llpadding="6">..
8810: 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  <tr><th bgcolor=
8820: 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52  "#d0d0a0">RouteR
8830: 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ow</th><th bgcol
8840: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c  or="#d0d0a0">Rol
8850: 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  e</th><th bgcolo
8860: 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b  r="#d0d0a0">Link
8870: 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67  Rowid</th><th bg
8880: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8890: 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  NodeFrom</th><th
88a0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
88b0: 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74  0">NodeTo</th><t
88c0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
88d0: 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68  a0">Cost</th><th
88e0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
88f0: 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e  0">Geometry</th>
8900: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
8910: 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c  d0a0">Name</th><
8920: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
8930: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
8940: 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
8950: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
8960: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8970: 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20  >183286</td><td 
8980: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
8990: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
89a0: 67 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39  gn="right">300.9
89b0: 31 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 42 4c  12208</td><td>BL
89c0: 4f 42 20 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54  OB sz=272 GEOMET
89d0: 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
89e0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
89f0: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
8a00: 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">1</td><td>L
8a10: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
8a20: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34  n="right">224414
8a30: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
8a40: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
8a50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
8a60: 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c  ht">178880</td><
8a70: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
8a80: 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e  >136.372057</td>
8a90: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
8aa0: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45  >VIA MARGARITONE
8ab0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
8ac0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8ad0: 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
8ae0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8af0: 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e  ght">224446</td>
8b00: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8b10: 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64  ">178880</td><td
8b20: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
8b30: 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c  82885</td><td al
8b40: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37  ign="right">69.7
8b50: 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55  27726</td><td>NU
8b60: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
8b70: 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d  ARGARITONE</td>.
8b80: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
8b90: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
8ba0: 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  3</td><td>Link</
8bb0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
8bc0: 67 68 74 22 3e 32 32 34 30 31 34 3c 2f 74 64 3e  ght">224014</td>
8bd0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
8be0: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
8bf0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
8c00: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
8c10: 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 34 2e 38  ign="right">94.8
8c20: 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55  12424</td><td>NU
8c30: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 50  LL</td><td>VIA P
8c40: 49 45 54 52 4f 20 41 52 45 54 49 4e 4f 3c 2f 74  IETRO ARETINO</t
8c50: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  d>..</tr>..</tab
8c60: 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 41 73 20 79 6f  le>..<br>..As yo
8c70: 75 27 6c 6c 20 72 65 6d 65 6d 62 65 72 2c 20 74  u'll remember, t
8c80: 68 65 20 3c 62 3e 62 79 66 6f 6f 74 3c 2f 62 3e  he <b>byfoot</b>
8c90: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
8ca0: 54 61 62 6c 65 20 68 61 73 20 6e 6f 20 3c 62 3e  Table has no <b>
8cb0: 6f 6e 65 2d 77 61 79 73 3c 2f 62 3e 2c 20 61 6e  one-ways</b>, an
8cc0: 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20 74  d consequently t
8cd0: 68 65 20 72 65 74 75 72 6e 20 70 61 74 68 20 63  he return path c
8ce0: 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68  orresponds to th
8cf0: 65 20 66 69 72 73 74 20 6f 6e 65 2c 20 65 78 63  e first one, exc
8d00: 65 70 74 20 69 6e 20 74 68 61 74 20 61 6c 6c 20  ept in that all 
8d10: 64 69 72 65 63 74 69 6f 6e 73 20 61 72 65 20 6e  directions are n
8d20: 6f 77 20 72 65 76 65 72 73 65 64 2e 0d 0a 3c 62  ow reversed...<b
8d30: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 4e 6f 77 20  r><br><br>..Now 
8d40: 79 6f 75 27 6c 6c 20 74 65 73 74 20 74 68 65 20  you'll test the 
8d50: 73 61 6d 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 73  same connections
8d60: 2c 20 62 75 74 20 74 68 69 73 20 74 69 6d 65 20  , but this time 
8d70: 79 6f 75 27 6c 6c 20 74 61 72 67 65 74 20 74 68  you'll target th
8d80: 65 20 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 56  e <b>bycar</b> V
8d90: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 54 61  irtualRouting Ta
8da0: 62 6c 65 20 74 68 61 74 20 66 75 6c 6c 79 20 73  ble that fully s
8db0: 75 70 70 6f 72 74 73 20 3c 62 3e 6f 6e 65 2d 77  upports <b>one-w
8dc0: 61 79 73 3c 2f 62 3e 3a 0d 0a 3c 76 65 72 62 61  ays</b>:..<verba
8dd0: 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 52 6f 75  tim>..SELECT Rou
8de0: 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e  teRow, Role, Lin
8df0: 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d  kRowid, NodeFrom
8e00: 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20  , NodeTo, Cost, 
8e10: 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a  Geometry, Name..
8e20: 46 52 4f 4d 20 62 79 63 61 72 0d 0a 57 48 45 52  FROM bycar..WHER
8e30: 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
8e40: 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
8e50: 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65 72 62   183286;..</verb
8e60: 61 74 69 6d 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f  atim>..<table bo
8e70: 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f 72  rder="1" bgcolor
8e80: 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c 73  ="#ffffcf" cells
8e90: 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c 70  pacing="4" cellp
8ea0: 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72  adding="6">..<tr
8eb0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
8ec0: 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77 3c  0d0a0">RouteRow<
8ed0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
8ee0: 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c 2f  "#d0d0a0">Role</
8ef0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
8f00: 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f 77  #d0d0a0">LinkRow
8f10: 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  id</th><th bgcol
8f20: 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64  or="#d0d0a0">Nod
8f30: 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62 67  eFrom</th><th bg
8f40: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8f50: 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20 62  NodeTo</th><th b
8f60: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
8f70: 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67  >Cost</th><th bg
8f80: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
8f90: 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74 68  Geometry</th><th
8fa0: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
8fb0: 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74 72  0">Name</th></tr
8fc0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
8fd0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
8fe0: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
8ff0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
9000: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
9010: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
9020: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
9030: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
9040: 22 72 69 67 68 74 22 3e 31 30 31 2e 38 31 35 35  "right">101.8155
9050: 35 32 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  52</td><td>BLOB 
9060: 73 7a 3d 32 30 33 32 20 47 45 4f 4d 45 54 52 59  sz=2032 GEOMETRY
9070: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
9080: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
9090: 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  .<td align="righ
90a0: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">1</td><td>Lin
90b0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
90c0: 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f  "right">224014</
90d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
90e0: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
90f0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9100: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
9110: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9120: 33 2e 31 32 37 38 37 34 3c 2f 74 64 3e 3c 74 64  3.127874</td><td
9130: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
9140: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
9150: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9160: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
9170: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
9180: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9190: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 34  gn="right">22444
91a0: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
91b0: 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f  "right">182885</
91c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
91d0: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
91e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
91f0: 22 3e 39 2e 36 35 34 36 30 38 3c 2f 74 64 3e 3c  ">9.654608</td><
9200: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9210: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c  VIA MARGARITONE<
9220: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9230: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
9240: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
9250: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
9260: 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31 37 31  n="right">219171
9270: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9280: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
9290: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
92a0: 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64 3e 3c  ht">178732</td><
92b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
92c0: 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e 3c 74  >7.809952</td><t
92d0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
92e0: 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43 52 49  IA FRANCESCO CRI
92f0: 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  SPI</td>..</tr>.
9300: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
9310: 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c  ="right">4</td><
9320: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
9330: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
9340: 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9058</td><td ali
9350: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
9360: 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
9370: 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f  "right">178754</
9380: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9390: 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36 3c 2f  ght">12.445626</
93a0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
93b0: 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43  <td>VIA FRANCESC
93c0: 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c  O CRISPI</td>..<
93d0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20  /tr>..<tr>..<td 
93e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 35 3c  align="right">5<
93f0: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
9400: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9410: 74 22 3e 32 32 35 38 38 38 3c 2f 74 64 3e 3c 74  t">225888</td><t
9420: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9430: 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
9440: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9450: 34 36 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  461</td><td alig
9460: 6e 3d 22 72 69 67 68 74 22 3e 31 2e 35 39 39 38  n="right">1.5998
9470: 36 35 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  65</td><td>NULL<
9480: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e  /td><td>VIA FRAN
9490: 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64  CESCO CRISPI</td
94a0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
94b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
94c0: 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">6</td><td>Link
94d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
94e0: 72 69 67 68 74 22 3e 32 32 35 38 38 37 3c 2f 74  right">225887</t
94f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9500: 68 74 22 3e 31 38 33 34 36 31 3c 2f 74 64 3e 3c  ht">183461</td><
9510: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9520: 3e 31 38 32 38 30 30 3c 2f 74 64 3e 3c 74 64 20  >182800</td><td 
9530: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e  align="right">3.
9540: 33 30 30 35 39 30 3c 2f 74 64 3e 3c 74 64 3e 4e  300590</td><td>N
9550: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20  ULL</td><td>VIA 
9560: 46 52 41 4e 43 45 53 43 4f 20 43 52 49 53 50 49  FRANCESCO CRISPI
9570: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
9580: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
9590: 69 67 68 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 3e  ight">7</td><td>
95a0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
95b0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 33 39 33  gn="right">22393
95c0: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
95d0: 22 72 69 67 68 74 22 3e 31 38 32 38 30 30 3c 2f  "right">182800</
95e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
95f0: 67 68 74 22 3e 31 38 32 37 39 39 3c 2f 74 64 3e  ght">182799</td>
9600: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9610: 22 3e 36 2e 36 38 38 37 38 36 3c 2f 74 64 3e 3c  ">6.688786</td><
9620: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
9630: 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f  VIALE LUCA SIGNO
9640: 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RELLI</td>..</tr
9650: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
9660: 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64  gn="right">8</td
9670: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9680: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9690: 32 32 36 30 33 38 3c 2f 74 64 3e 3c 74 64 20 61  226038</td><td a
96a0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
96b0: 37 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  799</td><td alig
96c0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 34 35 36  n="right">183456
96d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
96e0: 72 69 67 68 74 22 3e 31 2e 32 39 34 30 31 37 3c  right">1.294017<
96f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9700: 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41 20  ><td>VIALE LUCA 
9710: 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e 0d  SIGNORELLI</td>.
9720: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
9730: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9740: 39 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  9</td><td>Link</
9750: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9760: 67 68 74 22 3e 32 32 35 38 33 32 3c 2f 74 64 3e  ght">225832</td>
9770: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9780: 22 3e 31 38 33 34 35 36 3c 2f 74 64 3e 3c 74 64  ">183456</td><td
9790: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
97a0: 38 33 34 34 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  83444</td><td al
97b0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e 33 38  ign="right">2.38
97c0: 35 34 38 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  5486</td><td>NUL
97d0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c 45 20  L</td><td>VIALE 
97e0: 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c 49 3c  LUCA SIGNORELLI<
97f0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
9800: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
9810: 67 68 74 22 3e 31 30 3c 2f 74 64 3e 3c 74 64 3e  ght">10</td><td>
9820: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
9830: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 33  gn="right">22583
9840: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
9850: 22 72 69 67 68 74 22 3e 31 38 33 34 34 34 3c 2f  "right">183444</
9860: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
9870: 67 68 74 22 3e 31 38 33 35 35 34 3c 2f 74 64 3e  ght">183554</td>
9880: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9890: 22 3e 33 2e 31 36 30 36 36 32 3c 2f 74 64 3e 3c  ">3.160662</td><
98a0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
98b0: 56 49 41 4c 45 20 4c 55 43 41 20 53 49 47 4e 4f  VIALE LUCA SIGNO
98c0: 52 45 4c 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RELLI</td>..</tr
98d0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
98e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 31 3c 2f 74  gn="right">11</t
98f0: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
9900: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9910: 3e 32 32 35 37 36 35 3c 2f 74 64 3e 3c 74 64 20  >225765</td><td 
9920: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
9930: 33 35 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3554</td><td ali
9940: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 35  gn="right">18395
9950: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
9960: 22 72 69 67 68 74 22 3e 37 2e 34 36 39 39 31 37  "right">7.469917
9970: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
9980: 64 3e 3c 74 64 3e 56 49 41 4c 45 20 4c 55 43 41  d><td>VIALE LUCA
9990: 20 53 49 47 4e 4f 52 45 4c 4c 49 3c 2f 74 64 3e   SIGNORELLI</td>
99a0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
99b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
99c0: 3e 31 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  >12</td><td>Link
99d0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
99e0: 72 69 67 68 74 22 3e 32 32 35 37 36 36 3c 2f 74  right">225766</t
99f0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9a00: 68 74 22 3e 31 38 33 39 35 34 3c 2f 74 64 3e 3c  ht">183954</td><
9a10: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
9a20: 3e 31 38 33 39 30 35 3c 2f 74 64 3e 3c 74 64 20  >183905</td><td 
9a30: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 2e  align="right">3.
9a40: 32 33 36 33 38 39 3c 2f 74 64 3e 3c 74 64 3e 4e  236389</td><td>N
9a50: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 4c  ULL</td><td>VIAL
9a60: 45 20 4c 55 43 41 20 53 49 47 4e 4f 52 45 4c 4c  E LUCA SIGNORELL
9a70: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
9a80: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
9a90: 72 69 67 68 74 22 3e 31 33 3c 2f 74 64 3e 3c 74  right">13</td><t
9aa0: 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
9ab0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
9ac0: 39 37 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  979</td><td alig
9ad0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 39 30 35  n="right">183905
9ae0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9af0: 72 69 67 68 74 22 3e 31 38 33 36 32 36 3c 2f 74  right">183626</t
9b00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
9b10: 68 74 22 3e 31 33 2e 39 38 33 36 32 39 3c 2f 74  ht">13.983629</t
9b20: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
9b30: 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a 41 20  td>STRADA SENZA 
9b40: 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NOME</td>..</tr>
9b50: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67  ..<tr>..<td alig
9b60: 6e 3d 22 72 69 67 68 74 22 3e 31 34 3c 2f 74 64  n="right">14</td
9b70: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
9b80: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9b90: 32 32 34 39 30 35 3c 2f 74 64 3e 3c 74 64 20 61  224905</td><td a
9ba0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
9bb0: 36 32 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  626</td><td alig
9bc0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 31 32 38  n="right">183128
9bd0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
9be0: 72 69 67 68 74 22 3e 35 2e 36 32 37 33 35 38 3c  right">5.627358<
9bf0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9c00: 3e 3c 74 64 3e 53 54 52 41 44 41 20 53 45 4e 5a  ><td>STRADA SENZ
9c10: 41 20 4e 4f 4d 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  A NOME</td>..</t
9c20: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c  r>..<tr>..<td al
9c30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 3c 2f  ign="right">15</
9c40: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
9c50: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
9c60: 22 3e 32 32 34 38 39 37 3c 2f 74 64 3e 3c 74 64  ">224897</td><td
9c70: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
9c80: 38 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  83128</td><td al
9c90: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
9ca0: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
9cb0: 3d 22 72 69 67 68 74 22 3e 31 30 2e 30 33 30 37  ="right">10.0307
9cc0: 39 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  92</td><td>NULL<
9cd0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47  /td><td>VIA MARG
9ce0: 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f  ARITONE</td>..</
9cf0: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
9d00: 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43  verbatim>..SELEC
9d10: 54 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65  T RouteRow, Role
9d20: 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64  , LinkRowid, Nod
9d30: 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43  eFrom, NodeTo, C
9d40: 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e  ost, Geometry, N
9d50: 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 63 61 72 0d  ame..FROM bycar.
9d60: 0a 57 48 45 52 45 20 4e 6f 64 65 54 6f 20 3d 20  .WHERE NodeTo = 
9d70: 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 46  178731 AND NodeF
9d80: 72 6f 6d 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c  rom = 183286;..<
9d90: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 74 61 62  /verbatim>..<tab
9da0: 6c 65 20 62 6f 72 64 65 72 3d 22 31 22 20 62 67  le border="1" bg
9db0: 63 6f 6c 6f 72 3d 22 23 66 66 66 66 63 66 22 20  color="#ffffcf" 
9dc0: 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 34 22 20  cellspacing="4" 
9dd0: 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
9de0: 0d 0a 3c 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f  ..<tr><th bgcolo
9df0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
9e00: 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63  eRow</th><th bgc
9e10: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52  olor="#d0d0a0">R
9e20: 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ole</th><th bgco
9e30: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69  lor="#d0d0a0">Li
9e40: 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20  nkRowid</th><th 
9e50: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
9e60: 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c  ">NodeFrom</th><
9e70: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
9e80: 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e  0a0">NodeTo</th>
9e90: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
9ea0: 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c  d0a0">Cost</th><
9eb0: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
9ec0: 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74  0a0">Geometry</t
9ed0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
9ee0: 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68  d0d0a0">Name</th
9ef0: 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  ></tr>..<tr>..<t
9f00: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9f10: 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
9f20: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
9f30: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
9f40: 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74  t">183286</td><t
9f50: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
9f60: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
9f70: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 33  lign="right">103
9f80: 2e 33 30 35 32 35 39 3c 2f 74 64 3e 3c 74 64 3e  .305259</td><td>
9f90: 42 4c 4f 42 20 73 7a 3d 39 34 34 20 47 45 4f 4d  BLOB sz=944 GEOM
9fa0: 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
9fb0: 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
9fc0: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
9fd0: 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64  right">1</td><td
9fe0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
9ff0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34  ign="right">2244
a000: 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  14</td><td align
a010: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
a020: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a030: 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64  ight">178880</td
a040: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a050: 74 22 3e 31 38 2e 38 38 32 32 38 35 3c 2f 74 64  t">18.882285</td
a060: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
a070: 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e  d>VIA MARGARITON
a080: 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  E</td>..</tr>..<
a090: 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22  tr>..<td align="
a0a0: 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64  right">2</td><td
a0b0: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
a0c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 31  ign="right">2191
a0d0: 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  71</td><td align
a0e0: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
a0f0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a100: 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74 64  ight">178732</td
a110: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a120: 74 22 3e 37 2e 38 30 39 39 35 32 3c 2f 74 64 3e  t">7.809952</td>
a130: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
a140: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43  >VIA FRANCESCO C
a150: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RISPI</td>..</tr
a160: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69  >..<tr>..<td ali
a170: 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64  gn="right">3</td
a180: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
a190: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a1a0: 32 31 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61  219058</td><td a
a1b0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
a1c0: 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  732</td><td alig
a1d0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35 34  n="right">178754
a1e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a1f0: 72 69 67 68 74 22 3e 31 32 2e 34 34 35 36 32 36  right">12.445626
a200: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
a210: 64 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45  d><td>VIA FRANCE
a220: 53 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d  SCO CRISPI</td>.
a230: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
a240: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a250: 34 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  4</td><td>Link</
a260: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a270: 67 68 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e  ght">224538</td>
a280: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a290: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
a2a0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a2b0: 38 31 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  81972</td><td al
a2c0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 2e 30 34  ign="right">7.04
a2d0: 37 37 38 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  7784</td><td>NUL
a2e0: 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e  L</td><td>VIA AN
a2f0: 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49  TONIO GUADAGNOLI
a300: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
a310: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
a320: 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 3e  ight">5</td><td>
a330: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
a340: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 35 37  gn="right">22257
a350: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
a360: 22 72 69 67 68 74 22 3e 31 38 31 39 37 32 3c 2f  "right">181972</
a370: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a380: 67 68 74 22 3e 31 38 31 39 37 31 3c 2f 74 64 3e  ght">181971</td>
a390: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a3a0: 22 3e 31 2e 38 35 32 32 38 33 3c 2f 74 64 3e 3c  ">1.852283</td><
a3b0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
a3c0: 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44  VIA ANTONIO GUAD
a3d0: 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  AGNOLI</td>..</t
a3e0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
a3f0: 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 3e  ight">6</td><td>
a400: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
a410: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 39 36  gn="right">22496
a420: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
a430: 22 72 69 67 68 74 22 3e 31 38 31 39 37 31 3c 2f  "right">181971</
a440: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a450: 67 68 74 22 3e 31 38 32 38 39 31 3c 2f 74 64 3e  ght">182891</td>
a460: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a470: 22 3e 31 34 2e 32 37 33 31 38 35 3c 2f 74 64 3e  ">14.273185</td>
a480: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
a490: 3e 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41  >VIA ANTONIO GUA
a4a0: 44 41 47 4e 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f  DAGNOLI</td>..</
a4b0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a4c0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f  lign="right">7</
a4d0: 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
a4e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
a4f0: 22 3e 32 32 34 31 36 38 3c 2f 74 64 3e 3c 74 64  ">224168</td><td
a500: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
a510: 38 32 38 39 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  82891</td><td al
a520: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30  ign="right">1830
a530: 35 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  57</td><td align
a540: 3d 22 72 69 67 68 74 22 3e 36 2e 36 34 33 33 30  ="right">6.64330
a550: 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
a560: 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 43 41 4c  td><td>VIA MACAL
a570: 4c 45 27 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  LE'</td>..</tr>.
a580: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a590: 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c  ="right">8</td><
a5a0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
a5b0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
a5c0: 34 31 36 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4167</td><td ali
a5d0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 30 35  gn="right">18305
a5e0: 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
a5f0: 22 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c 2f  "right">183056</
a600: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
a610: 67 68 74 22 3e 33 2e 31 35 31 32 37 32 3c 2f 74  ght">3.151272</t
a620: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
a630: 74 64 3e 56 49 41 20 4d 41 43 41 4c 4c 45 27 3c  td>VIA MACALLE'<
a640: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
a650: 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  >..<td align="ri
a660: 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">9</td><td>L
a670: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
a680: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 31 37 34  n="right">224174
a690: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
a6a0: 72 69 67 68 74 22 3e 31 38 33 30 35 36 3c 2f 74  right">183056</t
a6b0: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
a6c0: 68 74 22 3e 31 38 32 39 34 31 3c 2f 74 64 3e 3c  ht">182941</td><
a6d0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
a6e0: 3e 37 2e 39 36 36 38 37 30 3c 2f 74 64 3e 3c 74  >7.966870</td><t
a6f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
a700: 49 41 20 52 4f 44 49 3c 2f 74 64 3e 0d 0a 3c 2f  IA RODI</td>..</
a710: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61  tr>..<tr>..<td a
a720: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c  lign="right">10<
a730: 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
a740: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a750: 74 22 3e 32 32 34 30 35 39 3c 2f 74 64 3e 3c 74  t">224059</td><t
a760: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
a770: 31 38 32 39 34 31 3c 2f 74 64 3e 3c 74 64 20 61  182941</td><td a
a780: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
a790: 30 30 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  001</td><td alig
a7a0: 6e 3d 22 72 69 67 68 74 22 3e 36 2e 33 39 33 37  n="right">6.3937
a7b0: 34 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  47</td><td>NULL<
a7c0: 2f 74 64 3e 3c 74 64 3e 56 49 41 20 52 4f 44 49  /td><td>VIA RODI
a7d0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
a7e0: 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e 3d 22 72  r>..<td align="r
a7f0: 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c 74 64  ight">11</td><td
a800: 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
a810: 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 32 36  ign="right">2226
a820: 33 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  37</td><td align
a830: 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 31 3c  ="right">182001<
a840: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a850: 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64  ight">182000</td
a860: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
a870: 74 22 3e 32 2e 34 37 35 35 33 38 3c 2f 74 64 3e  t">2.475538</td>
a880: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
a890: 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54  >VIA PIETRO ARET
a8a0: 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  INO</td>..</tr>.
a8b0: 0a 3c 74 72 3e 0d 0a 3c 74 64 20 61 6c 69 67 6e  .<tr>..<td align
a8c0: 3d 22 72 69 67 68 74 22 3e 31 32 3c 2f 74 64 3e  ="right">12</td>
a8d0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
a8e0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
a8f0: 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  22636</td><td al
a900: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
a910: 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
a920: 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
a930: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
a940: 69 67 68 74 22 3e 31 34 2e 33 36 33 34 30 38 3c  ight">14.363408<
a950: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
a960: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20  ><td>VIA PIETRO 
a970: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ARETINO</td>..</
a980: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  tr>..</table>..<
a990: 62 72 3e 0d 0a 41 73 20 79 6f 75 20 63 61 6e 20  br>..As you can 
a9a0: 73 65 65 2c 20 74 68 65 20 6f 70 74 69 6d 61 6c  see, the optimal
a9b0: 20 70 61 74 68 73 20 72 65 74 75 72 6e 65 64 20   paths returned 
a9c0: 62 79 20 74 68 65 20 3c 62 3e 62 79 63 61 72 3c  by the <b>bycar<
a9d0: 2f 62 3e 20 56 69 72 74 75 61 6c 52 6f 75 74 69  /b> VirtualRouti
a9e0: 6e 67 20 54 61 62 6c 65 20 69 6e 20 74 68 65 20  ng Table in the 
a9f0: 6f 70 70 6f 73 69 74 65 20 64 69 72 65 63 74 69  opposite directi
aa00: 6f 6e 73 20 73 74 72 6f 6e 67 6c 79 20 64 69 66  ons strongly dif
aa10: 66 65 72 2c 20 61 6e 64 20 62 6f 74 68 20 61 72  fer, and both ar
aa20: 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69 66  e completely dif
aa30: 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65 20  ferent from the 
aa40: 70 61 74 68 20 72 65 74 75 72 6e 65 64 20 62 79  path returned by
aa50: 20 71 75 65 72 79 69 6e 67 20 3c 62 3e 62 79 66   querying <b>byf
aa60: 6f 6f 74 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 41 20  oot</b>.<br>..A 
aa70: 71 75 69 63 6b 20 67 6c 61 6e 63 65 20 61 74 20  quick glance at 
aa80: 74 68 65 20 62 65 6c 6f 77 20 6d 61 70 20 77 69  the below map wi
aa90: 6c 6c 20 68 65 6c 70 20 74 6f 20 75 6e 64 65 72  ll help to under
aaa0: 73 74 61 6e 64 20 62 65 74 74 65 72 20 77 68 61  stand better wha
aab0: 74 27 73 20 72 65 61 6c 6c 79 20 68 61 70 70 65  t's really happe
aac0: 6e 69 6e 67 2e 3c 62 72 3e 0d 0a 54 68 69 73 20  ning.<br>..This 
aad0: 69 73 20 61 20 63 65 6e 74 72 61 6c 20 61 72 65  is a central are
aae0: 61 20 6f 66 20 74 68 65 20 74 6f 77 6e 20 6f 66  a of the town of
aaf0: 20 41 72 65 7a 7a 6f 20 61 72 6f 75 6e 64 20 74   Arezzo around t
ab00: 68 65 20 61 72 63 68 61 65 6f 6c 6f 67 69 63 61  he archaeologica
ab10: 6c 20 72 75 69 6e 73 20 6f 66 20 74 68 65 20 52  l ruins of the R
ab20: 6f 6d 61 6e 20 41 6d 70 68 69 74 68 65 61 74 65  oman Amphitheate
ab30: 72 3b 20 74 72 61 76 65 6c 69 6e 67 20 62 79 20  r; traveling by 
ab40: 63 61 72 20 73 68 6f 75 6c 64 20 62 65 20 61 76  car should be av
ab50: 6f 69 64 65 64 2c 20 64 75 65 20 74 6f 20 74 68  oided, due to th
ab60: 65 20 6d 61 6e 79 20 6f 6e 65 2d 77 61 79 20 72  e many one-way r
ab70: 65 73 74 72 69 63 74 69 6f 6e 73 2e 20 4e 6f 74  estrictions. Not
ab80: 20 73 75 72 70 72 69 73 69 6e 67 6c 79 2c 20 67   surprisingly, g
ab90: 6f 69 6e 67 20 62 79 20 66 6f 6f 74 20 69 73 20  oing by foot is 
aba0: 74 68 65 20 66 61 73 74 65 72 20 6f 70 74 69 6f  the faster optio
abb0: 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 69  n...<br><br>..<i
abc0: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  mg src="https://
abd0: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
abe0: 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e  gaia-sins/routin
abf0: 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e 67 31 2e  g-figs/routing1.
ac00: 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 31 22 3e  jpg" alt="fig1">
ac10: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 79 65 6c 6c  ..<ul>..<li>yell
ac20: 6f 77 20 70 61 74 68 3a 20 70 65 64 65 73 74 72  ow path: pedestr
ac30: 69 61 6e 73 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 67  ians</li>..<li>g
ac40: 72 65 65 6e 20 70 61 74 68 3a 20 63 61 72 2c 20  reen path: car, 
ac50: 66 6f 72 77 61 72 64 20 64 69 72 65 63 74 69 6f  forward directio
ac60: 6e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 72 65 64 20  n</li>..<li>red 
ac70: 70 61 74 68 3a 20 63 61 72 2c 20 72 65 74 75 72  path: car, retur
ac80: 6e 20 64 69 72 65 63 74 69 6f 6e 3c 2f 6c 69 3e  n direction</li>
ac90: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c  ..</ul>..<br>..<
aca0: 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
acb0: 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63  c0ffc0" cellspac
acc0: 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
acd0: 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
ace0: 3e 0d 0a 3c 68 33 3e 4c 69 6e 65 73 74 72 69 6e  >..<h3>Linestrin
acf0: 67 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 56  gs returned by V
ad00: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 68  irtualRouting</h
ad10: 33 3e 0d 0a 41 6c 6c 20 4c 49 4e 45 53 54 52 49  3>..All LINESTRI
ad20: 4e 47 20 47 65 6f 6d 65 74 72 69 65 73 20 63 72  NG Geometries cr
ad30: 65 61 74 65 64 20 62 79 20 61 6e 79 20 56 69 72  eated by any Vir
ad40: 74 75 61 6c 52 6f 75 74 69 6e 67 20 77 69 6c 6c  tualRouting will
ad50: 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 20   always contain 
ad60: 3c 62 3e 4d 20 76 61 6c 75 65 73 3c 2f 62 3e 3a  <b>M values</b>:
ad70: 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 69 66 20 74  ..<ul>..<li>if t
ad80: 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e  he underlaying N
ad90: 65 74 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72  etwork's Geometr
ada0: 69 65 73 20 61 72 65 20 3c 62 3e 58 59 3c 2f 62  ies are <b>XY</b
adb0: 3e 20 74 68 65 6e 20 3c 62 3e 58 59 4d 3c 2f 62  > then <b>XYM</b
adc0: 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 77 69  > Linestrings wi
add0: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c  ll be returned.<
ade0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65  /li>..<li>if the
adf0: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74   underlaying Net
ae00: 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 69 65  work's Geometrie
ae10: 73 20 61 72 65 20 3c 62 3e 58 59 5a 3c 2f 62 3e  s are <b>XYZ</b>
ae20: 20 74 68 65 6e 20 3c 62 3e 58 59 5a 4d 3c 2f 62   then <b>XYZM</b
ae30: 3e 20 4c 69 6e 65 73 74 72 69 6e 67 73 20 77 69  > Linestrings wi
ae40: 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 3c  ll be returned.<
ae50: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65  /li>..<li>if the
ae60: 20 75 6e 64 65 72 6c 61 79 69 6e 67 20 4e 65 74   underlaying Net
ae70: 77 6f 72 6b 27 73 20 47 65 6f 6d 65 74 72 69 65  work's Geometrie
ae80: 73 20 61 72 65 20 3c 62 3e 58 59 4d 3c 2f 62 3e  s are <b>XYM</b>
ae90: 20 6f 72 20 3c 62 3e 58 59 5a 4d 3c 2f 62 3e 20   or <b>XYZM</b> 
aea0: 74 68 65 6e 20 20 4c 69 6e 65 73 74 72 69 6e 67  then  Linestring
aeb0: 73 20 72 65 74 75 72 6e 65 64 20 69 6e 74 6f 20  s returned into 
aec0: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77 69  the resultset wi
aed0: 6c 6c 20 6d 61 69 6e 74 61 69 6e 20 74 68 65 20  ll maintain the 
aee0: 73 61 6d 65 20 64 69 6d 65 6e 73 69 6f 6e 73 20  same dimensions 
aef0: 61 73 20 69 6e 20 74 68 65 20 75 6e 64 65 72 6c  as in the underl
af00: 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 2f  aying Network.</
af10: 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 61 6e 79 20  li>..<li>in any 
af20: 63 61 73 65 20 74 68 65 20 3c 62 3e 4d 3c 2f 62  case the <b>M</b
af30: 3e 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 62 65  > values will be
af40: 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 73   appropriately s
af50: 65 74 20 73 6f 20 74 6f 20 72 65 70 72 65 73 65  et so to represe
af60: 6e 74 20 74 68 65 20 3c 75 3e 70 61 72 74 69 61  nt the <u>partia
af70: 6c 20 63 6f 73 74 3c 2f 75 3e 20 63 6f 72 72 65  l cost</u> corre
af80: 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65 61 63 68  sponding to each
af90: 20 76 65 72 74 65 78 2e 0d 0a 28 69 66 20 74 68   vertex...(if th
afa0: 65 20 69 6e 70 75 74 20 4c 69 6e 65 73 74 72 69  e input Linestri
afb0: 6e 67 73 20 61 6c 72 65 61 64 79 20 63 6f 6e 74  ngs already cont
afc0: 61 69 6e 73 20 4d 2d 76 61 6c 75 65 73 20 74 68  ains M-values th
afd0: 65 79 27 6c 6c 20 62 65 20 6f 76 65 72 77 72 69  ey'll be overwri
afe0: 74 74 65 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  tten).</li>..</u
aff0: 6c 3e 0d 0a 3c 62 72 3e 0d 0a 49 6e 20 6f 74 68  l>..<br>..In oth
b000: 65 72 20 77 6f 72 64 73 2c 20 61 6c 6c 20 4c 69  er words, all Li
b010: 6e 65 73 74 72 69 6e 67 73 20 72 65 74 75 72 6e  nestrings return
b020: 65 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75  ed by VirtualRou
b030: 74 69 6e 67 20 63 61 6e 20 65 66 66 65 63 74 69  ting can effecti
b040: 76 65 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e  vely support <b>
b050: 4c 52 3c 2f 62 3e 20 28 3c 69 3e 4c 69 6e 65 61  LR</b> (<i>Linea
b060: 72 20 52 65 66 65 72 65 6e 63 69 6e 67 3c 2f 69  r Referencing</i
b070: 3e 29 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e 73  >) SQL functions
b080: 2c 20 61 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c  , as in the foll
b090: 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 73 3a 0d  owing examples:.
b0a0: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c  .<verbatim>..SEL
b0b0: 45 43 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42 65  ECT ST_Locate_Be
b0c0: 74 77 65 65 6e 5f 4d 65 61 73 75 72 65 73 28 3c  tween_Measures(<
b0d0: 67 65 6f 6d 65 74 72 79 3e 2c 20 33 30 2e 30 2c  geometry>, 30.0,
b0e0: 20 34 35 2e 30 29 3b 0d 0a 0d 0a 53 45 4c 45 43   45.0);....SELEC
b0f0: 54 20 53 54 5f 4c 6f 63 61 74 65 5f 42 65 74 77  T ST_Locate_Betw
b100: 65 65 6e 5f 4d 65 61 73 75 72 65 73 28 3c 67 65  een_Measures(<ge
b110: 6f 6d 65 74 72 79 3e 2c 20 38 30 2e 30 2c 20 39  ometry>, 80.0, 9
b120: 35 2e 30 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69  5.0);..</verbati
b130: 6d 3e 0d 0a 54 68 65 20 73 69 64 65 20 6d 61 70  m>..The side map
b140: 20 67 72 61 70 68 69 63 61 6c 6c 79 20 73 68 6f   graphically sho
b150: 77 73 20 74 68 65 20 65 73 74 69 6d 61 74 65 64  ws the estimated
b160: 20 70 6f 73 69 74 69 6f 6e 73 20 72 65 73 70 65   positions respe
b170: 63 74 69 76 65 6c 79 20 3c 62 3e 33 30 3c 2f 62  ctively <b>30</b
b180: 3e 2d 3c 62 3e 34 35 3c 2f 62 3e 20 73 65 63 6f  >-<b>45</b> seco
b190: 6e 64 73 20 61 66 74 65 72 20 73 74 61 72 74 69  nds after starti
b1a0: 6e 67 20 28 79 65 6c 6c 6f 77 20 64 6f 74 74 65  ng (yellow dotte
b1b0: 64 20 6c 69 6e 65 29 20 61 6e 64 20 3c 62 3e 38  d line) and <b>8
b1c0: 30 3c 2f 62 3e 2d 3c 62 3e 39 35 3c 2f 62 3e 20  0</b>-<b>95</b> 
b1d0: 73 65 63 6f 6e 64 73 20 61 66 74 65 72 20 73 74  seconds after st
b1e0: 61 72 74 69 6e 67 20 28 67 72 65 65 6e 20 64 6f  arting (green do
b1f0: 74 74 65 64 20 6c 69 6e 65 29 2e 3c 62 72 3e 0d  tted line).<br>.
b200: 0a 28 61 73 73 75 6d 69 6e 67 20 74 68 65 20 73  .(assuming the s
b210: 61 6d 65 20 70 61 74 68 20 72 65 74 75 72 6e 65  ame path returne
b220: 64 20 62 79 20 74 68 65 20 6c 61 74 65 73 74 20  d by the latest 
b230: 3c 62 3e 62 79 63 61 72 3c 2f 62 3e 20 71 75 65  <b>bycar</b> que
b240: 72 79 29 2e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74 64  ry)...</td>..<td
b250: 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73  ><img src="https
b260: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e  ://www.gaia-gis.
b270: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75  it/gaia-sins/rou
b280: 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74 69 6e  ting-figs/routin
b290: 67 32 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67  g2.jpg" alt="fig
b2a0: 32 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  2"></td>..</tr>.
b2b0: 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  .</table>..<br>.
b2c0: 0a 3c 68 32 3e 50 6c 61 79 69 6e 67 20 77 69 74  .<h2>Playing wit
b2d0: 68 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67  h VirtualRouting
b2e0: 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 20 6f 70   configurable op
b2f0: 74 69 6f 6e 73 3c 2f 68 32 3e 0d 0a 53 65 76 65  tions</h2>..Seve
b300: 72 61 6c 20 61 73 70 65 63 74 73 20 6f 66 20 56  ral aspects of V
b310: 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 63 61  irtualRouting ca
b320: 6e 20 62 65 20 66 72 65 65 6c 79 20 63 75 73 74  n be freely cust
b330: 6f 6d 69 7a 65 64 2e 0d 0a 3c 76 65 72 62 61 74  omized...<verbat
b340: 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79 66 6f  im>..UPDATE byfo
b350: 6f 74 20 53 45 54 20 41 6c 67 6f 72 69 74 68 6d  ot SET Algorithm
b360: 20 3d 20 27 41 2a 27 3b 0d 0a 0d 0a 53 45 4c 45   = 'A*';....SELE
b370: 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70  CT Algorithm, Op
b380: 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c  tions, RouteRow,
b390: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64   Role, LinkRowid
b3a0: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65  , NodeFrom, Node
b3b0: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  To, Cost, Geomet
b3c0: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
b3d0: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
b3e0: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41  eFrom = 178731 A
b3f0: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32  ND NodeTo = 1832
b400: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  86;..</verbatim>
b410: 0d 0a 49 66 20 79 6f 75 20 72 65 6d 65 6d 62 65  ..If you remembe
b420: 72 20 69 6e 20 61 6c 6c 20 74 68 65 20 70 72 65  r in all the pre
b430: 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 73 20 74  vious examples t
b440: 68 65 20 3c 62 3e 44 69 6a 6b 73 74 72 61 27 73  he <b>Dijkstra's
b450: 3c 2f 62 3e 20 61 6c 67 6f 72 69 74 68 6d 20 77  </b> algorithm w
b460: 61 73 20 75 73 65 64 3b 20 6e 6f 77 20 28 61 66  as used; now (af
b470: 74 65 72 20 65 78 65 63 75 74 69 6e 67 20 74 68  ter executing th
b480: 65 20 61 62 6f 76 65 20 3c 62 3e 55 50 44 41 54  e above <b>UPDAT
b490: 45 3c 2f 62 3e 29 20 61 6c 6c 20 53 68 6f 72 74  E</b>) all Short
b4a0: 65 73 74 20 50 61 74 68 20 71 75 65 72 69 65 73  est Path queries
b4b0: 20 77 69 6c 6c 20 62 65 20 62 61 73 65 64 20 6f   will be based o
b4c0: 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76  n the alternativ
b4d0: 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c 67 6f  e <b>A*</b> algo
b4e0: 72 69 74 68 6d 2e 3c 62 72 3e 0d 0a 49 66 20 79  rithm.<br>..If y
b4f0: 6f 75 20 77 69 73 68 20 74 6f 20 73 65 6c 65 63  ou wish to selec
b500: 74 20 61 67 61 69 6e 20 74 68 65 20 44 69 6a 6b  t again the Dijk
b510: 73 74 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d  stra's algorithm
b520: 20 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74   you just have t
b530: 6f 20 65 78 65 63 75 74 65 3c 62 72 3e 20 3c 62  o execute<br> <b
b540: 3e 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53  >UPDATE byfoot S
b550: 45 54 20 41 6c 67 6f 72 69 74 68 6d 20 3d 20 27  ET Algorithm = '
b560: 44 49 4a 4b 53 54 52 41 27 3b 3c 2f 62 3e 2e 3c  DIJKSTRA';</b>.<
b570: 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c  br><br>..The fol
b580: 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f  lowing table sho
b590: 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  ws the resultset
b5a0: 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
b5b0: 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72 74 65   previous Shorte
b5c0: 73 74 20 50 61 74 68 20 71 75 65 72 79 3b 20 70  st Path query; p
b5d0: 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74 68 65  lease notice the
b5e0: 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 62   value in the <b
b5f0: 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e 20 63  >Algorithm</b> c
b600: 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  olumn...<br><br>
b610: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
b620: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
b630: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
b640: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
b650: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
b660: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
b670: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
b680: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
b690: 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
b6a0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
b6b0: 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77  d0d0a0">RouteRow
b6c0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
b6d0: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
b6e0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
b6f0: 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f  "#d0d0a0">LinkRo
b700: 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  wid</th><th bgco
b710: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
b720: 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  deFrom</th><th b
b730: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
b740: 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20  >NodeTo</th><th 
b750: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
b760: 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62  ">Cost</th><th b
b770: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
b780: 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74  >Geometry</th><t
b790: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
b7a0: 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74  a0">Name</th></t
b7b0: 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 41 2a 3c 2f  r>..<tr><td>A*</
b7c0: 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e  td><td>Full</td>
b7d0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b7e0: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
b7f0: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
b800: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b810: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
b820: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b830: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
b840: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
b850: 30 30 2e 39 31 32 32 30 38 3c 2f 74 64 3e 3c 74  00.912208</td><t
b860: 64 3e 42 4c 4f 42 20 73 7a 3d 32 37 32 20 47 45  d>BLOB sz=272 GE
b870: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
b880: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
b890: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
b8a0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
b8b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
b8c0: 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">1</td><td>Lin
b8d0: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
b8e0: 22 72 69 67 68 74 22 3e 32 32 34 30 31 34 3c 2f  "right">224014</
b8f0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b900: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
b910: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b920: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
b930: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 39   align="right">9
b940: 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e 3c 74 64  4.812424</td><td
b950: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
b960: 41 20 50 49 45 54 52 4f 20 41 52 45 54 49 4e 4f  A PIETRO ARETINO
b970: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
b980: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
b990: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
b9a0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
b9b0: 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  2</td><td>Link</
b9c0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
b9d0: 67 68 74 22 3e 32 32 34 34 34 36 3c 2f 74 64 3e  ght">224446</td>
b9e0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
b9f0: 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e 3c 74 64  ">182885</td><td
ba00: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
ba10: 37 38 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  78880</td><td al
ba20: 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 39 2e 37  ign="right">69.7
ba30: 32 37 37 32 36 3c 2f 74 64 3e 3c 74 64 3e 4e 55  27726</td><td>NU
ba40: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4d  LL</td><td>VIA M
ba50: 41 52 47 41 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d  ARGARITONE</td>.
ba60: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
ba70: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
ba80: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
ba90: 6e 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e  n="right">3</td>
baa0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
bab0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
bac0: 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  24414</td><td al
bad0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
bae0: 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
baf0: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
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 31 33 36 2e 33 37 32 30 35 37  ight">136.372057
bb20: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
bb30: 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52  d><td>VIA MARGAR
bb40: 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ITONE</td>..</tr
bb50: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72  >..</table>..<br
bb60: 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 59 6f 75 20 63  ><br><br>..You c
bb70: 61 6e 20 65 76 65 6e 74 75 61 6c 6c 79 20 63 6f  an eventually co
bb80: 6e 66 69 67 75 72 65 20 74 68 65 20 72 65 73 75  nfigure the resu
bb90: 6c 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 74  ltset returned t
bba0: 68 65 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  he VirtualRoutin
bbb0: 67 20 71 75 65 72 69 65 73 2e 0d 0a 3c 76 65 72  g queries...<ver
bbc0: 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62  batim>..UPDATE b
bbd0: 79 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e  yfoot SET Option
bbe0: 73 20 3d 20 27 4e 4f 20 4c 49 4e 4b 53 27 3b 0d  s = 'NO LINKS';.
bbf0: 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69  ...SELECT Algori
bc00: 74 68 6d 2c 20 4f 70 74 69 6f 6e 73 2c 20 52 6f  thm, Options, Ro
bc10: 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69  uteRow, Role, Li
bc20: 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f  nkRowid, NodeFro
bc30: 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c  m, NodeTo, Cost,
bc40: 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d   Geometry, Name.
bc50: 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48  .FROM byfoot..WH
bc60: 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31  ERE NodeFrom = 1
bc70: 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f  78731 AND NodeTo
bc80: 20 3d 20 31 38 33 32 38 36 3b 0d 0a 3c 2f 76 65   = 183286;..</ve
bc90: 72 62 61 74 69 6d 3e 0d 0a 41 66 74 65 72 20 73  rbatim>..After s
bca0: 65 74 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e  etting <b>Option
bcb0: 73 3d 27 4e 4f 20 4c 49 4e 4b 53 27 3c 2f 62 3e  s='NO LINKS'</b>
bcc0: 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 77   the resultset w
bcd0: 69 6c 6c 20 73 69 6d 70 6c 79 20 63 6f 6e 74 61  ill simply conta
bce0: 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 72 6f  in the header ro
bcf0: 77 2c 20 61 6e 64 20 61 6c 6c 20 6f 66 20 74 68  w, and all of th
bd00: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73  e following rows
bd10: 20 77 69 6c 6c 20 62 65 20 73 75 70 70 72 65 73   will be suppres
bd20: 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  sed.<br>..<u>Not
bd30: 65 3c 2f 75 3e 3a 20 70 72 6f 64 75 63 69 6e 67  e</u>: producing
bd40: 20 61 20 72 65 64 75 63 65 64 20 72 65 73 75 6c   a reduced resul
bd50: 74 73 65 74 20 69 73 20 65 78 70 65 63 74 65 64  tset is expected
bd60: 20 74 6f 20 62 65 20 73 6f 6d 65 77 61 79 20 66   to be someway f
bd70: 61 73 74 65 72 2e 3c 62 72 3e 0d 0a 54 68 65 20  aster.<br>..The 
bd80: 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20  following table 
bd90: 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74  shows the result
bda0: 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20  set returned by 
bdb0: 74 68 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f  the previous Sho
bdc0: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79  rtest Path query
bdd0: 3b 20 70 6c 65 61 73 65 20 6e 6f 74 69 63 65 20  ; please notice 
bde0: 74 68 65 20 76 61 6c 75 65 20 69 6e 20 74 68 65  the value in the
bdf0: 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20   <b>Options</b> 
be00: 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72  column...<br><br
be10: 3e 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72  >..<table border
be20: 3d 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66  ="1" bgcolor="#f
be30: 66 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69  fffcf" cellspaci
be40: 6e 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69  ng="4" cellpaddi
be50: 6e 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68  ng="6">..<tr><th
be60: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
be70: 30 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68  0">Algorithm</th
be80: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
be90: 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f  0d0a0">Options</
bea0: 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
beb0: 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f  #d0d0a0">RouteRo
bec0: 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  w</th><th bgcolo
bed0: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65  r="#d0d0a0">Role
bee0: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
bef0: 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52  ="#d0d0a0">LinkR
bf00: 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63  owid</th><th bgc
bf10: 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e  olor="#d0d0a0">N
bf20: 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20  odeFrom</th><th 
bf30: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
bf40: 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68  ">NodeTo</th><th
bf50: 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
bf60: 30 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20  0">Cost</th><th 
bf70: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
bf80: 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c  ">Geometry</th><
bf90: 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
bfa0: 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f  0a0">Name</th></
bfb0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 41  tr>..<tr>..<td>A
bfc0: 2a 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e  *</td><td>No Lin
bfd0: 6b 73 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  ks</td><td align
bfe0: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
bff0: 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64  td>Route</td><td
c000: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
c010: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
c020: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
c030: 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c  ="right">183286<
c040: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
c050: 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38  ight">300.912208
c060: 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a  </td><td>BLOB sz
c070: 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74  =272 GEOMETRY</t
c080: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
c090: 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
c0a0: 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a  ..<br><br><br>..
c0b0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41  <verbatim>..UPDA
c0c0: 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f 70  TE byfoot SET Op
c0d0: 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 45 4f 4d  tions = 'NO GEOM
c0e0: 45 54 52 49 45 53 27 3b 0d 0a 0d 0a 53 45 4c 45  ETRIES';....SELE
c0f0: 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70  CT Algorithm, Op
c100: 74 69 6f 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c  tions, RouteRow,
c110: 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64   Role, LinkRowid
c120: 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65  , NodeFrom, Node
c130: 54 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74  To, Cost, Geomet
c140: 72 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62  ry, Name..FROM b
c150: 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64  yfoot..WHERE Nod
c160: 65 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41  eFrom = 178731 A
c170: 4e 44 20 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32  ND NodeTo = 1832
c180: 38 36 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  86;..</verbatim>
c190: 41 66 74 65 72 20 73 65 74 74 69 6e 67 20 3c 62  After setting <b
c1a0: 3e 4f 70 74 69 6f 6e 73 3d 27 4e 4f 20 47 45 4f  >Options='NO GEO
c1b0: 4d 45 54 52 49 45 53 27 3c 2f 62 3e 20 74 68 65  METRIES'</b> the
c1c0: 20 72 65 73 75 6c 74 73 65 74 20 77 69 6c 6c 20   resultset will 
c1d0: 63 6f 6e 74 61 69 6e 20 61 6c 6c 20 72 6f 77 73  contain all rows
c1e0: 2c 20 62 75 74 20 61 6c 6c 20 47 65 6f 6d 65 74  , but all Geomet
c1f0: 72 69 65 73 20 77 69 6c 6c 20 62 65 20 73 75 70  ries will be sup
c200: 70 72 65 73 73 65 64 2e 3c 62 72 3e 0d 0a 3c 75  pressed.<br>..<u
c210: 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 74 68 69 73 20  >Note</u>: this 
c220: 74 6f 6f 20 69 73 20 65 78 70 65 63 74 65 64 20  too is expected 
c230: 74 6f 20 62 65 20 73 6f 6d 65 77 61 79 20 66 61  to be someway fa
c240: 73 74 65 72 2e 3c 62 72 3e 0d 0a 54 68 65 20 66  ster.<br>..The f
c250: 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73  ollowing table s
c260: 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73  hows the results
c270: 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74  et returned by t
c280: 68 65 20 70 72 65 76 69 6f 75 73 20 53 68 6f 72  he previous Shor
c290: 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79 3b  test Path query;
c2a0: 20 70 6c 65 61 73 65 20 6e 6f 74 69 63 65 20 74   please notice t
c2b0: 68 65 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20  he value in the 
c2c0: 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 63  <b>Options</b> c
c2d0: 6f 6c 75 6d 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  olumn...<br><br>
c2e0: 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
c2f0: 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
c300: 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
c310: 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
c320: 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
c330: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c340: 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
c350: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
c360: 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
c370: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
c380: 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52 6f 77  d0d0a0">RouteRow
c390: 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72  </th><th bgcolor
c3a0: 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c 65 3c  ="#d0d0a0">Role<
c3b0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
c3c0: 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b 52 6f  "#d0d0a0">LinkRo
c3d0: 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  wid</th><th bgco
c3e0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f  lor="#d0d0a0">No
c3f0: 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  deFrom</th><th b
c400: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
c410: 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74 68 20  >NodeTo</th><th 
c420: 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
c430: 22 3e 43 6f 73 74 3c 2f 74 68 3e 3c 74 68 20 62  ">Cost</th><th b
c440: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
c450: 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e 3c 74  >Geometry</th><t
c460: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
c470: 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c 2f 74  a0">Name</th></t
c480: 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 41 2a 3c 2f  r>..<tr><td>A*</
c490: 74 64 3e 3c 74 64 3e 4e 6f 20 47 65 6f 6d 65 74  td><td>No Geomet
c4a0: 72 69 65 73 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  ries</td><td ali
c4b0: 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
c4c0: 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
c4d0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
c4e0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
c4f0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
c500: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
c510: 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
c520: 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32 32  "right">300.9122
c530: 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  08</td><td>NULL<
c540: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
c550: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
c560: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
c570: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
c580: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
c590: 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
c5a0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
c5b0: 3e 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20  >224014</td><td 
c5c0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
c5d0: 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8731</td><td ali
c5e0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
c5f0: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
c600: 22 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32  "right">94.81242
c610: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
c620: 74 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52  td><td>VIA PIETR
c630: 4f 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a  O ARETINO</td>..
c640: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
c650: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
c660: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
c670: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
c680: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
c690: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
c6a0: 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4446</td><td ali
c6b0: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
c6c0: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
c6d0: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
c6e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c6f0: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f  ght">69.727726</
c700: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
c710: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
c720: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
c730: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
c740: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
c750: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
c760: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">3</td><td>Lin
c770: 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
c780: 22 72 69 67 68 74 22 3e 32 32 34 34 31 34 3c 2f  "right">224414</
c790: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
c7a0: 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74 64 3e  ght">178880</td>
c7b0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
c7c0: 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64  ">183286</td><td
c7d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
c7e0: 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e 3c 74  36.372057</td><t
c7f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
c800: 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c 2f  IA MARGARITONE</
c810: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61  td>..</tr>..</ta
c820: 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62  ble>..<br><br><b
c830: 72 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  r>..<verbatim>..
c840: 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53 45  UPDATE byfoot SE
c850: 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 53 49 4d  T Options = 'SIM
c860: 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  PLE';....SELECT 
c870: 41 6c 67 6f 72 69 74 68 6d 2c 20 4f 70 74 69 6f  Algorithm, Optio
c880: 6e 73 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f  ns, RouteRow, Ro
c890: 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e  le, LinkRowid, N
c8a0: 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c  odeFrom, NodeTo,
c8b0: 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c   Cost, Geometry,
c8c0: 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f   Name..FROM byfo
c8d0: 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72  ot..WHERE NodeFr
c8e0: 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20  om = 178731 AND 
c8f0: 4e 6f 64 65 54 6f 20 3d 20 31 38 33 32 38 36 3b  NodeTo = 183286;
c900: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 53 65 74  ..</verbatim>Set
c910: 74 69 6e 67 20 3c 62 3e 4f 70 74 69 6f 6e 73 3d  ting <b>Options=
c920: 27 53 49 4d 50 4c 45 27 3c 2f 62 3e 20 68 61 73  'SIMPLE'</b> has
c930: 20 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74   the same effect
c940: 20 74 68 61 6e 20 73 65 74 74 69 6e 67 20 62 6f   than setting bo
c950: 74 68 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f  th <b>NO LINKS</
c960: 62 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f  b> and <b>NO GEO
c970: 4d 45 54 52 49 45 53 3c 2f 62 3e 20 61 74 20 74  METRIES</b> at t
c980: 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 3c 62 72  he same time.<br
c990: 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
c9a0: 74 68 69 73 20 69 73 20 65 78 70 65 63 74 65 64  this is expected
c9b0: 20 74 6f 20 62 65 20 74 68 65 20 66 61 73 74 65   to be the faste
c9c0: 73 74 20 73 65 74 74 69 6e 67 2e 3c 62 72 3e 0d  st setting.<br>.
c9d0: 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74  .The following t
c9e0: 61 62 6c 65 20 73 68 6f 77 73 20 74 68 65 20 72  able shows the r
c9f0: 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
ca00: 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75  d by the previou
ca10: 73 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  s Shortest Path 
ca20: 71 75 65 72 79 3b 20 70 6c 65 61 73 65 20 6e 6f  query; please no
ca30: 74 69 63 65 20 74 68 65 20 76 61 6c 75 65 20 69  tice the value i
ca40: 6e 20 74 68 65 20 3c 62 3e 4f 70 74 69 6f 6e 73  n the <b>Options
ca50: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 0d 0a 3c 62  </b> column...<b
ca60: 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  r><br>..<table b
ca70: 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c 6f  order="1" bgcolo
ca80: 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c 6c  r="#ffffcf" cell
ca90: 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c 6c  spacing="4" cell
caa0: 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c 74  padding="6">..<t
cab0: 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  r><th bgcolor="#
cac0: 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74 68  d0d0a0">Algorith
cad0: 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
cae0: 72 3d 22 23 64 30 64 30 61 30 22 3e 4f 70 74 69  r="#d0d0a0">Opti
caf0: 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ons</th><th bgco
cb00: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
cb10: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
cb20: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
cb30: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
cb40: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
cb50: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
cb60: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
cb70: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
cb80: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
cb90: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
cba0: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
cbb0: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
cbc0: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
cbd0: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
cbe0: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
cbf0: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
cc00: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
cc10: 3c 74 64 3e 41 2a 3c 2f 74 64 3e 3c 74 64 3e 53  <td>A*</td><td>S
cc20: 69 6d 70 6c 65 3c 2f 74 64 3e 3c 74 64 20 61 6c  imple</td><td al
cc30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
cc40: 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e  d><td>Route</td>
cc50: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
cc60: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
cc70: 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  78731</td><td al
cc80: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32  ign="right">1832
cc90: 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  86</td><td align
cca0: 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31 32  ="right">300.912
ccb0: 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  208</td><td>NULL
ccc0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ccd0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62  d>..</tr>..</tab
cce0: 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a 46 69 6e 61 6c  le>..<br>..Final
ccf0: 6c 79 2c 20 69 66 20 79 6f 75 20 77 69 73 68 20  ly, if you wish 
cd00: 74 6f 20 73 65 6c 65 63 74 20 61 67 61 69 6e 20  to select again 
cd10: 74 68 65 20 69 6e 69 74 69 61 6c 20 73 74 61 6e  the initial stan
cd20: 64 61 72 64 20 73 65 74 74 69 6e 67 20 79 6f 75  dard setting you
cd30: 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 65 78   just have to ex
cd40: 65 63 75 74 65 3c 62 72 3e 20 3c 62 3e 55 50 44  ecute<br> <b>UPD
cd50: 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 4f  ATE byfoot SET O
cd60: 70 74 69 6f 6e 73 20 3d 20 27 46 55 4c 4c 27 3b  ptions = 'FULL';
cd70: 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  </b>.<br><br>..<
cd80: 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20  hr><br>..<h1><a 
cd90: 6e 61 6d 65 3d 22 6d 75 6c 74 69 22 3e 35 20 2d  name="multi">5 -
cda0: 20 53 6f 6c 76 69 6e 67 20 6d 75 6c 74 69 2d 64   Solving multi-d
cdb0: 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74  estination Short
cdc0: 65 73 74 20 50 61 74 68 20 70 72 6f 62 6c 65 6d  est Path problem
cdd0: 73 3c 2f 61 3e 3c 2f 68 31 3e 0d 0a 41 20 76 65  s</a></h1>..A ve
cde0: 72 79 20 69 6e 74 65 72 65 73 74 69 6e 67 20 66  ry interesting f
cdf0: 65 61 74 75 72 65 20 73 75 70 70 6f 72 74 65 64  eature supported
ce00: 20 62 79 20 74 68 65 20 44 69 6a 6b 73 74 72 61   by the Dijkstra
ce10: 27 73 20 41 6c 67 6f 72 69 74 68 6d 20 69 73 20  's Algorithm is 
ce20: 74 68 61 74 20 69 74 20 72 6f 62 75 73 74 6c 79  that it robustly
ce30: 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 77 68   ensures that wh
ce40: 65 6e 20 61 20 64 65 73 74 69 6e 61 74 69 6f 6e  en a destination
ce50: 20 69 73 20 72 65 61 63 68 65 64 20 61 6c 6c 20   is reached all 
ce60: 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 73  the destinations
ce70: 20 70 72 65 73 65 6e 74 69 6e 67 20 61 20 3c 62   presenting a <b
ce80: 3e 6c 65 73 73 65 72 20 63 6f 73 74 3c 2f 62 3e  >lesser cost</b>
ce90: 20 68 61 76 65 20 61 6c 72 65 61 64 79 20 62 65   have already be
cea0: 65 6e 20 72 65 61 63 68 65 64 20 69 6e 20 73 6f  en reached in so
ceb0: 6d 65 20 70 72 65 76 69 6f 75 73 20 73 74 65 70  me previous step
cec0: 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 2e   of the process.
ced0: 3c 62 72 3e 0d 0a 54 68 69 73 20 61 6c 6c 6f 77  <br>..This allow
cee0: 73 20 74 6f 20 65 66 66 69 63 69 65 6e 74 6c 79  s to efficiently
cef0: 20 73 75 70 70 6f 72 74 20 3c 62 3e 6d 75 6c 74   support <b>mult
cf00: 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e  iple destination
cf10: 73 3c 2f 62 3e 20 53 68 6f 72 74 65 73 74 20 50  s</b> Shortest P
cf20: 61 74 68 20 71 75 65 72 69 65 73 2e 0d 0a 59 6f  ath queries...Yo
cf30: 75 20 73 69 6d 70 6c 79 20 68 61 76 65 20 74 6f  u simply have to
cf40: 20 73 70 65 63 69 66 79 20 61 20 3c 62 3e 73 69   specify a <b>si
cf50: 6e 67 6c 65 20 6f 72 69 67 69 6e 20 4e 6f 64 65  ngle origin Node
cf60: 3c 2f 62 3e 20 61 6e 64 20 61 6e 20 3c 62 3e 61  </b> and an <b>a
cf70: 72 62 69 74 72 61 72 79 20 6c 69 73 74 20 6f 66  rbitrary list of
cf80: 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 4e 6f 64   destination Nod
cf90: 65 73 3c 2f 62 3e 20 69 6e 20 61 20 73 69 6e 67  es</b> in a sing
cfa0: 6c 65 20 44 69 6a 6b 73 74 72 61 27 73 20 65 78  le Dijkstra's ex
cfb0: 65 63 75 74 69 6f 6e 2e 3c 62 72 3e 3c 62 72 3e  ecution.<br><br>
cfc0: 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 65  ..<u>Note</u>: e
cfd0: 78 65 63 75 74 69 6e 67 20 61 20 6d 75 6c 74 69  xecuting a multi
cfe0: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20 53 68 6f  -destination Sho
cff0: 72 74 65 73 74 20 50 61 74 68 20 71 75 65 72 79  rtest Path query
d000: 20 72 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70   requires a <b>p
d010: 72 6f 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f  rocessing time</
d020: 62 3e 20 74 68 61 74 20 69 73 6e 27 74 20 74 68  b> that isn't th
d030: 65 20 3c 75 3e 73 75 6d 20 6f 66 20 61 6c 6c 20  e <u>sum of all 
d040: 69 6e 64 69 76 69 64 75 61 6c 20 74 69 6d 69 6e  individual timin
d050: 67 73 20 66 6f 72 20 65 61 63 68 20 64 65 73 74  gs for each dest
d060: 69 6e 61 74 69 6f 6e 3c 2f 75 3e 2c 20 62 75 74  ination</u>, but
d070: 20 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20 3c   simply is the <
d080: 75 3e 74 69 6d 65 20 72 65 71 75 69 72 65 64 20  u>time required 
d090: 74 6f 20 72 65 61 63 68 20 74 68 65 20 6d 6f 73  to reach the mos
d0a0: 74 20 63 6f 73 74 6c 79 20 6f 66 20 61 6c 6c 20  t costly of all 
d0b0: 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 69 6e 20  destinations in 
d0c0: 74 68 65 20 6c 69 73 74 3c 2f 75 3e 2e 3c 62 72  the list</u>.<br
d0d0: 3e 0d 0a 54 68 69 73 20 69 73 6e 27 74 20 72 69  >..This isn't ri
d0e0: 67 6f 72 6f 75 73 6c 79 20 74 72 75 65 20 69 6e  gorously true in
d0f0: 20 74 68 65 20 63 61 73 65 20 6f 66 20 74 68 65   the case of the
d100: 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
d110: 73 70 65 63 69 66 69 63 20 69 6d 70 6c 65 6d 65  specific impleme
d120: 6e 74 61 74 69 6f 6e 2c 20 62 65 63 61 75 73 65  ntation, because
d130: 20 61 72 72 61 6e 67 69 6e 67 20 74 68 65 20 72   arranging the r
d140: 65 73 75 6c 74 73 65 74 20 74 6f 20 62 65 20 72  esultset to be r
d150: 65 74 75 72 6e 65 64 20 61 6e 64 20 63 72 65 61  eturned and crea
d160: 74 69 6e 67 20 61 6c 6c 20 74 68 65 20 69 6e 64  ting all the ind
d170: 69 76 69 64 75 61 6c 20 4c 69 6e 65 73 74 72 69  ividual Linestri
d180: 6e 67 73 20 66 6f 72 20 65 61 63 68 20 64 65 73  ngs for each des
d190: 74 69 6e 61 74 69 6f 6e 20 77 69 6c 6c 20 73 75  tination will su
d1a0: 72 65 6c 79 20 69 6d 70 6f 73 65 20 73 6f 6d 65  rely impose some
d1b0: 20 66 75 72 74 68 65 72 20 6f 76 65 72 68 65 61   further overhea
d1c0: 64 2c 20 62 75 74 20 6e 6f 6e 65 74 68 65 6c 65  d, but nonethele
d1d0: 73 73 20 69 74 20 72 65 6d 61 69 6e 73 20 63 6f  ss it remains co
d1e0: 6e 66 69 72 6d 65 64 20 74 68 61 74 20 65 78 65  nfirmed that exe
d1f0: 63 75 74 69 6e 67 20 61 20 73 69 6e 67 6c 65 20  cuting a single 
d200: 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f  multi-destinatio
d210: 6e 20 71 75 65 72 79 20 77 69 6c 6c 20 73 75 72  n query will sur
d220: 65 6c 79 20 62 65 20 20 6e 6f 74 69 63 65 61 62  ely be  noticeab
d230: 6c 79 20 66 61 73 74 65 72 20 74 68 65 6e 20 65  ly faster then e
d240: 78 65 63 75 74 69 6e 67 20 6d 61 6e 79 20 73 70  xecuting many sp
d250: 61 72 73 65 20 73 69 6e 67 6c 65 2d 64 65 73 74  arse single-dest
d260: 69 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 2e  ination queries.
d270: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53 45  ..<verbatim>..SE
d280: 4c 45 43 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20  LECT Algorithm, 
d290: 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73  Request, Options
d2a0: 2c 20 44 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75  , Delimiter, Rou
d2b0: 74 65 49 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20  teId, RouteRow, 
d2c0: 52 6f 6c 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c  Role, LinkRowid,
d2d0: 20 4e 6f 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54   NodeFrom, NodeT
d2e0: 6f 2c 20 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72  o, Cost, Geometr
d2f0: 79 2c 20 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79  y, Name..FROM by
d300: 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65  foot..WHERE Node
d310: 46 72 6f 6d 20 3d 20 31 37 38 37 33 31 20 41 4e  From = 178731 AN
d320: 44 20 4e 6f 64 65 54 6f 20 3d 20 27 31 38 33 32  D NodeTo = '1832
d330: 38 36 2c 32 39 30 34 35 38 2c 31 38 31 39 39 39  86,290458,181999
d340: 2c 31 38 34 30 33 30 2c 31 32 34 36 32 32 2c 31  ,184030,124622,1
d350: 38 33 38 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a  83882,178754';..
d360: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 73 20  </verbatim>..As 
d370: 79 6f 75 20 63 61 6e 20 73 65 65 2c 20 61 20 3c  you can see, a <
d380: 62 3e 6d 75 6c 74 69 70 6c 65 2d 64 65 73 74 69  b>multiple-desti
d390: 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72  nations</b> quer
d3a0: 79 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69  y has the same i
d3b0: 64 65 6e 74 69 63 61 6c 20 66 6f 72 6d 20 6f 66  dentical form of
d3c0: 20 61 6e 79 20 75 73 75 61 6c 20 53 68 6f 72 74   any usual Short
d3d0: 65 73 74 20 50 61 74 68 20 71 75 65 72 79 2c 20  est Path query, 
d3e0: 65 78 63 65 70 74 20 69 6e 20 74 68 61 74 20 3c  except in that <
d3f0: 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 6e 6f 77  b>NodeTo</b> now
d400: 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20   corresponds to 
d410: 61 20 63 6f 6d 6d 61 2d 73 65 70 61 72 61 74 65  a comma-separate
d420: 64 20 6c 69 73 74 2e 3c 62 72 3e 0d 0a 54 68 65  d list.<br>..The
d430: 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65   following table
d440: 20 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c   shows the resul
d450: 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79  tset returned by
d460: 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6d 75   the previous mu
d470: 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20  lti-destination 
d480: 53 68 6f 72 74 65 73 74 20 50 61 74 68 20 71 75  Shortest Path qu
d490: 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ery...<br><br>..
d4a0: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
d4b0: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
d4c0: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
d4d0: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
d4e0: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
d4f0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d500: 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74  Algorithm</th><t
d510: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
d520: 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e  a0">Request</th>
d530: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
d540: 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
d550: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
d560: 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65  d0d0a0">Delimite
d570: 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  r</th><th bgcolo
d580: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
d590: 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  eId</th><th bgco
d5a0: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
d5b0: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
d5c0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
d5d0: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
d5e0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
d5f0: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
d600: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
d610: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
d620: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
d630: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
d640: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
d650: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
d660: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
d670: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
d680: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
d690: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
d6a0: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
d6b0: 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64  <td>Dijkstra</td
d6c0: 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 50 61  ><td>Shortest Pa
d6d0: 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c  th</td><td>Full<
d6e0: 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64  /td><td>, &#91;d
d6f0: 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39  ec=44, hex=2c&#9
d700: 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  3;</td><td align
d710: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
d720: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
d730: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
d740: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
d750: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
d760: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
d770: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
d780: 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20  >183882</td><td 
d790: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35  align="right">15
d7a0: 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64  4.750839</td><td
d7b0: 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f  >BLOB sz=240 GEO
d7c0: 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
d7d0: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
d7e0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
d7f0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
d800: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
d810: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
d820: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
d830: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
d840: 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">1</td><td>Li
d850: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
d860: 3d 22 72 69 67 68 74 22 3e 32 32 32 36 33 36 3c  ="right">222636<
d870: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d880: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
d890: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d8a0: 74 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74  t">182000</td><t
d8b0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d8c0: 31 30 33 2e 37 33 35 37 32 32 3c 2f 74 64 3e 3c  103.735722</td><
d8d0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
d8e0: 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54 49  VIA PIETRO ARETI
d8f0: 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  NO</td>..</tr>..
d900: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
d910: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
d920: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
d930: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
d940: 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
d950: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
d960: 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">2</td><td>Li
d970: 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
d980: 3d 22 72 69 67 68 74 22 3e 32 32 35 35 32 37 3c  ="right">225527<
d990: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
d9a0: 69 67 68 74 22 3e 31 38 32 30 30 30 3c 2f 74 64  ight">182000</td
d9b0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
d9c0: 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74  t">183882</td><t
d9d0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
d9e0: 35 31 2e 30 31 35 31 31 37 3c 2f 74 64 3e 3c 74  51.015117</td><t
d9f0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
da00: 49 41 20 4c 49 43 49 4f 20 4e 45 4e 43 45 54 54  IA LICIO NENCETT
da10: 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
da20: 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
da30: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
da40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
da50: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
da60: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
da70: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
da80: 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
da90: 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
daa0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
dab0: 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
dac0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
dad0: 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74  t">184030</td><t
dae0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
daf0: 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c  176.364755</td><
db00: 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 20 47  td>BLOB sz=304 G
db10: 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
db20: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
db30: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
db40: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
db50: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
db60: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
db70: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
db80: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
db90: 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
dba0: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
dbb0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31  gn="right">22401
dbc0: 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
dbd0: 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
dbe0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
dbf0: 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
dc00: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
dc10: 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e  ">94.812424</td>
dc20: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dc30: 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54  >VIA PIETRO ARET
dc40: 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  INO</td>..</tr>.
dc50: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
dc60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
dc70: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
dc80: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
dc90: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f  lign="right">1</
dca0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
dcb0: 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">2</td><td>L
dcc0: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
dcd0: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38 36 32  n="right">224862
dce0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
dcf0: 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74  right">182885</t
dd00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
dd10: 68 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c  ht">182043</td><
dd20: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
dd30: 3e 33 37 2e 30 39 35 32 38 37 3c 2f 74 64 3e 3c  >37.095287</td><
dd40: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
dd50: 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45 3c  VIA MARGARITONE<
dd60: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
dd70: 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
dd80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
dd90: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
dda0: 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
ddb0: 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c  ="right">1</td><
ddc0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
ddd0: 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >3</td><td>Link<
dde0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
ddf0: 69 67 68 74 22 3e 32 32 36 30 37 30 3c 2f 74 64  ight">226070</td
de00: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
de10: 74 22 3e 31 38 32 30 34 33 3c 2f 74 64 3e 3c 74  t">182043</td><t
de20: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
de30: 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61  184030</td><td a
de40: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 34 2e  lign="right">44.
de50: 34 35 37 30 34 34 3c 2f 74 64 3e 3c 74 64 3e 4e  457044</td><td>N
de60: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 50 49 41 5a  ULL</td><td>PIAZ
de70: 5a 41 20 53 41 4e 54 27 41 47 4f 53 54 49 4e 4f  ZA SANT'AGOSTINO
de80: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
de90: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
dea0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
deb0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
dec0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
ded0: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
dee0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
def0: 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74  ">0</td><td>Rout
df00: 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  e</td><td>NULL</
df10: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
df20: 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e  ght">178731</td>
df30: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
df40: 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64  ">178754</td><td
df50: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
df60: 32 34 2e 36 37 37 30 39 35 3c 2f 74 64 3e 3c 74  24.677095</td><t
df70: 64 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45  d>BLOB sz=240 GE
df80: 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e  OMETRY</td><td>N
df90: 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
dfa0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
dfb0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
dfc0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
dfd0: 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69 67 6e 3d  d>NULL<td align=
dfe0: 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
dff0: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e000: 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f  1</td><td>Link</
e010: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e020: 67 68 74 22 3e 32 31 39 30 34 35 3c 2f 74 64 3e  ght">219045</td>
e030: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e040: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
e050: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
e060: 37 38 37 33 32 3c 2f 74 64 3e 3c 74 64 20 61 6c  78732</td><td al
e070: 69 67 6e 3d 22 72 69 67 68 74 22 3e 37 36 2e 30  ign="right">76.0
e080: 32 31 30 30 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55  21007</td><td>NU
e090: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41  LL</td><td>VIA A
e0a0: 53 53 41 42 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  SSAB</td>..</tr>
e0b0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
e0c0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e0d0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e0e0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
e0f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
e100: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e110: 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e  ight">2</td><td>
e120: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
e130: 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35  gn="right">21905
e140: 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  8</td><td align=
e150: 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f  "right">178732</
e160: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e170: 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e  ght">178754</td>
e180: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e190: 22 3e 31 34 38 2e 36 35 36 30 38 39 3c 2f 74 64  ">148.656089</td
e1a0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e1b0: 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20  d>VIA FRANCESCO 
e1c0: 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  CRISPI</td>..</t
e1d0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
e1e0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e1f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e200: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e210: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e220: 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
e230: 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
e240: 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
e250: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
e260: 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
e270: 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  1</td><td align=
e280: 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
e290: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e2a0: 67 68 74 22 3e 32 36 30 2e 31 33 32 33 35 34 3c  ght">260.132354<
e2b0: 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
e2c0: 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  240 GEOMETRY</td
e2d0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
e2e0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
e2f0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
e300: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
e310: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e320: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
e330: 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">3</td><td ali
e340: 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
e350: 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
e360: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
e370: 32 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224014</td><td a
e380: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
e390: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
e3a0: 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35  n="right">182885
e3b0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e3c0: 72 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34  right">94.812424
e3d0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e3e0: 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f  d><td>VIA PIETRO
e3f0: 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c   ARETINO</td>..<
e400: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
e410: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e420: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e430: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e440: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e450: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">3</td><td alig
e460: 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
e470: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
e480: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
e490: 32 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  24446</td><td al
e4a0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38  ign="right">1828
e4b0: 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  85</td><td align
e4c0: 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c  ="right">178880<
e4d0: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e4e0: 69 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c  ight">69.727726<
e4f0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e500: 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49  ><td>VIA MARGARI
e510: 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  TONE</td>..</tr>
e520: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
e530: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e540: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e550: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
e560: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
e570: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e580: 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e  ight">3</td><td>
e590: 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
e5a0: 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 38 30  gn="right">22580
e5b0: 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
e5c0: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
e5d0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e5e0: 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e  ght">181999</td>
e5f0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e600: 22 3e 39 35 2e 35 39 32 32 30 34 3c 2f 74 64 3e  ">95.592204</td>
e610: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e620: 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20 43  >VIA FRANCESCO C
e630: 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  RISPI</td>..</tr
e640: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
e650: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e660: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e670: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
e680: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34   align="right">4
e690: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e6a0: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
e6b0: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
e6c0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
e6d0: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
e6e0: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
e6f0: 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
e700: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
e710: 68 74 22 3e 33 30 30 2e 39 31 32 32 30 38 3c 2f  ht">300.912208</
e720: 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32  td><td>BLOB sz=2
e730: 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  72 GEOMETRY</td>
e740: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
e750: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
e760: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
e770: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
e780: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e790: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
e7a0: 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">4</td><td alig
e7b0: 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
e7c0: 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
e7d0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
e7e0: 32 34 30 31 34 3c 2f 74 64 3e 3c 74 64 20 61 6c  24014</td><td al
e7f0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
e800: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
e810: 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38 35 3c  ="right">182885<
e820: 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
e830: 69 67 68 74 22 3e 39 34 2e 38 31 32 34 32 34 3c  ight">94.812424<
e840: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e850: 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f 20  ><td>VIA PIETRO 
e860: 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f  ARETINO</td>..</
e870: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
e880: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
e890: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
e8a0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
e8b0: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
e8c0: 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >4</td><td align
e8d0: 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c  ="right">2</td><
e8e0: 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
e8f0: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32  align="right">22
e900: 34 34 34 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  4446</td><td ali
e910: 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 38  gn="right">18288
e920: 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
e930: 22 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f  "right">178880</
e940: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e950: 67 68 74 22 3e 36 39 2e 37 32 37 37 32 36 3c 2f  ght">69.727726</
e960: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
e970: 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52 49 54  <td>VIA MARGARIT
e980: 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ONE</td>..</tr>.
e990: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
e9a0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
e9b0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
e9c0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
e9d0: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f  lign="right">4</
e9e0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
e9f0: 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">3</td><td>L
ea00: 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
ea10: 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 34 31 34  n="right">224414
ea20: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
ea30: 72 69 67 68 74 22 3e 31 37 38 38 38 30 3c 2f 74  right">178880</t
ea40: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
ea50: 68 74 22 3e 31 38 33 32 38 36 3c 2f 74 64 3e 3c  ht">183286</td><
ea60: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
ea70: 3e 31 33 36 2e 33 37 32 30 35 37 3c 2f 74 64 3e  >136.372057</td>
ea80: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
ea90: 3e 56 49 41 20 4d 41 52 47 41 52 49 54 4f 4e 45  >VIA MARGARITONE
eaa0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
eab0: 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
eac0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
ead0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
eae0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
eaf0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
eb00: 64 3e 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c  d><td>Unreachabl
eb10: 65 20 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64  e NodeTo</td><td
eb20: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
eb30: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37  ign="right">1787
eb40: 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  31</td><td align
eb50: 3d 22 72 69 67 68 74 22 3e 32 39 30 34 35 38 3c  ="right">290458<
eb60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
eb70: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
eb80: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
eb90: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
eba0: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
ebb0: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ebc0: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
ebd0: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
ebe0: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65  ULL</td><td>Unre
ebf0: 61 63 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f  achable NodeTo</
ec00: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
ec10: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
ec20: 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64  ">178731</td><td
ec30: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
ec40: 32 34 36 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55  24622</td><td>NU
ec50: 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
ec60: 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
ec70: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c  >..</tr>..</tabl
ec80: 65 3e 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20  e>..<br>..Let's 
ec90: 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20  quickly examine 
eca0: 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
ecb0: 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62  turned by the ab
ecc0: 6f 76 65 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73  ove <b>multi-des
ecd0: 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75  tinations</b> qu
ece0: 65 72 79 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ery...<ul>..<li>
ecf0: 74 68 65 20 6f 76 65 72 61 6c 6c 20 6c 61 79 6f  the overall layo
ed00: 75 74 20 69 73 20 61 6c 6d 6f 73 74 20 65 78 61  ut is almost exa
ed10: 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73  ctly the same as
ed20: 20 79 6f 75 27 76 65 20 61 6c 72 65 61 64 79 20   you've already 
ed30: 73 65 65 6e 20 69 6e 20 74 68 65 20 63 61 73 65  seen in the case
ed40: 20 6f 66 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 65   of <b>single-de
ed50: 73 74 69 6e 61 74 69 6f 6e 3c 2f 62 3e 20 71 75  stination</b> qu
ed60: 65 72 69 65 73 2c 20 62 75 74 20 69 6e 20 74 68  eries, but in th
ed70: 69 73 20 63 61 73 65 20 6d 6f 72 65 20 69 6e 64  is case more ind
ed80: 69 76 69 64 75 61 6c 20 74 72 61 76 65 6c 20 73  ividual travel s
ed90: 6f 6c 75 74 69 6f 6e 73 20 61 72 65 20 67 72 6f  olutions are gro
eda0: 75 70 65 64 20 61 6c 74 6f 67 65 74 68 65 72 2e  uped altogether.
edb0: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  </li>..<li>the <
edc0: 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62 3e 20  b>first row</b> 
edd0: 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  of the resultset
ede0: 20 69 73 20 73 6f 6d 65 77 61 79 20 65 78 63 65   is someway exce
edf0: 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 73 20  ptional, and is 
ee00: 74 68 65 20 75 6e 69 71 75 65 20 72 6f 77 20 6f  the unique row o
ee10: 66 20 74 68 65 20 72 65 73 75 6c 74 73 65 74 20  f the resultset 
ee20: 70 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e 4e 4f  presenting <b>NO
ee30: 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65  T NULL</b> value
ee40: 73 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c 67 6f  s in the <b>Algo
ee50: 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e 52 65  rithm</b>, <b>Re
ee60: 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e 4f 70  quest</b>, <b>Op
ee70: 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62  tions</b> and <b
ee80: 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20 63  >Delimiter</b> c
ee90: 6f 6c 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  olumns.</li>..<l
eea0: 69 3e 74 68 65 20 3c 62 3e 52 6f 75 74 65 49 64  i>the <b>RouteId
eeb0: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 20 69 73 20 69  </b> column is i
eec0: 6e 74 65 6e 64 65 64 20 74 6f 20 67 72 6f 75 70  ntended to group
eed0: 20 74 6f 67 65 74 68 65 72 20 61 6c 6c 20 72 6f   together all ro
eee0: 77 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20  ws belonging to 
eef0: 73 61 6d 65 20 74 72 61 76 65 6c 20 73 6f 6c 75  same travel solu
ef00: 74 69 6f 6e 20 28 3c 69 3e 61 6b 61 3c 2f 69 3e  tion (<i>aka</i>
ef10: 20 3c 62 3e 52 6f 75 74 65 3c 2f 62 3e 29 2e 3c   <b>Route</b>).<
ef20: 62 72 3e 0d 0a 52 6f 75 74 65 73 20 61 72 65 20  br>..Routes are 
ef30: 70 72 6f 67 72 65 73 73 69 76 65 6c 79 20 6e 75  progressively nu
ef40: 6d 62 65 72 65 64 20 61 6e 64 20 61 72 65 20 6f  mbered and are o
ef50: 72 64 65 72 65 64 20 61 63 63 6f 72 64 69 6e 67  rdered according
ef60: 6c 79 20 74 6f 20 74 68 65 69 72 20 3c 62 3e 74  ly to their <b>t
ef70: 6f 74 61 6c 20 63 6f 73 74 3c 2f 62 3e 2e 3c 2f  otal cost</b>.</
ef80: 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e  li>..<li>the <b>
ef90: 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20 63 6f 6c  RouteRow</b> col
efa0: 75 6d 6e 20 68 61 73 20 74 68 65 20 73 61 6d 65  umn has the same
efb0: 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20   interpretation 
efc0: 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64 65 73  as in single-des
efd0: 74 69 6e 61 74 69 6f 6e 20 72 65 73 75 6c 74 73  tination results
efe0: 65 74 73 2c 20 61 6e 64 20 69 73 20 69 6e 74 65  ets, and is inte
eff0: 6e 64 65 64 20 74 6f 20 70 72 6f 67 72 65 73 73  nded to progress
f000: 69 76 65 6c 79 20 6f 72 64 65 72 20 69 6e 20 74  ively order in t
f010: 68 65 20 63 6f 72 72 65 63 74 20 73 65 71 75 65  he correct seque
f020: 6e 63 65 20 61 6c 6c 20 4c 69 6e 6b 73 20 63 6f  nce all Links co
f030: 6e 6e 65 63 74 69 6e 67 20 74 68 65 20 4f 72 69  nnecting the Ori
f040: 67 69 6e 20 61 6e 64 20 74 68 65 20 44 65 73 74  gin and the Dest
f050: 69 6e 61 74 69 6f 6e 20 6f 66 20 65 61 63 68 20  ination of each 
f060: 52 6f 75 74 65 2e 3c 62 72 3e 0d 0a 3c 62 3e 52  Route.<br>..<b>R
f070: 6f 75 74 65 52 6f 77 3d 30 3c 2f 62 3e 20 61 6c  outeRow=0</b> al
f080: 77 61 79 73 20 69 64 65 6e 74 69 66 69 65 73 20  ways identifies 
f090: 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 20 6f  the header row o
f0a0: 66 20 65 61 63 68 20 74 72 61 76 65 6c 20 73 6f  f each travel so
f0b0: 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 2f  lution.</li>..</
f0c0: 75 6c 3e 0d 0a 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f  ul>..<br>..<u>No
f0d0: 74 69 63 65 3c 2f 75 3e 3a 20 74 68 65 20 6c 61  tice</u>: the la
f0e0: 73 74 20 74 77 6f 20 72 6f 77 73 20 69 6e 20 74  st two rows in t
f0f0: 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 70  he resultset rep
f100: 6f 72 74 73 20 3c 62 3e 55 6e 72 65 61 63 68 61  orts <b>Unreacha
f110: 62 6c 65 20 4e 6f 64 65 54 6f 09 3c 2f 62 3e 20  ble NodeTo.</b> 
f120: 69 6e 20 74 68 65 20 3c 62 3e 52 6f 6c 65 3c 2f  in the <b>Role</
f130: 62 3e 20 63 6f 6c 75 6d 6e 2c 20 74 68 75 73 20  b> column, thus 
f140: 69 6d 70 6c 79 69 6e 67 20 61 20 3c 62 3e 66 6f  implying a <b>fo
f150: 72 62 69 64 64 65 6e 20 63 6f 6e 6e 65 63 74 69  rbidden connecti
f160: 6f 6e 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 54 68 69  on</b>.<br>..Thi
f170: 73 20 77 61 73 20 70 75 72 70 6f 73 65 6c 79 20  s was purposely 
f180: 69 6e 74 65 6e 64 65 64 3a 20 4e 6f 64 65 73 20  intended: Nodes 
f190: 3c 62 3e 32 39 30 34 35 38 3c 2f 62 3e 20 61 6e  <b>290458</b> an
f1a0: 64 20 3c 62 3e 31 32 34 36 32 32 3c 2f 62 3e 20  d <b>124622</b> 
f1b0: 61 72 65 20 6c 6f 63 61 74 65 64 20 6f 6e 20 45  are located on E
f1c0: 6c 62 61 20 61 6e 64 20 47 69 67 6c 69 6f 20 69  lba and Giglio i
f1d0: 73 6c 61 6e 64 73 2e 20 54 68 65 20 75 6e 64 65  slands. The unde
f1e0: 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 20  rlaying Network 
f1f0: 69 73 20 62 61 73 65 64 20 6f 6e 20 3c 62 3e 49  is based on <b>I
f200: 74 65 72 2e 4e 65 74 3c 2f 62 3e 20 74 68 61 74  ter.Net</b> that
f210: 20 64 6f 6e 27 74 20 73 75 70 70 6f 72 74 73 20   don't supports 
f220: 66 65 72 72 79 20 63 6f 6e 6e 65 63 74 69 6f 6e  ferry connection
f230: 73 2c 20 73 6f 20 61 6e 79 20 74 72 61 76 65 6c  s, so any travel
f240: 20 73 6f 6c 75 74 69 6f 6e 20 62 65 74 77 65 65   solution betwee
f250: 6e 20 74 68 65 20 69 73 6c 61 6e 64 73 20 61 6e  n the islands an
f260: 64 20 74 68 65 20 6d 61 69 6e 6c 61 6e 64 20 77  d the mainland w
f270: 69 6c 6c 20 61 6c 77 61 79 73 20 66 61 69 6c 2e  ill always fail.
f280: 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a  ..<br><br><br>..
f290: 41 6c 73 6f 20 3c 62 3e 6d 75 6c 74 69 2d 64 65  Also <b>multi-de
f2a0: 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71  stinations</b> q
f2b0: 75 65 72 69 65 73 20 63 61 6e 20 62 65 20 63 75  ueries can be cu
f2c0: 73 74 6f 6d 69 7a 65 64 2c 20 62 75 74 20 74 68  stomized, but th
f2d0: 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20  e configuration 
f2e0: 72 75 6c 65 73 20 73 6c 69 67 68 74 6c 79 20 64  rules slightly d
f2f0: 69 66 66 65 72 20 66 72 6f 6d 20 77 68 61 74 20  iffer from what 
f300: 79 6f 75 20 68 61 76 65 20 61 6c 72 65 61 64 79  you have already
f310: 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63 61 73   seen in the cas
f320: 65 20 6f 66 20 73 69 6e 67 6c 65 2d 64 65 73 74  e of single-dest
f330: 69 6e 61 74 69 6f 6e 2e 0d 0a 3c 75 6c 3e 0d 0a  ination...<ul>..
f340: 3c 6c 69 3e 3c 62 3e 41 6c 67 6f 72 69 74 68 6d  <li><b>Algorithm
f350: 3c 2f 62 3e 3a 20 6f 6e 6c 79 20 3c 62 3e 44 69  </b>: only <b>Di
f360: 6a 6b 73 74 72 61 3c 2f 62 3e 20 69 73 20 73 75  jkstra</b> is su
f370: 70 70 6f 72 74 65 64 20 62 79 20 6d 75 6c 74 69  pported by multi
f380: 2d 64 65 73 74 69 6e 61 74 69 6f 6e 2c 20 61 6e  -destination, an
f390: 64 20 77 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63  d will be implic
f3a0: 69 74 6c 79 20 61 73 73 75 6d 65 64 20 65 76 65  itly assumed eve
f3b0: 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72  n when the alter
f3c0: 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e  native <b>A*</b>
f3d0: 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75   algorithm is cu
f3e0: 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64  rrently selected
f3f0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4f  .</li>..<li><b>O
f400: 70 74 69 6f 6e 73 3c 2f 62 3e 3a 20 74 68 65 20  ptions</b>: the 
f410: 75 73 75 61 6c 20 3c 62 3e 46 55 4c 4c 3c 2f 62  usual <b>FULL</b
f420: 3e 2c 20 3c 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e  >, <b>SIMPLE</b>
f430: 2c 20 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62  , <b>NO LINKS</b
f440: 3e 20 61 6e 64 20 3c 62 3e 4e 4f 20 47 45 4f 4d  > and <b>NO GEOM
f450: 45 54 52 49 45 53 3c 2f 62 3e 20 61 72 65 20 73  ETRIES</b> are s
f460: 75 70 70 6f 72 74 65 64 20 61 6e 64 20 77 69 6c  upported and wil
f470: 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20  l have the same 
f480: 65 66 66 65 63 74 20 61 73 20 69 6e 20 73 69 6e  effect as in sin
f490: 67 6c 65 2d 64 65 73 74 69 6e 61 74 69 6f 6e 20  gle-destination 
f4a0: 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c  queries.</li>..<
f4b0: 2f 75 6c 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  /ul>..<verbatim>
f4c0: 0d 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20  ..UPDATE byfoot 
f4d0: 53 45 54 20 4f 70 74 69 6f 6e 73 20 3d 20 27 53  SET Options = 'S
f4e0: 49 4d 50 4c 45 27 3b 0d 0a 0d 0a 53 45 4c 45 43  IMPLE';....SELEC
f4f0: 54 20 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71  T Algorithm, Req
f500: 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44  uest, Options, D
f510: 65 6c 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49  elimiter, RouteI
f520: 64 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c  d, RouteRow, Rol
f530: 65 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f  e, LinkRowid, No
f540: 64 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20  deFrom, NodeTo, 
f550: 43 6f 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20  Cost, Geometry, 
f560: 4e 61 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f  Name..FROM byfoo
f570: 74 0d 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f  t..WHERE NodeFro
f580: 6d 20 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e  m = 178731 AND N
f590: 6f 64 65 54 6f 20 3d 20 27 31 38 33 32 38 36 2c  odeTo = '183286,
f5a0: 32 39 30 34 35 38 2c 31 38 31 39 39 39 2c 31 38  290458,181999,18
f5b0: 34 30 33 30 2c 31 32 34 36 32 32 2c 31 38 33 38  4030,124622,1838
f5c0: 38 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76  82,178754';..</v
f5d0: 65 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f  erbatim>..The fo
f5e0: 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68  llowing table sh
f5f0: 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65  ows the resultse
f600: 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  t returned by th
f610: 65 20 73 61 6d 65 20 6d 75 6c 74 69 2d 64 65 73  e same multi-des
f620: 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 79 20 75  tination query u
f630: 73 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69  sed in the previ
f640: 6f 75 73 20 65 78 61 6d 70 6c 65 20 61 66 74 65  ous example afte
f650: 72 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 3c  r enabling the <
f660: 62 3e 53 49 4d 50 4c 45 3c 2f 62 3e 20 6f 70 74  b>SIMPLE</b> opt
f670: 69 6f 6e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ion...<br><br>..
f680: 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
f690: 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
f6a0: 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
f6b0: 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
f6c0: 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
f6d0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f6e0: 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74  Algorithm</th><t
f6f0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
f700: 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e  a0">Request</th>
f710: 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
f720: 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74  d0a0">Options</t
f730: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
f740: 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69 74 65  d0d0a0">Delimite
f750: 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  r</th><th bgcolo
f760: 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74  r="#d0d0a0">Rout
f770: 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  eId</th><th bgco
f780: 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
f790: 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68 20 62  uteRow</th><th b
f7a0: 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
f7b0: 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20 62 67  >Role</th><th bg
f7c0: 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
f7d0: 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e 3c 74  LinkRowid</th><t
f7e0: 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
f7f0: 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68  a0">NodeFrom</th
f800: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
f810: 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74  0d0a0">NodeTo</t
f820: 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
f830: 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68  d0d0a0">Cost</th
f840: 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
f850: 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c  0d0a0">Geometry<
f860: 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
f870: 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f  "#d0d0a0">Name</
f880: 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  th></tr>..<tr>..
f890: 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64  <td>Dijkstra</td
f8a0: 3e 3c 74 64 3e 53 68 6f 72 74 65 73 74 20 50 61  ><td>Shortest Pa
f8b0: 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c 6c 3c  th</td><td>Full<
f8c0: 2f 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64  /td><td>, &#91;d
f8d0: 65 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39  ec=44, hex=2c&#9
f8e0: 33 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  3;</td><td align
f8f0: 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
f900: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
f910: 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
f920: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
f930: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
f940: 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c  ht">178731</td><
f950: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
f960: 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20  >183882</td><td 
f970: 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35  align="right">15
f980: 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64  4.750839</td><td
f990: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
f9a0: 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
f9b0: 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
f9c0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
f9d0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
f9e0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
f9f0: 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74  ign="right">1</t
fa00: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fa10: 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f  ht">0</td><td>Ro
fa20: 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ute</td><td>NULL
fa30: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fa40: 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
fa50: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fa60: 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c  ht">184030</td><
fa70: 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
fa80: 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e  >176.364755</td>
fa90: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
faa0: 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  >NULL</td>..</tr
fab0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
fac0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fad0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fae0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
faf0: 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
fb00: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fb10: 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
fb20: 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
fb30: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
fb40: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
fb50: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fb60: 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74  right">178754</t
fb70: 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
fb80: 68 74 22 3e 32 32 34 2e 36 37 37 30 39 35 3c 2f  ht">224.677095</
fb90: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fba0: 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
fbb0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
fbc0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fbd0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fbe0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fbf0: 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
fc00: 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">3</td><td alig
fc10: 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e  n="right">0</td>
fc20: 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74  <td>Route</td><t
fc30: 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
fc40: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
fc50: 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  731</td><td alig
fc60: 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
fc70: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fc80: 72 69 67 68 74 22 3e 32 36 30 2e 31 33 32 33 35  right">260.13235
fc90: 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  4</td><td>NULL</
fca0: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fcb0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
fcc0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fcd0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fce0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fcf0: 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
fd00: 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61  ght">4</td><td a
fd10: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
fd20: 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
fd30: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
fd40: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
fd50: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
fd60: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
fd70: 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
fd80: 6e 3d 22 72 69 67 68 74 22 3e 33 30 30 2e 39 31  n="right">300.91
fd90: 32 32 30 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  2208</td><td>NUL
fda0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fdb0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
fdc0: 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
fdd0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fde0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fdf0: 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
fe00: 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
fe10: 3c 74 64 3e 55 6e 72 65 61 63 68 61 62 6c 65 20  <td>Unreachable 
fe20: 4e 6f 64 65 54 6f 3c 2f 74 64 3e 3c 74 64 3e 4e  NodeTo</td><td>N
fe30: 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
fe40: 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
fe50: 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
fe60: 72 69 67 68 74 22 3e 32 39 30 34 35 38 3c 2f 74  right">290458</t
fe70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fe80: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fe90: 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
fea0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
feb0: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
fec0: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
fed0: 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
fee0: 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
fef0: 4c 3c 2f 74 64 3e 3c 74 64 3e 55 6e 72 65 61 63  L</td><td>Unreac
ff00: 68 61 62 6c 65 20 4e 6f 64 65 54 6f 3c 2f 74 64  hable NodeTo</td
ff10: 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
ff20: 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
ff30: 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20 61  178731</td><td a
ff40: 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 32 34  lign="right">124
ff50: 36 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  622</td><td>NULL
ff60: 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
ff70: 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
ff80: 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
ff90: 0d 0a 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20  ..<br>..The map 
ffa0: 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c  below graphicall
ffb0: 79 20 73 68 6f 77 73 20 74 68 65 20 70 72 65 76  y shows the prev
ffc0: 69 6f 75 73 20 3c 62 3e 6d 75 6c 74 69 2d 64 65  ious <b>multi-de
ffd0: 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71  stinations</b> q
ffe0: 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62 72  ueries...<br><br
fff0: 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74 74  >..<img src="htt
10000 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69  ps://www.gaia-gi
10010 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72  s.it/gaia-sins/r
10020 6f 75 74 69 6e 67 2d 66 69 67 73 2f 72 6f 75 74  outing-figs/rout
10030 69 6e 67 33 2e 6a 70 67 22 20 61 6c 74 3d 22 66  ing3.jpg" alt="f
10040 69 67 33 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  ig3">..<ul>..<li
10050 3e 52 65 64 20 73 74 61 72 3a 20 74 68 65 20 4f  >Red star: the O
10060 72 69 67 69 6e 20 4e 6f 64 65 2e 3c 2f 6c 69 3e  rigin Node.</li>
10070 0d 0a 3c 6c 69 3e 47 72 65 65 6e 20 64 6f 74 73  ..<li>Green dots
10080 3a 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f  : the Destinatio
10090 6e 20 4e 6f 64 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c  n Nodes.</li>..<
100a0 6c 69 3e 59 65 6c 6c 6f 77 20 6c 69 6e 65 73 3a  li>Yellow lines:
100b0 20 61 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 20   all individual 
100c0 74 72 61 76 65 6c 20 73 6f 6c 75 74 69 6f 6e 73  travel solutions
100d0 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
100e0 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f  br>..<table bgco
100f0 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63 65  lor="#ffb060" ce
10100 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63  llspacing="10" c
10110 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c  ellpadding="6"><
10120 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 44 61 6e  tr><td>..<h3>Dan
10130 67 65 72 6f 75 73 20 70 69 74 66 61 6c 6c 73 20  gerous pitfalls 
10140 72 65 6c 61 74 65 64 20 74 6f 20 6d 75 6c 74 69  related to multi
10150 70 6c 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20  ple destination 
10160 6c 69 73 74 73 3c 2f 68 33 3e 0d 0a 53 51 4c 20  lists</h3>..SQL 
10170 73 79 6e 74 61 78 20 64 69 72 65 63 74 6c 79 20  syntax directly 
10180 61 6c 6c 6f 77 73 20 74 6f 20 73 70 65 63 69 66  allows to specif
10190 79 20 6c 69 73 74 73 20 6f 66 20 20 6d 75 6c 74  y lists of  mult
101a0 69 70 6c 65 20 76 61 6c 75 65 73 2c 20 73 6f 20  iple values, so 
101b0 6d 61 79 20 62 65 20 79 6f 75 20 61 72 65 20 6e  may be you are n
101c0 6f 77 20 77 6f 6e 64 65 72 69 6e 67 20 61 62 6f  ow wondering abo
101d0 75 74 20 77 72 69 74 69 6e 67 20 74 68 65 20 3c  ut writing the <
101e0 62 3e 6d 75 6c 74 69 70 6c 65 20 64 65 73 74 69  b>multiple desti
101f0 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 71 75 65 72  nations</b> quer
10200 79 20 74 65 73 74 65 64 20 69 6e 20 74 68 65 20  y tested in the 
10210 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65  previous example
10220 73 20 74 68 69 73 20 77 61 79 3a 0d 0a 3c 76 65  s this way:..<ve
10230 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20  rbatim>..SELECT 
10240 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65  Algorithm, Reque
10250 73 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c  st, Options, Del
10260 69 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c  imiter, RouteId,
10270 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c   RouteRow, Role,
10280 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65   LinkRowid, Node
10290 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f  From, NodeTo, Co
102a0 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
102b0 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
102c0 0a 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20  .WHERE NodeFrom 
102d0 3d 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64  = 178731 AND Nod
102e0 65 54 6f 20 49 4e 20 28 31 38 33 32 38 36 2c 20  eTo IN (183286, 
102f0 32 39 30 34 35 38 2c 20 31 38 31 39 39 39 2c 20  290458, 181999, 
10300 31 38 34 30 33 30 2c 20 31 32 34 36 32 32 2c 20  184030, 124622, 
10310 31 38 33 38 38 32 2c 20 31 37 38 37 35 34 29 3b  183882, 178754);
10320 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 54  ..</verbatim>..T
10330 68 65 72 65 20 69 73 20 61 20 76 65 72 79 20 67  here is a very g
10340 6f 6f 64 20 72 65 61 73 6f 6e 20 64 69 73 63 6f  ood reason disco
10350 75 72 61 67 69 6e 67 20 66 72 6f 6d 20 64 6f 69  uraging from doi
10360 6e 67 20 73 75 63 68 20 61 20 74 68 69 6e 67 2c  ng such a thing,
10370 20 6c 65 74 27 73 20 73 65 65 20 77 68 79 2e 3c   let's see why.<
10380 62 72 3e 0d 0a 3c 62 3e 53 51 4c 69 74 65 3c 2f  br>..<b>SQLite</
10390 62 3e 20 77 69 6c 6c 20 70 72 6f 63 65 73 73 20  b> will process 
103a0 61 20 72 65 71 75 65 73 74 20 77 72 69 74 74 65  a request writte
103b0 6e 20 74 68 69 73 20 77 61 79 20 62 79 20 72 65  n this way by re
103c0 70 65 61 74 65 64 6c 79 20 63 61 6c 6c 69 6e 67  peatedly calling
103d0 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
103e0 70 61 73 73 69 6e 67 20 65 61 63 68 20 74 69 6d  passing each tim
103f0 65 20 61 20 73 69 6e 67 6c 65 20 44 65 73 74 69  e a single Desti
10400 6e 61 74 69 6f 6e 3b 20 61 6e 64 20 63 6f 6e 73  nation; and cons
10410 65 71 75 65 6e 74 6c 79 20 3c 62 3e 56 69 72 74  equently <b>Virt
10420 75 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 77  ualRouting</b> w
10430 69 6c 6c 20 6e 65 76 65 72 20 72 65 63 65 69 76  ill never receiv
10440 65 20 74 68 65 20 63 72 69 74 69 63 61 6c 20 69  e the critical i
10450 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61 74 20  nformation that 
10460 61 20 73 69 6e 67 6c 65 20 6d 6f 6e 6f 6c 69 74  a single monolit
10470 68 69 63 20 72 65 71 75 65 73 74 20 77 61 73 20  hic request was 
10480 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 65  intended to be e
10490 78 65 63 75 74 65 64 20 69 6e 20 61 20 73 69 6e  xecuted in a sin
104a0 67 6c 65 20 73 68 6f 74 2e 20 53 6f 20 74 68 65  gle shot. So the
104b0 20 72 65 71 75 65 73 74 20 63 6f 6e 74 65 78 74   request context
104c0 20 77 69 6c 6c 20 62 65 20 65 61 73 69 6c 79 20   will be easily 
104d0 6d 69 73 69 6e 74 65 72 70 72 65 74 65 64 2c 20  misinterpreted, 
104e0 61 6e 64 20 61 6e 79 20 65 78 70 65 63 74 65 64  and any expected
104f0 20 73 70 65 65 64 20 62 65 6e 65 66 69 74 20 77   speed benefit w
10500 69 6c 6c 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c  ill be completel
10510 79 20 66 72 75 73 74 72 61 74 65 64 2e 0d 0a 3c  y frustrated...<
10520 68 33 3e 42 65 77 61 72 65 3c 2f 68 33 3e 0d 0a  h3>Beware</h3>..
10530 3c 62 3e 4e 65 76 65 72 20 65 76 65 72 3c 2f 62  <b>Never ever</b
10540 3e 20 61 74 74 65 6d 70 74 20 74 6f 20 64 65 66  > attempt to def
10550 69 6e 65 20 61 20 6c 69 73 74 20 6f 66 20 6d 75  ine a list of mu
10560 6c 74 69 70 6c 65 20 64 65 73 74 69 6e 61 74 69  ltiple destinati
10570 6f 6e 73 20 75 73 69 6e 67 20 74 68 65 20 73 74  ons using the st
10580 61 6e 64 61 72 64 20 53 51 4c 20 73 79 6e 74 61  andard SQL synta
10590 78 20 3c 62 3e 3c 69 3e 57 48 45 52 45 20 4e 6f  x <b><i>WHERE No
105a0 64 65 54 6f 20 49 4e 20 28 2e 2e 2e 2e 2e 2e 29  deTo IN (......)
105b0 3c 2f 69 3e 3c 2f 62 3e 2c 20 62 65 63 61 75 73  </i></b>, becaus
105c0 65 20 74 68 69 73 20 77 69 6c 6c 20 63 65 72 74  e this will cert
105d0 61 69 6e 6c 79 20 63 61 75 73 65 20 6d 61 6e 79  ainly cause many
105e0 20 75 6e 65 78 70 65 63 74 65 64 20 74 72 6f 75   unexpected trou
105f0 62 6c 65 73 2e 3c 62 72 3e 0d 0a 42 61 64 6c 79  bles.<br>..Badly
10600 20 66 6f 72 6d 61 74 74 65 64 20 72 65 73 75 6c   formatted resul
10610 74 73 65 74 73 20 77 69 6c 6c 20 62 65 20 74 68  tsets will be th
10620 65 6e 20 72 65 74 75 72 6e 65 64 2c 20 6d 61 79  en returned, may
10630 20 62 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77   be containing w
10640 72 6f 6e 67 20 72 65 73 75 6c 74 73 2e 20 3c 62  rong results. <b
10650 3e 59 6f 75 20 61 72 65 20 77 61 72 6e 65 64 3c  >You are warned<
10660 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f  /b>.<br><br>..</
10670 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e  td></tr></table>
10680 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  ..<br>..<table b
10690 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22  gcolor="#c0ffc0"
106a0 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30   cellspacing="10
106b0 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36  " cellpadding="6
106c0 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e  "><tr><td>..<h3>
106d0 48 6f 77 20 74 6f 20 63 6f 72 72 65 63 74 6c 79  How to correctly
106e0 20 66 6f 72 6d 61 74 20 6d 75 6c 74 69 70 6c 65   format multiple
106f0 20 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69   destinations li
10700 73 74 73 3c 2f 68 33 3e 0d 0a 56 69 72 74 75 61  sts</h3>..Virtua
10710 6c 52 6f 75 74 69 6e 67 20 61 6c 77 61 79 73 20  lRouting always 
10720 65 78 70 65 63 74 73 20 74 6f 20 72 65 63 65 69  expects to recei
10730 76 65 20 61 20 3c 62 3e 6d 75 6c 74 69 2d 64 65  ve a <b>multi-de
10740 73 74 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20 6c  stinations</b> l
10750 69 73 74 20 61 73 20 61 20 3c 62 3e 54 45 58 54  ist as a <b>TEXT
10760 3c 2f 62 3e 20 73 74 72 69 6e 67 20 63 6f 6e 74  </b> string cont
10770 61 69 6e 69 6e 67 20 74 69 67 68 74 6c 79 20 70  aining tightly p
10780 61 63 6b 65 64 20 76 61 6c 75 65 73 20 73 65 70  acked values sep
10790 61 72 61 74 65 64 20 62 79 20 61 20 63 6f 6e 76  arated by a conv
107a0 65 6e 74 69 6f 6e 61 6c 20 3c 62 3e 64 65 6c 69  entional <b>deli
107b0 6d 69 74 65 72 3c 2f 62 3e 20 28 75 73 75 61 6c  miter</b> (usual
107c0 6c 79 20 72 65 70 72 65 73 65 6e 74 65 64 20 62  ly represented b
107d0 79 20 61 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e  y a <b>comma</b>
107e0 29 2e 3c 62 72 3e 0d 0a 45 78 61 6d 70 6c 65 73  ).<br>..Examples
107f0 20 6f 66 20 3c 62 3e 77 65 6c 6c 20 66 6f 72 6d   of <b>well form
10800 61 74 74 65 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d  atted</b> multi-
10810 64 65 73 74 69 6e 61 74 69 6f 6e 73 20 6c 69 73  destinations lis
10820 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  ts:..<verbatim>.
10830 0a 27 31 2c 32 2c 33 2c 34 2c 35 2c 31 30 2c 31  .'1,2,3,4,5,10,1
10840 30 30 2c 31 30 30 30 2c 31 30 30 30 30 30 27 20  00,1000,100000' 
10850 20 20 2d 2d 20 69 6e 74 65 67 65 72 20 4e 6f 64    -- integer Nod
10860 65 20 49 44 73 0d 0a 0d 0a 27 41 31 30 30 42 2c  e IDs....'A100B,
10870 41 31 30 30 46 2c 42 32 35 30 5a 2c 43 30 31 30  A100F,B250Z,C010
10880 4d 2c 5a 39 39 39 41 27 20 20 2d 2d 20 61 6c 70  M,Z999A'  -- alp
10890 68 61 6e 75 6d 65 72 69 63 20 4e 6f 64 65 20 43  hanumeric Node C
108a0 6f 64 65 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  odes..</verbatim
108b0 3e 0d 0a 45 78 61 6d 70 6c 65 73 20 6f 66 20 3c  >..Examples of <
108c0 62 3e 62 61 64 6c 79 20 66 6f 72 6d 61 74 74 65  b>badly formatte
108d0 64 3c 2f 62 3e 20 6d 75 6c 74 69 2d 64 65 73 74  d</b> multi-dest
108e0 69 6e 61 74 69 6f 6e 73 20 6c 69 73 74 73 3a 0d  inations lists:.
108f0 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 27 20 20  .<verbatim>..'  
10900 31 2c 20 32 2c 20 33 2c 20 34 20 2c 20 35 20 2c  1, 2, 3, 4 , 5 ,
10910 20 31 30 2c 20 31 30 30 2c 20 31 30 30 30 2c 20   10, 100, 1000, 
10920 31 30 30 30 30 30 20 20 27 20 20 20 2d 2d 20 69  100000  '   -- i
10930 6e 74 65 67 65 72 20 4e 6f 64 65 20 49 44 73 0d  nteger Node IDs.
10940 0a 0d 0a 27 20 20 41 31 30 30 42 2c 20 41 31 30  ...'  A100B, A10
10950 30 46 20 2c 20 42 32 35 30 5a 20 2c 20 43 30 31  0F , B250Z , C01
10960 30 4d 2c 20 5a 39 39 39 41 20 20 27 20 20 20 20  0M, Z999A  '    
10970 20 20 2d 2d 20 61 6c 70 68 61 6e 75 6d 65 72 69    -- alphanumeri
10980 63 20 4e 6f 64 65 20 43 6f 64 65 73 0d 0a 3c 2f  c Node Codes..</
10990 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 75 3e 4e 6f  verbatim>..<u>No
109a0 74 65 3c 2f 75 3e 3a 20 61 6c 6c 20 77 68 69 74  te</u>: all whit
109b0 65 73 70 61 63 65 73 20 69 6d 6d 65 64 69 61 74  espaces immediat
109c0 65 6c 79 20 70 72 65 63 65 64 69 6e 67 20 6f 72  ely preceding or
109d0 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 3c   following the <
109e0 62 3e 64 65 6c 69 6d 69 74 65 72 3c 2f 62 3e 20  b>delimiter</b> 
109f0 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65 72  will be consider
10a00 65 64 20 74 6f 20 62 65 20 69 6e 74 65 67 72 61  ed to be integra
10a10 6c 20 70 61 72 74 20 6f 66 20 74 68 65 20 76 61  l part of the va
10a20 6c 75 65 20 69 74 73 65 6c 66 2e 3c 62 72 3e 0d  lue itself.<br>.
10a30 0a 54 68 69 73 20 77 69 6c 6c 20 68 61 76 65 20  .This will have 
10a40 6e 6f 20 61 64 76 65 72 73 65 20 63 6f 6e 73 65  no adverse conse
10a50 71 75 65 6e 63 65 73 20 69 6e 20 74 68 65 20 63  quences in the c
10a60 61 73 65 20 6f 66 20 69 6e 74 65 67 65 72 20 76  ase of integer v
10a70 61 6c 75 65 73 2c 20 62 75 74 20 63 61 6e 20 65  alues, but can e
10a80 61 73 69 6c 79 20 68 61 76 65 20 63 61 74 61 73  asily have catas
10a90 74 72 6f 70 68 69 63 20 65 66 66 65 63 74 73 20  trophic effects 
10aa0 6f 6e 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20  on alphanumeric 
10ab0 76 61 6c 75 65 73 2e 0d 0a 3c 68 33 3e 44 65 66  values...<h3>Def
10ac0 69 6e 69 6e 67 20 61 20 63 75 73 74 6f 6d 20 64  ining a custom d
10ad0 65 6c 69 6d 69 74 65 72 3c 2f 68 33 3e 0d 0a 53  elimiter</h3>..S
10ae0 6f 6d 65 74 69 6d 65 73 20 69 74 20 63 6f 75 6c  ometimes it coul
10af0 64 20 62 65 20 75 73 65 66 75 6c 20 73 65 74 74  d be useful sett
10b00 69 6e 67 20 75 70 20 61 20 64 65 6c 69 6d 69 74  ing up a delimit
10b10 65 72 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f  er different fro
10b20 6d 20 3c 62 3e 63 6f 6d 6d 61 3c 2f 62 3e 2e 0d  m <b>comma</b>..
10b30 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44  .<verbatim>..UPD
10b40 41 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 44  ATE byfoot SET D
10b50 65 6c 69 6d 69 74 65 72 20 3d 20 27 2a 27 3b 0d  elimiter = '*';.
10b60 0a 0d 0a 53 45 4c 45 43 54 20 44 65 6c 69 6d 69  ...SELECT Delimi
10b70 74 65 72 20 46 52 4f 4d 20 62 79 66 6f 6f 74 3b  ter FROM byfoot;
10b80 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
10b90 2d 2d 2d 2d 0d 0a 2a 20 5b 64 65 63 3d 34 32 2c  ----..* [dec=42,
10ba0 20 68 65 78 3d 32 61 5d 0d 0a 3c 2f 76 65 72 62   hex=2a]..</verb
10bb0 61 74 69 6d 3e 20 0d 0a 59 6f 75 20 73 69 6d 70  atim> ..You simp
10bc0 6c 79 20 68 61 76 65 20 74 6f 20 65 78 65 63 75  ly have to execu
10bd0 74 65 20 61 6e 20 3c 62 3e 55 50 44 41 54 45 3c  te an <b>UPDATE<
10be0 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 20 62 79  /b> statement by
10bf0 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20   specifying the 
10c00 6e 65 77 20 64 65 6c 69 6d 69 74 65 72 20 76 61  new delimiter va
10c10 6c 75 65 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f  lue.<br><br>..</
10c20 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e  td></tr></table>
10c30 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e  ..<br><br>..<hr>
10c40 3c 62 72 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d  <br>..<h1><a nam
10c50 65 3d 22 69 73 6f 63 68 72 6f 6e 65 22 3e 36 20  e="isochrone">6 
10c60 2d 20 53 6f 6c 76 69 6e 67 20 49 73 6f 63 68 72  - Solving Isochr
10c70 6f 6e 65 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e  one problems</a>
10c80 3c 2f 68 31 3e 0d 0a 3c 61 20 68 72 65 66 3d 22  </h1>..<a href="
10c90 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70  https://en.wikip
10ca0 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 49 73  edia.org/wiki/Is
10cb0 6f 63 68 72 6f 6e 65 5f 6d 61 70 22 3e 49 73 6f  ochrone_map">Iso
10cc0 63 68 72 6f 6e 65 73 3c 2f 61 3e 20 61 72 65 20  chrones</a> are 
10cd0 61 72 65 61 73 20 28 6f 72 20 63 75 72 76 65 73  areas (or curves
10ce0 29 20 63 6f 6e 6e 65 63 74 69 6e 67 20 70 6f 69  ) connecting poi
10cf0 6e 74 73 20 61 74 20 77 68 69 63 68 20 73 6f 6d  nts at which som
10d00 65 74 68 69 6e 67 20 6f 63 63 75 72 73 20 6f 72  ething occurs or
10d10 20 61 72 72 69 76 65 73 20 61 74 20 74 68 65 20   arrives at the 
10d20 73 61 6d 65 20 74 69 6d 65 2e 3c 62 72 3e 0d 0a  same time.<br>..
10d30 49 73 6f 63 68 72 6f 6e 65 73 20 61 72 65 20 75  Isochrones are u
10d40 73 75 61 6c 6c 79 20 72 65 6c 61 74 65 64 20 74  sually related t
10d50 6f 20 4e 65 74 77 6f 72 6b 20 41 6e 61 6c 79 73  o Network Analys
10d60 69 73 20 61 6e 64 20 52 6f 75 74 69 6e 67 20 62  is and Routing b
10d70 65 63 61 75 73 65 20 74 68 65 79 20 61 6c 6c 6f  ecause they allo
10d80 77 20 74 6f 20 65 61 73 69 6c 79 20 69 64 65 6e  w to easily iden
10d90 74 69 66 79 20 77 68 69 63 68 20 73 70 65 63 69  tify which speci
10da0 66 69 63 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74  fic portion of t
10db0 68 65 20 4e 65 74 77 6f 72 6b 20 63 61 6e 20 62  he Network can b
10dc0 65 20 72 65 61 63 68 65 64 20 73 74 61 72 74 69  e reached starti
10dd0 6e 67 20 62 79 20 73 6f 6d 65 20 3c 62 3e 6f 72  ng by some <b>or
10de0 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 73 70  igin Node</b> sp
10df0 65 6e 64 69 6e 67 20 6e 6f 20 6d 6f 72 65 20 74  ending no more t
10e00 68 61 6e 20 61 20 67 69 76 65 6e 20 3c 62 3e 43  han a given <b>C
10e10 6f 73 74 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e  ost</b>.<br><br>
10e20 0d 0a 41 73 20 79 6f 75 20 68 61 76 65 20 61 6c  ..As you have al
10e30 72 65 61 64 79 20 73 65 65 6e 20 61 62 6f 75 74  ready seen about
10e40 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e   <b>multi-destin
10e50 61 74 69 6f 6e 3c 2f 62 3e 20 71 75 65 72 69 65  ation</b> querie
10e60 73 2c 20 74 68 65 20 44 69 6a 6b 73 74 72 61 27  s, the Dijkstra'
10e70 73 20 41 6c 67 6f 72 69 74 68 6d 20 72 6f 62 75  s Algorithm robu
10e80 73 74 6c 79 20 65 6e 73 75 72 65 73 20 74 68 61  stly ensures tha
10e90 74 20 77 68 65 6e 20 61 20 64 65 73 74 69 6e 61  t when a destina
10ea0 74 69 6f 6e 20 69 73 20 72 65 61 63 68 65 64 20  tion is reached 
10eb0 61 6c 6c 20 74 68 65 20 64 65 73 74 69 6e 61 74  all the destinat
10ec0 69 6f 6e 73 20 70 72 65 73 65 6e 74 69 6e 67 20  ions presenting 
10ed0 61 20 3c 62 3e 6c 65 73 73 65 72 20 63 6f 73 74  a <b>lesser cost
10ee0 3c 2f 62 3e 20 68 61 76 65 20 61 6c 72 65 61 64  </b> have alread
10ef0 79 20 62 65 65 6e 20 72 65 61 63 68 65 64 20 69  y been reached i
10f00 6e 20 73 6f 6d 65 20 70 72 65 76 69 6f 75 73 20  n some previous 
10f10 73 74 65 70 20 6f 66 20 74 68 65 20 70 72 6f 63  step of the proc
10f20 65 73 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 61  ess.<br>..This a
10f30 6c 6c 6f 77 73 20 74 6f 20 65 66 66 69 63 69 65  llows to efficie
10f40 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3c 62 3e  ntly support <b>
10f50 49 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75  Isochrone</b> qu
10f60 65 72 69 65 73 2e 0d 0a 59 6f 75 20 73 69 6d 70  eries...You simp
10f70 6c 79 20 68 61 76 65 20 74 6f 20 73 70 65 63 69  ly have to speci
10f80 66 79 20 61 20 3c 62 3e 73 69 6e 67 6c 65 20 6f  fy a <b>single o
10f90 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 20 61  rigin Node</b> a
10fa0 6e 64 20 61 20 3c 62 3e 43 6f 73 74 20 74 68 72  nd a <b>Cost thr
10fb0 65 73 68 6f 6c 64 3c 2f 62 3e 2e 3c 62 72 3e 3c  eshold</b>.<br><
10fc0 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
10fd0 3a 20 65 78 65 63 75 74 69 6e 67 20 61 6e 20 49  : executing an I
10fe0 73 6f 63 68 72 6f 6e 65 20 71 75 65 72 79 20 72  sochrone query r
10ff0 65 71 75 69 72 65 73 20 61 20 3c 62 3e 70 72 6f  equires a <b>pro
11000 63 65 73 73 69 6e 67 20 74 69 6d 65 3c 2f 62 3e  cessing time</b>
11010 20 74 68 61 74 20 69 73 6e 27 74 20 74 68 65 20   that isn't the 
11020 3c 75 3e 73 75 6d 20 6f 66 20 61 6c 6c 20 69 6e  <u>sum of all in
11030 64 69 76 69 64 75 61 6c 20 74 69 6d 69 6e 67 73  dividual timings
11040 20 66 6f 72 20 65 61 63 68 20 64 65 73 74 69 6e   for each destin
11050 61 74 69 6f 6e 3c 2f 75 3e 2c 20 62 75 74 20 73  ation</u>, but s
11060 69 6d 70 6c 79 20 69 73 20 74 68 65 20 3c 75 3e  imply is the <u>
11070 74 69 6d 65 20 72 65 71 75 69 72 65 64 20 74 6f  time required to
11080 20 72 65 61 63 68 20 74 68 65 20 6d 6f 73 74 20   reach the most 
11090 63 6f 73 74 6c 79 20 64 65 73 74 69 6e 61 74 69  costly destinati
110a0 6f 6e 3c 2f 75 3e 2e 3c 62 72 3e 0d 0a 3c 76 65  on</u>.<br>..<ve
110b0 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54 20  rbatim>..SELECT 
110c0 41 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65  Algorithm, Reque
110d0 73 74 2c 20 52 6f 6c 65 2c 20 4e 6f 64 65 46 72  st, Role, NodeFr
110e0 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
110f0 2c 20 47 65 6f 6d 65 74 72 79 0d 0a 46 52 4f 4d  , Geometry..FROM
11100 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20 4e   byfoot..WHERE N
11110 6f 64 65 46 72 6f 6d 20 3d 20 31 38 31 39 39 39  odeFrom = 181999
11120 20 41 4e 44 20 43 6f 73 74 20 3c 3d 20 31 30 30   AND Cost <= 100
11130 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  0.0;..</verbatim
11140 3e 0d 0a 41 6e 20 3c 62 3e 49 73 6f 63 68 72 6f  >..An <b>Isochro
11150 6e 65 3c 2f 62 3e 20 71 75 65 72 79 20 61 73 20  ne</b> query as 
11160 73 75 70 70 6f 72 74 65 64 20 62 79 20 3c 62 3e  supported by <b>
11170 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 3c 2f  VirtualRouting</
11180 62 3e 20 6a 75 73 74 20 72 65 71 75 69 72 65 73  b> just requires
11190 20 74 6f 20 73 70 65 63 69 66 79 3a 0d 0a 3c 75   to specify:..<u
111a0 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4e 6f 64 65 46  l>..<li><b>NodeF
111b0 72 6f 6d 3c 2f 62 3e 3a 20 74 68 65 20 3c 62 3e  rom</b>: the <b>
111c0 3c 69 3e 49 44 3c 2f 69 3e 3c 2f 62 3e 20 6f 72  <i>ID</i></b> or
111d0 20 3c 62 3e 3c 69 3e 43 6f 64 65 3c 2f 69 3e 3c   <b><i>Code</i><
111e0 2f 62 3e 20 75 6e 69 71 75 65 6c 79 20 69 64 65  /b> uniquely ide
111f0 6e 74 69 66 79 69 6e 67 20 74 68 65 20 3c 62 3e  ntifying the <b>
11200 6f 72 69 67 69 6e 20 4e 6f 64 65 3c 2f 62 3e 2e  origin Node</b>.
11210 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 43 6f  </li>..<li><b>Co
11220 73 74 3c 2f 62 3e 3a 20 74 68 65 20 6d 61 78 69  st</b>: the maxi
11230 6d 75 6d 20 3c 62 3e 43 6f 73 74 20 74 68 72 65  mum <b>Cost thre
11240 73 68 6f 6c 64 3c 2f 62 3e 20 6e 6f 74 20 74 6f  shold</b> not to
11250 20 62 65 20 65 78 63 65 65 64 65 64 2e 3c 62 72   be exceeded.<br
11260 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
11270 61 6e 79 20 76 61 6c 69 64 20 49 73 6f 63 68 72  any valid Isochr
11280 6f 6e 65 20 71 75 65 72 79 20 3c 62 3e 6d 75 73  one query <b>mus
11290 74 3c 2f 62 3e 20 6e 65 63 65 73 73 61 72 69 6c  t</b> necessaril
112a0 79 20 73 70 65 63 69 66 79 20 61 20 3c 62 3e 3c  y specify a <b><
112b0 3d 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 6c 65 73  =</b> (<u><i>les
112c0 73 65 72 20 74 68 61 6e 20 6f 72 20 65 71 75 61  ser than or equa
112d0 6c 20 74 6f 3c 2f 69 3e 3c 2f 75 3e 29 20 63 6f  l to</i></u>) co
112e0 6d 70 61 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f  mparison operato
112f0 72 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  r.</li>..</ul>..
11300 3c 62 72 3e 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77  <br>..The follow
11310 69 6e 67 20 74 61 62 6c 65 20 73 68 6f 77 73 20  ing table shows 
11320 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
11330 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 61 62  turned by the ab
11340 6f 76 65 20 49 73 6f 63 68 72 6f 6e 65 20 71 75  ove Isochrone qu
11350 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ery...<br><br>..
11360 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 31  <table border="1
11370 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 66 66  " bgcolor="#ffff
11380 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d  cf" cellspacing=
11390 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  "4" cellpadding=
113a0 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20 62 67  "6">..<tr><th bg
113b0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
113c0 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e 3c 74  Algorithm</th><t
113d0 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
113e0 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e  a0">Request</th>
113f0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
11400 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c  d0a0">Role</th><
11410 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
11420 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 74  0a0">NodeFrom</t
11430 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
11440 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c 2f  d0d0a0">NodeTo</
11450 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
11460 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74  #d0d0a0">Cost</t
11470 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
11480 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79  d0d0a0">Geometry
11490 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
114a0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 44 69 6a 6b  ..<tr>..<td>Dijk
114b0 73 74 72 61 3c 2f 74 64 3e 3c 74 64 3e 49 73 6f  stra</td><td>Iso
114c0 63 68 72 6f 6e 65 3c 2f 74 64 3e 3c 74 64 3e 53  chrone</td><td>S
114d0 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20  olution</td><td 
114e0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
114f0 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  1999</td><td ali
11500 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 31  gn="right">17871
11510 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  7</td><td align=
11520 22 72 69 67 68 74 22 3e 35 37 32 2e 34 35 35 31  "right">572.4551
11530 34 33 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  43</td><td>BLOB 
11540 73 7a 3d 36 30 20 47 45 4f 4d 45 54 52 59 3c 2f  sz=60 GEOMETRY</
11550 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
11560 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
11570 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
11580 53 6f 6c 75 74 69 6f 6e 3c 74 64 20 61 6c 69 67  Solution<td alig
11590 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
115a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
115b0 72 69 67 68 74 22 3e 31 37 38 37 31 38 3c 2f 74  right">178718</t
115c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
115d0 68 74 22 3e 35 38 37 2e 33 30 33 37 37 39 3c 2f  ht">587.303779</
115e0 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36  td><td>BLOB sz=6
115f0 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d  0 GEOMETRY</td>.
11600 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
11610 64 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22  d align="center"
11620 20 63 6f 6c 73 70 61 6e 3d 22 37 22 3e 2e 2e 2e   colspan="7">...
11630 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 3c 2f 74 64 3e 0d  ..........</td>.
11640 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
11650 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
11660 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
11670 6e 3d 22 72 69 67 68 74 22 3e 53 6f 6c 75 74 69  n="right">Soluti
11680 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  on</td><td align
11690 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
116a0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
116b0 69 67 68 74 22 3e 31 38 34 30 33 35 3c 2f 74 64  ight">184035</td
116c0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
116d0 74 22 3e 35 37 39 2e 37 38 36 37 32 34 3c 2f 74  t">579.786724</t
116e0 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36 30  d><td>BLOB sz=60
116f0 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d 0a   GEOMETRY</td>..
11700 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
11710 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
11720 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 53 6f 6c 75 74  LL</td><td>Solut
11730 69 6f 6e 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ion</td><td alig
11740 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39  n="right">181999
11750 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
11760 72 69 67 68 74 22 3e 31 38 34 30 33 36 3c 2f 74  right">184036</t
11770 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
11780 68 74 22 3e 36 34 32 2e 36 39 31 35 39 37 3c 2f  ht">642.691597</
11790 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 36  td><td>BLOB sz=6
117a0 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 0d  0 GEOMETRY</td>.
117b0 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e  .</tr>..</table>
117c0 0d 0a 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 71 75  ..<br>..Let's qu
117d0 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20 74 68  ickly examine th
117e0 65 20 72 65 73 75 6c 74 73 65 74 20 72 65 74 75  e resultset retu
117f0 72 6e 65 64 20 62 79 20 74 68 65 20 61 62 6f 76  rned by the abov
11800 65 20 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f  e <b>isochrone</
11810 62 3e 20 71 75 65 72 79 2e 0d 0a 3c 75 6c 3e 0d  b> query...<ul>.
11820 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 66 69 72 73  .<li>the <b>firs
11830 74 20 72 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65  t row</b> of the
11840 20 72 65 73 75 6c 74 73 65 74 20 69 73 20 73 6f   resultset is so
11850 6d 65 77 61 79 20 65 78 63 65 70 74 69 6f 6e 61  meway exceptiona
11860 6c 2c 20 61 6e 64 20 69 73 20 74 68 65 20 75 6e  l, and is the un
11870 69 71 75 65 20 72 6f 77 20 6f 66 20 74 68 65 20  ique row of the 
11880 72 65 73 75 6c 74 73 65 74 20 70 72 65 73 65 6e  resultset presen
11890 74 69 6e 67 20 3c 62 3e 4e 4f 54 20 4e 55 4c 4c  ting <b>NOT NULL
118a0 3c 2f 62 3e 20 76 61 6c 75 65 73 20 69 6e 20 74  </b> values in t
118b0 68 65 20 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c  he <b>Algorithm<
118c0 2f 62 3e 2c 20 3c 62 3e 52 65 71 75 65 73 74 3c  /b>, <b>Request<
118d0 2f 62 3e 2c 20 3c 2f 62 3e 4f 70 74 69 6f 6e 73  /b>, </b>Options
118e0 3c 2f 62 3e 20 28 61 6e 64 20 3c 2f 62 3e 44 65  </b> (and </b>De
118f0 6c 69 6d 69 74 65 72 3c 2f 62 3e 29 20 63 6f 6c  limiter</b>) col
11900 75 6d 6e 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  umns.</li>..<li>
11910 61 6c 6c 20 72 6f 77 73 20 28 69 6e 63 6c 75 64  all rows (includ
11920 69 6e 67 20 74 68 65 20 66 69 72 73 74 20 6f 6e  ing the first on
11930 65 29 20 68 61 76 65 20 3c 62 3e 52 6f 6c 65 20  e) have <b>Role 
11940 3d 20 53 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20  = Solution</b>, 
11950 61 6e 64 20 72 65 70 72 65 73 65 6e 74 20 61 20  and represent a 
11960 73 69 6e 67 6c 65 20 63 6f 6e 6e 65 63 74 69 6f  single connectio
11970 6e 20 62 65 74 77 65 65 6e 20 3c 62 3e 4e 6f 64  n between <b>Nod
11980 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62  eFrom</b> and <b
11990 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 2c 20 77 69 74  >NodeTo</b>, wit
119a0 68 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64  h the correspond
119b0 69 6e 67 20 3c 62 3e 43 6f 73 74 3c 2f 62 3e 2e  ing <b>Cost</b>.
119c0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c  </li>..<li>the <
119d0 62 3e 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 63  b>Geometry</b> c
119e0 6f 6c 75 6d 6e 20 61 6c 77 61 79 73 20 63 6f 72  olumn always cor
119f0 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20  responds to the 
11a00 3c 62 3e 32 44 20 50 6f 69 6e 74 3c 2f 62 3e 20  <b>2D Point</b> 
11a10 77 68 65 72 65 20 3c 62 3e 4e 6f 64 65 54 6f 3c  where <b>NodeTo<
11a20 2f 62 3e 20 69 73 20 6c 6f 63 61 74 65 64 2e 3c  /b> is located.<
11a30 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  /li>..</ul>..<br
11a40 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20  >..<u>Note</u>: 
11a50 3c 62 3e 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e  <b>isochrone</b>
11a60 20 71 75 65 72 69 65 73 20 61 72 65 20 6e 6f 74   queries are not
11a70 20 61 66 66 65 63 74 65 64 20 62 79 20 63 6f 6e   affected by con
11a80 66 69 67 75 72 61 62 6c 65 20 6f 70 74 69 6f 6e  figurable option
11a90 73 2e 0d 0a 3c 62 3e 41 6c 67 6f 72 69 74 68 6d  s...<b>Algorithm
11aa0 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 61 6c 77  </b> will be alw
11ab0 61 79 73 20 61 73 73 75 6d 65 64 20 74 6f 20 62  ays assumed to b
11ac0 65 20 3c 62 3e 44 69 6a 73 6b 74 72 61 3c 2f 62  e <b>Dijsktra</b
11ad0 3e 2c 20 61 6e 64 20 74 68 65 20 63 75 72 72 65  >, and the curre
11ae0 6e 74 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f 62  nt <b>Options</b
11af0 3e 20 73 65 74 74 69 6e 67 73 20 77 69 6c 6c 20  > settings will 
11b00 62 65 20 73 69 6d 70 6c 79 20 69 67 6e 6f 72 65  be simply ignore
11b10 64 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  d...<verbatim>..
11b20 53 45 4c 45 43 54 20 53 54 5f 43 6f 6e 63 61 76  SELECT ST_Concav
11b30 65 48 75 6c 6c 28 53 54 5f 43 6f 6c 6c 65 63 74  eHull(ST_Collect
11b40 28 47 65 6f 6d 65 74 72 79 29 29 0d 0a 46 52 4f  (Geometry))..FRO
11b50 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45 20  M byfoot..WHERE 
11b60 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 38 31 39 39  NodeFrom = 18199
11b70 39 20 41 4e 44 20 43 6f 73 74 20 3c 3d 20 31 30  9 AND Cost <= 10
11b80 30 30 2e 30 3b 0d 0a 3c 2f 76 65 72 62 61 74 69  00.0;..</verbati
11b90 6d 3e 0d 0a 41 6e 79 20 69 73 6f 63 68 72 6f 6e  m>..Any isochron
11ba0 65 20 71 75 65 72 79 20 77 69 6c 6c 20 6a 75 73  e query will jus
11bb0 74 20 72 65 74 75 72 6e 20 61 20 50 6f 69 6e 74  t return a Point
11bc0 2d 73 65 74 3b 20 69 66 20 79 6f 75 20 65 76 65  -set; if you eve
11bd0 6e 74 75 61 6c 6c 79 20 77 69 73 68 20 74 6f 20  ntually wish to 
11be0 6f 62 74 61 69 6e 20 74 68 65 20 63 6f 72 72 65  obtain the corre
11bf0 73 70 6f 6e 64 69 6e 67 20 61 72 65 61 6c 20 72  sponding areal r
11c00 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 79 6f  epresentation yo
11c10 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f 20 63  u just have to c
11c20 61 6c 6c 20 3c 62 3e 53 54 5f 43 6f 6c 6c 65 63  all <b>ST_Collec
11c30 74 28 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72  t()</b> in order
11c40 20 74 6f 20 67 65 74 20 61 20 6d 6f 6e 6f 6c 69   to get a monoli
11c50 74 68 69 63 20 4d 75 6c 74 69 50 6f 69 6e 74 2c  thic MultiPoint,
11c60 20 74 68 65 6e 20 63 61 6c 6c 69 6e 67 20 3c 62   then calling <b
11c70 3e 53 54 5f 43 6f 6e 63 61 76 65 48 75 6c 6c 28  >ST_ConcaveHull(
11c80 29 3c 2f 62 3e 20 69 6e 20 6f 72 64 65 72 20 74  )</b> in order t
11c90 6f 20 67 65 74 20 61 20 50 6f 6c 79 67 6f 6e 2e  o get a Polygon.
11ca0 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a  ..<br><br><br>..
11cb0 54 68 65 20 6d 61 70 20 62 65 6c 6f 77 20 67 72  The map below gr
11cc0 61 70 68 69 63 61 6c 6c 79 20 73 68 6f 77 73 20  aphically shows 
11cd0 74 68 65 20 70 72 65 76 69 6f 75 73 20 3c 62 3e  the previous <b>
11ce0 69 73 6f 63 68 72 6f 6e 65 3c 2f 62 3e 20 71 75  isochrone</b> qu
11cf0 65 72 79 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a  ery...<br><br>..
11d00 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a  <img src="https:
11d10 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69  //www.gaia-gis.i
11d20 74 2f 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74  t/gaia-sins/rout
11d30 69 6e 67 2d 66 69 67 73 2f 69 73 6f 63 68 72 6f  ing-figs/isochro
11d40 6e 65 2e 6a 70 67 22 20 61 6c 74 3d 22 69 73 6f  ne.jpg" alt="iso
11d50 63 68 72 6f 6e 65 22 3e 0d 0a 3c 75 6c 3e 0d 0a  chrone">..<ul>..
11d60 3c 6c 69 3e 59 65 6c 6c 6f 77 20 73 74 61 72 3a  <li>Yellow star:
11d70 20 74 68 65 20 4f 72 69 67 69 6e 20 4e 6f 64 65   the Origin Node
11d80 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 42 6c 75 65  .</li>..<li>Blue
11d90 20 64 6f 74 73 3a 20 61 6c 6c 20 44 65 73 74 69   dots: all Desti
11da0 6e 61 74 69 6f 6e 20 4e 6f 64 65 73 20 77 69 74  nation Nodes wit
11db0 68 69 6e 20 74 68 65 20 67 69 76 65 6e 20 43 6f  hin the given Co
11dc0 73 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 57 68  st.</li>..<li>Wh
11dd0 69 74 65 20 6c 69 6e 65 3a 20 74 68 65 20 62 6f  ite line: the bo
11de0 75 6e 64 61 72 79 20 6f 66 20 74 68 65 20 49 73  undary of the Is
11df0 6f 63 68 72 6f 6e 65 2e 20 0d 0a 3c 62 72 3e 3c  ochrone. ..<br><
11e00 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f  br>..<table bgco
11e10 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63 65  lor="#c0ffc0" ce
11e20 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20 63  llspacing="10" c
11e30 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c  ellpadding="6"><
11e40 74 72 3e 3c 74 64 3e 0d 0a 3c 62 72 3e 3c 62 72  tr><td>..<br><br
11e50 3e 0d 0a 3c 75 3e 3c 62 3e 4e 6f 74 65 3c 2f 62  >..<u><b>Note</b
11e60 3e 3c 2f 75 3e 3a 20 69 74 20 74 68 69 73 20 65  ></u>: it this e
11e70 78 61 6d 70 6c 65 20 79 6f 75 27 76 65 20 75 73  xample you've us
11e80 65 64 20 74 68 65 20 3c 62 3e 62 79 66 6f 6f 74  ed the <b>byfoot
11e90 3c 2f 62 3e 20 4e 65 74 77 6f 72 6b 2c 20 74 68  </b> Network, th
11ea0 61 74 20 69 73 20 62 61 73 65 64 20 6f 6e 20 3c  at is based on <
11eb0 62 3e 43 6f 73 74 73 3c 2f 62 3e 20 65 78 70 72  b>Costs</b> expr
11ec0 65 73 73 65 64 20 69 6e 20 3c 62 3e 6d 65 74 65  essed in <b>mete
11ed0 72 73 3c 2f 62 3e 20 28 67 65 6f 6d 65 74 72 69  rs</b> (geometri
11ee0 63 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68  c length of each
11ef0 20 4c 69 6e 6b 29 2e 3c 62 72 3e 0d 0a 54 68 69   Link).<br>..Thi
11f00 73 20 4e 65 74 77 6f 72 6b 20 69 73 20 6d 61 69  s Network is mai
11f10 6e 6c 79 20 69 6e 74 65 6e 64 65 64 20 66 6f 72  nly intended for
11f20 20 3c 62 3e 70 65 64 65 73 74 72 69 61 6e 73 3c   <b>pedestrians<
11f30 2f 62 3e 2c 20 73 6f 20 77 65 20 63 61 6e 20 73  /b>, so we can s
11f40 61 66 65 6c 79 20 61 73 73 75 6d 65 20 61 20 3c  afely assume a <
11f50 75 3e 3c 69 3e 63 6f 6e 73 74 61 6e 74 20 73 70  u><i>constant sp
11f60 65 65 64 3c 2f 69 3e 3c 2f 75 3e 20 6f 66 20 61  eed</i></u> of a
11f70 62 6f 75 74 20 3c 62 3e 34 3c 2f 62 3e 20 74 6f  bout <b>4</b> to
11f80 20 3c 62 3e 36 20 6b 6d 2f 68 3c 2f 62 3e 2c 20   <b>6 km/h</b>, 
11f90 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79  and consequently
11fa0 20 74 68 65 20 3c 62 3e 49 73 6f 63 68 72 6f 6e   the <b>Isochron
11fb0 65 3c 2f 62 3e 20 65 66 66 65 63 74 69 76 65 6c  e</b> effectivel
11fc0 79 20 72 65 73 70 65 63 74 73 20 74 68 65 20 3c  y respects the <
11fd0 75 3e 3c 69 3e 73 61 6d 65 20 74 69 6d 65 3c 2f  u><i>same time</
11fe0 69 3e 3c 2f 75 3e 20 72 65 71 75 69 73 69 74 65  i></u> requisite
11ff0 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 53 70 65 61 6b  .<br><br>..Speak
12000 69 6e 67 20 69 6e 20 6d 6f 72 65 20 67 65 6e 65  ing in more gene
12010 72 61 6c 20 74 65 72 6d 73 2c 20 61 6e 20 49 73  ral terms, an Is
12020 6f 63 68 72 6f 6e 65 20 63 61 6e 20 62 65 20 69  ochrone can be i
12030 6e 74 65 6e 64 65 64 20 61 73 20 61 20 67 65 6e  ntended as a gen
12040 65 72 69 63 20 73 79 6e 6f 6e 79 6d 20 66 6f 72  eric synonym for
12050 20 3c 75 3e 3c 69 3e 73 61 6d 65 20 43 6f 73 74   <u><i>same Cost
12060 3c 2f 69 3e 3c 2f 75 3e 2c 20 65 76 65 6e 20 77  </i></u>, even w
12070 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20  hen there is no 
12080 6f 62 76 69 6f 75 73 20 63 6f 6e 6e 65 63 74 69  obvious connecti
12090 6f 6e 20 77 69 74 68 20 3c 62 3e 54 69 6d 65 2e  on with <b>Time.
120a0 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  </b>.<br><br>..<
120b0 2f 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65  /td></tr></table
120c0 3e 0d 0a 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31  >..<hr><br>..<h1
120d0 3e 3c 61 20 6e 61 6d 65 3d 22 74 73 70 22 3e 37  ><a name="tsp">7
120e0 20 2d 20 53 6f 6c 76 69 6e 67 20 54 53 50 20 28   - Solving TSP (
120f0 74 72 61 76 65 6c 69 6e 67 20 73 61 6c 65 73 6d  traveling salesm
12100 61 6e 29 20 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e  an) problems</a>
12110 3c 2f 68 31 3e 0d 0a 3c 62 3e 54 53 50 3c 2f 62  </h1>..<b>TSP</b
12120 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74 74 70  > (<a href="http
12130 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61  s://en.wikipedia
12140 2e 6f 72 67 2f 77 69 6b 69 2f 54 72 61 76 65 6c  .org/wiki/Travel
12150 6c 69 6e 67 5f 73 61 6c 65 73 6d 61 6e 5f 70 72  ling_salesman_pr
12160 6f 62 6c 65 6d 22 3e 54 72 61 76 65 6c 69 6e 67  oblem">Traveling
12170 20 53 61 6c 65 73 6d 61 6e 20 50 72 6f 62 6c 65   Salesman Proble
12180 6d 3c 2f 61 3e 29 20 69 73 20 61 20 77 65 6c 6c  m</a>) is a well
12190 20 6b 6e 6f 77 6e 20 4f 70 65 72 61 74 69 6f 6e   known Operation
121a0 73 20 52 65 73 65 61 72 63 68 20 70 72 6f 62 6c  s Research probl
121b0 65 6d 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  em...<br><br>..<
121c0 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23  table bgcolor="#
121d0 63 30 66 66 63 30 22 20 63 65 6c 6c 73 70 61 63  c0ffc0" cellspac
121e0 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c 70 61 64  ing="10" cellpad
121f0 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e 3c 74 64  ding="6"><tr><td
12200 3e 0d 0a 3c 68 33 3e 54 68 65 20 54 72 61 76 65  >..<h3>The Trave
12210 6c 69 6e 67 20 53 61 6c 65 73 6d 61 6e 20 50 72  ling Salesman Pr
12220 6f 62 6c 65 6d 3c 2f 68 33 3e 0d 0a 3c 62 3e 3c  oblem</h3>..<b><
12230 69 3e 47 69 76 65 6e 20 61 20 6c 69 73 74 20 6f  i>Given a list o
12240 66 20 63 69 74 69 65 73 20 61 6e 64 20 74 68 65  f cities and the
12250 20 64 69 73 74 61 6e 63 65 73 20 62 65 74 77 65   distances betwe
12260 65 6e 20 65 61 63 68 20 70 61 69 72 20 6f 66 20  en each pair of 
12270 63 69 74 69 65 73 2c 20 77 68 61 74 20 69 73 20  cities, what is 
12280 74 68 65 20 73 68 6f 72 74 65 73 74 20 70 6f 73  the shortest pos
12290 73 69 62 6c 65 20 72 6f 75 74 65 20 74 68 61 74  sible route that
122a0 20 76 69 73 69 74 73 20 65 61 63 68 20 63 69 74   visits each cit
122b0 79 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 6f  y and returns to
122c0 20 74 68 65 20 6f 72 69 67 69 6e 20 63 69 74 79   the origin city
122d0 20 3f 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e   ?</i></b>..<br>
122e0 3c 62 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e  <br>..</td></tr>
122f0 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d 0a  </table>..<br>..
12300 3c 75 3e 4e 6f 74 65 3a 3c 2f 75 3e 20 74 68 65  <u>Note:</u> the
12310 20 74 65 72 6d 73 20 3c 69 3e 3c 75 3e 73 61 6c   terms <i><u>sal
12320 65 73 6d 61 6e 3c 2f 75 3e 3c 2f 69 3e 20 61 6e  esman</u></i> an
12330 64 20 3c 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e  d <i><u>city</u>
12340 3c 2f 69 3e 20 61 72 65 20 75 6e 69 76 65 72 73  </i> are univers
12350 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 68 69  ally used for hi
12360 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e 73  storical reasons
12370 2c 20 62 75 74 20 79 6f 75 20 73 68 6f 75 6c 64  , but you should
12380 20 61 76 6f 69 64 20 74 6f 20 6c 69 74 65 72 61   avoid to litera
12390 6c 6c 79 20 69 6e 74 65 6e 64 20 62 6f 74 68 20  lly intend both 
123a0 74 68 65 6d 2e 3c 62 72 3e 0d 0a 54 68 65 20 74  them.<br>..The t
123b0 65 72 6d 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d  erm <u><i>salesm
123c0 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 69 6e 20 74 68  an</i></u> in th
123d0 69 73 20 73 70 65 63 69 66 69 63 20 63 6f 6e 74  is specific cont
123e0 65 78 74 20 69 6e 74 65 6e 64 73 20 61 6e 79 20  ext intends any 
123f0 70 6f 73 73 69 62 6c 65 20 6b 69 6e 64 20 6f 66  possible kind of
12400 20 3c 75 3e 3c 69 3e 6d 6f 76 69 6e 67 20 61 67   <u><i>moving ag
12410 65 6e 74 3c 2f 69 3e 3c 2f 75 3e 20 28 70 65 64  ent</i></u> (ped
12420 65 73 74 72 69 61 6e 2c 20 76 65 68 69 63 6c 65  estrian, vehicle
12430 2c 20 70 61 73 73 65 6e 67 65 72 20 6f 72 20 77  , passenger or w
12440 68 61 74 65 76 65 72 20 65 6c 73 65 29 2c 20 65  hatever else), e
12450 78 61 63 74 6c 79 20 61 73 20 3c 69 3e 3c 75 3e  xactly as <i><u>
12460 63 69 74 79 3c 2f 75 3e 3c 2f 69 3e 20 73 69 6d  city</u></i> sim
12470 70 6c 79 20 73 74 61 6e 64 73 20 66 6f 72 20 61  ply stands for a
12480 6e 79 20 3c 69 3e 3c 75 3e 67 65 6e 65 72 69 63  ny <i><u>generic
12490 20 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 75 3e   destination</u>
124a0 3c 2f 69 3e 20 6f 6e 20 61 20 67 69 76 65 6e 20  </i> on a given 
124b0 4e 65 74 77 6f 72 6b 2e 0d 0a 3c 62 72 3e 3c 62  Network...<br><b
124c0 72 3e 0d 0a 57 65 20 63 61 6e 20 63 6f 6e 63 65  r>..We can conce
124d0 70 74 75 61 6c 79 20 73 70 6c 69 74 20 54 50 53  ptualy split TPS
124e0 20 69 6e 20 74 77 6f 20 68 61 6c 76 65 73 3a 0d   in two halves:.
124f0 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 63 6f 6d 70 75  .<ol>..<li>compu
12500 74 69 6e 67 20 61 6c 6c 20 64 69 73 74 61 6e 63  ting all distanc
12510 65 73 20 62 65 74 77 65 65 6e 20 70 61 69 72 73  es between pairs
12520 20 6f 66 20 3c 69 3e 63 69 74 69 65 73 3c 2f 69   of <i>cities</i
12530 3e 2e 20 54 68 69 73 20 69 73 20 61 20 74 79 70  >. This is a typ
12540 69 63 61 6c 20 3c 62 3e 53 68 6f 72 74 65 73 74  ical <b>Shortest
12550 50 61 74 68 3c 2f 62 3e 20 70 72 6f 62 6c 65 6d  Path</b> problem
12560 2c 20 61 6e 64 20 77 65 20 63 61 6e 20 64 75 6c  , and we can dul
12570 79 20 75 73 65 20 74 68 65 20 44 69 6a 6b 73 74  y use the Dijkst
12580 72 61 27 73 20 61 6c 67 6f 72 69 74 68 6d 20 66  ra's algorithm f
12590 6f 72 20 74 68 69 73 2e 3c 2f 6c 69 3e 0d 0a 3c  or this.</li>..<
125a0 6c 69 3e 74 68 65 6e 20 77 65 20 68 61 76 65 20  li>then we have 
125b0 74 6f 20 63 68 65 63 6b 20 61 6c 6c 20 70 6f 73  to check all pos
125c0 73 69 62 6c 65 20 3c 62 3e 70 65 72 6d 75 74 61  sible <b>permuta
125d0 74 69 6f 6e 73 3c 2f 62 3e 20 2f 20 3c 62 3e 63  tions</b> / <b>c
125e0 6f 6d 62 69 6e 61 74 69 6f 6e 73 3c 2f 62 3e 20  ombinations</b> 
125f0 73 6f 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74  so to identify t
12600 68 65 20 6f 70 74 69 6d 61 6c 20 54 53 50 20 73  he optimal TSP s
12610 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c  olution.</li>..<
12620 2f 6f 6c 3e 0d 0a 55 6e 68 61 70 70 69 6c 79 20  /ol>..Unhappily 
12630 74 68 65 72 65 20 69 73 20 61 20 70 72 61 63 74  there is a pract
12640 69 63 61 6c 20 64 69 66 66 69 63 75 6c 74 79 20  ical difficulty 
12650 69 6e 20 73 75 63 68 20 61 20 73 74 72 61 69 67  in such a straig
12660 68 74 20 61 70 70 72 6f 61 63 68 3b 20 74 68 65  ht approach; the
12670 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6d 62 69   number of combi
12680 6e 61 74 69 6f 6e 73 20 77 69 6c 6c 20 67 72 6f  nations will gro
12690 77 20 65 78 74 72 65 6d 65 6c 79 20 66 61 73 74  w extremely fast
126a0 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f   as the number o
126b0 66 20 3c 62 3e 3c 69 3e 63 69 74 69 65 73 3c 2f  f <b><i>cities</
126c0 69 3e 3c 2f 62 3e 20 69 6e 63 72 65 61 73 65 73  i></b> increases
126d0 2e 3c 62 72 3e 0d 0a 53 69 6d 70 6c 79 20 63 6f  .<br>..Simply co
126e0 6d 70 75 74 69 6e 67 20 74 68 65 20 63 6f 6d 70  mputing the comp
126f0 6c 65 74 65 20 54 53 50 20 73 6f 6c 75 74 69 6f  lete TSP solutio
12700 6e 20 66 6f 72 20 61 62 6f 75 74 20 74 65 6e 20  n for about ten 
12710 63 69 74 69 65 73 20 77 69 6c 6c 20 72 65 71 75  cities will requ
12720 69 72 65 20 61 20 3c 62 3e 76 65 72 79 20 6c 6f  ire a <b>very lo
12730 6e 67 20 74 69 6d 65 3c 2f 62 3e 20 65 76 65 6e  ng time</b> even
12740 20 75 73 69 6e 67 20 61 20 73 75 70 65 72 63 6f   using a superco
12750 6d 70 75 74 65 72 2e 3c 62 72 3e 0d 0a 41 6e 64  mputer.<br>..And
12760 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63   attempting to c
12770 6f 6d 70 75 74 65 20 61 20 54 53 50 20 73 6f 6c  ompute a TSP sol
12780 75 74 69 6f 6e 20 66 6f 72 20 61 62 6f 75 74 20  ution for about 
12790 68 75 6e 64 72 65 64 20 63 69 74 69 65 73 20 77  hundred cities w
127a0 69 6c 6c 20 72 65 71 75 69 72 65 20 61 20 3c 62  ill require a <b
127b0 3e 70 72 61 63 74 69 63 61 6c 6c 79 20 69 6e 66  >practically inf
127c0 69 6e 69 74 65 3c 2f 62 3e 20 74 69 6d 65 2e 0d  inite</b> time..
127d0 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 48 6f 77 65 76  .<br><br>..Howev
127e0 65 72 20 73 6f 6c 76 69 6e 67 20 54 53 50 20 69  er solving TSP i
127f0 73 20 68 69 67 68 6c 79 20 64 65 73 69 72 61 62  s highly desirab
12800 6c 65 20 69 6e 20 6d 61 6e 79 20 61 70 70 6c 69  le in many appli
12810 63 61 74 69 6f 6e 20 66 69 65 6c 64 73 3a 20 3c  cation fields: <
12820 62 3e 6c 6f 67 69 73 74 69 63 73 3c 2f 62 3e 20  b>logistics</b> 
12830 28 6a 75 73 74 20 74 68 69 6e 6b 20 61 62 6f 75  (just think abou
12840 74 20 63 6f 75 72 69 65 72 20 63 6f 6d 70 61 6e  t courier compan
12850 69 65 73 20 61 73 20 44 48 4c 2c 20 46 65 64 45  ies as DHL, FedE
12860 58 2c 20 55 50 53 20 6f 72 20 54 4e 54 29 2c 20  X, UPS or TNT), 
12870 3c 62 3e 66 69 65 6c 64 20 6d 61 69 6e 74 65 6e  <b>field mainten
12880 61 6e 63 65 3c 2f 62 3e 20 2f 20 3c 62 3e 61 73  ance</b> / <b>as
12890 73 69 73 74 61 6e 63 65 3c 2f 62 3e 2c 20 3c 62  sistance</b>, <b
128a0 3e 77 61 73 74 65 20 63 6f 6c 6c 65 63 74 69 6f  >waste collectio
128b0 6e 3c 2f 62 3e 2c 20 3c 62 3e 73 63 68 6f 6f 6c  n</b>, <b>school
128c0 62 75 73 3c 2f 62 3e 20 2f 20 3c 62 3e 73 68 61  bus</b> / <b>sha
128d0 72 65 64 20 74 61 78 69 20 73 65 72 76 69 63 65  red taxi service
128e0 73 3c 2f 62 3e 20 65 74 63 2e 3c 62 72 3e 0d 0a  s</b> etc.<br>..
128f0 4d 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d 73 20  Many algorithms 
12900 68 61 76 65 20 62 65 65 6e 20 69 6e 76 65 6e 74  have been invent
12910 65 64 20 64 75 72 69 6e 67 20 6c 61 73 74 20 64  ed during last d
12920 65 63 61 64 65 73 20 69 6e 74 65 6e 64 65 64 20  ecades intended 
12930 74 6f 20 70 72 6f 64 75 63 65 20 70 72 61 63 74  to produce pract
12940 69 63 61 6c 20 61 6c 74 68 6f 75 67 68 20 61 70  ical although ap
12950 70 72 6f 78 69 6d 61 74 65 20 2f 20 69 6d 70 65  proximate / impe
12960 72 66 65 63 74 20 54 53 50 20 73 6f 6c 75 74 69  rfect TSP soluti
12970 6f 6e 73 20 69 6e 20 61 20 72 65 61 73 6f 6e 61  ons in a reasona
12980 62 6c 79 20 73 68 6f 72 74 20 74 69 6d 65 2e 0d  bly short time..
12990 0a 4d 61 6e 79 20 6f 66 20 74 68 65 6d 20 73 74  .Many of them st
129a0 72 6f 6e 67 6c 79 20 64 65 70 65 6e 64 20 6f 6e  rongly depend on
129b0 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a   <a href="https:
129c0 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f  //en.wikipedia.o
129d0 72 67 2f 77 69 6b 69 2f 48 65 75 72 69 73 74 69  rg/wiki/Heuristi
129e0 63 22 3e 68 65 75 72 69 73 74 69 63 3c 2f 61 3e  c">heuristic</a>
129f0 20 61 6e 64 20 2f 20 6f 72 20 3c 61 20 68 72 65   and / or <a hre
12a00 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69  f="https://en.wi
12a10 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69  kipedia.org/wiki
12a20 2f 52 61 6e 64 6f 6d 6e 65 73 73 22 3e 72 61 6e  /Randomness">ran
12a30 64 6f 6d 6e 65 73 73 3c 2f 61 3e 2e 0d 0a 3c 62  domness</a>...<b
12a40 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 56 69 72 74 75  r><br>..<b>Virtu
12a50 61 6c 52 6f 75 74 69 6e 67 3c 2f 62 3e 20 73 75  alRouting</b> su
12a60 70 70 6f 72 74 73 20 74 77 6f 20 64 69 66 66 65  pports two diffe
12a70 72 65 6e 74 20 54 53 50 20 61 6c 67 6f 72 69 74  rent TSP algorit
12a80 68 6d 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  hms:..<ul>..<li>
12a90 3c 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 28 3c  <b>TSP NN</b> (<
12aa0 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 3c 69 3e  i>aka</i> <b><i>
12ab0 4e 65 61 72 65 73 74 20 4e 65 69 67 68 62 6f 75  Nearest Neighbou
12ac0 72 3c 2f 69 3e 3c 2f 62 3e 29 3c 62 72 3e 0d 0a  r</i></b>)<br>..
12ad0 54 68 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74  This <a href="ht
12ae0 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64  tps://en.wikiped
12af0 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 4e 65 61 72  ia.org/wiki/Near
12b00 65 73 74 5f 6e 65 69 67 68 62 6f 75 72 5f 61 6c  est_neighbour_al
12b10 67 6f 72 69 74 68 6d 22 3e 66 69 72 73 74 20 61  gorithm">first a
12b20 6c 67 6f 72 69 74 68 6d 3c 2f 61 3e 20 69 73 20  lgorithm</a> is 
12b30 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 20  straightforward 
12b40 73 69 6d 70 6c 65 20 61 6e 64 20 76 65 72 79 20  simple and very 
12b50 66 61 73 74 3b 20 69 74 20 63 61 6e 20 65 66 66  fast; it can eff
12b60 65 63 74 69 76 65 6c 79 20 73 6f 6c 76 65 20 68  ectively solve h
12b70 75 67 65 20 54 53 50 20 73 6f 6c 75 74 69 6f 6e  uge TSP solution
12b80 73 20 28 74 68 6f 75 73 61 6e 64 20 3c 69 3e 63  s (thousand <i>c
12b90 69 74 69 65 73 3c 2f 69 3e 20 6f 72 20 65 76 65  ities</i> or eve
12ba0 6e 20 6d 6f 72 65 29 20 69 6e 20 61 20 76 65 72  n more) in a ver
12bb0 79 20 73 68 6f 72 74 20 74 69 6d 65 2e 3c 62 72  y short time.<br
12bc0 3e 0d 0a 3c 75 3e 53 68 6f 72 74 20 64 65 73 63  >..<u>Short desc
12bd0 72 69 70 74 69 6f 6e 3c 2f 75 3e 3a 0d 0a 3c 75  ription</u>:..<u
12be0 6c 3e 0d 0a 3c 6c 69 3e 73 74 61 72 74 69 6e 67  l>..<li>starting
12bf0 20 66 72 6f 6d 20 74 68 65 20 3c 75 3e 3c 69 3e   from the <u><i>
12c00 62 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75  base city</i></u
12c10 3e 20 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65  > the <u><i>sale
12c20 73 6d 61 6e 3c 2f 69 3e 3c 2f 75 3e 20 67 6f 65  sman</i></u> goe
12c30 73 20 74 6f 20 74 68 65 20 3c 75 3e 3c 69 3e 63  s to the <u><i>c
12c40 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 70 72 65 73  ity</i></u> pres
12c50 65 6e 74 69 6e 67 20 74 68 65 20 3c 69 3e 3c 75  enting the <i><u
12c60 3e 6c 65 73 73 65 72 20 63 6f 6e 6e 65 63 74 69  >lesser connecti
12c70 6f 6e 20 63 6f 73 74 3c 2f 75 3e 3c 2f 69 3e 2e  on cost</u></i>.
12c80 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 61  </li>..<li>the a
12c90 6c 72 65 61 64 79 20 76 69 73 69 74 65 64 20 3c  lready visited <
12ca0 69 3e 3c 75 3e 63 69 74 79 3c 2f 75 3e 3c 2f 69  i><u>city</u></i
12cb0 3e 20 69 73 20 63 61 6e 63 65 6c 6c 65 64 20 66  > is cancelled f
12cc0 72 6f 6d 20 74 68 65 20 6c 69 73 74 2c 20 61 6e  rom the list, an
12cd0 64 20 74 68 65 6e 20 74 68 65 20 3c 75 3e 3c 69  d then the <u><i
12ce0 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69 3e 3c 2f 75  >salesman</i></u
12cf0 3e 20 67 6f 65 73 20 74 6f 20 74 68 65 20 6e 65  > goes to the ne
12d00 78 74 20 3c 75 3e 3c 69 3e 63 69 74 79 3c 2f 69  xt <u><i>city</i
12d10 3e 3c 2f 75 3e 20 70 72 65 73 65 6e 74 69 6e 67  ></u> presenting
12d20 20 74 68 65 20 3c 69 3e 3c 75 3e 6c 65 73 73 65   the <i><u>lesse
12d30 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6f 73  r connection cos
12d40 74 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69 3e 0d  t</u></i>.</li>.
12d50 0a 3c 6c 69 3e 74 68 65 20 63 79 63 6c 65 20 63  .<li>the cycle c
12d60 6f 6e 74 69 6e 75 65 73 20 75 6e 74 69 6c 20 61  ontinues until a
12d70 6c 6c 20 20 3c 69 3e 3c 75 3e 63 69 74 69 65 73  ll  <i><u>cities
12d80 3c 2f 75 3e 3c 2f 69 3e 20 69 6e 20 74 68 65 20  </u></i> in the 
12d90 6c 69 73 74 20 68 61 76 65 20 62 65 65 6e 20 76  list have been v
12da0 69 73 69 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  isited.</li>..<l
12db0 69 3e 66 69 6e 61 6c 6c 79 2c 20 74 68 65 20 3c  i>finally, the <
12dc0 75 3e 3c 69 3e 73 61 6c 65 73 6d 61 6e 3c 2f 69  u><i>salesman</i
12dd0 3e 3c 2f 75 3e 20 72 65 74 75 72 6e 73 20 74 6f  ></u> returns to
12de0 20 68 69 73 2f 68 65 72 20 69 6e 69 74 69 61 6c   his/her initial
12df0 20 3c 75 3e 3c 69 3e 62 61 73 65 20 63 69 74 79   <u><i>base city
12e00 3c 2f 69 3e 3c 2f 75 3e 3c 2f 6c 69 3e 0d 0a 3c  </i></u></li>..<
12e10 2f 75 6c 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75  /ul>..<u>Note</u
12e20 3e 20 69 74 27 73 20 76 65 72 79 20 75 6e 6c 69  > it's very unli
12e30 6b 65 20 74 68 61 74 20 54 53 50 20 4e 4e 20 63  ke that TSP NN c
12e40 6f 75 6c 64 20 66 69 6e 64 20 74 68 65 20 3c 62  ould find the <b
12e50 3e 6f 70 74 69 6d 61 6c 3c 2f 62 3e 20 73 6f 6c  >optimal</b> sol
12e60 75 74 69 6f 6e 2c 20 62 75 74 20 69 74 20 63 61  ution, but it ca
12e70 6e 20 71 75 69 63 6b 6c 79 20 66 69 6e 64 20 73  n quickly find s
12e80 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 3c  ome reasonable <
12e90 62 3e 61 70 70 72 6f 78 69 6d 61 74 65 3c 2f 62  b>approximate</b
12ea0 3e 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 66  > solution (<i>f
12eb0 65 77 20 69 73 20 73 75 72 65 6c 79 20 62 65 74  ew is surely bet
12ec0 74 65 72 20 74 68 61 6e 20 6e 6f 74 68 69 6e 67  ter than nothing
12ed0 3c 2f 69 3e 29 2e 3c 62 72 3e 0d 0a 49 6e 20 74  </i>).<br>..In t
12ee0 68 65 20 6d 6f 73 74 20 75 6e 6c 75 63 6b 79 20  he most unlucky 
12ef0 63 61 73 65 20 54 53 50 20 4e 4e 20 63 6f 75 6c  case TSP NN coul
12f00 64 20 70 6f 73 73 69 62 6c 79 20 72 65 74 75 72  d possibly retur
12f10 6e 20 74 68 65 20 3c 62 3e 77 6f 72 73 74 20 73  n the <b>worst s
12f20 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 2c 20 62 75 74  olution</b>, but
12f30 20 74 68 65 20 73 70 65 63 69 66 69 63 20 69 6d   the specific im
12f40 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 64 6f  plementation ado
12f50 70 74 65 64 20 62 79 20 56 69 72 74 75 61 6c 52  pted by VirtualR
12f60 6f 75 74 69 6e 67 20 63 68 65 63 6b 73 20 61 67  outing checks ag
12f70 61 69 6e 73 74 20 74 68 69 73 20 70 6f 73 73 69  ainst this possi
12f80 62 69 6c 69 74 79 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  bility:..<ul>..<
12f90 6c 69 3e 65 61 63 68 20 54 53 50 20 4e 4e 20 69  li>each TSP NN i
12fa0 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 75 74 65  s always compute
12fb0 64 20 74 77 69 63 65 20 62 79 20 72 61 6e 64 6f  d twice by rando
12fc0 6d 6c 79 20 63 68 6f 6f 73 69 6e 67 20 61 20 64  mly choosing a d
12fd0 69 66 66 65 72 65 6e 74 20 3c 75 3e 3c 69 3e 62  ifferent <u><i>b
12fe0 61 73 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e  ase city</i></u>
12ff0 20 61 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 6c   and then normal
13000 69 7a 69 6e 67 20 74 68 65 20 73 6f 6c 75 74 69  izing the soluti
13010 6f 6e 3b 20 74 68 65 20 62 65 73 74 20 6f 66 20  on; the best of 
13020 74 68 65 20 74 77 6f 20 73 6f 6c 75 74 69 6f 6e  the two solution
13030 73 20 69 73 20 74 68 65 6e 20 72 65 74 75 72 6e  s is then return
13040 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68  ed.</li>..<li>th
13050 69 73 20 73 69 6d 70 6c 65 20 62 75 74 20 65 66  is simple but ef
13060 66 65 63 74 69 76 65 20 70 72 65 63 61 75 74 69  fective precauti
13070 6f 6e 20 72 6f 62 75 73 74 6c 79 20 65 6e 73 75  on robustly ensu
13080 72 65 73 20 74 68 61 74 20 74 68 65 20 3c 62 3e  res that the <b>
13090 77 6f 72 73 74 20 73 6f 6c 75 74 69 6f 6e 3c 2f  worst solution</
130a0 62 3e 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65  b> will never be
130b0 20 72 65 74 75 72 6e 65 64 2c 20 61 6e 64 20 6a   returned, and j
130c0 75 73 74 20 69 6d 70 6c 69 65 73 20 61 20 6d 6f  ust implies a mo
130d0 64 65 72 61 74 65 6c 79 20 69 6e 63 72 65 61 73  derately increas
130e0 65 64 20 65 78 65 63 75 74 69 6f 6e 20 74 69 6d  ed execution tim
130f0 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  e.</li>..</ul></
13100 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 53 50 20  li>..<li><b>TSP 
13110 47 41 3c 2f 62 3e 20 28 3c 69 3e 61 6b 61 3c 2f  GA</b> (<i>aka</
13120 69 3e 20 3c 62 3e 3c 69 3e 47 65 6e 65 74 69 63  i> <b><i>Genetic
13130 20 41 6c 67 6f 72 69 74 68 6d 3c 2f 69 3e 3c 2f   Algorithm</i></
13140 62 3e 29 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 3c  b>).<br>..This <
13150 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f  a href="https://
13160 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67  en.wikipedia.org
13170 2f 77 69 6b 69 2f 47 65 6e 65 74 69 63 5f 61 6c  /wiki/Genetic_al
13180 67 6f 72 69 74 68 6d 22 3e 61 6c 74 65 72 6e 61  gorithm">alterna
13190 74 69 76 65 20 61 6c 67 6f 72 69 74 68 6d 3c 2f  tive algorithm</
131a0 61 3e 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 20  a> is much more 
131b0 63 6f 6d 70 6c 65 78 20 61 6e 64 20 73 6f 70 68  complex and soph
131c0 69 73 74 69 63 61 74 65 64 2c 20 61 6e 64 20 69  isticated, and i
131d0 73 20 64 69 72 65 63 74 6c 79 20 69 6e 73 70 69  s directly inspi
131e0 72 65 64 20 62 79 20 62 69 6f 6c 6f 67 69 63 61  red by biologica
131f0 6c 20 63 6f 6e 63 65 70 74 73 20 73 75 63 68 20  l concepts such 
13200 61 73 20 3c 62 3e 73 65 78 75 61 6c 20 72 65 70  as <b>sexual rep
13210 72 6f 64 75 63 74 69 6f 6e 3c 2f 62 3e 2c 20 3c  roduction</b>, <
13220 62 3e 67 65 6e 65 74 69 63 20 6d 75 74 61 74 69  b>genetic mutati
13230 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6e  ons</b> and <b>n
13240 61 74 75 72 61 6c 20 73 65 6c 65 63 74 69 6f 6e  atural selection
13250 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e 53 68  </b>.<br>..<u>Sh
13260 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f 6e 3c  ort description<
13270 2f 75 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  /u>:..<ul>..<li>
13280 61 20 66 69 72 73 74 20 69 6e 69 74 69 61 6c 20  a first initial 
13290 73 65 74 20 6f 66 20 73 6f 6c 75 74 69 6f 6e 73  set of solutions
132a0 20 28 3c 69 3e 3c 75 3e 74 68 65 20 70 6f 70 75   (<i><u>the popu
132b0 6c 61 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 29 20  lation</u></i>) 
132c0 69 73 20 63 72 65 61 74 65 64 20 62 79 20 75 73  is created by us
132d0 69 6e 67 20 54 53 50 20 4e 4e 20 61 66 74 65 72  ing TSP NN after
132e0 20 72 61 6e 64 6f 6d 6c 79 20 63 68 6f 6f 73 69   randomly choosi
132f0 6e 67 20 74 68 65 20 3c 75 3e 3c 69 3e 62 61 73  ng the <u><i>bas
13300 65 20 63 69 74 79 3c 2f 69 3e 3c 2f 75 3e 20 61  e city</i></u> a
13310 6e 64 20 74 68 65 6e 20 6e 6f 72 6d 61 6c 69 7a  nd then normaliz
13320 69 6e 67 20 65 61 63 68 20 73 6f 6c 75 74 69 6f  ing each solutio
13330 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  n.</li>..<li>the
13340 6e 20 64 75 72 69 6e 67 20 65 61 63 68 20 73 74  n during each st
13350 65 70 20 6f 66 20 74 68 65 20 65 78 65 63 75 74  ep of the execut
13360 69 6f 6e 20 6c 6f 6f 70 20 28 3c 69 3e 3c 75 3e  ion loop (<i><u>
13370 67 65 6e 65 72 61 74 69 6f 6e 3c 2f 75 3e 3c 2f  generation</u></
13380 69 3e 29 20 70 61 69 72 73 20 6f 66 20 73 6f 6c  i>) pairs of sol
13390 75 74 69 6f 6e 73 20 3c 69 3e 3c 75 3e 73 65 78  utions <i><u>sex
133a0 75 61 6c 6c 79 20 72 65 70 72 6f 64 75 63 65 73  ually reproduces
133b0 3c 2f 69 3e 3c 2f 75 3e 20 67 69 76 69 6e 67 20  </i></u> giving 
133c0 62 69 72 74 68 20 74 6f 20 3c 75 3e 3c 69 3e 63  birth to <u><i>c
133d0 68 69 6c 64 72 65 6e 20 73 6f 6c 75 74 69 6f 6e  hildren solution
133e0 73 3c 2f 69 3e 3c 2f 75 3e 3b 20 72 65 70 72 6f  s</i></u>; repro
133f0 64 75 63 74 69 6f 6e 20 69 73 20 73 75 62 6a 65  duction is subje
13400 63 74 20 74 6f 20 3c 75 3e 3c 69 3e 63 68 72 6f  ct to <u><i>chro
13410 6d 6f 73 6f 6d 65 20 63 72 6f 73 73 6f 76 65 72  mosome crossover
13420 73 3c 2f 69 3e 3c 2f 75 3e 20 61 6e 64 20 3c 69  s</i></u> and <i
13430 3e 3c 75 3e 72 61 6e 64 6f 6d 20 6d 75 74 61 74  ><u>random mutat
13440 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 2e 3c 2f 6c 69  ion</u></i>.</li
13450 3e 0d 0a 3c 6c 69 3e 66 6f 72 20 65 61 63 68 20  >..<li>for each 
13460 3c 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e  <i><u>generation
13470 3c 2f 75 3e 3c 2f 69 3e 20 74 68 65 20 3c 69 3e  </u></i> the <i>
13480 3c 75 3e 6e 61 74 75 72 61 6c 20 73 65 6c 65 63  <u>natural selec
13490 74 69 6f 6e 3c 2f 75 3e 3c 2f 69 3e 20 65 6c 69  tion</u></i> eli
134a0 6d 69 6e 61 74 65 73 20 61 6c 6c 20 70 6f 6f 72  minates all poor
134b0 6c 79 20 66 69 74 20 69 6e 64 69 76 69 64 75 61  ly fit individua
134c0 6c 73 20 66 72 6f 6d 20 74 68 65 20 3c 75 3e 3c  ls from the <u><
134d0 69 3e 70 6f 70 75 6c 61 74 69 6f 6e 3c 2f 69 3e  i>population</i>
134e0 3c 2f 75 3e 20 61 6e 64 20 63 6f 6e 73 65 71 75  </u> and consequ
134f0 65 6e 74 6c 79 20 6f 6e 6c 79 20 74 68 65 20 62  ently only the b
13500 65 73 74 20 66 69 74 20 69 6e 64 69 76 69 64 75  est fit individu
13510 61 6c 73 20 63 61 6e 20 66 75 72 74 68 65 72 20  als can further 
13520 70 72 6f 70 61 67 61 74 65 20 74 68 65 69 72 20  propagate their 
13530 3c 75 3e 3c 69 3e 67 65 6e 6f 6d 65 3c 2f 69 3e  <u><i>genome</i>
13540 3c 2f 75 3e 20 74 6f 20 74 68 65 20 6e 65 78 74  </u> to the next
13550 20 3c 75 3e 3c 69 3e 67 65 6e 65 72 61 74 69 6f   <u><i>generatio
13560 6e 3c 2f 69 3e 3c 2f 75 3e 2e 3c 2f 6c 69 3e 0d  n</i></u>.</li>.
13570 0a 3c 6c 69 3e 61 66 74 65 72 20 61 20 63 65 72  .<li>after a cer
13580 74 61 69 6e 20 6e 75 6d 62 65 72 20 6f 66 20 3c  tain number of <
13590 69 3e 3c 75 3e 67 65 6e 65 72 61 74 69 6f 6e 73  i><u>generations
135a0 3c 2f 69 3e 3c 2f 75 3e 20 28 6c 65 74 27 73 20  </i></u> (let's 
135b0 73 61 79 20 61 62 6f 75 74 20 73 6f 6d 65 20 68  say about some h
135c0 75 6e 64 72 65 64 74 68 20 69 74 65 72 61 74 69  undredth iterati
135d0 6f 6e 73 29 20 74 68 65 20 3c 62 3e 6f 70 74 69  ons) the <b>opti
135e0 6d 61 6c 20 73 6f 6c 75 74 69 6f 6e 3c 2f 62 3e  mal solution</b>
135f0 20 28 6f 72 20 61 74 20 6c 65 61 73 74 20 61 20   (or at least a 
13600 3c 62 3e 66 61 69 72 6c 79 20 67 6f 6f 64 20 73  <b>fairly good s
13610 75 62 2d 6f 70 74 69 6d 61 6c 20 73 6f 6c 75 74  ub-optimal solut
13620 69 6f 6e 3c 2f 62 3e 29 20 73 68 6f 75 6c 64 20  ion</b>) should 
13630 66 69 6e 61 6c 6c 79 20 65 6d 65 72 67 65 2c 20  finally emerge, 
13640 61 6e 64 20 73 6f 20 74 68 65 20 6c 6f 6f 70 20  and so the loop 
13650 63 61 6e 20 65 78 69 74 2e 3c 2f 6c 69 3e 0d 0a  can exit.</li>..
13660 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </ul></li>..<li>
13670 3c 75 3e 4e 6f 74 65 3c 2f 75 3e 3a 20 54 53 50  <u>Note</u>: TSP
13680 20 47 41 20 69 73 20 75 73 75 61 6c 6c 79 20 65   GA is usually e
13690 78 70 65 63 74 65 64 20 74 6f 20 69 64 65 6e 74  xpected to ident
136a0 69 66 79 20 62 65 74 74 65 72 20 73 6f 6c 75 74  ify better solut
136b0 69 6f 6e 73 20 74 68 61 6e 20 54 53 50 20 4e 4e  ions than TSP NN
136c0 20 63 61 6e 20 64 6f 2c 20 62 75 74 20 69 74 20   can do, but it 
136d0 77 69 6c 6c 20 73 75 72 65 6c 79 20 72 65 71 75  will surely requ
136e0 69 72 65 20 6d 75 63 68 20 6d 6f 72 65 20 74 69  ire much more ti
136f0 6d 65 20 74 6f 20 63 6f 6d 70 6c 65 74 65 2e 3c  me to complete.<
13700 2f 6c 69 3e 20 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62  /li> ..</ul>..<b
13710 72 3e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f  r><br>..Let's no
13720 77 20 65 78 61 6d 69 6e 65 20 61 20 70 72 61 63  w examine a prac
13730 74 69 63 61 6c 20 65 78 61 6d 70 6c 65 20 6f 66  tical example of
13740 20 54 53 50 20 73 6f 6c 76 69 6e 67 20 75 73 69   TSP solving usi
13750 6e 67 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  ng VirtualRoutin
13760 67 2e 20 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  g. ..<verbatim>.
13770 0a 55 50 44 41 54 45 20 62 79 66 6f 6f 74 20 53  .UPDATE byfoot S
13780 45 54 20 52 65 71 75 65 73 74 20 3d 20 27 54 53  ET Request = 'TS
13790 50 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c  P';....SELECT Al
137a0 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74  gorithm, Request
137b0 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d  , Options, Delim
137c0 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20 52  iter, RouteId, R
137d0 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c  outeRow, Role, L
137e0 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72  inkRowid, NodeFr
137f0 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74  om, NodeTo, Cost
13800 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65  , Geometry, Name
13810 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57  ..FROM byfoot..W
13820 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20  HERE NodeFrom = 
13830 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65 54  178731 AND NodeT
13840 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31 39  o = '183286,1819
13850 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38 32  99,184030,183882
13860 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72  ,178754';..</ver
13870 62 61 74 69 6d 3e 0d 0a 41 20 56 69 72 74 75 61  batim>..A Virtua
13880 6c 52 6f 75 74 69 6e 67 20 3c 62 3e 54 53 50 3c  lRouting <b>TSP<
13890 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20 74 68  /b> query has th
138a0 65 20 73 61 6d 65 20 69 64 65 6e 74 69 63 61 6c  e same identical
138b0 20 66 6f 72 6d 20 6f 66 20 61 20 3c 62 3e 6d 75   form of a <b>mu
138c0 6c 74 69 2d 64 65 73 74 69 6e 61 74 69 6f 6e 3c  lti-destination<
138d0 2f 62 3e 20 71 75 65 72 79 3b 20 74 68 65 20 3c  /b> query; the <
138e0 69 3e 3c 75 3e 62 61 73 65 20 63 69 74 79 3c 75  i><u>base city<u
138f0 3e 3c 2f 69 3e 20 69 73 20 61 6c 77 61 79 73 20  ></i> is always 
13900 65 78 70 65 63 74 65 64 20 74 6f 20 63 6f 72 72  expected to corr
13910 65 73 70 6f 6e 64 20 74 6f 20 3c 62 3e 4e 6f 64  espond to <b>Nod
13920 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64 20 61 6c  eFrom</b> and al
13930 6c 20 6f 74 68 65 72 20 3c 69 3e 3c 75 3e 63 69  l other <i><u>ci
13940 74 69 65 73 3c 2f 75 3e 3c 2f 69 3e 20 74 6f 20  ties</u></i> to 
13950 62 65 20 76 69 73 69 74 65 64 20 61 72 65 20 65  be visited are e
13960 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 65 6e  xpected to be en
13970 75 6d 65 72 61 74 65 64 20 69 6e 74 6f 20 61 20  umerated into a 
13980 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74 69 6e 61  <b>multi-destina
13990 74 69 6f 6e 3c 2f 62 3e 20 6c 69 73 74 20 61 73  tion</b> list as
139a0 73 69 67 6e 65 64 20 74 6f 20 3c 62 3e 4e 6f 64  signed to <b>Nod
139b0 65 54 6f 3c 2f 62 3e 2e 0d 0a 3c 75 3e 4e 6f 74  eTo</b>...<u>Not
139c0 65 3c 2f 75 3e 3a 20 79 6f 75 20 6d 75 73 74 20  e</u>: you must 
139d0 65 78 70 6c 69 63 69 74 6c 79 20 73 65 74 20 74  explicitly set t
139e0 68 65 20 63 75 72 72 65 6e 74 20 3c 62 3e 52 65  he current <b>Re
139f0 71 75 65 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e  quest</b> as <b>
13a00 54 53 50 3c 2f 62 3e 2c 20 3c 62 3e 54 53 50 20  TSP</b>, <b>TSP 
13a10 4e 4e 3c 2f 62 3e 20 6f 72 20 3c 62 3e 54 53 50  NN</b> or <b>TSP
13a20 20 47 41 3c 2f 62 3e 20 28 54 53 50 20 61 6e 64   GA</b> (TSP and
13a30 20 54 53 50 20 4e 4e 20 61 72 65 20 73 79 6e 6f   TSP NN are syno
13a40 6e 79 6d 73 29 2e 0d 0a 3c 62 72 3e 3c 62 72 3e  nyms)...<br><br>
13a50 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
13a60 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
13a70 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
13a80 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
13a90 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
13aa0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
13ab0 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
13ac0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
13ad0 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74  d0a0">Request</t
13ae0 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
13af0 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c  d0d0a0">Options<
13b00 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
13b10 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69  "#d0d0a0">Delimi
13b20 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ter</th><th bgco
13b30 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
13b40 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67  uteId</th><th bg
13b50 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
13b60 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
13b70 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
13b80 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
13b90 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
13ba0 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
13bb0 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
13bc0 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
13bd0 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
13be0 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
13bf0 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
13c00 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
13c10 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
13c20 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
13c30 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
13c40 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
13c50 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
13c60 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f  ..<td>Dijkstra</
13c70 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c 2f 74  td><td>TSP NN</t
13c80 64 3e 3c 74 64 3e 46 75 6c 6c 3c 2f 74 64 3e 3c  d><td>Full</td><
13c90 74 64 3e 2c 20 26 23 39 31 3b 64 65 63 3d 34 34  td>, &#91;dec=44
13ca0 2c 20 68 65 78 3d 32 63 26 23 39 33 3b 3c 2f 74  , hex=2c&#93;</t
13cb0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
13cc0 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c  ht">0</td><td al
13cd0 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
13ce0 64 3e 3c 74 64 3e 54 53 50 20 53 6f 6c 75 74 69  d><td>TSP Soluti
13cf0 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  on</td><td>NULL<
13d00 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13d10 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
13d20 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13d30 74 22 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74  t">178731</td><t
13d40 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13d50 31 32 35 34 2e 34 33 33 39 33 33 3c 2f 74 64 3e  1254.433933</td>
13d60 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 32 30 30 30  <td>BLOB sz=2000
13d70 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
13d80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
13d90 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
13da0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
13db0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
13dc0 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69  ><td>NULL<td ali
13dd0 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
13de0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13df0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75  t">0</td><td>Rou
13e00 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  te</td><td>NULL<
13e10 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13e20 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74 64  ight">178731</td
13e30 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
13e40 74 22 3e 31 38 34 30 33 30 3c 2f 74 64 3e 3c 74  t">184030</td><t
13e50 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
13e60 31 37 36 2e 33 36 34 37 35 35 3c 2f 74 64 3e 3c  176.364755</td><
13e70 74 64 3e 42 4c 4f 42 20 73 7a 3d 33 30 34 20 47  td>BLOB sz=304 G
13e80 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e  EOMETRY</td><td>
13e90 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  NULL</td>..</tr>
13ea0 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c  ..<tr>..<td>NULL
13eb0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
13ec0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
13ed0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
13ee0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
13ef0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
13f00 69 67 68 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e  ight">1</td><td>
13f10 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
13f20 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30 31  gn="right">22401
13f30 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
13f40 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
13f50 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
13f60 67 68 74 22 3e 31 38 32 38 38 35 3c 2f 74 64 3e  ght">182885</td>
13f70 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
13f80 22 3e 39 34 2e 38 31 32 34 32 34 3c 2f 74 64 3e  ">94.812424</td>
13f90 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
13fa0 3e 56 49 41 20 50 49 45 54 52 4f 20 41 52 45 54  >VIA PIETRO ARET
13fb0 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  INO</td>..</tr>.
13fc0 0a 3c 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  .<tr>..<tr>..<td
13fd0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
13fe0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
13ff0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14000 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14010 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">2</td><td ali
14020 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64  gn="right">2</td
14030 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
14040 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14050 32 32 34 38 36 32 3c 2f 74 64 3e 3c 74 64 20 61  224862</td><td a
14060 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
14070 38 38 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  885</td><td alig
14080 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 34 33  n="right">182043
14090 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
140a0 72 69 67 68 74 22 3e 33 37 2e 30 39 35 32 38 37  right">37.095287
140b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
140c0 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41 52  d><td>VIA MARGAR
140d0 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ITONE</td>..</tr
140e0 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
140f0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14100 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14110 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14120 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
14130 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14140 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
14150 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
14160 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 36 30  ign="right">2260
14170 37 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  70</td><td align
14180 3d 22 72 69 67 68 74 22 3e 31 38 32 30 34 33 3c  ="right">182043<
14190 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
141a0 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74 64  ight">184030</td
141b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
141c0 74 22 3e 34 34 2e 34 35 37 30 34 34 3c 2f 74 64  t">44.457044</td
141d0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
141e0 64 3e 50 49 41 5a 5a 41 20 53 41 4e 54 27 41 47  d>PIAZZA SANT'AG
141f0 4f 53 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  OSTINO</td>..</t
14200 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
14210 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14220 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14230 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14240 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14250 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
14260 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
14270 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
14280 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
14290 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34 30 33  gn="right">18403
142a0 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
142b0 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f  "right">181999</
142c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
142d0 67 68 74 22 3e 31 33 39 2e 31 31 34 39 33 38 3c  ght">139.114938<
142e0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
142f0 34 39 36 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  496 GEOMETRY</td
14300 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
14310 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
14320 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14330 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14340 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14350 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14360 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">3</td><td ali
14370 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
14380 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
14390 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
143a0 32 32 36 30 37 31 3c 2f 74 64 3e 3c 74 64 20 61  226071</td><td a
143b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 34  lign="right">184
143c0 30 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  030</td><td alig
143d0 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 39  n="right">182629
143e0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
143f0 72 69 67 68 74 22 3e 35 35 2e 36 38 39 30 30 39  right">55.689009
14400 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14410 64 3e 3c 74 64 3e 56 49 41 20 47 49 55 53 45 50  d><td>VIA GIUSEP
14420 50 45 20 47 41 52 49 42 41 4c 44 49 3c 2f 74 64  PE GARIBALDI</td
14430 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
14440 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14450 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14460 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14470 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14480 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 20  ight">3</td><td 
14490 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c  align="right">2<
144a0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
144b0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
144c0 74 22 3e 32 32 35 35 31 32 3c 2f 74 64 3e 3c 74  t">225512</td><t
144d0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
144e0 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20 61  182629</td><td a
144f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32  lign="right">182
14500 39 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  933</td><td alig
14510 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31 38 34  n="right">34.184
14520 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  194</td><td>NULL
14530 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49  </td><td>CORSO I
14540 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  TALIA</td>..</tr
14550 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
14560 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
14570 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
14580 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
14590 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33   align="right">3
145a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
145b0 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64  right">3</td><td
145c0 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
145d0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35  ign="right">2255
145e0 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  11</td><td align
145f0 3d 22 72 69 67 68 74 22 3e 31 38 32 39 33 33 3c  ="right">182933<
14600 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
14610 69 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64  ight">181999</td
14620 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14630 74 22 3e 34 39 2e 32 34 31 37 33 35 3c 2f 74 64  t">49.241735</td
14640 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14650 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f  d>CORSO ITALIA</
14660 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
14670 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  ..<td>NULL</td><
14680 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
14690 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
146a0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
146b0 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
146c0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
146d0 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c  0</td><td>Route<
146e0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
146f0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14700 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74  t">181999</td><t
14710 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14720 31 38 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61  183286</td><td a
14730 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 37  lign="right">217
14740 2e 36 37 32 38 38 35 3c 2f 74 64 3e 3c 74 64 3e  .672885</td><td>
14750 42 4c 4f 42 20 73 7a 3d 36 38 38 20 47 45 4f 4d  BLOB sz=688 GEOM
14760 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  ETRY</td><td>NUL
14770 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  L</td>..</tr>..<
14780 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
14790 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
147a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
147b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
147c0 67 6e 3d 22 72 69 67 68 74 22 3e 34 3c 2f 74 64  gn="right">4</td
147d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
147e0 74 22 3e 31 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">1</td><td>Lin
147f0 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
14800 22 72 69 67 68 74 22 3e 32 32 32 36 33 35 3c 2f  "right">222635</
14810 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14820 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e  ght">181999</td>
14830 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14840 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64  ">181998</td><td
14850 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14860 30 31 2e 36 32 39 37 35 30 3c 2f 74 64 3e 3c 74  01.629750</td><t
14870 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43  d>NULL</td><td>C
14880 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e  ORSO ITALIA</td>
14890 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
148a0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
148b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
148c0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
148d0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
148e0 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61  ght">4</td><td a
148f0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
14900 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
14910 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
14920 22 3e 32 32 34 37 38 30 3c 2f 74 64 3e 3c 74 64  ">224780</td><td
14930 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
14940 38 31 39 39 38 3c 2f 74 64 3e 3c 74 64 20 61 6c  81998</td><td al
14950 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35  ign="right">1835
14960 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  60</td><td align
14970 3d 22 72 69 67 68 74 22 3e 37 33 2e 37 33 33 35  ="right">73.7335
14980 37 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  72</td><td>NULL<
14990 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 4c 4c  /td><td>VIA DELL
149a0 27 41 4e 46 49 54 45 41 54 52 4f 3c 2f 74 64 3e  'ANFITEATRO</td>
149b0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
149c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
149d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
149e0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74  L</td><td>NULL<t
149f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14a00 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
14a10 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c 74  "right">3</td><t
14a20 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
14a30 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35  lign="right">225
14a40 38 32 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  827</td><td alig
14a50 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 35 36 30  n="right">183560
14a60 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14a70 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
14a80 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14a90 68 74 22 3e 34 32 2e 33 30 39 35 36 34 3c 2f 74  ht">42.309564</t
14aa0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14ab0 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49  td>VIA DELL'ANFI
14ac0 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  TEATRO</td>..</t
14ad0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
14ae0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14af0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14b00 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14b10 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14b20 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
14b30 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
14b40 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
14b50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
14b60 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38  gn="right">18328
14b70 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  6</td><td align=
14b80 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f  "right">178754</
14b90 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14ba0 67 68 74 22 3e 33 37 38 2e 33 31 33 36 38 34 3c  ght">378.313684<
14bb0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
14bc0 32 37 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  272 GEOMETRY</td
14bd0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
14be0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
14bf0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14c00 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14c10 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14c20 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14c30 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">5</td><td ali
14c40 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
14c50 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
14c60 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14c70 32 32 34 34 31 34 3c 2f 74 64 3e 3c 74 64 20 61  224414</td><td a
14c80 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
14c90 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  286</td><td alig
14ca0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
14cb0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14cc0 72 69 67 68 74 22 3e 31 33 36 2e 33 37 32 30 35  right">136.37205
14cd0 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
14ce0 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41  td><td>VIA MARGA
14cf0 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  RITONE</td>..</t
14d00 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
14d10 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14d20 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14d30 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
14d40 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
14d50 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  5</td><td align=
14d60 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e 3c 74  "right">2</td><t
14d70 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61  d>Link</td><td a
14d80 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39  lign="right">219
14d90 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  171</td><td alig
14da0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38 38 30  n="right">178880
14db0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
14dc0 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f 74  right">178732</t
14dd0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
14de0 68 74 22 3e 39 33 2e 32 38 35 35 33 38 3c 2f 74  ht">93.285538</t
14df0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14e00 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f  td>VIA FRANCESCO
14e10 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f   CRISPI</td>..</
14e20 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e  tr>..<tr>..<td>N
14e30 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
14e40 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
14e50 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
14e60 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
14e70 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  >5</td><td align
14e80 3d 22 72 69 67 68 74 22 3e 33 3c 2f 74 64 3e 3c  ="right">3</td><
14e90 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20  td>Link</td><td 
14ea0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 31  align="right">21
14eb0 39 30 35 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  9058</td><td ali
14ec0 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33  gn="right">17873
14ed0 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
14ee0 22 72 69 67 68 74 22 3e 31 37 38 37 35 34 3c 2f  "right">178754</
14ef0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
14f00 67 68 74 22 3e 31 34 38 2e 36 35 36 30 38 39 3c  ght">148.656089<
14f10 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14f20 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53  ><td>VIA FRANCES
14f30 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a  CO CRISPI</td>..
14f40 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
14f50 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
14f60 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
14f70 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
14f80 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
14f90 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">5</td><td ali
14fa0 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
14fb0 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
14fc0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
14fd0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37  align="right">17
14fe0 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  8754</td><td ali
14ff0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38  gn="right">18388
15000 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
15010 22 72 69 67 68 74 22 3e 31 38 38 2e 32 31 36 38  "right">188.2168
15020 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  31</td><td>BLOB 
15030 73 7a 3d 34 30 30 20 47 45 4f 4d 45 54 52 59 3c  sz=400 GEOMETRY<
15040 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15050 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
15060 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
15070 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
15080 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
15090 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
150a0 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20  ight">6</td><td 
150b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
150c0 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
150d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
150e0 74 22 3e 32 32 34 35 33 38 3c 2f 74 64 3e 3c 74  t">224538</td><t
150f0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15100 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20 61  178754</td><td a
15110 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31  lign="right">181
15120 39 37 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  972</td><td alig
15130 6e 3d 22 72 69 67 68 74 22 3e 35 30 2e 39 30 30  n="right">50.900
15140 36 36 33 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  663</td><td>NULL
15150 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41 4e 54  </td><td>VIA ANT
15160 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c 49 3c  ONIO GUADAGNOLI<
15170 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
15180 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
15190 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
151a0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
151b0 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61 6c 69  LL</td>..<td ali
151c0 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64  gn="right">6</td
151d0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
151e0 74 22 3e 32 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e  t">2</td><td>Lin
151f0 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  k</td><td align=
15200 22 72 69 67 68 74 22 3e 32 32 34 35 33 37 3c 2f  "right">224537</
15210 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15220 67 68 74 22 3e 31 38 31 39 37 32 3c 2f 74 64 3e  ght">181972</td>
15230 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15240 22 3e 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64  ">182000</td><td
15250 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 38   align="right">8
15260 36 2e 33 30 31 30 35 31 3c 2f 74 64 3e 3c 74 64  6.301051</td><td
15270 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49  >NULL</td><td>VI
15280 41 20 44 45 4c 20 4e 49 4e 46 45 4f 3c 2f 74 64  A DEL NINFEO</td
15290 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
152a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
152b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
152c0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
152d0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
152e0 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20  ight">6</td><td 
152f0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 33 3c  align="right">3<
15300 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
15310 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15320 74 22 3e 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74  t">225527</td><t
15330 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15340 31 38 32 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61  182000</td><td a
15350 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
15360 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  882</td><td alig
15370 6e 3d 22 72 69 67 68 74 22 3e 35 31 2e 30 31 35  n="right">51.015
15380 31 31 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  117</td><td>NULL
15390 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43  </td><td>VIA LIC
153a0 49 4f 20 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e  IO NENCETTI</td>
153b0 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
153c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
153d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
153e0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
153f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15400 67 68 74 22 3e 36 3c 2f 74 64 3e 3c 74 64 20 61  ght">6</td><td a
15410 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
15420 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64  td><td>Route</td
15430 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61 6c 69  ><td>NULL<td ali
15440 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 38 38  gn="right">18388
15450 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
15460 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f  "right">178731</
15470 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
15480 67 68 74 22 3e 31 35 34 2e 37 35 30 38 33 39 3c  ght">154.750839<
15490 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
154a0 32 34 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  240 GEOMETRY</td
154b0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
154c0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
154d0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
154e0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
154f0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
15500 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
15510 74 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">7</td><td ali
15520 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64  gn="right">1</td
15530 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
15540 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
15550 32 32 35 35 32 37 3c 2f 74 64 3e 3c 74 64 20 61  225527</td><td a
15560 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
15570 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  882</td><td alig
15580 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30 30 30  n="right">182000
15590 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
155a0 72 69 67 68 74 22 3e 35 31 2e 30 31 35 31 31 37  right">51.015117
155b0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
155c0 64 3e 3c 74 64 3e 56 49 41 20 4c 49 43 49 4f 20  d><td>VIA LICIO 
155d0 4e 45 4e 43 45 54 54 49 3c 2f 74 64 3e 0d 0a 3c  NENCETTI</td>..<
155e0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
155f0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
15600 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
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 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
15630 22 3e 37 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">7</td><td alig
15640 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f 74 64 3e  n="right">2</td>
15650 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
15660 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
15670 32 32 36 33 36 3c 2f 74 64 3e 3c 74 64 20 61 6c  22636</td><td al
15680 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 30  ign="right">1820
15690 30 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  00</td><td align
156a0 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c  ="right">178731<
156b0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
156c0 69 67 68 74 22 3e 31 30 33 2e 37 33 35 37 32 32  ight">103.735722
156d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
156e0 64 3e 3c 74 64 3e 56 49 41 20 50 49 45 54 52 4f  d><td>VIA PIETRO
156f0 20 41 52 45 54 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c   ARETINO</td>..<
15700 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
15710 3c 62 72 3e 0d 0a 4c 65 74 27 73 20 6e 6f 77 20  <br>..Let's now 
15720 71 75 69 63 6b 6c 79 20 65 78 61 6d 69 6e 65 20  quickly examine 
15730 74 68 65 20 72 65 73 75 6c 74 73 65 74 20 72 65  the resultset re
15740 74 75 72 6e 65 64 20 62 79 20 61 6e 79 20 54 53  turned by any TS
15750 50 20 71 75 65 72 79 3a 0d 0a 3c 75 6c 3e 0d 0a  P query:..<ul>..
15760 3c 6c 69 3e 74 68 65 20 67 65 6e 65 72 61 6c 20  <li>the general 
15770 6c 61 79 6f 75 74 20 69 73 20 6d 6f 72 65 20 6f  layout is more o
15780 72 20 6c 65 73 73 20 74 68 65 20 73 61 6d 65 20  r less the same 
15790 61 73 20 79 6f 75 27 76 65 20 61 6c 72 65 61 64  as you've alread
157a0 79 20 73 65 65 6e 20 69 6e 20 74 68 65 20 63 61  y seen in the ca
157b0 73 65 20 6f 66 20 3c 62 3e 53 68 6f 72 74 65 73  se of <b>Shortes
157c0 74 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 69 65  tPath</b> querie
157d0 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65  s.</li>..<li>the
157e0 20 3c 62 3e 66 69 72 73 74 20 72 6f 77 3c 2f 62   <b>first row</b
157f0 3e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73  > of the results
15800 65 74 20 69 73 20 73 6f 6d 65 77 61 79 20 65 78  et is someway ex
15810 63 65 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69  ceptional, and i
15820 73 20 74 68 65 20 75 6e 69 71 75 65 20 72 6f 77  s the unique row
15830 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 65   of the resultse
15840 74 20 70 72 65 73 65 6e 74 69 6e 67 20 3c 62 3e  t presenting <b>
15850 4e 4f 54 20 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c  NOT NULL</b> val
15860 75 65 73 20 69 6e 20 74 68 65 20 3c 62 3e 41 6c  ues in the <b>Al
15870 67 6f 72 69 74 68 6d 3c 2f 62 3e 2c 20 3c 62 3e  gorithm</b>, <b>
15880 52 65 71 75 65 73 74 3c 2f 62 3e 2c 20 3c 62 3e  Request</b>, <b>
15890 4f 70 74 69 6f 6e 73 3c 2f 62 3e 20 61 6e 64 20  Options</b> and 
158a0 3c 62 3e 44 65 6c 69 6d 69 74 65 72 3c 2f 62 3e  <b>Delimiter</b>
158b0 20 63 6f 6c 75 6d 6e 73 2e 3c 62 72 3e 0d 0a 49   columns.<br>..I
158c0 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 3c  t contains the <
158d0 62 3e 54 53 50 20 73 6f 6c 75 74 69 6f 6e 3c 2f  b>TSP solution</
158e0 62 3e 20 61 73 20 61 20 77 68 6f 6c 65 3a 20 63  b> as a whole: c
158f0 6f 6c 75 6d 6e 20 3c 62 3e 43 6f 73 74 3c 2f 62  olumn <b>Cost</b
15900 3e 20 69 73 20 74 68 65 20 3c 75 3e 74 6f 74 61  > is the <u>tota
15910 6c 20 63 6f 73 74 3c 2f 75 3e 20 61 6e 64 20 63  l cost</u> and c
15920 6f 6c 75 6d 6e 20 3c 62 3e 47 65 6f 6d 65 74 72  olumn <b>Geometr
15930 79 3c 2f 62 3e 20 69 73 20 74 68 65 20 3c 75 3e  y</b> is the <u>
15940 6f 76 65 72 61 6c 6c 20 73 6f 6c 75 74 69 6f 6e  overall solution
15950 20 70 61 74 68 3c 2f 75 3e 2e 3c 2f 6c 69 3e 0d   path</u>.</li>.
15960 0a 3c 6c 69 3e 63 6f 6c 75 6d 6e 73 20 3c 62 3e  .<li>columns <b>
15970 52 6f 75 74 65 49 64 3c 2f 62 3e 20 61 6e 64 20  RouteId</b> and 
15980 3c 62 3e 52 6f 75 74 65 52 6f 77 3c 2f 62 3e 20  <b>RouteRow</b> 
15990 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 69 6e  have the same in
159a0 74 65 72 70 72 65 74 61 74 69 6f 6e 20 61 73 20  terpretation as 
159b0 69 6e 20 3c 62 3e 6d 75 6c 74 69 2d 64 65 73 74  in <b>multi-dest
159c0 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 74  ination Shortest
159d0 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 69 65 73  Path</b> queries
159e0 2c 20 62 75 74 20 69 6e 20 74 68 69 73 20 73 70  , but in this sp
159f0 65 63 69 66 69 63 20 63 61 73 65 20 65 61 63 68  ecific case each
15a00 20 3c 75 3e 3c 69 3e 72 6f 75 74 65 3c 2f 69 3e   <u><i>route</i>
15a10 3c 2f 75 3e 20 63 6f 72 72 65 73 70 6f 6e 64 73  </u> corresponds
15a20 20 74 6f 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e   to a connection
15a30 20 62 65 74 77 65 65 6e 20 74 77 6f 20 3c 69 3e   between two <i>
15a40 3c 75 3e 63 69 74 69 65 73 3c 2f 75 3e 3c 2f 69  <u>cities</u></i
15a50 3e 2e 3c 62 72 3e 0d 0a 41 6c 6c 20 3c 69 3e 3c  >.<br>..All <i><
15a60 75 3e 72 6f 75 74 65 73 3c 2f 75 3e 3c 2f 69 3e  u>routes</u></i>
15a70 20 61 72 65 20 6f 72 64 65 72 20 61 63 63 6f 72   are order accor
15a80 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 72 75  dingly to the ru
15a90 6e 6e 69 6e 67 20 73 65 71 75 65 6e 63 65 20 6f  nning sequence o
15aa0 66 20 74 68 65 20 54 53 50 20 73 6f 6c 75 74 69  f the TSP soluti
15ab0 6f 6e 2e 20 3c 62 3e 52 6f 75 74 65 49 64 3d 30  on. <b>RouteId=0
15ac0 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65 73 20  </b> identifies 
15ad0 74 68 65 20 6f 76 65 72 61 6c 6c 20 54 53 50 20  the overall TSP 
15ae0 73 6f 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a  solution.</li>..
15af0 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c  </ul><br><br>..<
15b00 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41 54  verbatim>..UPDAT
15b10 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65 71  E byfoot SET Req
15b20 75 65 73 74 20 3d 20 27 54 53 50 20 47 41 27 3b  uest = 'TSP GA';
15b30 0d 0a 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72  ....SELECT Algor
15b40 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f  ithm, Request, O
15b50 70 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65  ptions, Delimite
15b60 72 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74  r, RouteId, Rout
15b70 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b  eRow, Role, Link
15b80 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c  Rowid, NodeFrom,
15b90 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47   NodeTo, Cost, G
15ba0 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46  eometry, Name..F
15bb0 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52  ROM byfoot..WHER
15bc0 45 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38  E NodeFrom = 178
15bd0 37 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d  731 AND NodeTo =
15be0 20 27 31 38 33 32 38 36 2c 31 38 31 39 39 39 2c   '183286,181999,
15bf0 31 38 34 30 33 30 2c 31 38 33 38 38 32 2c 31 37  184030,183882,17
15c00 38 37 35 34 27 3b 0d 0a 3c 2f 76 65 72 62 61 74  8754';..</verbat
15c10 69 6d 3e 0d 0a 49 66 20 79 6f 75 20 77 69 73 68  im>..If you wish
15c20 20 74 6f 20 67 65 74 20 61 20 3c 62 3e 54 53 50   to get a <b>TSP
15c30 20 47 41 3c 2f 62 3e 20 73 6f 6c 75 74 69 6f 6e   GA</b> solution
15c40 20 79 6f 75 20 73 69 6d 70 6c 65 20 68 61 76 65   you simple have
15c50 20 74 6f 20 73 65 74 20 3c 62 3e 52 65 71 75 65   to set <b>Reque
15c60 73 74 3c 2f 62 3e 20 61 73 20 3c 62 3e 54 53 50  st</b> as <b>TSP
15c70 20 47 41 3c 2f 62 3e 3b 20 61 6e 64 20 79 6f 75   GA</b>; and you
15c80 20 63 61 6e 20 73 65 74 20 61 67 61 69 6e 20 3c   can set again <
15c90 62 3e 52 65 71 75 65 73 74 3c 2f 62 3e 20 61 73  b>Request</b> as
15ca0 20 3c 62 3e 54 53 50 3c 2f 62 3e 20 6f 72 20 3c   <b>TSP</b> or <
15cb0 62 3e 54 53 50 20 4e 4e 3c 2f 62 3e 20 74 6f 20  b>TSP NN</b> to 
15cc0 72 65 76 65 72 74 20 62 61 63 6b 20 74 6f 20 74  revert back to t
15cd0 68 65 20 73 69 6d 70 6c 65 72 20 2f 20 66 61 73  he simpler / fas
15ce0 74 65 72 20 61 6c 67 6f 72 69 74 68 6d 2e 0d 0a  ter algorithm...
15cf0 3c 62 72 3e 0d 0a 41 6c 73 6f 20 69 6e 20 74 68  <br>..Also in th
15d00 65 20 63 61 73 65 20 6f 66 20 54 53 50 20 79 6f  e case of TSP yo
15d10 75 20 63 61 6e 20 65 76 65 6e 74 75 61 6c 6c 79  u can eventually
15d20 20 61 63 74 69 76 61 74 65 20 74 68 65 20 75 73   activate the us
15d30 75 61 6c 20 3c 62 3e 4f 70 74 69 6f 6e 73 3c 2f  ual <b>Options</
15d40 62 3e 20 61 6c 72 65 61 64 79 20 65 78 70 6c 61  b> already expla
15d50 69 6e 65 64 20 69 6e 20 74 68 65 20 53 68 6f 72  ined in the Shor
15d60 74 65 73 74 50 61 74 68 20 65 78 61 6d 70 6c 65  testPath example
15d70 73 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c  s.<br>..<u>Note<
15d80 2f 75 3e 3a 54 53 50 20 70 72 6f 62 6c 65 6d 73  /u>:TSP problems
15d90 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 69 6d 70   will always imp
15da0 6c 79 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e  ly using the <b>
15db0 44 69 6a 6b 73 74 72 61 27 73 3c 2f 62 3e 20 61  Dijkstra's</b> a
15dc0 6c 67 6f 72 69 74 68 6d 2c 20 65 76 65 6e 20 77  lgorithm, even w
15dd0 68 65 6e 20 74 68 65 20 61 6c 74 65 72 6e 61 74  hen the alternat
15de0 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e 20 61 6c  ive <b>A*</b> al
15df0 67 6f 72 69 74 68 6d 20 69 73 20 63 75 72 72 65  gorithm is curre
15e00 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 2e 0d 0a  ntly selected...
15e10 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41  <verbatim>..UPDA
15e20 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65  TE byfoot SET Re
15e30 71 75 65 73 74 20 3d 20 27 54 53 50 27 2c 20 4f  quest = 'TSP', O
15e40 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 4c 49 4e  ptions = 'NO LIN
15e50 4b 53 27 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20 41  KS';....SELECT A
15e60 6c 67 6f 72 69 74 68 6d 2c 20 52 65 71 75 65 73  lgorithm, Reques
15e70 74 2c 20 4f 70 74 69 6f 6e 73 2c 20 44 65 6c 69  t, Options, Deli
15e80 6d 69 74 65 72 2c 20 52 6f 75 74 65 49 64 2c 20  miter, RouteId, 
15e90 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20  RouteRow, Role, 
15ea0 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46  LinkRowid, NodeF
15eb0 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73  rom, NodeTo, Cos
15ec0 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d  t, Geometry, Nam
15ed0 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a  e..FROM byfoot..
15ee0 57 48 45 52 45 20 4e 6f 64 65 46 72 6f 6d 20 3d  WHERE NodeFrom =
15ef0 20 31 37 38 37 33 31 20 41 4e 44 20 4e 6f 64 65   178731 AND Node
15f00 54 6f 20 3d 20 27 31 38 33 32 38 36 2c 31 38 31  To = '183286,181
15f10 39 39 39 2c 31 38 34 30 33 30 2c 31 38 33 38 38  999,184030,18388
15f20 32 2c 31 37 38 37 35 34 27 3b 0d 0a 3c 2f 76 65  2,178754';..</ve
15f30 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c  rbatim>..The fol
15f40 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f  lowing table sho
15f50 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  ws the resultset
15f60 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
15f70 20 73 61 6d 65 20 54 53 50 20 71 75 65 72 79 20   same TSP query 
15f80 75 73 65 64 20 69 6e 20 74 68 65 20 70 72 65 76  used in the prev
15f90 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 61 66 74  ious example aft
15fa0 65 72 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 20  er enabling the 
15fb0 3c 62 3e 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20  <b>NO LINKS</b> 
15fc0 6f 70 74 69 6f 6e 2e 20 3c 62 72 3e 3c 62 72 3e  option. <br><br>
15fd0 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
15fe0 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
15ff0 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
16000 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
16010 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
16020 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
16030 22 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 74 68 3e  ">Algorithm</th>
16040 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
16050 64 30 61 30 22 3e 52 65 71 75 65 73 74 3c 2f 74  d0a0">Request</t
16060 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23  h><th bgcolor="#
16070 64 30 64 30 61 30 22 3e 4f 70 74 69 6f 6e 73 3c  d0d0a0">Options<
16080 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
16090 22 23 64 30 64 30 61 30 22 3e 44 65 6c 69 6d 69  "#d0d0a0">Delimi
160a0 74 65 72 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f  ter</th><th bgco
160b0 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f  lor="#d0d0a0">Ro
160c0 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68 20 62 67  uteId</th><th bg
160d0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
160e0 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e 3c 74 68  RouteRow</th><th
160f0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
16100 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c 74 68 20  0">Role</th><th 
16110 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
16120 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f 74 68 3e  ">LinkRowid</th>
16130 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
16140 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f 6d 3c 2f  d0a0">NodeFrom</
16150 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
16160 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 54 6f 3c  #d0d0a0">NodeTo<
16170 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
16180 22 23 64 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f  "#d0d0a0">Cost</
16190 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
161a0 23 64 30 64 30 61 30 22 3e 47 65 6f 6d 65 74 72  #d0d0a0">Geometr
161b0 79 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  y</th><th bgcolo
161c0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 61 6d 65  r="#d0d0a0">Name
161d0 3c 2f 74 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </th></tr>..<tr>
161e0 0d 0a 3c 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f  ..<td>Dijkstra</
161f0 74 64 3e 3c 74 64 3e 54 53 50 20 4e 4e 3c 2f 74  td><td>TSP NN</t
16200 64 3e 3c 74 64 3e 4e 6f 20 4c 69 6e 6b 73 3c 2f  d><td>No Links</
16210 74 64 3e 3c 74 64 3e 2c 20 26 23 39 31 3b 64 65  td><td>, &#91;de
16220 63 3d 34 34 2c 20 68 65 78 3d 32 63 26 23 39 33  c=44, hex=2c&#93
16230 3b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  ;</td><td align=
16240 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
16250 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16260 30 3c 2f 74 64 3e 3c 74 64 3e 54 53 50 20 53 6f  0</td><td>TSP So
16270 6c 75 74 69 6f 6e 3c 2f 74 64 3e 3c 74 64 3e 4e  lution</td><td>N
16280 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
16290 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
162a0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
162b0 72 69 67 68 74 22 3e 31 37 38 37 33 31 3c 2f 74  right">178731</t
162c0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
162d0 68 74 22 3e 31 32 35 34 2e 34 33 33 39 33 33 3c  ht">1254.433933<
162e0 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
162f0 32 30 30 30 20 47 45 4f 4d 45 54 52 59 3c 2f 74  2000 GEOMETRY</t
16300 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d  d><td>NULL</td>.
16310 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
16320 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
16330 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
16340 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64  </td><td>NULL<td
16350 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
16360 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
16370 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64  right">0</td><td
16380 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e  >Route</td><td>N
16390 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
163a0 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 31  n="right">178731
163b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
163c0 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f 74  right">184030</t
163d0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
163e0 68 74 22 3e 31 37 36 2e 33 36 34 37 35 35 3c 2f  ht">176.364755</
163f0 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 33  td><td>BLOB sz=3
16400 30 34 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e  04 GEOMETRY</td>
16410 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c  <td>NULL</td>..<
16420 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
16430 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
16440 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
16450 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 74 64 20 61  td><td>NULL<td a
16460 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
16470 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16480 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52  ght">0</td><td>R
16490 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  oute</td><td>NUL
164a0 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
164b0 22 72 69 67 68 74 22 3e 31 38 34 30 33 30 3c 2f  "right">184030</
164c0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
164d0 67 68 74 22 3e 31 38 31 39 39 39 3c 2f 74 64 3e  ght">181999</td>
164e0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
164f0 22 3e 31 33 39 2e 31 31 34 39 33 38 3c 2f 74 64  ">139.114938</td
16500 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 34 39 36  ><td>BLOB sz=496
16510 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64 3e 3c 74   GEOMETRY</td><t
16520 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
16530 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
16540 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
16550 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
16560 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
16570 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
16580 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  3</td><td align=
16590 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
165a0 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c 74 64 3e  d>Route</td><td>
165b0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  NULL</td><td ali
165c0 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39  gn="right">18199
165d0 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  9</td><td align=
165e0 22 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f  "right">183286</
165f0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
16600 67 68 74 22 3e 32 31 37 2e 36 37 32 38 38 35 3c  ght">217.672885<
16610 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d  /td><td>BLOB sz=
16620 36 38 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  688 GEOMETRY</td
16630 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
16640 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
16650 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
16660 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
16670 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
16680 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
16690 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">4</td><td ali
166a0 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64  gn="right">0</td
166b0 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74 64 3e 3c  ><td>Route</td><
166c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
166d0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
166e0 33 32 38 36 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3286</td><td ali
166f0 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 37 35  gn="right">17875
16700 34 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  4</td><td align=
16710 22 72 69 67 68 74 22 3e 33 37 38 2e 33 31 33 36  "right">378.3136
16720 38 34 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20  84</td><td>BLOB 
16730 73 7a 3d 32 37 32 20 47 45 4f 4d 45 54 52 59 3c  sz=272 GEOMETRY<
16740 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
16750 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
16760 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
16770 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
16780 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
16790 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
167a0 69 67 68 74 22 3e 35 3c 2f 74 64 3e 3c 74 64 20  ight">5</td><td 
167b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
167c0 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65 3c 2f 74  /td><td>Route</t
167d0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
167e0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
167f0 3e 31 37 38 37 35 34 3c 2f 74 64 3e 3c 74 64 20  >178754</td><td 
16800 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
16810 33 38 38 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3882</td><td ali
16820 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 38 2e 32  gn="right">188.2
16830 31 36 38 33 31 3c 2f 74 64 3e 3c 74 64 3e 42 4c  16831</td><td>BL
16840 4f 42 20 73 7a 3d 34 30 30 20 47 45 4f 4d 45 54  OB sz=400 GEOMET
16850 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  RY</td><td>NULL<
16860 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
16870 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
16880 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
16890 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
168a0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
168b0 3d 22 72 69 67 68 74 22 3e 36 3c 2f 74 64 3e 3c  ="right">6</td><
168c0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
168d0 3e 30 3c 2f 74 64 3e 3c 74 64 3e 52 6f 75 74 65  >0</td><td>Route
168e0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
168f0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
16900 68 74 22 3e 31 38 33 38 38 32 3c 2f 74 64 3e 3c  ht">183882</td><
16910 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
16920 3e 31 37 38 37 33 31 3c 2f 74 64 3e 3c 74 64 20  >178731</td><td 
16930 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35  align="right">15
16940 34 2e 37 35 30 38 33 39 3c 2f 74 64 3e 3c 74 64  4.750839</td><td
16950 3e 42 4c 4f 42 20 73 7a 3d 32 34 30 20 47 45 4f  >BLOB sz=240 GEO
16960 4d 45 54 52 59 3c 2f 74 64 3e 3c 74 64 3e 4e 55  METRY</td><td>NU
16970 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  LL</td>..</tr>..
16980 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62  </table>..<br><b
16990 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20  r><br>..The map 
169a0 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c  below graphicall
169b0 79 20 73 68 6f 77 73 20 74 68 65 20 70 72 65 76  y shows the prev
169c0 69 6f 75 73 20 3c 62 3e 54 53 50 3c 2f 62 3e 20  ious <b>TSP</b> 
169d0 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e 3c 62  queries...<br><b
169e0 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74  r>..<img src="ht
169f0 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
16a00 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
16a10 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 74 73 70  routing-figs/tsp
16a20 31 2e 6a 70 67 22 20 61 6c 74 3d 22 66 69 67 34  1.jpg" alt="fig4
16a30 22 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 52 65  ">..<ul>..<li>Re
16a40 64 20 73 74 61 72 3a 20 74 68 65 20 3c 75 3e 3c  d star: the <u><
16a50 69 3e 62 61 73 65 2d 63 69 74 79 3c 2f 69 3e 3c  i>base-city</i><
16a60 2f 75 3e 20 28 66 72 6f 6d 20 77 68 65 72 65 20  /u> (from where 
16a70 74 68 65 20 3c 75 3e 3c 69 3e 73 61 6c 65 73 6d  the <u><i>salesm
16a80 61 6e 3c 2f 69 3e 3c 2f 75 3e 29 20 62 65 67 69  an</i></u>) begi
16a90 6e 73 20 68 69 73 2f 68 65 72 20 74 72 69 70 2e  ns his/her trip.
16aa0 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 47 72 65 65 6e  </li>..<li>Green
16ab0 20 64 6f 74 73 3a 20 74 68 65 20 3c 75 3e 3c 69   dots: the <u><i
16ac0 3e 63 69 74 69 65 73 3c 2f 69 3e 3c 2f 75 3e 20  >cities</i></u> 
16ad0 74 6f 20 62 65 20 76 69 73 69 74 65 64 2e 3c 2f  to be visited.</
16ae0 6c 69 3e 0d 0a 3c 6c 69 3e 59 65 6c 6c 6f 77 20  li>..<li>Yellow 
16af0 6c 69 6e 65 3a 20 74 68 65 20 54 53 50 20 73 6f  line: the TSP so
16b00 6c 75 74 69 6f 6e 20 28 74 68 61 74 20 69 73 20  lution (that is 
16b10 61 6c 77 61 79 73 20 61 20 63 69 72 63 75 6c 61  always a circula
16b20 72 20 70 61 74 68 29 2e 3c 2f 6c 69 3e 0d 0a 3c  r path).</li>..<
16b30 2f 75 6c 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65  /ul><br>..<table
16b40 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 62 30 36   bgcolor="#ffb06
16b50 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22  0" cellspacing="
16b60 31 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d  10" cellpadding=
16b70 22 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68  "6"><tr><td>..<h
16b80 33 3e 57 61 72 6e 69 6e 67 3a 20 68 6f 77 20 74  3>Warning: how t
16b90 6f 20 63 6f 72 72 65 63 74 6c 79 20 68 61 6e 64  o correctly hand
16ba0 6c 69 6e 67 20 54 53 50 20 72 65 73 75 6c 74 73  ling TSP results
16bb0 65 74 73 20 77 69 74 68 20 73 70 61 74 69 61 6c  ets with spatial
16bc0 69 74 65 5f 67 75 69 3c 2f 68 33 3e 0d 0a 59 6f  ite_gui</h3>..Yo
16bd0 75 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 66  u should never f
16be0 6f 72 67 65 74 20 6f 72 20 6f 76 65 72 6c 6f 6f  orget or overloo
16bf0 6b 20 74 68 61 74 20 62 6f 74 68 20 3c 62 3e 54  k that both <b>T
16c00 53 50 20 4e 4e 3c 2f 62 3e 20 61 6e 64 20 3c 62  SP NN</b> and <b
16c10 3e 54 53 50 20 47 41 3c 2f 62 3e 20 61 72 65 20  >TSP GA</b> are 
16c20 3c 75 3e 3c 69 3e 68 65 75 72 69 73 74 69 63 20  <u><i>heuristic 
16c30 61 6c 67 6f 72 69 74 68 6d 73 3c 2f 69 3e 3c 2f  algorithms</i></
16c40 75 3e 20 68 65 61 76 69 6c 79 20 72 65 6c 79 69  u> heavily relyi
16c50 6e 67 20 6f 6e 20 3c 75 3e 3c 69 3e 72 61 6e 64  ng on <u><i>rand
16c60 6f 6d 3c 69 3e 3c 2f 75 3e 20 63 68 6f 69 63 65  om<i></u> choice
16c70 73 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 63 6f 75  s.<br>..This cou
16c80 6c 64 20 65 61 73 69 6c 79 20 68 61 76 65 20 74  ld easily have t
16c90 68 65 20 70 72 61 63 74 69 63 61 6c 20 63 6f 6e  he practical con
16ca0 73 65 71 75 65 6e 63 65 20 74 68 61 74 20 72 65  sequence that re
16cb0 73 6f 6c 76 69 6e 67 20 74 77 69 63 65 20 28 6f  solving twice (o
16cc0 72 20 65 76 65 6e 20 6d 6f 72 65 20 74 69 6d 65  r even more time
16cd0 73 29 20 74 68 65 20 73 61 6d 65 20 69 64 65 6e  s) the same iden
16ce0 74 69 63 61 6c 20 54 53 50 20 71 75 65 72 79 20  tical TSP query 
16cf0 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79  could eventually
16d00 20 72 65 74 75 72 6e 20 64 69 66 66 65 72 65 6e   return differen
16d10 74 20 72 65 73 75 6c 74 73 65 74 73 2e 3c 62 72  t resultsets.<br
16d20 3e 0d 0a 54 68 65 72 65 20 69 73 20 6e 6f 74 68  >..There is noth
16d30 69 6e 67 20 69 6e 74 72 69 6e 73 69 63 61 6c 6c  ing intrinsicall
16d40 79 20 77 72 6f 6e 67 20 69 6e 20 74 68 69 73 2c  y wrong in this,
16d50 20 69 74 20 73 69 6d 70 6c 79 20 69 73 20 61 20   it simply is a 
16d60 64 69 72 65 63 74 20 63 6f 6e 73 65 71 75 65 6e  direct consequen
16d70 63 65 20 6f 66 20 75 73 69 6e 67 20 3c 75 3e 3c  ce of using <u><
16d80 69 3e 72 61 6e 64 6f 6d 6e 65 73 73 3c 2f 69 3e  i>randomness</i>
16d90 3c 2f 75 3e 3b 20 77 65 20 61 72 65 20 73 69 6d  </u>; we are sim
16da0 70 6c 79 20 62 61 72 67 61 69 6e 69 6e 67 20 3c  ply bargaining <
16db0 62 3e 65 78 61 63 74 6e 65 73 73 3c 2f 62 3e 20  b>exactness</b> 
16dc0 61 6e 64 20 3c 62 3e 72 65 70 72 6f 64 75 63 69  and <b>reproduci
16dd0 62 69 6c 69 74 79 3c 2f 62 3e 20 66 6f 72 20 3c  bility</b> for <
16de0 62 3e 71 75 69 63 6b 6e 65 73 73 3c 2f 62 3e 2e  b>quickness</b>.
16df0 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 73 70 61  <br><br>..<b>spa
16e00 74 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20  tialite_gui</b> 
16e10 6f 6e 20 69 74 73 20 6f 77 6e 20 61 64 6f 70 74  on its own adopt
16e20 73 20 61 20 3c 62 3e 70 61 67 65 64 20 73 74 72  s a <b>paged str
16e30 61 74 65 67 79 3c 2f 62 3e 20 77 68 65 6e 20 73  ategy</b> when s
16e40 68 6f 77 69 6e 67 20 68 75 67 65 20 72 65 73 75  howing huge resu
16e50 6c 74 73 65 74 73 3b 20 74 68 69 73 20 72 65 71  ltsets; this req
16e60 75 69 72 65 73 20 72 65 70 65 61 74 69 6e 67 20  uires repeating 
16e70 61 67 61 69 6e 20 74 68 65 20 69 6e 69 74 69 61  again the initia
16e80 6c 20 53 51 4c 20 71 75 65 72 79 20 65 61 63 68  l SQL query each
16e90 20 74 69 6d 65 20 74 68 61 74 20 61 20 3c 62 3e   time that a <b>
16ea0 6e 65 77 20 70 61 67 65 20 6f 66 20 35 30 30 20  new page of 500 
16eb0 72 6f 77 73 3c 2f 62 3e 20 68 61 73 20 74 6f 20  rows</b> has to 
16ec0 62 65 20 73 68 6f 77 6e 20 6f 6e 20 74 68 65 20  be shown on the 
16ed0 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 20 70  current window p
16ee0 61 6e 65 6c 2e 3c 62 72 3e 0d 0a 54 68 65 20 74  anel.<br>..The t
16ef0 77 6f 20 74 68 69 6e 67 73 20 64 6f 6e 27 74 20  wo things don't 
16f00 67 6f 20 74 6f 67 65 74 68 65 72 20 77 65 6c 6c  go together well
16f10 3b 20 73 6f 20 64 6f 6e 27 74 20 62 65 20 73 75  ; so don't be su
16f20 72 70 72 69 73 65 64 20 77 68 65 6e 20 65 76 65  rprised when eve
16f30 6e 74 75 61 6c 6c 79 20 64 69 73 63 6f 76 65 72  ntually discover
16f40 69 6e 67 20 74 68 61 74 20 3c 62 3e 73 70 61 74  ing that <b>spat
16f50 69 61 6c 69 74 65 5f 67 75 69 3c 2f 62 3e 20 77  ialite_gui</b> w
16f60 69 6c 6c 20 62 65 68 61 76 65 20 62 69 7a 61 72  ill behave bizar
16f70 72 65 6c 79 20 77 68 69 6c 65 20 70 72 65 73 65  rely while prese
16f80 6e 74 69 6e 67 20 73 6f 6d 65 20 72 65 73 75 6c  nting some resul
16f90 74 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79  tset returned by
16fa0 20 61 20 54 53 50 20 71 75 65 72 79 2e 20 0d 0a   a TSP query. ..
16fb0 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 55 50 44 41  <verbatim>..UPDA
16fc0 54 45 20 62 79 66 6f 6f 74 20 53 45 54 20 52 65  TE byfoot SET Re
16fd0 71 75 65 73 74 20 3d 20 27 54 53 50 27 3b 0d 0a  quest = 'TSP';..
16fe0 0d 0a 43 52 45 41 54 45 20 54 41 42 4c 45 20 6d  ..CREATE TABLE m
16ff0 79 5f 74 73 70 5f 73 6f 6c 75 74 69 6f 6e 20 41  y_tsp_solution A
17000 53 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f 72 69  S..SELECT Algori
17010 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20 4f 70  thm, Request, Op
17020 74 69 6f 6e 73 2c 20 44 65 6c 69 6d 69 74 65 72  tions, Delimiter
17030 2c 20 52 6f 75 74 65 49 64 2c 20 52 6f 75 74 65  , RouteId, Route
17040 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e 6b 52  Row, Role, LinkR
17050 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d 2c 20  owid, NodeFrom, 
17060 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20 47 65  NodeTo, Cost, Ge
17070 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a 46 52  ometry, Name..FR
17080 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45 52 45  OM byfoot..WHERE
17090 20 4e 6f 64 65 46 72 6f 6d 20 3d 20 31 37 38 37   NodeFrom = 1787
170a0 33 31 20 41 4e 44 20 4e 6f 64 65 54 6f 20 3d 20  31 AND NodeTo = 
170b0 27 31 38 33 32 38 36 2c 31 38 31 39 39 39 2c 31  '183286,181999,1
170c0 38 34 30 33 30 2c 31 38 33 38 38 32 2c 31 37 38  84030,183882,178
170d0 37 35 34 27 3b 0d 0a 0d 0a 2e 2e 2e 20 20 3c 6e  754';.......  <n
170e0 6f 77 20 71 75 65 72 79 20 22 6d 79 5f 74 73 70  ow query "my_tsp
170f0 5f 73 6f 6c 75 74 69 6f 6e 22 20 75 73 69 6e 67  _solution" using
17100 20 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 3e   spatialite_gui>
17110 20 20 2e 2e 2e 0d 0a 0d 0a 44 52 4f 50 20 54 41    .......DROP TA
17120 42 4c 45 20 6d 79 5f 74 73 70 5f 73 6f 6c 75 74  BLE my_tsp_solut
17130 69 6f 6e 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  ion;..</verbatim
17140 3e 0d 0a 3c 75 3e 48 69 6e 74 3c 2f 75 3e 3a 20  >..<u>Hint</u>: 
17150 72 65 73 6f 6c 76 69 6e 67 20 74 68 69 73 20 70  resolving this p
17160 75 7a 7a 6c 69 6e 67 20 69 73 73 75 65 20 69 73  uzzling issue is
17170 20 68 6f 77 65 76 65 72 20 62 61 73 69 63 61 6c   however basical
17180 6c 79 20 73 69 6d 70 6c 65 3a 0d 0a 3c 6f 6c 3e  ly simple:..<ol>
17190 0d 0a 3c 6c 69 3e 79 6f 75 20 73 69 6d 70 6c 79  ..<li>you simply
171a0 20 68 61 76 65 20 74 6f 20 74 61 6b 65 20 61 20   have to take a 
171b0 3c 62 3e 73 74 61 74 69 63 20 73 6e 61 70 73 68  <b>static snapsh
171c0 6f 74 3c 2f 62 3e 20 6f 66 20 79 6f 75 72 20 54  ot</b> of your T
171d0 53 50 20 72 65 73 75 6c 74 73 65 74 20 62 79 20  SP resultset by 
171e0 75 73 69 6e 67 20 74 68 65 20 3c 62 3e 43 52 45  using the <b>CRE
171f0 41 54 45 20 54 41 42 4c 45 20 3c 69 3e 6e 61 6d  ATE TABLE <i>nam
17200 65 3c 2f 69 3e 20 41 53 20 3c 69 3e 54 53 50 20  e</i> AS <i>TSP 
17210 71 75 65 72 79 3c 69 3e 3c 2f 62 3e 2e 3c 2f 6c  query<i></b>.</l
17220 69 3e 0d 0a 3c 6c 69 3e 74 68 65 6e 20 79 6f 75  i>..<li>then you
17230 20 63 61 6e 20 66 72 65 65 6c 79 20 65 78 61 6d   can freely exam
17240 69 6e 65 20 74 68 65 20 61 62 6f 76 65 20 73 6e  ine the above sn
17250 61 70 73 68 6f 74 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  apshot.</li>..<l
17260 69 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20 79 6f  i>and finally yo
17270 75 20 63 61 6e 20 64 75 6c 79 20 3c 62 3e 44 52  u can duly <b>DR
17280 4f 50 3c 2f 62 3e 20 74 68 65 20 73 6e 61 70 73  OP</b> the snaps
17290 68 6f 74 20 6f 6e 63 65 20 69 74 27 73 20 6e 6f  hot once it's no
172a0 20 6c 6f 6e 67 65 72 20 75 73 65 66 75 6c 2e 3c   longer useful.<
172b0 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 2f 74  /li>..</ol>..</t
172c0 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  d></tr>..</table
172d0 3e 0d 0a 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  >..<br>..<table 
172e0 62 67 63 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30  bgcolor="#c0ffc0
172f0 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31  " cellspacing="1
17300 30 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22  0" cellpadding="
17310 36 22 3e 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33  6"><tr><td>..<h3
17320 3e 4d 6f 72 65 20 61 62 6f 75 74 20 4c 69 6e 65  >More about Line
17330 61 72 20 52 65 66 65 72 65 6e 63 69 6e 67 20 61  ar Referencing a
17340 6e 64 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e  nd VirtualRoutin
17350 67 20 4c 69 6e 65 73 74 72 69 6e 67 73 3c 2f 68  g Linestrings</h
17360 33 3e 20 0d 0a 59 6f 75 20 68 61 76 65 20 61 6c  3> ..You have al
17370 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 61 20  ready seen in a 
17380 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65  previous example
17390 20 74 68 61 74 20 61 6c 6c 20 4c 49 4e 45 53 54   that all LINEST
173a0 52 49 4e 47 73 20 63 72 65 61 74 65 64 20 62 79  RINGs created by
173b0 20 56 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20   VirtualRouting 
173c0 73 75 70 70 6f 72 74 20 74 68 65 20 3c 62 3e 4d  support the <b>M
173d0 3c 2f 62 3e 20 28 3c 62 3e 3c 69 3e 6d 65 61 73  </b> (<b><i>meas
173e0 75 72 65 3c 2f 69 3e 3c 2f 62 3e 29 20 63 6f 6f  ure</i></b>) coo
173f0 72 64 69 6e 61 74 65 20 69 6e 74 65 6e 64 65 64  rdinate intended
17400 20 61 73 20 61 20 3c 62 3e 70 72 6f 67 72 65 73   as a <b>progres
17410 73 69 76 65 20 63 6f 73 74 3c 2f 62 3e 20 66 6f  sive cost</b> fo
17420 72 20 65 61 63 68 20 76 65 72 74 65 78 2e 20 41  r each vertex. A
17430 6e 64 20 79 6f 75 20 61 6c 72 65 61 64 79 20 6b  nd you already k
17440 6e 6f 77 20 74 68 65 20 74 68 65 79 20 63 61 6e  now the they can
17450 20 73 75 70 70 6f 72 74 20 3c 62 3e 3c 69 3e 6c   support <b><i>l
17460 69 6e 65 61 72 20 72 65 66 65 72 65 6e 63 69 6e  inear referencin
17470 67 3c 2f 69 3e 3c 2f 62 3e 20 28 3c 62 3e 4c 52  g</i></b> (<b>LR
17480 3c 2f 62 3e 29 20 53 51 4c 20 66 75 6e 63 74 69  </b>) SQL functi
17490 6f 6e 73 2e 3c 62 72 3e 0d 0a 4c 65 74 27 73 20  ons.<br>..Let's 
174a0 6e 6f 77 20 67 6f 20 69 6e 20 66 75 72 74 68 65  now go in furthe
174b0 72 20 64 65 70 74 68 2e 0d 0a 3c 68 33 3e 54 72  r depth...<h3>Tr
174c0 61 6a 65 63 74 6f 72 79 20 6f 62 6a 65 63 74 73  ajectory objects
174d0 3c 2f 68 33 3e 0d 0a 41 20 3c 62 3e 54 72 61 6a  </h3>..A <b>Traj
174e0 65 63 74 6f 72 79 3c 2f 62 3e 20 69 73 20 61 6e  ectory</b> is an
174f0 79 20 4c 69 6e 65 73 74 72 69 6e 67 20 73 75 70  y Linestring sup
17500 70 6f 72 74 69 6e 67 20 3c 62 3e 4d 20 63 6f 6f  porting <b>M coo
17510 72 64 69 6e 61 74 65 73 3c 2f 62 3e 20 77 69 74  rdinates</b> wit
17520 68 20 61 20 63 6f 6e 74 69 6e 75 6f 75 73 6c 79  h a continuously
17530 20 69 6e 63 72 65 61 73 69 6e 67 20 74 72 65 6e   increasing tren
17540 64 2e 3c 62 72 3e 0d 0a 49 6e 20 73 69 6d 70 6c  d.<br>..In simpl
17550 65 72 20 77 6f 72 64 73 2c 20 74 68 65 20 3c 62  er words, the <b
17560 3e 4d 2d 76 61 6c 75 65 3c 2f 62 3e 20 6f 66 20  >M-value</b> of 
17570 65 61 63 68 20 76 65 72 74 65 78 20 28 65 78 63  each vertex (exc
17580 65 70 74 20 74 68 65 20 6c 61 73 74 20 6f 6e 65  ept the last one
17590 29 20 6d 75 73 74 20 62 65 20 3c 62 3e 6c 65 73  ) must be <b>les
175a0 73 65 72 3c 2f 62 3e 20 74 68 61 6e 20 74 68 65  ser</b> than the
175b0 20 4d 2d 56 61 6c 75 65 20 6f 66 20 74 68 65 20   M-Value of the 
175c0 6e 65 78 74 20 76 65 72 74 65 78 2e 0d 0a 3c 76  next vertex...<v
175d0 65 72 62 61 74 69 6d 3e 0d 0a 53 45 4c 45 43 54  erbatim>..SELECT
175e0 20 2a 20 46 52 4f 4d 20 6d 79 5f 74 73 70 5f 73   * FROM my_tsp_s
175f0 6f 6c 75 74 69 6f 6e 20 57 48 45 52 45 20 53 54  olution WHERE ST
17600 5f 49 73 56 61 6c 69 64 54 72 61 6a 65 63 74 6f  _IsValidTrajecto
17610 72 79 28 67 65 6f 6d 65 74 72 79 29 20 3d 20 31  ry(geometry) = 1
17620 3b 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ;..-------------
17630 2d 2d 2d 2d 2d 2d 0d 0a 31 0d 0a 3c 2f 76 65 72  ------..1..</ver
17640 62 61 74 69 6d 3e 0d 0a 41 73 20 79 6f 75 20 63  batim>..As you c
17650 61 6e 20 65 61 73 69 6c 79 20 63 68 65 63 6b 20  an easily check 
17660 62 79 20 63 61 6c 6c 69 6e 67 20 3c 62 3e 53 54  by calling <b>ST
17670 5f 49 73 56 61 6c 69 64 54 72 61 6a 65 63 74 6f  _IsValidTrajecto
17680 72 79 28 29 3c 2f 62 3e 20 65 76 65 72 79 20 4c  ry()</b> every L
17690 69 6e 65 73 74 72 69 6e 67 20 63 72 65 61 74 65  inestring create
176a0 64 20 62 79 20 56 69 72 74 75 61 6c 52 6f 75 74  d by VirtualRout
176b0 69 6e 67 20 69 73 20 61 20 3c 62 3e 76 61 6c 69  ing is a <b>vali
176c0 64 20 54 72 61 6a 65 63 74 6f 72 79 3c 2f 62 3e  d Trajectory</b>
176d0 2e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 53  ...<verbatim>..S
176e0 45 4c 45 43 54 20 53 54 5f 54 72 61 6a 65 63 74  ELECT ST_Traject
176f0 6f 72 79 49 6e 74 65 72 70 6f 6c 61 74 65 50 6f  oryInterpolatePo
17700 69 6e 74 28 47 65 6f 6d 65 74 72 79 2c 20 31 30  int(Geometry, 10
17710 30 2e 30 29 0d 0a 46 52 4f 4d 20 6d 79 5f 74 73  0.0)..FROM my_ts
17720 70 5f 73 6f 6c 75 74 69 6f 6e 0d 0a 57 48 45 52  p_solution..WHER
17730 45 20 52 6f 75 74 65 49 64 20 3d 20 30 3b 0d 0a  E RouteId = 0;..
17740 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 53 6f 20  </verbatim>..So 
17750 79 6f 75 20 6a 75 73 74 20 68 61 76 65 20 74 6f  you just have to
17760 20 63 61 6c 6c 20 3c 62 3e 53 54 5f 54 72 61 6a   call <b>ST_Traj
17770 65 63 74 6f 72 79 49 6e 74 65 72 70 6f 6c 61 74  ectoryInterpolat
17780 65 50 6f 69 6e 74 28 29 3c 2f 62 3e 20 69 6e 20  ePoint()</b> in 
17790 6f 72 64 65 72 20 74 6f 20 63 72 65 61 74 65 20  order to create 
177a0 61 20 50 4f 49 4e 54 20 70 72 65 63 69 73 65 6c  a POINT precisel
177b0 79 20 6c 6f 63 61 74 65 64 20 6f 6e 20 74 68 65  y located on the
177c0 20 4c 69 6e 65 73 74 72 69 6e 67 20 61 74 20 74   Linestring at t
177d0 68 65 20 67 69 76 65 6e 20 3c 62 3e 63 6f 73 74  he given <b>cost
177e0 3c 2f 62 3e 2e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c  </b>...<br><br><
177f0 68 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65  hr><br><br>..The
17800 20 73 69 64 65 20 6d 61 70 20 67 72 61 70 68 69   side map graphi
17810 63 61 6c 6c 79 20 73 68 6f 77 73 20 74 68 65 20  cally shows the 
17820 65 73 74 69 6d 61 74 65 64 20 70 6f 73 69 74 69  estimated positi
17830 6f 6e 73 20 65 76 65 72 79 20 31 30 30 6d 20 61  ons every 100m a
17840 73 73 75 6d 69 6e 67 20 74 68 65 20 73 61 6d 65  ssuming the same
17850 20 70 61 74 68 20 72 65 74 75 72 6e 65 64 20 62   path returned b
17860 79 20 74 68 65 20 6c 61 74 65 73 74 20 54 53 50  y the latest TSP
17870 20 71 75 65 72 79 2e 0d 0a 3c 2f 74 64 3e 3c 74   query...</td><t
17880 64 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20  d>              
17890 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
178a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
178b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
178c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
178d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
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 0d 0a 3c 69 6d 67 20           ..<img 
1ffd0 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77  src="https://www
1ffe0 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69  .gaia-gis.it/gai
1fff0 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e 67 2d 66  a-sins/routing-f
20000 69 67 73 2f 74 73 70 32 2e 6a 70 67 22 20 61 6c  igs/tsp2.jpg" al
20010 74 3d 22 66 69 67 35 22 3e 0d 0a 3c 2f 74 64 3e  t="fig5">..</td>
20020 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a 3c  </tr></table>..<
20030 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 3c 62 72  br><br>..<hr><br
20040 3e 0d 0a 3c 68 31 3e 3c 61 20 6e 61 6d 65 3d 22  >..<h1><a name="
20050 70 32 70 22 3e 38 20 2d 20 53 6f 6c 76 69 6e 67  p2p">8 - Solving
20060 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20   Point-to-Point 
20070 70 72 6f 62 6c 65 6d 73 3c 2f 61 3e 3c 2f 68 31  problems</a></h1
20080 3e 0d 0a 41 20 3c 62 3e 50 6f 69 6e 74 2d 74 6f  >..A <b>Point-to
20090 2d 50 6f 69 6e 74 3c 2f 62 3e 20 71 75 65 72 79  -Point</b> query
200a0 20 69 73 20 76 65 72 79 20 73 69 6d 69 6c 61 72   is very similar
200b0 20 74 6f 20 61 20 6d 6f 73 74 20 75 73 75 61 6c   to a most usual
200c0 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74 69   <b>single-desti
200d0 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 74 20  nation Shortest 
200e0 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 79 2c 20  Path</b> query, 
200f0 65 78 63 65 70 74 20 74 68 61 74 3a 0d 0a 3c 75  except that:..<u
20100 6c 3e 0d 0a 3c 6c 69 3e 41 20 63 6c 61 73 73 69  l>..<li>A classi
20110 63 20 53 68 6f 72 74 65 73 74 20 50 61 74 68 20  c Shortest Path 
20120 71 75 65 72 79 20 72 65 71 75 69 72 65 73 20 74  query requires t
20130 6f 20 73 70 65 63 69 66 79 20 61 20 3c 62 3e 4e  o specify a <b>N
20140 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 28 3c 75 3e  odeFrom</b> (<u>
20150 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69 3e 3c 2f 75  <i>origin</i></u
20160 3e 29 20 61 6e 64 20 61 20 3c 62 3e 4e 6f 64 65  >) and a <b>Node
20170 54 6f 3c 2f 62 3e 20 28 3c 75 3e 3c 69 3e 64 65  To</b> (<u><i>de
20180 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e 3c 2f 75  stination</i></u
20190 3e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20  >).</li>..<li>A 
201a0 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71  Point-to-Point q
201b0 75 65 72 79 20 68 61 73 20 6d 6f 72 65 20 72 65  uery has more re
201c0 6c 61 78 65 64 20 72 65 71 75 69 73 69 74 65 73  laxed requisites
201d0 2c 20 61 6e 64 20 6a 75 73 74 20 72 65 71 75 69  , and just requi
201e0 72 65 73 20 74 6f 20 73 70 65 63 69 66 79 20 61  res to specify a
201f0 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62   <b>PointFrom</b
20200 3e 20 28 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c  > (<u><i>origin<
20210 2f 69 3e 3c 2f 75 3e 29 20 61 6e 64 20 61 20 3c  /i></u>) and a <
20220 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e 20 28 3c  b>PointTo</b> (<
20230 75 3e 3c 69 3e 64 65 73 74 69 6e 61 74 69 6f 6e  u><i>destination
20240 3c 2f 69 3e 3c 2f 75 3e 29 2e 3c 62 72 3e 0d 0a  </i></u>).<br>..
20250 42 6f 74 68 20 3c 62 3e 50 6f 69 6e 74 73 3c 2f  Both <b>Points</
20260 62 3e 20 63 61 6e 20 62 65 20 66 72 65 65 6c 79  b> can be freely
20270 20 70 6f 73 69 74 69 6f 6e 65 64 20 65 76 65 72   positioned ever
20280 79 77 68 65 72 65 20 6f 6e 20 61 20 6d 61 70 2c  ywhere on a map,
20290 20 61 6e 64 20 61 72 65 20 6e 6f 74 20 72 65 71   and are not req
202a0 75 69 72 65 64 20 74 6f 20 70 72 65 63 69 73 65  uired to precise
202b0 6c 79 20 69 6e 74 65 72 73 65 63 74 20 6e 65 69  ly intersect nei
202c0 74 68 65 72 20 61 20 3c 62 3e 4e 6f 64 65 3c 2f  ther a <b>Node</
202d0 62 3e 20 6e 6f 72 20 61 20 3c 62 3e 4c 69 6e 6b  b> nor a <b>Link
202e0 3c 2f 62 3e 20 6f 66 20 74 68 65 20 75 6e 64 65  </b> of the unde
202f0 72 6c 61 79 69 6e 67 20 4e 65 74 77 6f 72 6b 2e  rlaying Network.
20300 3c 62 72 3e 0d 0a 54 68 65 20 50 6f 69 6e 74 2d  <br>..The Point-
20310 74 6f 2d 50 6f 69 6e 74 27 73 20 3c 75 3e 3c 69  to-Point's <u><i
20320 3e 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69 63 3c  >internal logic<
20330 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c 20 74 68 65  /i></u> will the
20340 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  n automatically 
20350 69 64 65 6e 74 69 66 79 20 28 69 66 20 70 6f 73  identify (if pos
20360 73 69 62 6c 65 29 20 74 68 65 20 61 70 70 72 6f  sible) the appro
20370 70 72 69 61 74 65 20 4e 6f 64 65 73 20 66 6f 72  priate Nodes for
20380 20 63 6f 6d 70 75 74 69 6e 67 20 61 20 53 68 6f   computing a Sho
20390 72 74 65 73 74 20 50 61 74 68 20 73 6f 6c 75 74  rtest Path solut
203a0 69 6f 6e 2e 3c 62 72 3e 0d 0a 3c 75 3e 4e 6f 74  ion.<br>..<u>Not
203b0 65 3c 2f 75 3e 3a 20 74 68 65 20 74 77 6f 20 50  e</u>: the two P
203c0 6f 69 6e 74 73 20 3c 62 3e 6d 75 73 74 3c 2f 62  oints <b>must</b
203d0 3e 20 62 65 20 69 6e 20 74 68 65 20 73 61 6d 65  > be in the same
203e0 20 3c 62 3e 53 52 49 44 3c 2f 62 3e 20 6f 66 20   <b>SRID</b> of 
203f0 74 68 65 20 75 6e 64 65 72 6c 61 79 69 6e 67 20  the underlaying 
20400 4e 65 74 77 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 3c  Network.</li>..<
20410 2f 75 6c 3e 0d 0a 3c 68 33 3e 48 6f 77 20 69 74  /ul>..<h3>How it
20420 20 70 72 61 63 74 69 63 61 6c 6c 79 20 77 6f 72   practically wor
20430 6b 73 3c 2f 68 33 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c  ks</h3>..<ol>..<
20440 6c 69 3e 61 20 66 69 72 73 74 20 3c 75 3e 3c 69  li>a first <u><i
20450 3e 73 70 61 74 69 61 6c 20 73 65 61 72 63 68 3c  >spatial search<
20460 2f 69 3e 3c 2f 75 3e 20 62 61 73 65 64 20 6f 6e  /i></u> based on
20470 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 46 72 6f   the <b>PointFro
20480 6d 3c 2f 62 3e 20 77 69 6c 6c 20 61 74 74 65 6d  m</b> will attem
20490 70 74 20 74 6f 20 69 64 65 6e 74 69 66 79 20 61  pt to identify a
204a0 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c 2f 62 3e 20  ll <b>Links</b> 
204b0 66 61 6c 6c 69 6e 67 20 77 69 74 68 69 6e 20 61  falling within a
204c0 20 67 69 76 65 6e 20 3c 62 3e 74 6f 6c 65 72 61   given <b>tolera
204d0 6e 63 65 20 72 61 64 69 75 73 3c 2f 62 3e 20 66  nce radius</b> f
204e0 72 6f 6d 20 74 68 65 20 50 6f 69 6e 74 2e 3c 2f  rom the Point.</
204f0 6c 69 3e 0d 0a 3c 6c 69 3e 61 20 73 65 63 6f 6e  li>..<li>a secon
20500 64 20 73 69 6d 69 6c 61 72 20 73 70 61 74 69 61  d similar spatia
20510 6c 20 73 65 61 72 63 68 20 77 69 6c 6c 20 61 74  l search will at
20520 74 65 6d 70 74 20 74 6f 20 69 64 65 6e 74 69 66  tempt to identif
20530 79 20 61 6c 6c 20 3c 62 3e 4c 69 6e 6b 73 3c 2f  y all <b>Links</
20540 62 3e 20 72 65 6c 61 74 65 64 20 74 6f 20 74 68  b> related to th
20550 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e  e <b>PointTo</b>
20560 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20  .</li>..<li>all 
20570 3c 62 3e 4e 6f 64 65 73 3c 2f 62 3e 20 62 65 6c  <b>Nodes</b> bel
20580 6f 6e 67 69 6e 67 20 74 6f 20 61 6e 79 20 3c 62  onging to any <b
20590 3e 4c 69 6e 6b 3c 2f 62 3e 20 69 64 65 6e 74 69  >Link</b> identi
205a0 66 69 65 64 20 62 79 20 74 68 65 20 66 69 72 73  fied by the firs
205b0 74 20 73 70 61 74 69 61 6c 20 73 65 61 72 63 68  t spatial search
205c0 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65   will be conside
205d0 72 65 64 20 61 73 20 70 6f 73 73 69 62 6c 65 20  red as possible 
205e0 3c 62 3e 4e 6f 64 65 46 72 6f 6d 20 63 61 6e 64  <b>NodeFrom cand
205f0 69 64 61 74 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e  idates</b>.</li>
20600 0d 0a 3c 6c 69 3e 61 6e 64 20 73 79 6d 6d 65 74  ..<li>and symmet
20610 72 69 63 61 6c 6c 79 2c 20 61 6c 6c 20 3c 62 3e  rically, all <b>
20620 4e 6f 64 65 73 3c 2f 62 3e 20 62 65 6c 6f 6e 67  Nodes</b> belong
20630 69 6e 67 20 74 6f 20 61 6e 79 20 3c 62 3e 4c 69  ing to any <b>Li
20640 6e 6b 3c 2f 62 3e 20 69 64 65 6e 74 69 66 69 65  nk</b> identifie
20650 64 20 62 79 20 74 68 65 20 73 65 63 6f 6e 64 20  d by the second 
20660 73 70 61 74 69 61 6c 20 73 65 61 72 63 68 20 77  spatial search w
20670 69 6c 6c 20 62 65 20 63 6f 6e 73 69 64 65 72 65  ill be considere
20680 64 20 61 73 20 70 6f 73 73 69 62 6c 65 20 3c 62  d as possible <b
20690 3e 4e 6f 64 65 54 6f 20 63 61 6e 64 69 64 61 74  >NodeTo candidat
206a0 65 73 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  es</b>.</li>..<l
206b0 69 3e 61 20 66 75 6c 6c 20 70 65 72 6d 75 74 61  i>a full permuta
206c0 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 53 68 6f 72  tion of all Shor
206d0 74 65 73 74 20 50 61 74 68 20 73 6f 6c 75 74 69  test Path soluti
206e0 6f 6e 73 20 63 6f 6e 6e 65 63 74 69 6e 67 20 6f  ons connecting o
206f0 6e 65 20 74 68 65 20 46 72 6f 6d 20 63 61 6e 64  ne the From cand
20700 69 64 61 74 65 73 20 74 6f 20 6f 6e 65 20 6f 66  idates to one of
20710 20 74 68 65 20 54 6f 20 63 61 6e 64 69 64 61 74   the To candidat
20720 65 73 20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20  es will be then 
20730 63 6f 6d 70 75 74 65 64 2e 3c 2f 6c 69 3e 0d 0a  computed.</li>..
20740 3c 6c 69 3e 61 6e 64 20 66 69 6e 61 6c 6c 79 20  <li>and finally 
20750 74 68 65 20 3c 62 3e 6f 70 74 69 6d 61 6c 20 50  the <b>optimal P
20760 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f  oint-to-Point so
20770 6c 75 74 69 6f 6e 3c 2f 62 3e 20 77 69 6c 6c 20  lution</b> will 
20780 62 65 20 73 65 6c 65 63 74 65 64 20 62 79 20 69  be selected by i
20790 64 65 6e 74 69 66 79 69 6e 67 20 77 68 69 63 68  dentifying which
207a0 20 73 70 65 63 69 66 69 63 20 63 61 6e 64 69 64   specific candid
207b0 61 74 65 20 70 72 65 73 65 6e 74 73 20 74 68 65  ate presents the
207c0 20 3c 62 3e 6c 65 73 73 65 72 20 43 6f 73 74 3c   <b>lesser Cost<
207d0 2f 62 3e 20 6f 66 20 74 68 65 6d 20 61 6c 6c 2e  /b> of them all.
207e0 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 3c 62 72 3e  </li>..</ol><br>
207f0 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
20800 3d 22 23 66 66 62 30 36 30 22 20 63 65 6c 6c 73  ="#ffb060" cells
20810 70 61 63 69 6e 67 3d 22 31 30 22 20 63 65 6c 6c  pacing="10" cell
20820 70 61 64 64 69 6e 67 3d 22 36 22 3e 3c 74 72 3e  padding="6"><tr>
20830 3c 74 64 3e 0d 0a 3c 68 33 3e 42 65 20 61 77 61  <td>..<h3>Be awa
20840 72 65 3c 2f 68 33 3e 0d 0a 41 74 74 65 6d 70 74  re</h3>..Attempt
20850 69 6e 67 20 74 6f 20 73 6f 6c 76 65 20 50 6f 69  ing to solve Poi
20860 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72  nt-to-Point quer
20870 69 65 73 20 73 74 72 69 63 74 6c 79 20 72 65 71  ies strictly req
20880 75 69 72 65 73 20 74 68 61 74 20 61 6e 20 61 70  uires that an ap
20890 70 72 6f 70 72 69 61 74 65 20 3c 62 3e 53 70 61  propriate <b>Spa
208a0 74 69 61 6c 20 49 6e 64 65 78 3c 2f 62 3e 20 63  tial Index</b> c
208b0 61 6e 20 65 66 66 65 63 74 69 76 65 6c 79 20 73  an effectively s
208c0 75 70 70 6f 72 74 20 61 6c 6c 20 4c 69 6e 6b 73  upport all Links
208d0 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 61 79   of the underlay
208e0 69 6e 67 20 4e 65 74 77 6f 72 6b 2e 3c 62 72 3e  ing Network.<br>
208f0 0d 0a 49 66 20 73 75 63 68 20 61 20 72 65 71 75  ..If such a requ
20900 69 73 69 74 65 20 69 73 20 6e 6f 74 20 73 61 74  isite is not sat
20910 69 73 66 69 65 64 20 74 68 65 20 61 62 6f 76 65  isfied the above
20920 20 6d 65 6e 74 69 6f 6e 65 64 20 3c 75 3e 3c 69   mentioned <u><i
20930 3e 73 70 61 74 69 61 6c 20 73 65 61 72 63 68 65  >spatial searche
20940 73 3c 2f 69 3e 3c 2f 75 3e 20 77 69 6c 6c 20 6d  s</i></u> will m
20950 69 73 65 72 61 62 6c 79 20 66 61 69 6c 2c 20 61  iserably fail, a
20960 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79 20  nd consequently 
20970 61 6c 6c 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69  all Point-to-Poi
20980 6e 74 20 71 75 65 72 69 65 73 20 77 69 6c 6c 20  nt queries will 
20990 62 65 20 75 6e 61 62 6c 65 20 74 6f 20 69 64 65  be unable to ide
209a0 6e 74 69 66 79 20 61 6e 79 20 70 6f 73 73 69 62  ntify any possib
209b0 6c 65 20 43 61 6e 64 69 64 61 74 65 20 74 6f 20  le Candidate to 
209c0 62 65 20 65 76 61 6c 75 61 74 65 64 2e 0d 0a 3c  be evaluated...<
209d0 68 33 3e 41 6c 77 61 79 73 20 72 65 6d 65 6d 62  h3>Always rememb
209e0 65 72 3c 2f 68 33 3e 0d 0a 43 61 72 65 66 75 6c  er</h3>..Careful
209f0 6c 79 20 63 68 65 63 6b 20 69 66 20 61 6e 20 61  ly check if an a
20a00 70 70 72 6f 70 72 69 61 74 65 20 53 70 61 74 69  ppropriate Spati
20a10 61 6c 20 49 6e 64 65 78 20 64 6f 20 72 65 61 6c  al Index do real
20a20 6c 79 20 65 78 69 73 74 73 20 62 65 66 6f 72 65  ly exists before
20a30 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 65   attempting to e
20a40 78 65 63 75 74 65 20 61 6e 79 20 50 6f 69 6e 74  xecute any Point
20a50 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79 2e  -to-Point query.
20a60 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 2f 74 64  ..<br><br>..</td
20a70 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 0d 0a  ></tr></table>..
20a80 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
20a90 6f 6c 6f 72 3d 22 23 63 30 66 66 63 30 22 20 63  olor="#c0ffc0" c
20aa0 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
20ab0 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
20ac0 3c 74 72 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 63  <tr><td align="c
20ad0 65 6e 74 65 72 22 20 63 6f 6c 73 70 61 6e 3d 22  enter" colspan="
20ae0 32 22 3e 0d 0a 3c 68 32 3e 42 61 73 69 63 20 63  2">..<h2>Basic c
20af0 6f 6e 63 65 70 74 73 2c 20 74 65 63 68 6e 69 63  oncepts, technic
20b00 61 6c 20 64 65 74 61 69 6c 73 20 61 6e 64 20 72  al details and r
20b10 65 6c 61 74 65 64 20 67 6c 6f 73 73 61 72 79 3c  elated glossary<
20b20 2f 68 32 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e  /h2>..</td></tr>
20b30 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 54 68 65 20  ..<tr><td>..The 
20b40 73 69 64 65 20 66 69 67 75 72 65 20 73 68 6f 77  side figure show
20b50 73 20 61 20 68 79 70 6f 74 68 65 74 69 63 61 6c  s a hypothetical
20b60 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20   Point-to-Point 
20b70 73 6f 6c 75 74 69 6f 6e 20 61 6c 6d 6f 73 74 20  solution almost 
20b80 70 72 65 63 69 73 65 6c 79 20 62 61 73 65 64 20  precisely based 
20b90 6f 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  on the following
20ba0 20 73 65 71 75 65 6e 63 65 20 6f 66 20 4e 6f 64   sequence of Nod
20bb0 65 73 3a 3c 62 72 3e 0d 0a 3c 62 3e 3c 69 3e 4e  es:<br>..<b><i>N
20bc0 31 2d 4e 32 2d 4e 33 2d 4e 34 2d 4e 35 2d 4e 36  1-N2-N3-N4-N5-N6
20bd0 2d 4e 37 2d 4e 38 2d 4e 39 2d 4e 31 30 2d 4e 31  -N7-N8-N9-N10-N1
20be0 31 2d 4e 31 32 2d 4e 31 33 2d 4e 31 34 2d 4e 31  1-N12-N13-N14-N1
20bf0 35 3c 2f 69 3e 3c 2f 62 3e 0d 0a 3c 62 72 3e 3c  5</i></b>..<br><
20c00 62 72 3e 0d 0a 48 6f 77 65 76 65 72 2c 20 61 73  br>..However, as
20c10 20 79 6f 75 20 63 61 6e 20 73 65 65 2c 20 74 68   you can see, th
20c20 65 72 65 20 61 72 65 20 74 77 6f 20 73 74 72 69  ere are two stri
20c30 6b 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 3a  king exceptions:
20c40 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 54 68 65 20  ..<ul>..<li>The 
20c50 3c 62 3e 66 69 72 73 74 3c 2f 62 3e 20 4c 69 6e  <b>first</b> Lin
20c60 6b 20 28 63 6f 6e 6e 65 63 74 69 6e 67 20 3c 62  k (connecting <b
20c70 3e 4e 31 3c 2f 62 3e 20 74 6f 20 3c 62 3e 4e 32  >N1</b> to <b>N2
20c80 3c 2f 62 3e 29 20 69 73 20 6e 6f 74 20 63 6f 6d  </b>) is not com
20c90 70 6c 65 74 65 6c 79 20 72 65 71 75 69 72 65 64  pletely required
20ca0 20 62 79 20 74 68 65 20 53 6f 6c 75 74 69 6f 6e   by the Solution
20cb0 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 61 20 73 6d  .<br>..Just a sm
20cc0 61 6c 6c 20 70 6f 72 74 69 6f 6e 20 28 64 72 61  all portion (dra
20cd0 77 6e 20 69 6e 20 72 65 64 29 20 6f 66 20 74 68  wn in red) of th
20ce0 69 73 20 4c 69 6e 6b 20 69 73 20 65 66 66 65 63  is Link is effec
20cf0 74 69 76 65 6c 79 20 72 65 71 75 69 72 65 64 2e  tively required.
20d00 3c 62 72 3e 0d 0a 54 68 65 20 72 65 6d 61 69 6e  <br>..The remain
20d10 69 6e 67 20 70 61 72 74 20 28 64 72 61 77 6e 20  ing part (drawn 
20d20 69 6e 20 67 72 61 79 29 20 69 73 6e 27 74 20 63  in gray) isn't c
20d30 6f 76 65 72 65 64 20 62 79 20 74 68 65 20 53 6f  overed by the So
20d40 6c 75 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c  lution.</li>..<l
20d50 69 3e 45 78 61 63 74 6c 79 20 74 68 65 20 73 61  i>Exactly the sa
20d60 6d 65 20 69 73 20 66 6f 72 20 74 68 65 20 3c 62  me is for the <b
20d70 3e 6c 61 73 74 3c 2f 62 3e 20 4c 69 6e 6b 20 63  >last</b> Link c
20d80 6f 6e 6e 65 63 74 69 6e 67 20 3c 62 3e 4e 31 34  onnecting <b>N14
20d90 3c 2f 62 3e 20 74 6f 20 3c 62 3e 4e 31 35 3c 2f  </b> to <b>N15</
20da0 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 54 68  b>.</li>..<li>Th
20db0 61 74 27 73 20 6e 6f 74 20 61 6c 6c 3a 20 74 68  at's not all: th
20dc0 65 72 65 20 61 72 65 20 74 77 6f 20 73 68 6f 72  ere are two shor
20dd0 74 20 73 65 67 6d 65 6e 74 73 20 28 64 72 61 77  t segments (draw
20de0 6e 20 69 6e 20 67 72 65 65 6e 29 20 63 6f 6e 6e  n in green) conn
20df0 65 63 74 69 6e 67 20 3c 62 3e 50 66 72 6f 6d 3c  ecting <b>Pfrom<
20e00 2f 62 3e 20 61 6e 64 20 3c 62 3e 50 74 6f 3c 2f  /b> and <b>Pto</
20e10 62 3e 20 28 3c 69 3e 6f 72 69 67 69 6e 3c 2f 69  b> (<i>origin</i
20e20 3e 20 61 6e 64 20 3c 69 3e 64 65 73 74 69 6e 61  > and <i>destina
20e30 74 69 6f 6e 3c 2f 69 3e 20 50 6f 69 6e 74 73 29  tion</i> Points)
20e40 20 72 65 73 70 65 63 74 69 76 65 6c 79 20 74 6f   respectively to
20e50 20 74 68 65 20 3c 62 3e 66 69 72 73 74 3c 2f 62   the <b>first</b
20e60 3e 20 61 6e 64 20 3c 62 3e 6c 61 73 74 3c 2f 62  > and <b>last</b
20e70 3e 20 70 61 72 74 69 61 6c 20 4c 69 6e 6b 73 2e  > partial Links.
20e80 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62  </li>..</ul>..<b
20e90 72 3e 0d 0a 41 6c 6c 20 74 68 69 73 20 73 68 6f  r>..All this sho
20ea0 75 6c 64 6e 27 74 20 62 65 20 75 6e 65 78 70 65  uldn't be unexpe
20eb0 63 74 65 64 2c 20 62 65 63 61 75 73 65 20 69 74  cted, because it
20ec0 20 73 69 6d 70 6c 79 20 69 73 20 74 68 65 20 6d   simply is the m
20ed0 6f 73 74 20 6f 62 76 69 6f 75 73 20 64 69 72 65  ost obvious dire
20ee0 63 74 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f  ct consequence o
20ef0 66 20 74 68 65 20 76 65 72 79 20 62 61 73 69 63  f the very basic
20f00 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 61 74 20   assumptions at 
20f10 74 68 65 20 62 61 73 69 73 20 6f 66 20 50 6f 69  the basis of Poi
20f20 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72  nt-to-Point quer
20f30 69 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ies:..<ul>..<li>
20f40 4e 65 69 74 68 65 72 20 74 68 65 20 3c 62 3e 50  Neither the <b>P
20f50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20 6e 6f 72  ointFrom</b> nor
20f60 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c   the <b>PointTo<
20f70 2f 62 3e 20 61 72 65 20 72 65 71 75 69 72 65 64  /b> are required
20f80 20 74 6f 20 65 78 61 63 74 6c 79 20 69 6e 74 65   to exactly inte
20f90 72 73 65 63 74 20 61 20 3c 62 3e 4e 6f 64 65 3c  rsect a <b>Node<
20fa0 2f 62 3e 2e 3c 62 72 3e 0d 0a 43 6f 6e 73 65 71  /b>.<br>..Conseq
20fb0 75 65 6e 74 6c 79 20 74 68 65 20 3c 62 3e 66 69  uently the <b>fi
20fc0 72 73 74 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6c  rst</b> and <b>l
20fd0 61 73 74 3c 2f 62 3e 20 4c 69 6e 6b 73 20 6f 66  ast</b> Links of
20fe0 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 50 6f 69   the overall Poi
20ff0 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 53 6f 6c 75  nt-to-Point Solu
21000 74 69 6f 6e 20 63 6f 75 6c 64 20 62 65 20 6f 6e  tion could be on
21010 6c 79 20 70 61 72 74 69 61 6c 6c 79 20 69 6e 76  ly partially inv
21020 6f 6c 76 65 64 2e 3c 62 72 3e 0d 0a 49 6e 20 56  olved.<br>..In V
21030 69 72 74 75 61 6c 52 6f 75 74 69 6e 67 20 6a 61  irtualRouting ja
21040 72 67 6f 6e 20 74 68 65 73 65 20 74 77 6f 20 3c  rgon these two <
21050 75 3e 3c 69 3e 73 70 65 63 69 61 6c 20 69 74 65  u><i>special ite
21060 6d 73 3c 2f 69 3e 3c 2f 75 3e 20 61 72 65 20 72  ms</i></u> are r
21070 65 73 70 65 63 74 69 76 65 6c 79 20 63 61 6c 6c  espectively call
21080 65 64 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c  ed:..<ul>..<li><
21090 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20 28  b>Partial Link (
210a0 53 74 61 72 74 29 3c 2f 62 3e 3c 2f 6c 69 3e 0d  Start)</b></li>.
210b0 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20  .<li><b>Partial 
210c0 4c 69 6e 6b 20 28 45 6e 64 29 3c 2f 62 3e 3c 2f  Link (End)</b></
210d0 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20  li>..</ul></li> 
210e0 0d 0a 3c 6c 69 3e 42 6f 74 68 20 74 68 65 20 3c  ..<li>Both the <
210f0 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e 20  b>PointFrom</b> 
21100 61 6e 64 20 74 68 65 20 3c 62 3e 50 6f 69 6e 74  and the <b>Point
21110 54 6f 3c 2f 62 3e 20 63 61 6e 20 6c 65 67 69 74  To</b> can legit
21120 69 6d 61 74 65 6c 79 20 68 61 76 65 20 61 6e 79  imately have any
21130 20 61 72 62 69 74 72 61 72 79 20 70 6f 73 69 74   arbitrary posit
21140 69 6f 6e 20 61 6e 64 20 61 72 65 20 6e 65 76 65  ion and are neve
21150 72 20 72 65 71 75 69 72 65 64 20 74 6f 20 65 78  r required to ex
21160 61 63 74 6c 79 20 69 6e 74 65 72 73 65 63 74 20  actly intersect 
21170 61 20 3c 62 3e 4c 69 6e 6b 3c 2f 62 3e 2e 3c 62  a <b>Link</b>.<b
21180 72 3e 0d 0a 54 68 69 73 20 63 61 6e 20 65 61 73  r>..This can eas
21190 69 6c 79 20 69 6d 70 6c 79 20 74 68 61 74 20 61  ily imply that a
211a0 6e 20 3c 75 3e 3c 69 3e 65 78 74 72 61 20 73 68  n <u><i>extra sh
211b0 6f 72 74 20 6c 65 67 3c 2f 69 3e 3c 2f 75 3e 20  ort leg</i></u> 
211c0 63 6f 75 6c 64 20 62 65 20 72 65 71 75 69 72 65  could be require
211d0 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 63 6f  d in order to co
211e0 6e 6e 65 63 74 20 74 68 65 20 46 72 6f 6d 2f 54  nnect the From/T
211f0 6f 20 50 6f 69 6e 74 73 20 74 6f 20 74 68 65 20  o Points to the 
21200 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 69  corresponding Li
21210 6e 6b 73 2e 3c 62 72 3e 0d 0a 49 6e 20 56 69 72  nks.<br>..In Vir
21220 75 74 61 6c 52 6f 75 74 69 6e 67 20 6a 61 72 67  utalRouting jarg
21230 6f 6e 20 74 68 65 73 65 20 74 77 6f 20 3c 75 3e  on these two <u>
21240 3c 69 3e 73 70 65 63 69 61 6c 20 69 74 65 6d 73  <i>special items
21250 3c 2f 69 3e 3c 2f 75 3e 20 61 72 65 20 72 65 73  </i></u> are res
21260 70 65 63 74 69 76 65 6c 79 20 63 61 6c 6c 65 64  pectively called
21270 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  :..<ul>..<li><b>
21280 49 6e 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e  Ingress Path</b>
21290 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 45 67  </li>..<li><b>Eg
212a0 72 65 73 73 20 50 61 74 68 3c 2f 62 3e 3c 2f 6c  ress Path</b></l
212b0 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 20 0d  i>..</ul></li> .
212c0 0a 3c 6c 69 3e 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  .<li><u>Note</u>
212d0 3a 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 69  : none of them i
212e0 73 20 61 20 73 74 72 69 63 74 6c 79 20 6d 61 6e  s a strictly man
212f0 64 61 74 6f 72 79 20 69 74 65 6d 3a 0d 0a 3c 75  datory item:..<u
21300 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62 3e 49  l>..<li>the <b>I
21310 6e 67 72 65 73 73 3c 2f 62 3e 20 61 6e 64 2f 6f  ngress</b> and/o
21320 72 20 3c 62 3e 45 67 72 65 73 73 20 50 61 74 68  r <b>Egress Path
21330 73 3c 2f 62 3e 20 61 72 65 20 6e 6f 74 20 72 65  s</b> are not re
21340 71 75 69 72 65 64 20 77 68 65 6e 20 74 68 65 20  quired when the 
21350 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 6f  corresponding Po
21360 69 6e 74 20 65 78 61 63 74 6c 79 20 69 6e 74 65  int exactly inte
21370 72 73 65 63 74 73 20 61 20 4c 69 6e 6b 2e 3c 2f  rsects a Link.</
21380 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74  li>..<li><b>Part
21390 69 61 6c 20 4c 69 6e 6b 73 3c 2f 62 3e 20 28 65  ial Links</b> (e
213a0 69 74 68 65 72 20 3c 62 3e 28 53 74 61 72 74 29  ither <b>(Start)
213b0 3c 2f 62 3e 20 6f 72 20 3c 62 3e 28 45 6e 64 28  </b> or <b>(End(
213c0 3c 2f 62 3e 29 20 61 72 65 20 6e 65 76 65 72 20  </b>) are never 
213d0 72 65 71 75 69 72 65 64 20 77 68 65 6e 20 74 68  required when th
213e0 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding 
213f0 50 6f 69 6e 74 20 65 78 61 63 74 6c 79 20 6d 61  Point exactly ma
21400 74 63 68 65 73 20 61 20 4e 6f 64 65 2e 3c 2f 6c  tches a Node.</l
21410 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a  i>..</ul></li>..
21420 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e 0d 0a 3c 74  </ul>..</td>..<t
21430 64 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22 68 74  d>..<img src="ht
21440 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
21450 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
21460 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 70 32 70  routing-figs/p2p
21470 2d 73 74 72 75 63 74 2e 70 6e 67 22 20 61 6c 74  -struct.png" alt
21480 3d 22 70 32 70 2d 73 74 72 75 63 74 22 3e 0d 0a  ="p2p-struct">..
21490 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  </td></tr>..<tr>
214a0 3c 74 64 3e 0d 0a 41 20 6d 6f 72 65 20 63 6f 6d  <td>..A more com
214b0 70 72 65 68 65 6e 73 69 76 65 20 61 6e 64 20 64  prehensive and d
214c0 65 74 61 69 6c 65 64 20 65 78 70 6c 61 6e 61 74  etailed explanat
214d0 69 6f 6e 20 62 61 73 65 64 20 6f 6e 20 74 68 65  ion based on the
214e0 20 73 69 64 65 20 66 69 67 75 72 65 3a 0d 0a 3c   side figure:..<
214f0 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 31 3c 2f  ul>..<li><b>L1</
21500 62 3e 20 69 73 20 61 20 4c 69 6e 6b 20 63 6f 6e  b> is a Link con
21510 6e 65 63 74 69 6e 67 20 4e 6f 64 65 73 20 3c 62  necting Nodes <b
21520 3e 4e 31 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e  >N1</b> and <b>N
21530 32 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  2</b>.</li>..<li
21540 3e 3c 62 3e 50 74 3c 2f 62 3e 20 69 73 20 6f 6e  ><b>Pt</b> is on
21550 65 20 62 65 74 77 65 65 6e 20 50 6f 69 6e 74 46  e between PointF
21560 72 6f 6d 20 6f 72 20 50 6f 69 6e 74 54 6f 2e 3c  rom or PointTo.<
21570 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 62 72  /li>..</ul>..<br
21580 3e 0d 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e 54 68 65  >..<ol>..<li>The
21590 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20   Point-to-Point 
215a0 69 6e 74 65 72 6e 61 6c 20 6c 6f 67 69 63 20 77  internal logic w
215b0 69 6c 6c 20 73 74 61 72 74 20 62 79 20 69 64 65  ill start by ide
215c0 6e 74 69 66 79 69 6e 67 20 3c 62 3e 69 3c 2f 62  ntifying <b>i</b
215d0 3e 2c 0d 0a 74 68 61 74 20 69 73 20 74 68 65 20  >,..that is the 
215e0 50 6f 69 6e 74 20 69 6e 74 65 72 73 65 63 74 69  Point intersecti
215f0 6e 67 20 3c 62 3e 4c 31 3c 2f 62 3e 20 61 6e 64  ng <b>L1</b> and
21600 20 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20   presenting the 
21610 6d 69 6e 69 6d 75 6d 20 64 69 73 74 61 6e 63 65  minimum distance
21620 20 62 65 74 77 65 65 6e 20 74 68 65 20 4c 69 6e   between the Lin
21630 6b 20 61 6e 64 20 3c 62 3e 50 74 3c 2f 62 3e 0d  k and <b>Pt</b>.
21640 0a 28 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  .(corresponding 
21650 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 72 65  to the result re
21660 74 75 72 6e 65 64 20 62 79 20 63 61 6c 6c 69 6e  turned by callin
21670 67 20 74 68 65 20 3c 62 3e 53 54 5f 4c 69 6e 65  g the <b>ST_Line
21680 5f 4c 6f 63 61 74 65 5f 50 6f 69 6e 74 28 29 3c  _Locate_Point()<
21690 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69 6f 6e  /b> SQL function
216a0 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 4e 6f 77  ).</li>..<li>Now
216b0 20 74 68 65 20 4c 69 6e 6b 20 3c 62 3e 4c 31 3c   the Link <b>L1<
216c0 2f 62 3e 20 77 69 6c 6c 20 62 65 20 73 70 6c 69  /b> will be spli
216d0 74 20 69 6e 20 74 77 6f 20 68 61 6c 76 65 73 20  t in two halves 
216e0 3c 62 3e 4c 31 2d 61 3c 2f 62 3e 20 61 6e 64 20  <b>L1-a</b> and 
216f0 3c 62 3e 4c 31 2d 62 3c 2f 62 3e 20 61 63 63 6f  <b>L1-b</b> acco
21700 72 64 69 6e 67 6c 79 20 74 6f 20 74 68 65 20 70  rdingly to the p
21710 6f 73 69 74 69 6f 6e 20 6f 66 20 3c 62 3e 69 3c  osition of <b>i<
21720 2f 62 3e 0d 0a 28 63 6f 72 72 65 73 70 6f 6e 64  /b>..(correspond
21730 69 6e 67 20 74 6f 20 74 68 65 20 72 65 73 75 6c  ing to the resul
21740 74 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 63  ts returned by c
21750 61 6c 6c 69 6e 67 20 74 68 65 20 3c 62 3e 53 54  alling the <b>ST
21760 5f 4c 69 6e 65 5f 53 75 62 73 74 72 69 6e 67 28  _Line_Substring(
21770 29 3c 2f 62 3e 20 53 51 4c 20 66 75 6e 63 74 69  )</b> SQL functi
21780 6f 6e 29 2e 3c 62 72 3e 0d 0a 42 6f 74 68 20 68  on).<br>..Both h
21790 61 6c 76 65 73 20 77 69 6c 6c 20 62 65 20 6e 6f  alves will be no
217a0 77 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20  w considered as 
217b0 70 6f 73 73 69 62 6c 65 20 3c 62 3e 50 61 72 74  possible <b>Part
217c0 69 61 6c 20 4c 69 6e 6b 73 20 28 53 74 61 72 74  ial Links (Start
217d0 29 20 63 61 6e 64 69 64 61 74 65 73 3c 2f 62 3e  ) candidates</b>
217e0 20 6c 65 61 64 69 6e 67 20 72 65 73 70 65 63 74   leading respect
217f0 69 76 65 6c 79 20 74 6f 20 3c 62 3e 4e 31 3c 2f  ively to <b>N1</
21800 62 3e 20 6f 72 20 3c 62 3e 4e 32 3c 2f 62 3e 3b  b> or <b>N2</b>;
21810 0d 0a 64 69 72 65 63 74 69 6f 6e 73 20 77 69 6c  ..directions wil
21820 6c 20 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c  l be automatical
21830 6c 79 20 69 6e 76 65 72 74 65 64 20 61 73 20 72  ly inverted as r
21840 65 71 75 69 72 65 64 2c 20 62 75 74 20 6f 6e 6c  equired, but onl
21850 79 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e  y if there are n
21860 6f 20 3c 62 3e 6f 6e 65 2d 77 61 79 3c 2f 62 3e  o <b>one-way</b>
21870 20 66 6f 72 62 69 64 64 69 6e 67 20 72 65 73 74   forbidding rest
21880 72 69 63 74 69 6f 6e 73 2e 3c 62 72 3e 0d 0a 28  rictions.<br>..(
21890 74 68 65 20 64 69 72 65 63 74 69 6f 6e 73 20 77  the directions w
218a0 69 6c 6c 20 62 65 20 6f 62 76 69 6f 75 73 6c 79  ill be obviously
218b0 20 69 6e 76 65 72 74 65 64 20 69 6e 20 74 68 65   inverted in the
218c0 20 63 61 73 65 20 6f 66 20 3c 62 3e 50 61 72 74   case of <b>Part
218d0 69 61 6c 20 4c 69 6e 6b 73 20 28 45 6e 64 29 3c  ial Links (End)<
218e0 2f 62 3e 20 2f 20 3c 62 3e 4e 6f 64 65 54 6f 3c  /b> / <b>NodeTo<
218f0 2f 62 3e 29 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41  /b>)</li>..<li>A
21900 6e 64 20 66 69 6e 61 6c 6c 79 20 61 20 73 74 72  nd finally a str
21910 61 69 67 68 74 20 73 65 67 6d 65 6e 74 20 3c 62  aight segment <b
21920 3e 70 3c 2f 62 3e 20 63 6f 6e 6e 65 63 74 69 6e  >p</b> connectin
21930 67 20 3c 62 3e 50 74 3c 2f 62 3e 20 74 6f 20 3c  g <b>Pt</b> to <
21940 62 3e 69 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20  b>i</b> will be 
21950 63 6f 6e 73 74 72 75 63 74 65 64 2e 0d 0a 53 6f  constructed...So
21960 20 3c 62 3e 70 3c 2f 62 3e 20 65 78 61 63 74 6c   <b>p</b> exactl
21970 79 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f  y corresponds to
21980 20 74 68 65 20 3c 62 3e 49 6e 67 72 65 73 73 20   the <b>Ingress 
21990 50 61 74 68 3c 2f 62 3e 20 69 66 20 3c 62 3e 50  Path</b> if <b>P
219a0 74 3c 2f 62 3e 20 69 73 20 3c 62 3e 50 6f 69 6e  t</b> is <b>Poin
219b0 74 46 72 6f 6d 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a  tFrom</b>.<br>..
219c0 28 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 73  (the direction s
219d0 68 6f 75 6c 64 20 62 65 20 6f 62 76 69 6f 75 73  hould be obvious
219e0 6c 79 20 69 6e 76 65 72 74 65 64 20 69 6e 20 74  ly inverted in t
219f0 68 65 20 63 61 73 65 20 6f 66 20 74 68 65 20 3c  he case of the <
21a00 62 3e 45 67 72 65 73 73 20 50 61 74 68 3c 2f 62  b>Egress Path</b
21a10 3e 20 2f 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f  > / <b>PointTo</
21a20 62 3e 29 3c 2f 6c 69 3e 0d 0a 3c 2f 6f 6c 3e 0d  b>)</li>..</ol>.
21a30 0a 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 0d 0a 3c 69  .</td>..<td>..<i
21a40 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  mg src="https://
21a50 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
21a60 67 61 69 61 2d 73 69 6e 73 2f 72 6f 75 74 69 6e  gaia-sins/routin
21a70 67 2d 66 69 67 73 2f 73 70 6c 69 74 2d 6c 69 6e  g-figs/split-lin
21a80 6b 2e 70 6e 67 22 20 61 6c 74 3d 22 70 32 70 2d  k.png" alt="p2p-
21a90 73 74 72 75 63 74 22 3e 0d 0a 3c 2f 74 64 3e 3c  struct">..</td><
21aa0 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a  /tr>..</table>..
21ab0 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 62 67 63  <br>..<table bgc
21ac0 6f 6c 6f 72 3d 22 23 66 66 62 30 36 30 22 20 63  olor="#ffb060" c
21ad0 65 6c 6c 73 70 61 63 69 6e 67 3d 22 31 30 22 20  ellspacing="10" 
21ae0 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e  cellpadding="6">
21af0 3c 74 72 3e 3c 74 64 3e 0d 0a 3c 68 33 3e 57 61  <tr><td>..<h3>Wa
21b00 72 6e 69 6e 67 3c 2f 68 33 3e 0d 0a 56 69 72 74  rning</h3>..Virt
21b10 75 61 6c 52 6f 75 74 69 6e 67 20 77 68 65 6e 20  ualRouting when 
21b20 73 6f 6c 76 69 6e 67 20 61 20 50 6f 69 6e 74 2d  solving a Point-
21b30 74 6f 2d 50 72 6f 62 6c 65 6d 20 72 65 71 75 69  to-Problem requi
21b40 72 65 73 20 74 6f 20 67 65 74 20 61 20 70 72 65  res to get a pre
21b50 63 69 73 65 20 65 73 74 69 6d 61 74 69 6f 6e 20  cise estimation 
21b60 6f 66 20 3c 62 3e 43 6f 73 74 73 3c 2f 62 3e 20  of <b>Costs</b> 
21b70 72 65 6c 61 74 65 64 20 74 6f 20 3c 62 3e 49 6e  related to <b>In
21b80 67 72 65 73 73 3c 2f 62 3e 20 61 6e 64 20 3c 62  gress</b> and <b
21b90 3e 45 67 72 65 73 73 20 50 61 74 68 73 3c 2f 62  >Egress Paths</b
21ba0 3e 20 61 6e 64 20 74 6f 20 3c 62 3e 50 61 72 74  > and to <b>Part
21bb0 69 61 6c 20 4c 69 6e 6b 73 3c 2f 62 3e 2e 3c 62  ial Links</b>.<b
21bc0 72 3e 0d 0a 42 75 74 20 56 69 72 74 75 61 6c 52  r>..But VirtualR
21bd0 6f 75 74 69 6e 67 20 69 73 20 63 6f 6d 70 6c 65  outing is comple
21be0 74 65 6c 79 20 75 6e 61 62 6c 65 20 74 6f 20 63  tely unable to c
21bf0 6f 6d 70 75 74 65 20 63 6f 6d 70 6c 65 78 20 28  ompute complex (
21c00 61 6e 64 20 75 6e 73 70 65 63 69 66 69 65 64 29  and unspecified)
21c10 20 43 6f 73 74 20 66 6f 72 6d 75 6c 61 65 2c 20   Cost formulae, 
21c20 61 6e 64 20 63 6f 6e 73 65 71 75 65 6e 74 6c 79  and consequently
21c30 20 69 74 20 63 61 6e 20 73 69 6d 70 6c 79 20 61   it can simply a
21c40 73 73 75 6d 65 20 61 20 43 6f 73 74 20 63 6f 72  ssume a Cost cor
21c50 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68  responding to th
21c60 65 20 47 65 6f 6d 65 74 72 69 63 20 4c 65 6e 67  e Geometric Leng
21c70 74 68 20 6f 66 20 73 75 63 68 20 69 74 65 6d 73  th of such items
21c80 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 43 6f  .<br><br>..<b>Co
21c90 6e 63 6c 75 73 69 6f 6e 3c 2f 62 3e 3a 20 6f 6e  nclusion</b>: on
21ca0 6c 79 20 4e 65 74 77 6f 72 6b 73 20 62 61 73 65  ly Networks base
21cb0 64 20 6f 6e 20 3c 62 3e 43 6f 73 74 73 3c 2f 62  d on <b>Costs</b
21cc0 3e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  > corresponding 
21cd0 74 6f 20 3c 62 3e 47 65 6f 6d 65 74 72 69 63 20  to <b>Geometric 
21ce0 4c 65 6e 67 74 68 73 3c 2f 62 3e 20 63 61 6e 20  Lengths</b> can 
21cf0 65 66 66 65 63 74 69 76 65 6c 79 20 73 75 70 70  effectively supp
21d00 6f 72 74 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69  ort Point-to-Poi
21d10 6e 74 20 71 75 65 72 69 65 73 2e 3c 62 72 3e 0d  nt queries.<br>.
21d20 0a 41 6e 79 20 64 69 66 66 65 72 65 6e 74 20 4e  .Any different N
21d30 65 74 77 6f 72 6b 20 63 6f 6e 66 69 67 75 72 61  etwork configura
21d40 74 69 6f 6e 20 77 69 6c 6c 20 73 75 72 65 6c 79  tion will surely
21d50 20 6c 65 61 64 20 74 6f 20 77 72 6f 6e 67 20 61   lead to wrong a
21d60 6e 64 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 20  nd inconsistent 
21d70 72 65 73 75 6c 74 73 2e 0d 0a 3c 62 72 3e 3c 62  results...<br><b
21d80 72 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 3c 2f  r>..</td></tr></
21d90 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  table>..<br><br>
21da0 0d 0a 4c 65 74 27 73 20 6e 6f 77 20 65 78 61 6d  ..Let's now exam
21db0 69 6e 65 20 61 20 70 72 61 63 74 69 63 61 6c 20  ine a practical 
21dc0 65 78 61 6d 70 6c 65 20 6f 66 20 50 6f 69 6e 74  example of Point
21dd0 2d 74 6f 2d 50 6f 69 6e 74 20 73 6f 6c 76 69 6e  -to-Point solvin
21de0 67 20 75 73 69 6e 67 20 56 69 72 74 75 61 6c 52  g using VirtualR
21df0 6f 75 74 69 6e 67 2e 0d 0a 3c 76 65 72 62 61 74  outing...<verbat
21e00 69 6d 3e 0d 0a 53 45 4c 45 43 54 20 41 6c 67 6f  im>..SELECT Algo
21e10 72 69 74 68 6d 2c 20 52 65 71 75 65 73 74 2c 20  rithm, Request, 
21e20 4f 70 74 69 6f 6e 73 2c 20 52 6f 75 74 65 49 64  Options, RouteId
21e30 2c 20 52 6f 75 74 65 52 6f 77 2c 20 52 6f 6c 65  , RouteRow, Role
21e40 2c 20 4c 69 6e 6b 52 6f 77 69 64 2c 20 4e 6f 64  , LinkRowid, Nod
21e50 65 46 72 6f 6d 2c 20 4e 6f 64 65 54 6f 2c 20 50  eFrom, NodeTo, P
21e60 6f 69 6e 74 46 72 6f 6d 2c 20 50 6f 69 6e 74 54  ointFrom, PointT
21e70 6f 2c 20 54 6f 6c 65 72 61 6e 63 65 2c 20 43 6f  o, Tolerance, Co
21e80 73 74 2c 20 47 65 6f 6d 65 74 72 79 2c 20 4e 61  st, Geometry, Na
21e90 6d 65 0d 0a 46 52 4f 4d 20 62 79 66 6f 6f 74 0d  me..FROM byfoot.
21ea0 0a 57 48 45 52 45 20 50 6f 69 6e 74 46 72 6f 6d  .WHERE PointFrom
21eb0 20 3d 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20   = (SELECT geom 
21ec0 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77  FROM house_nr_vw
21ed0 20 57 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c   WHERE municipal
21ee0 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41  ity = 'AREZZO' A
21ef0 4e 44 20 61 64 64 72 65 73 73 20 3d 20 27 56 49  ND address = 'VI
21f00 41 20 44 45 27 27 20 43 45 4e 43 49 20 31 33 27  A DE'' CENCI 13'
21f10 29 0d 0a 20 20 20 20 41 4e 44 20 50 6f 69 6e 74  )..    AND Point
21f20 54 6f 20 3d 20 28 53 45 4c 45 43 54 20 67 65 6f  To = (SELECT geo
21f30 6d 20 46 52 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f  m FROM house_nr_
21f40 76 77 20 57 48 45 52 45 20 6d 75 6e 69 63 69 70  vw WHERE municip
21f50 61 6c 69 74 79 20 3d 20 27 41 52 45 5a 5a 4f 27  ality = 'AREZZO'
21f60 20 41 4e 44 20 61 64 64 72 65 73 73 20 3d 20 27   AND address = '
21f70 56 49 41 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44  VIA ANTONIO GUAD
21f80 41 47 4e 4f 4c 49 20 31 39 2f 42 27 29 3b 0d 0a  AGNOLI 19/B');..
21f90 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 41 20 3c  </verbatim>..A <
21fa0 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  b>Point-to-Point
21fb0 3c 2f 62 3e 20 71 75 65 72 79 20 68 61 73 20 74  </b> query has t
21fc0 68 65 20 73 61 6d 65 20 66 6f 72 6d 20 6f 66 20  he same form of 
21fd0 61 20 3c 62 3e 73 69 6e 67 6c 65 2d 64 65 73 74  a <b>single-dest
21fe0 69 6e 61 74 69 6f 6e 20 53 68 6f 72 74 65 73 74  ination Shortest
21ff0 20 50 61 74 68 3c 2f 62 3e 20 71 75 65 72 79 2c   Path</b> query,
22000 20 65 78 63 65 70 74 20 74 68 61 74 20 3c 62 3e   except that <b>
22010 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61 6e 64  NodeFrom</b> and
22020 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e 20 61   <b>NodeTo</b> a
22030 72 65 20 6e 6f 77 20 72 65 70 6c 61 63 65 64 20  re now replaced 
22040 62 79 20 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c  by <b>PointFrom<
22050 2f 62 3e 20 61 6e 64 20 3c 62 3e 50 6f 69 6e 74  /b> and <b>Point
22060 54 6f 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 3c 75 3e  To</b>.<br>..<u>
22070 4e 6f 74 65 3c 2f 75 3e 20 74 68 65 20 73 61 6d  Note</u> the sam
22080 70 6c 65 20 44 42 2d 66 69 6c 65 20 73 75 70 70  ple DB-file supp
22090 6f 72 74 73 20 3c 62 3e 48 6f 75 73 65 20 4e 75  orts <b>House Nu
220a0 6d 62 65 72 73 3c 2f 62 3e 2c 20 73 6f 20 79 6f  mbers</b>, so yo
220b0 75 20 63 61 6e 20 64 69 72 65 63 74 6c 79 20 75  u can directly u
220c0 73 65 20 48 6f 75 73 65 20 4e 75 6d 62 65 72 20  se House Number 
220d0 63 6f 6f 72 64 69 6e 61 74 65 73 20 61 73 20 72  coordinates as r
220e0 65 66 65 72 65 6e 63 65 20 50 6f 69 6e 74 73 2e  eference Points.
220f0 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 54 68 65 20  ..<br><br>..The 
22100 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20  following table 
22110 73 68 6f 77 73 20 74 68 65 20 72 65 73 75 6c 74  shows the result
22120 73 65 74 20 72 65 74 75 72 6e 65 64 20 62 79 20  set returned by 
22130 74 68 65 20 61 62 6f 76 65 20 50 6f 69 6e 74 2d  the above Point-
22140 74 6f 2d 50 6f 69 6e 74 20 71 75 65 72 79 2e 3c  to-Point query.<
22150 62 72 3e 3c 62 72 3e 0d 0a 3c 74 61 62 6c 65 20  br><br>..<table 
22160 62 6f 72 64 65 72 3d 22 31 22 20 62 67 63 6f 6c  border="1" bgcol
22170 6f 72 3d 22 23 66 66 66 66 63 66 22 20 63 65 6c  or="#ffffcf" cel
22180 6c 73 70 61 63 69 6e 67 3d 22 34 22 20 63 65 6c  lspacing="4" cel
22190 6c 70 61 64 64 69 6e 67 3d 22 36 22 3e 0d 0a 3c  lpadding="6">..<
221a0 74 72 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  tr><th bgcolor="
221b0 23 64 30 64 30 61 30 22 3e 41 6c 67 6f 72 69 74  #d0d0a0">Algorit
221c0 68 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  hm</th><th bgcol
221d0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 65 71  or="#d0d0a0">Req
221e0 75 65 73 74 3c 2f 74 68 3e 3c 74 68 20 62 67 63  uest</th><th bgc
221f0 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 4f  olor="#d0d0a0">O
22200 70 74 69 6f 6e 73 3c 2f 74 68 3e 3c 74 68 20 62  ptions</th><th b
22210 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
22220 3e 52 6f 75 74 65 49 64 3c 2f 74 68 3e 3c 74 68  >RouteId</th><th
22230 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
22240 30 22 3e 52 6f 75 74 65 52 6f 77 3c 2f 74 68 3e  0">RouteRow</th>
22250 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
22260 64 30 61 30 22 3e 52 6f 6c 65 3c 2f 74 68 3e 3c  d0a0">Role</th><
22270 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64  th bgcolor="#d0d
22280 30 61 30 22 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  0a0">LinkRowid</
22290 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
222a0 23 64 30 64 30 61 30 22 3e 4e 6f 64 65 46 72 6f  #d0d0a0">NodeFro
222b0 6d 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  m</th><th bgcolo
222c0 72 3d 22 23 64 30 64 30 61 30 22 3e 4e 6f 64 65  r="#d0d0a0">Node
222d0 54 6f 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  To</th><th bgcol
222e0 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 50 6f 69  or="#d0d0a0">Poi
222f0 6e 74 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68 20 62  ntFrom</th><th b
22300 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22  gcolor="#d0d0a0"
22310 3e 50 6f 69 6e 74 54 6f 3c 2f 74 68 3e 3c 74 68  >PointTo</th><th
22320 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
22330 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 74 68  0">Tolerance</th
22340 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64  ><th bgcolor="#d
22350 30 64 30 61 30 22 3e 43 6f 73 74 3c 2f 74 68 3e  0d0a0">Cost</th>
22360 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
22370 64 30 61 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f  d0a0">Geometry</
22380 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22  th><th bgcolor="
22390 23 64 30 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74  #d0d0a0">Name</t
223a0 68 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  h></tr>..<tr>..<
223b0 74 64 3e 44 69 6a 6b 73 74 72 61 3c 2f 74 64 3e  td>Dijkstra</td>
223c0 3c 74 64 3e 50 6f 69 6e 74 32 50 6f 69 6e 74 20  <td>Point2Point 
223d0 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 46 75 6c  Path</td><td>Ful
223e0 6c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  l</td><td align=
223f0 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
22400 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22410 30 3c 2f 74 64 3e 3c 74 64 3e 50 6f 69 6e 74 32  0</td><td>Point2
22420 50 6f 69 6e 74 20 53 6f 6c 75 74 69 6f 6e 3c 2f  Point Solution</
22430 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22440 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22450 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 42 4c  >NULL</td><td>BL
22460 4f 42 20 73 7a 3d 36 38 20 47 45 4f 4d 45 54 52  OB sz=68 GEOMETR
22470 59 3c 2f 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73  Y</td><td>BLOB s
22480 7a 3d 36 38 20 47 45 4f 4d 45 54 52 59 3c 2f 74  z=68 GEOMETRY</t
22490 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
224a0 68 74 22 3e 32 30 2e 30 30 30 30 30 30 3c 2f 74  ht">20.000000</t
224b0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
224c0 68 74 22 3e 36 35 32 2e 38 31 35 31 33 39 3c 2f  ht">652.815139</
224d0 74 64 3e 3c 74 64 3e 42 4c 4f 42 20 73 7a 3d 31  td><td>BLOB sz=1
224e0 35 35 32 20 47 45 4f 4d 45 54 52 59 3c 2f 74 64  552 GEOMETRY</td
224f0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a  ><td>NULL</td>..
22500 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
22510 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22520 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22530 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22540 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20  ight">0</td><td 
22550 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 3c  align="right">1<
22560 2f 74 64 3e 3c 74 64 3e 49 6e 67 72 65 73 73 20  /td><td>Ingress 
22570 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  Path</td><td>NUL
22580 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22590 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
225a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
225b0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
225c0 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
225d0 3d 22 72 69 67 68 74 22 3e 32 2e 33 30 31 36 38  ="right">2.30168
225e0 37 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  7</td><td>NULL</
225f0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22600 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
22610 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22620 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22630 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
22640 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74  "right">0</td><t
22650 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22660 32 3c 2f 74 64 3e 3c 74 64 3e 50 61 72 74 69 61  2</td><td>Partia
22670 6c 20 4c 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f  l Link (Start)</
22680 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22690 67 68 74 22 3e 32 32 34 32 36 34 3c 2f 74 64 3e  ght">224264</td>
226a0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
226b0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
226c0 38 32 36 33 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55  82630</td><td>NU
226d0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
226e0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
226f0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22700 74 22 3e 34 36 2e 30 38 32 37 36 31 3c 2f 74 64  t">46.082761</td
22710 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22720 64 3e 56 49 41 20 44 45 27 20 43 45 4e 43 49 3c  d>VIA DE' CENCI<
22730 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
22740 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  >..<td>NULL</td>
22750 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22760 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
22770 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74  ign="right">0</t
22780 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22790 68 74 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69  ht">3</td><td>Li
227a0 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  nk</td><td align
227b0 3d 22 72 69 67 68 74 22 3e 32 32 33 37 35 38 3c  ="right">223758<
227c0 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
227d0 69 67 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64  ight">182630</td
227e0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
227f0 74 22 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74  t">182629</td><t
22800 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22810 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22820 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22830 72 69 67 68 74 22 3e 32 34 2e 31 39 38 31 31 35  right">24.198115
22840 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22850 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c  d><td>CORSO ITAL
22860 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  IA</td>..</tr>..
22870 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f  <tr>..<td>NULL</
22880 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
22890 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
228a0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30   align="right">0
228b0 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
228c0 72 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64  right">4</td><td
228d0 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c  >Link</td><td al
228e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35  ign="right">2255
228f0 31 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  12</td><td align
22900 3d 22 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c  ="right">182629<
22910 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22920 69 67 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64  ight">182933</td
22930 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22940 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
22950 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
22960 6e 3d 22 72 69 67 68 74 22 3e 33 34 2e 31 38 34  n="right">34.184
22970 31 39 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  194</td><td>NULL
22980 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53 4f 20 49  </td><td>CORSO I
22990 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  TALIA</td>..</tr
229a0 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
229b0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
229c0 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
229d0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
229e0 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ">0</td><td alig
229f0 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e  n="right">5</td>
22a00 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
22a10 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
22a20 32 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  25511</td><td al
22a30 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39  ign="right">1829
22a40 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  33</td><td align
22a50 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
22a60 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22a70 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22a80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
22a90 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 39 2e  lign="right">49.
22aa0 32 34 31 37 33 35 3c 2f 74 64 3e 3c 74 64 3e 4e  241735</td><td>N
22ab0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52 53  ULL</td><td>CORS
22ac0 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a 3c  O ITALIA</td>..<
22ad0 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
22ae0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22af0 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
22b00 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22b10 67 68 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61  ght">0</td><td a
22b20 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c 2f  lign="right">6</
22b30 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e  td><td>Link</td>
22b40 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
22b50 22 3e 32 32 32 36 33 35 3c 2f 74 64 3e 3c 74 64  ">222635</td><td
22b60 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
22b70 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61 6c  81999</td><td al
22b80 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 31 39  ign="right">1819
22b90 39 38 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  98</td><td>NULL<
22ba0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22bb0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22bc0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22bd0 31 30 31 2e 36 32 39 37 35 30 3c 2f 74 64 3e 3c  101.629750</td><
22be0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22bf0 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64  CORSO ITALIA</td
22c00 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
22c10 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
22c20 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
22c30 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
22c40 3d 22 72 69 67 68 74 22 3e 30 3c 2f 74 64 3e 3c  ="right">0</td><
22c50 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
22c60 3e 37 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c  >7</td><td>Link<
22c70 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
22c80 69 67 68 74 22 3e 32 32 34 37 38 30 3c 2f 74 64  ight">224780</td
22c90 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22ca0 74 22 3e 31 38 31 39 39 38 3c 2f 74 64 3e 3c 74  t">181998</td><t
22cb0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22cc0 31 38 33 35 36 30 3c 2f 74 64 3e 3c 74 64 3e 4e  183560</td><td>N
22cd0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
22ce0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22cf0 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22d00 68 74 22 3e 37 33 2e 37 33 33 35 37 32 3c 2f 74  ht">73.733572</t
22d10 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22d20 74 64 3e 56 49 41 20 44 45 4c 4c 27 41 4e 46 49  td>VIA DELL'ANFI
22d30 54 45 41 54 52 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74  TEATRO</td>..</t
22d40 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
22d50 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22d60 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22d70 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22d80 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">0</td><td ali
22d90 67 6e 3d 22 72 69 67 68 74 22 3e 38 3c 2f 74 64  gn="right">8</td
22da0 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74  ><td>Link</td><t
22db0 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
22dc0 32 32 35 38 32 37 3c 2f 74 64 3e 3c 74 64 20 61  225827</td><td a
22dd0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 33  lign="right">183
22de0 35 36 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  560</td><td alig
22df0 6e 3d 22 72 69 67 68 74 22 3e 31 38 33 32 38 36  n="right">183286
22e00 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
22e10 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
22e20 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
22e30 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 34 32  align="right">42
22e40 2e 33 30 39 35 36 34 3c 2f 74 64 3e 3c 74 64 3e  .309564</td><td>
22e50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
22e60 20 44 45 4c 4c 27 41 4e 46 49 54 45 41 54 52 4f   DELL'ANFITEATRO
22e70 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
22e80 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
22e90 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
22ea0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
22eb0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
22ec0 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
22ed0 67 68 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 4c  ght">9</td><td>L
22ee0 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ink</td><td alig
22ef0 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 38 39 37  n="right">224897
22f00 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
22f10 72 69 67 68 74 22 3e 31 38 33 32 38 36 3c 2f 74  right">183286</t
22f20 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
22f30 68 74 22 3e 31 38 33 31 32 38 3c 2f 74 64 3e 3c  ht">183128</td><
22f40 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e  td>NULL</td><td>
22f50 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c  NULL</td><td>NUL
22f60 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  L</td><td align=
22f70 22 72 69 67 68 74 22 3e 37 32 2e 34 34 34 36 30  "right">72.44460
22f80 39 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  9</td><td>NULL</
22f90 74 64 3e 3c 74 64 3e 56 49 41 20 4d 41 52 47 41  td><td>VIA MARGA
22fa0 52 49 54 4f 4e 45 3c 2f 74 64 3e 0d 0a 3c 2f 74  RITONE</td>..</t
22fb0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
22fc0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
22fd0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
22fe0 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
22ff0 74 22 3e 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  t">0</td><td ali
23000 67 6e 3d 22 72 69 67 68 74 22 3e 31 30 3c 2f 74  gn="right">10</t
23010 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c  d><td>Link</td><
23020 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
23030 3e 32 32 34 32 33 32 3c 2f 74 64 3e 3c 74 64 20  >224232</td><td 
23040 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38  align="right">18
23050 33 31 32 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  3128</td><td ali
23060 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39  gn="right">18289
23070 30 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  0</td><td>NULL</
23080 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
23090 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
230a0 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31   align="right">1
230b0 30 33 2e 36 31 32 32 32 31 3c 2f 74 64 3e 3c 74  03.612221</td><t
230c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56  d>NULL</td><td>V
230d0 49 41 20 4e 49 43 43 4f 4c 4f 27 20 41 52 45 54  IA NICCOLO' ARET
230e0 49 4e 4f 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  INO</td>..</tr>.
230f0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
23100 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
23110 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
23120 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
23130 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  0</td><td align=
23140 22 72 69 67 68 74 22 3e 31 31 3c 2f 74 64 3e 3c  "right">11</td><
23150 74 64 3e 50 61 72 74 69 61 6c 20 4c 69 6e 6b 20  td>Partial Link 
23160 28 45 6e 64 29 3c 2f 74 64 3e 3c 74 64 20 61 6c  (End)</td><td al
23170 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 34 30  ign="right">2240
23180 31 39 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  19</td><td align
23190 3d 22 72 69 67 68 74 22 3e 31 38 32 38 39 30 3c  ="right">182890<
231a0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
231b0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
231c0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
231d0 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 74 64 20 61 6c  ULL</td>..<td al
231e0 69 67 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 37  ign="right">95.7
231f0 36 30 32 32 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55  60222</td><td>NU
23200 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 41  LL</td><td>VIA A
23210 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f 4c  NTONIO GUADAGNOL
23220 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  I</td>..</tr>..<
23230 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
23240 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
23250 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
23260 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c  align="right">0<
23270 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
23280 69 67 68 74 22 3e 31 32 3c 2f 74 64 3e 3c 74 64  ight">12</td><td
23290 3e 45 67 72 65 73 73 20 50 61 74 68 3c 2f 74 64  >Egress Path</td
232a0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
232b0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
232c0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
232d0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
232e0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
232f0 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
23300 3e 37 2e 33 31 36 37 30 39 3c 2f 74 64 3e 3c 74  >7.316709</td><t
23310 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
23320 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  ULL</td>..</tr>.
23330 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62 72 3e 0d  .</table>..<br>.
23340 0a 4c 65 74 27 73 20 6e 6f 77 20 71 75 69 63 6b  .Let's now quick
23350 6c 79 20 65 78 61 6d 69 6e 65 20 74 68 65 20 72  ly examine the r
23360 65 73 75 6c 74 73 65 74 20 72 65 74 75 72 6e 65  esultset returne
23370 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 3c  d by the above <
23380 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  b>Point-to-Point
23390 3c 2f 62 3e 20 71 75 65 72 79 3a 0d 0a 3c 75 6c  </b> query:..<ul
233a0 3e 0d 0a 3c 6c 69 3e 74 68 65 20 67 65 6e 65 72  >..<li>the gener
233b0 61 6c 20 6c 61 79 6f 75 74 20 69 73 20 61 6c 6d  al layout is alm
233c0 6f 73 74 20 65 78 61 63 74 6c 79 20 74 68 65 20  ost exactly the 
233d0 73 61 6d 65 20 61 73 20 79 6f 75 27 76 65 20 61  same as you've a
233e0 6c 72 65 61 64 79 20 73 65 65 6e 20 69 6e 20 74  lready seen in t
233f0 68 65 20 63 61 73 65 20 6f 66 20 53 68 6f 72 74  he case of Short
23400 65 73 74 50 61 74 68 20 71 75 65 72 69 65 73 2e  estPath queries.
23410 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 6e 20 74 68  </li>..<li>in th
23420 65 20 73 70 65 63 69 66 69 63 20 63 61 73 65 20  e specific case 
23430 6f 66 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e  of Point-to-Poin
23440 74 20 74 68 65 20 3c 62 3e 66 69 72 73 74 20 72  t the <b>first r
23450 6f 77 3c 2f 62 3e 20 6f 66 20 74 68 65 20 72 65  ow</b> of the re
23460 73 75 6c 74 73 65 74 20 77 69 6c 6c 20 61 6c 77  sultset will alw
23470 61 79 73 20 63 6f 6e 74 61 69 6e 20 74 68 65 20  ays contain the 
23480 66 6f 6c 6c 6f 77 69 6e 67 73 20 3c 62 3e 4e 4f  followings <b>NO
23490 54 20 4e 55 4c 4c 3c 2f 62 3e 20 63 6f 6c 75 6d  T NULL</b> colum
234a0 6e 73 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c  ns:..<ul>..<li><
234b0 62 3e 4e 6f 64 65 46 72 6f 6d 3c 2f 62 3e 20 61  b>NodeFrom</b> a
234c0 6e 64 20 3c 62 3e 4e 6f 64 65 54 6f 3c 2f 62 3e  nd <b>NodeTo</b>
234d0 3a 20 74 68 65 20 74 77 6f 20 47 65 6f 6d 65 74  : the two Geomet
234e0 72 69 65 73 20 64 65 66 69 6e 69 6e 67 20 74 68  ries defining th
234f0 65 20 3c 75 3e 3c 69 3e 6f 72 69 67 69 6e 3c 2f  e <u><i>origin</
23500 69 3e 3c 2f 75 3e 20 61 6e 64 20 3c 75 3e 3c 69  i></u> and <u><i
23510 3e 64 65 73 74 69 6e 61 74 69 6f 6e 3c 2f 69 3e  >destination</i>
23520 3c 2f 75 3e 20 50 6f 69 6e 74 73 2e 3c 2f 6c 69  </u> Points.</li
23530 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 6f 6c 65 72 61  >..<li><b>Tolera
23540 6e 63 65 3c 2f 62 3e 3a 20 74 68 65 20 6d 61 78  nce</b>: the max
23550 69 6d 75 6d 20 64 69 73 74 61 6e 63 65 20 61 6c  imum distance al
23560 6c 6f 77 65 64 20 62 65 74 77 65 65 6e 20 72 65  lowed between re
23570 66 65 72 65 6e 63 65 20 50 6f 69 6e 74 73 20 61  ference Points a
23580 6e 64 20 43 61 6e 64 69 64 61 74 65 20 4c 69 6e  nd Candidate Lin
23590 6b 73 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c  ks.</li>..</ul><
235a0 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 65 20 3c 62  /li>..<li>the <b
235b0 3e 52 6f 6c 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e  >Role</b> column
235c0 20 63 61 6e 20 61 73 73 75 6d 65 20 6f 6e 65 20   can assume one 
235d0 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  of the following
235e0 20 76 61 6c 75 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a   values:..<ul>..
235f0 3c 6c 69 3e 3c 62 3e 50 6f 69 6e 74 32 50 6f 69  <li><b>Point2Poi
23600 6e 74 20 53 6f 6c 75 74 69 6f 6e 3c 2f 62 3e 3a  nt Solution</b>:
23610 20 74 68 65 20 68 65 61 64 65 72 20 72 6f 77 20   the header row 
23620 73 75 6d 6d 61 72 69 7a 69 6e 67 20 74 68 65 20  summarizing the 
23630 53 6f 6c 75 74 69 6f 6e 20 61 73 20 61 20 77 68  Solution as a wh
23640 6f 6c 65 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  ole...<ul>..<li>
23650 3c 62 3e 50 6f 69 6e 74 46 72 6f 6d 3c 2f 62 3e  <b>PointFrom</b>
23660 2c 20 3c 62 3e 50 6f 69 6e 74 54 6f 3c 2f 62 3e  , <b>PointTo</b>
23670 20 61 6e 64 20 3c 62 3e 54 6f 6c 65 72 61 6e 63   and <b>Toleranc
23680 65 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 20 77 69  e</b> columns wi
23690 6c 6c 20 68 61 76 65 20 3c 62 3e 4e 4f 54 20 4e  ll have <b>NOT N
236a0 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f  ULL</b> values o
236b0 6e 6c 79 20 69 6e 20 74 68 65 20 68 65 61 64 65  nly in the heade
236c0 72 20 72 6f 77 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  r row.</li>..</u
236d0 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  l></li>..<li><b>
236e0 49 6e 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e  Ingress Path</b>
236f0 3a 20 61 20 73 74 72 61 69 67 68 74 20 73 65 67  : a straight seg
23700 6d 65 6e 74 20 63 6f 6e 6e 65 63 74 69 6e 67 20  ment connecting 
23710 74 68 65 20 4f 72 69 67 69 6e 20 50 6f 69 6e 74  the Origin Point
23720 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 4c 69   to the first Li
23730 6e 6b 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  nk.</li>..<li><b
23740 3e 45 67 72 65 73 73 20 50 61 74 68 3c 2f 62 3e  >Egress Path</b>
23750 3a 20 61 20 73 74 72 61 69 67 68 74 20 73 65 67  : a straight seg
23760 6d 65 6e 74 20 63 6f 6e 6e 65 63 74 69 6e 67 20  ment connecting 
23770 74 68 65 20 6c 61 73 74 20 4c 69 6e 6b 20 74 6f  the last Link to
23780 20 74 68 65 20 44 65 73 74 69 6e 61 74 69 6f 6e   the Destination
23790 20 50 6f 69 6e 74 2e 0d 0a 3c 75 6c 3e 0d 0a 3c   Point...<ul>..<
237a0 6c 69 3e 62 6f 74 68 20 74 68 65 20 49 6e 67 72  li>both the Ingr
237b0 65 73 73 20 61 6e 64 20 74 68 65 20 45 67 72 65  ess and the Egre
237c0 73 73 20 50 61 74 68 20 72 6f 77 73 20 77 69 6c  ss Path rows wil
237d0 6c 20 61 6c 77 61 79 73 20 68 61 76 65 20 3c 62  l always have <b
237e0 3e 4e 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73  >NULL</b> values
237f0 20 6f 6e 20 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64   on <b>LinkRowid
23800 3c 2f 62 3e 2c 20 3c 62 3e 4e 6f 64 65 46 72 6f  </b>, <b>NodeFro
23810 6d 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64  m</b> and <b>Nod
23820 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e  eTo</b> columns.
23830 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69  </li>..</ul></li
23840 3e 0d 0a 3c 6c 69 3e 3c 62 3e 50 61 72 74 69 61  >..<li><b>Partia
23850 6c 20 4c 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f  l Link (Start)</
23860 62 3e 3a 20 74 68 65 20 70 61 72 74 69 61 6c 20  b>: the partial 
23870 73 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 66  section of the f
23880 69 72 73 74 20 4c 69 6e 6b 2e 0d 0a 3c 75 6c 3e  irst Link...<ul>
23890 0d 0a 3c 6c 69 3e 74 68 69 73 20 73 70 65 63 69  ..<li>this speci
238a0 66 69 63 20 72 6f 77 20 77 69 6c 6c 20 61 6c 77  fic row will alw
238b0 61 79 73 20 68 61 76 65 20 61 20 3c 62 3e 4e 55  ays have a <b>NU
238c0 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 20 6f 6e 20  LL</b> value on 
238d0 74 68 65 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c  the <b>NodeFrom<
238e0 2f 62 3e 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e  /b> column.</li>
238f0 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 6c  ..</ul></li>..<l
23900 69 3e 3c 62 3e 50 61 72 74 69 61 6c 20 4c 69 6e  i><b>Partial Lin
23910 6b 20 28 45 6e 64 29 3c 2f 62 3e 3a 20 74 68 65  k (End)</b>: the
23920 20 70 61 72 74 69 61 6c 20 73 65 63 74 69 6f 6e   partial section
23930 20 6f 66 20 74 68 65 20 6c 61 73 74 20 4c 69 6e   of the last Lin
23940 6b 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68  k...<ul>..<li>th
23950 69 73 20 73 70 65 63 69 66 69 63 20 72 6f 77 20  is specific row 
23960 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 61 76 65  will always have
23970 20 61 20 3c 62 3e 4e 55 4c 4c 3c 2f 62 3e 20 76   a <b>NULL</b> v
23980 61 6c 75 65 20 6f 6e 20 74 68 65 20 3c 62 3e 4e  alue on the <b>N
23990 6f 64 65 54 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e  odeTo</b> column
239a0 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c  .</li>..</ul></l
239b0 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4c 69 6e 6b 3c  i>..<li><b>Link<
239c0 2f 62 3e 3a 20 61 6e 79 20 6f 74 68 65 72 20 4c  /b>: any other L
239d0 69 6e 6b 20 72 65 71 75 69 72 65 64 20 62 79 20  ink required by 
239e0 74 68 65 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69  the Point-to-Poi
239f0 6e 74 20 53 6f 6c 75 74 69 6f 6e 2e 0d 0a 3c 75  nt Solution...<u
23a00 6c 3e 0d 0a 3c 6c 69 3e 61 6c 6c 20 74 68 65 73  l>..<li>all thes
23a10 65 20 72 6f 77 73 20 77 69 6c 6c 20 61 6c 77 61  e rows will alwa
23a20 79 73 20 68 61 76 65 20 3c 62 3e 4e 4f 54 20 4e  ys have <b>NOT N
23a30 55 4c 4c 3c 2f 62 3e 20 76 61 6c 75 65 73 20 6f  ULL</b> values o
23a40 6e 20 3c 62 3e 4c 69 6e 6b 52 6f 77 69 64 3c 2f  n <b>LinkRowid</
23a50 62 3e 2c 20 3c 62 3e 4e 6f 64 65 46 72 6f 6d 3c  b>, <b>NodeFrom<
23a60 2f 62 3e 20 61 6e 64 20 3c 62 3e 4e 6f 64 65 54  /b> and <b>NodeT
23a70 6f 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 2e 3c 2f  o</b> columns.</
23a80 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d  li>..</ul></li>.
23a90 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75  .</ul></li>..</u
23aa0 6c 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e  l>..<br><br><br>
23ab0 0d 0a 3c 62 3e 50 6f 69 6e 74 2d 74 6f 2d 50 6f  ..<b>Point-to-Po
23ac0 69 6e 74 3c 2f 62 3e 20 71 75 65 72 69 65 73 20  int</b> queries 
23ad0 63 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65  can be customize
23ae0 64 2c 20 62 75 74 20 74 68 65 20 63 6f 6e 66 69  d, but the confi
23af0 67 75 72 61 74 69 6f 6e 20 72 75 6c 65 73 20 73  guration rules s
23b00 6c 69 67 68 74 6c 79 20 64 69 66 66 65 72 20 66  lightly differ f
23b10 72 6f 6d 20 77 68 61 74 20 79 6f 75 20 68 61 76  rom what you hav
23b20 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 69  e already seen i
23b30 6e 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70  n previous examp
23b40 6c 65 73 2e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e  les...<ul>..<li>
23b50 3c 62 3e 41 6c 67 6f 72 69 74 68 6d 3c 2f 62 3e  <b>Algorithm</b>
23b60 3a 20 6f 6e 6c 79 20 3c 62 3e 44 69 6a 6b 73 74  : only <b>Dijkst
23b70 72 61 3c 2f 62 3e 20 69 73 20 73 75 70 70 6f 72  ra</b> is suppor
23b80 74 65 64 20 62 79 20 3c 62 3e 50 6f 69 6e 74 2d  ted by <b>Point-
23b90 74 6f 2d 50 6f 69 6e 74 3c 2f 62 3e 2c 20 61 6e  to-Point</b>, an
23ba0 64 20 77 69 6c 6c 20 62 65 20 69 6d 70 6c 69 63  d will be implic
23bb0 69 74 6c 79 20 61 73 73 75 6d 65 64 20 65 76 65  itly assumed eve
23bc0 6e 20 77 68 65 6e 20 74 68 65 20 61 6c 74 65 72  n when the alter
23bd0 6e 61 74 69 76 65 20 3c 62 3e 41 2a 3c 2f 62 3e  native <b>A*</b>
23be0 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 63 75   algorithm is cu
23bf0 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64  rrently selected
23c00 2e 3c 62 72 3e 0d 0a 54 68 69 73 20 69 73 20 62  .<br>..This is b
23c10 65 63 61 75 73 65 20 74 68 65 20 69 6e 74 65 72  ecause the inter
23c20 6e 61 6c 20 6c 6f 67 69 63 20 6f 66 20 50 6f 69  nal logic of Poi
23c30 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 72 65 71 75  nt-to-Point requ
23c40 69 72 65 73 20 6d 75 6c 74 69 2d 64 65 73 74 69  ires multi-desti
23c50 6e 61 74 69 6f 6e 20 71 75 65 72 69 65 73 20 69  nation queries i
23c60 6e 20 6f 72 64 65 72 20 74 6f 20 65 76 61 6c 75  n order to evalu
23c70 61 74 65 20 61 6c 6c 20 43 61 6e 64 69 64 61 74  ate all Candidat
23c80 65 20 53 6f 6c 75 74 69 6f 6e 73 2e 3c 2f 6c 69  e Solutions.</li
23c90 3e 0d 0a 3c 6c 69 3e 3c 62 3e 4f 70 74 69 6f 6e  >..<li><b>Option
23ca0 73 3c 2f 62 3e 3a 20 74 68 65 20 75 73 75 61 6c  s</b>: the usual
23cb0 20 3c 62 3e 46 55 4c 4c 3c 2f 62 3e 2c 20 3c 62   <b>FULL</b>, <b
23cc0 3e 53 49 4d 50 4c 45 3c 2f 62 3e 2c 20 3c 62 3e  >SIMPLE</b>, <b>
23cd0 4e 4f 20 4c 49 4e 4b 53 3c 2f 62 3e 20 61 6e 64  NO LINKS</b> and
23ce0 20 3c 62 3e 4e 4f 20 47 45 4f 4d 45 54 52 49 45   <b>NO GEOMETRIE
23cf0 53 3c 2f 62 3e 20 61 72 65 20 73 75 70 70 6f 72  S</b> are suppor
23d00 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 68 61 76  ted and will hav
23d10 65 20 74 68 65 20 73 61 6d 65 20 65 66 66 65 63  e the same effec
23d20 74 20 61 73 20 69 6e 20 73 69 6e 67 6c 65 2d 64  t as in single-d
23d30 65 73 74 69 6e 61 74 69 6f 6e 20 71 75 65 72 69  estination queri
23d40 65 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62  es.</li>..<li><b
23d50 3e 54 6f 6c 65 72 61 6e 63 65 3c 2f 62 3e 3a 20  >Tolerance</b>: 
23d60 74 68 69 73 20 73 65 74 74 69 6e 67 20 69 73 20  this setting is 
23d70 73 70 65 63 69 66 69 63 20 74 6f 20 50 6f 69 6e  specific to Poin
23d80 74 2d 74 6f 2d 50 6f 69 6e 74 2c 20 61 6e 64 20  t-to-Point, and 
23d90 64 65 66 69 6e 65 73 20 74 68 65 20 6d 61 78 69  defines the maxi
23da0 6d 75 6d 20 61 6c 6c 6f 77 61 62 6c 65 20 64 69  mum allowable di
23db0 73 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20 61  stance between a
23dc0 20 72 65 66 65 72 65 6e 63 65 20 50 6f 69 6e 74   reference Point
23dd0 20 61 6e 64 20 43 61 6e 64 69 64 61 74 65 20 4c   and Candidate L
23de0 69 6e 6b 73 2e 3c 62 72 3e 0d 0a 49 74 20 64 65  inks.<br>..It de
23df0 66 61 75 6c 74 73 20 74 6f 20 3c 62 3e 32 30 2e  faults to <b>20.
23e00 30 6d 3c 2f 62 3e 20 69 66 20 6e 6f 74 20 65 78  0m</b> if not ex
23e10 70 6c 69 63 69 74 6c 79 20 73 65 74 2e 3c 2f 6c  plicitly set.</l
23e20 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 76 65 72 62  i>..</ul>..<verb
23e30 61 74 69 6d 3e 0d 0a 55 50 44 41 54 45 20 62 79  atim>..UPDATE by
23e40 66 6f 6f 74 20 53 45 54 20 4f 70 74 69 6f 6e 73  foot SET Options
23e50 20 3d 20 27 4e 4f 20 47 45 4f 4d 45 54 52 49 45   = 'NO GEOMETRIE
23e60 53 27 2c 20 54 6f 6c 65 72 61 6e 63 65 20 3d 20  S', Tolerance = 
23e70 32 35 2e 35 3b 0d 0a 0d 0a 53 45 4c 45 43 54 20  25.5;....SELECT 
23e80 52 65 71 75 65 73 74 2c 20 4f 70 74 69 6f 6e 73  Request, Options
23e90 2c 20 54 6f 6c 65 72 61 6e 63 65 2c 20 52 6f 75  , Tolerance, Rou
23ea0 74 65 52 6f 77 2c 20 52 6f 6c 65 2c 20 4c 69 6e  teRow, Role, Lin
23eb0 6b 52 6f 77 69 64 2c 20 4e 6f 64 65 46 72 6f 6d  kRowid, NodeFrom
23ec0 2c 20 4e 6f 64 65 54 6f 2c 20 43 6f 73 74 2c 20  , NodeTo, Cost, 
23ed0 47 65 6f 6d 65 74 72 79 2c 20 4e 61 6d 65 0d 0a  Geometry, Name..
23ee0 46 52 4f 4d 20 62 79 66 6f 6f 74 0d 0a 57 48 45  FROM byfoot..WHE
23ef0 52 45 20 50 6f 69 6e 74 46 72 6f 6d 20 3d 20 28  RE PointFrom = (
23f00 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52 4f 4d  SELECT geom FROM
23f10 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57 48 45   house_nr_vw WHE
23f20 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74 79 20  RE municipality 
23f30 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44 20 61  = 'AREZZO' AND a
23f40 64 64 72 65 73 73 20 3d 20 27 56 49 41 20 44 45  ddress = 'VIA DE
23f50 27 27 20 43 45 4e 43 49 20 31 33 27 29 0d 0a 20  '' CENCI 13').. 
23f60 20 20 20 41 4e 44 20 50 6f 69 6e 74 54 6f 20 3d     AND PointTo =
23f70 20 28 53 45 4c 45 43 54 20 67 65 6f 6d 20 46 52   (SELECT geom FR
23f80 4f 4d 20 68 6f 75 73 65 5f 6e 72 5f 76 77 20 57  OM house_nr_vw W
23f90 48 45 52 45 20 6d 75 6e 69 63 69 70 61 6c 69 74  HERE municipalit
23fa0 79 20 3d 20 27 41 52 45 5a 5a 4f 27 20 41 4e 44  y = 'AREZZO' AND
23fb0 20 61 64 64 72 65 73 73 20 3d 20 27 56 49 41 20   address = 'VIA 
23fc0 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e 4f  ANTONIO GUADAGNO
23fd0 4c 49 20 31 39 2f 43 27 29 3b 0d 0a 3c 2f 76 65  LI 19/C');..</ve
23fe0 72 62 61 74 69 6d 3e 0d 0a 54 68 65 20 66 6f 6c  rbatim>..The fol
23ff0 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 73 68 6f  lowing table sho
24000 77 73 20 74 68 65 20 72 65 73 75 6c 74 73 65 74  ws the resultset
24010 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65   returned by the
24020 20 61 62 6f 76 65 20 50 6f 69 6e 74 2d 74 6f 2d   above Point-to-
24030 50 6f 69 6e 74 20 71 75 65 72 79 20 61 66 74 65  Point query afte
24040 72 20 73 65 6c 65 63 74 69 6e 67 20 3c 62 3e 4f  r selecting <b>O
24050 70 74 69 6f 6e 73 20 3d 20 27 4e 4f 20 47 45 4f  ptions = 'NO GEO
24060 4d 45 54 52 49 45 53 27 3c 2f 62 3e 20 61 6e 64  METRIES'</b> and
24070 20 3c 62 3e 54 6f 6c 65 72 61 6e 63 65 20 3d 20   <b>Tolerance = 
24080 32 35 2e 35 3c 2f 62 3e 3c 62 72 3e 3c 62 72 3e  25.5</b><br><br>
24090 0d 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d  ..<table border=
240a0 22 31 22 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66  "1" bgcolor="#ff
240b0 66 66 63 66 22 20 63 65 6c 6c 73 70 61 63 69 6e  ffcf" cellspacin
240c0 67 3d 22 34 22 20 63 65 6c 6c 70 61 64 64 69 6e  g="4" cellpaddin
240d0 67 3d 22 36 22 3e 0d 0a 3c 74 72 3e 3c 74 68 20  g="6">..<tr><th 
240e0 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30  bgcolor="#d0d0a0
240f0 22 3e 52 65 71 75 65 73 74 3c 2f 74 68 3e 3c 74  ">Request</th><t
24100 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30  h bgcolor="#d0d0
24110 61 30 22 3e 4f 70 74 69 6f 6e 73 3c 2f 74 68 3e  a0">Options</th>
24120 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
24130 64 30 61 30 22 3e 54 6f 6c 65 72 61 6e 63 65 3c  d0a0">Tolerance<
24140 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f 72 3d  /th><th bgcolor=
24150 22 23 64 30 64 30 61 30 22 3e 52 6f 75 74 65 52  "#d0d0a0">RouteR
24160 6f 77 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c  ow</th><th bgcol
24170 6f 72 3d 22 23 64 30 64 30 61 30 22 3e 52 6f 6c  or="#d0d0a0">Rol
24180 65 3c 2f 74 68 3e 3c 74 68 20 62 67 63 6f 6c 6f  e</th><th bgcolo
24190 72 3d 22 23 64 30 64 30 61 30 22 3e 4c 69 6e 6b  r="#d0d0a0">Link
241a0 52 6f 77 69 64 3c 2f 74 68 3e 3c 74 68 20 62 67  Rowid</th><th bg
241b0 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61 30 22 3e  color="#d0d0a0">
241c0 4e 6f 64 65 46 72 6f 6d 3c 2f 74 68 3e 3c 74 68  NodeFrom</th><th
241d0 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
241e0 30 22 3e 4e 6f 64 65 54 6f 3c 2f 74 68 3e 3c 74  0">NodeTo</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 43 6f 73 74 3c 2f 74 68 3e 3c 74 68  a0">Cost</th><th
24210 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30 64 30 61   bgcolor="#d0d0a
24220 30 22 3e 47 65 6f 6d 65 74 72 79 3c 2f 74 68 3e  0">Geometry</th>
24230 3c 74 68 20 62 67 63 6f 6c 6f 72 3d 22 23 64 30  <th bgcolor="#d0
24240 64 30 61 30 22 3e 4e 61 6d 65 3c 2f 74 68 3e 3c  d0a0">Name</th><
24250 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
24260 50 6f 69 6e 74 32 50 6f 69 6e 74 20 50 61 74 68  Point2Point Path
24270 3c 2f 74 64 3e 3c 74 64 3e 4e 6f 20 47 65 6f 6d  </td><td>No Geom
24280 65 74 72 69 65 73 3c 2f 74 64 3e 3c 74 64 20 61  etries</td><td a
24290 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 35 2e  lign="right">25.
242a0 35 30 30 30 30 30 3c 2f 74 64 3e 3c 74 64 20 61  500000</td><td a
242b0 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 30 3c 2f  lign="right">0</
242c0 74 64 3e 3c 74 64 3e 50 6f 69 6e 74 32 50 6f 69  td><td>Point2Poi
242d0 6e 74 20 53 6f 6c 75 74 69 6f 6e 3c 2f 74 64 3e  nt Solution</td>
242e0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
242f0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24300 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  LL</td><td align
24310 3d 22 72 69 67 68 74 22 3e 36 35 31 2e 30 36 37  ="right">651.067
24320 30 38 32 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  082</td><td>NULL
24330 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24340 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
24350 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
24360 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24370 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
24380 6e 3d 22 72 69 67 68 74 22 3e 31 3c 2f 74 64 3e  n="right">1</td>
24390 3c 74 64 3e 49 6e 67 72 65 73 73 20 50 61 74 68  <td>Ingress Path
243a0 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
243b0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
243c0 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
243d0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 2e  align="right">2.
243e0 33 30 31 36 38 37 3c 2f 74 64 3e 3c 74 64 3e 4e  301687</td><td>N
243f0 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
24400 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
24410 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  r>..<td>NULL</td
24420 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24430 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
24440 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 3c 2f  lign="right">2</
24450 74 64 3e 3c 74 64 3e 50 61 72 74 69 61 6c 20 4c  td><td>Partial L
24460 69 6e 6b 20 28 53 74 61 72 74 29 3c 2f 74 64 3e  ink (Start)</td>
24470 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24480 22 3e 32 32 34 32 36 34 3c 2f 74 64 3e 3c 74 64  ">224264</td><td
24490 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c  >NULL</td><td al
244a0 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 36  ign="right">1826
244b0 33 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  30</td><td align
244c0 3d 22 72 69 67 68 74 22 3e 34 36 2e 30 38 32 37  ="right">46.0827
244d0 36 31 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  61</td><td>NULL<
244e0 2f 74 64 3e 3c 74 64 3e 56 49 41 20 44 45 27 20  /td><td>VIA DE' 
244f0 43 45 4e 43 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  CENCI</td>..</tr
24500 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c  >..<tr>..<td>NUL
24510 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f  L</td><td>NULL</
24520 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e  td><td>NULL</td>
24530 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24540 22 3e 33 3c 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b  ">3</td><td>Link
24550 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22  </td><td align="
24560 72 69 67 68 74 22 3e 32 32 33 37 35 38 3c 2f 74  right">223758</t
24570 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24580 68 74 22 3e 31 38 32 36 33 30 3c 2f 74 64 3e 3c  ht">182630</td><
24590 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22  td align="right"
245a0 3e 31 38 32 36 32 39 3c 2f 74 64 3e 3c 74 64 20  >182629</td><td 
245b0 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32 34  align="right">24
245c0 2e 31 39 38 31 31 35 3c 2f 74 64 3e 3c 74 64 3e  .198115</td><td>
245d0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 43 4f 52  NULL</td><td>COR
245e0 53 4f 20 49 54 41 4c 49 41 3c 2f 74 64 3e 0d 0a  SO ITALIA</td>..
245f0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
24600 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
24610 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24620 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24630 69 67 68 74 22 3e 34 3c 2f 74 64 3e 3c 74 64 3e  ight">4</td><td>
24640 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
24650 67 6e 3d 22 72 69 67 68 74 22 3e 32 32 35 35 31  gn="right">22551
24660 32 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  2</td><td align=
24670 22 72 69 67 68 74 22 3e 31 38 32 36 32 39 3c 2f  "right">182629</
24680 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24690 67 68 74 22 3e 31 38 32 39 33 33 3c 2f 74 64 3e  ght">182933</td>
246a0 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
246b0 22 3e 33 34 2e 31 38 34 31 39 34 3c 2f 74 64 3e  ">34.184194</td>
246c0 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64  <td>NULL</td><td
246d0 3e 43 4f 52 53 4f 20 49 54 41 4c 49 41 3c 2f 74  >CORSO ITALIA</t
246e0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
246f0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
24700 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24710 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
24720 6e 3d 22 72 69 67 68 74 22 3e 35 3c 2f 74 64 3e  n="right">5</td>
24730 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
24740 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
24750 32 35 35 31 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  25511</td><td al
24760 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 38 32 39  ign="right">1829
24770 33 33 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  33</td><td align
24780 3d 22 72 69 67 68 74 22 3e 31 38 31 39 39 39 3c  ="right">181999<
24790 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
247a0 69 67 68 74 22 3e 34 39 2e 32 34 31 37 33 35 3c  ight">49.241735<
247b0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
247c0 3e 3c 74 64 3e 43 4f 52 53 4f 20 49 54 41 4c 49  ><td>CORSO ITALI
247d0 41 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c  A</td>..</tr>..<
247e0 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  tr>..<td>NULL</t
247f0 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c  d><td>NULL</td><
24800 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20  td>NULL</td><td 
24810 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 36 3c  align="right">6<
24820 2f 74 64 3e 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64  /td><td>Link</td
24830 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24840 74 22 3e 32 32 35 38 30 30 3c 2f 74 64 3e 3c 74  t">225800</td><t
24850 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24860 31 38 31 39 39 39 3c 2f 74 64 3e 3c 74 64 20 61  181999</td><td a
24870 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38  lign="right">178
24880 38 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  880</td><td alig
24890 6e 3d 22 72 69 67 68 74 22 3e 39 35 2e 35 39 32  n="right">95.592
248a0 32 30 34 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  204</td><td>NULL
248b0 3c 2f 74 64 3e 3c 74 64 3e 56 49 41 20 46 52 41  </td><td>VIA FRA
248c0 4e 43 45 53 43 4f 20 43 52 49 53 50 49 3c 2f 74  NCESCO CRISPI</t
248d0 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
248e0 0a 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  .<td>NULL</td><t
248f0 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e  d>NULL</td><td>N
24900 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67  ULL</td><td alig
24910 6e 3d 22 72 69 67 68 74 22 3e 37 3c 2f 74 64 3e  n="right">7</td>
24920 3c 74 64 3e 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64  <td>Link</td><td
24930 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 32   align="right">2
24940 31 39 31 37 31 3c 2f 74 64 3e 3c 74 64 20 61 6c  19171</td><td al
24950 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 37 38 38  ign="right">1788
24960 38 30 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e  80</td><td align
24970 3d 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c  ="right">178732<
24980 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24990 69 67 68 74 22 3e 39 33 2e 32 38 35 35 33 38 3c  ight">93.285538<
249a0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
249b0 3e 3c 74 64 3e 56 49 41 20 46 52 41 4e 43 45 53  ><td>VIA FRANCES
249c0 43 4f 20 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a  CO CRISPI</td>..
249d0 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
249e0 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55  >NULL</td><td>NU
249f0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24a00 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24a10 69 67 68 74 22 3e 38 3c 2f 74 64 3e 3c 74 64 3e  ight">8</td><td>
24a20 4c 69 6e 6b 3c 2f 74 64 3e 3c 74 64 20 61 6c 69  Link</td><td ali
24a30 67 6e 3d 22 72 69 67 68 74 22 3e 32 31 39 30 35  gn="right">21905
24a40 38 3c 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d  8</td><td align=
24a50 22 72 69 67 68 74 22 3e 31 37 38 37 33 32 3c 2f  "right">178732</
24a60 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69  td><td align="ri
24a70 67 68 74 22 3e 31 37 38 37 35 34 3c 2f 74 64 3e  ght">178754</td>
24a80 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74  <td align="right
24a90 22 3e 31 34 38 2e 36 35 36 30 38 39 3c 2f 74 64  ">148.656089</td
24aa0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24ab0 64 3e 56 49 41 20 46 52 41 4e 43 45 53 43 4f 20  d>VIA FRANCESCO 
24ac0 43 52 49 53 50 49 3c 2f 74 64 3e 0d 0a 3c 2f 74  CRISPI</td>..</t
24ad0 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55  r>..<tr>..<td>NU
24ae0 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c  LL</td><td>NULL<
24af0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24b00 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24b10 74 22 3e 39 3c 2f 74 64 3e 3c 74 64 3e 50 61 72  t">9</td><td>Par
24b20 74 69 61 6c 20 4c 69 6e 6b 20 28 45 6e 64 29 3c  tial Link (End)<
24b30 2f 74 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72  /td><td align="r
24b40 69 67 68 74 22 3e 32 32 34 30 31 39 3c 2f 74 64  ight">224019</td
24b50 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67 68  ><td align="righ
24b60 74 22 3e 31 38 32 38 39 30 3c 2f 74 64 3e 3c 74  t">182890</td><t
24b70 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 20 61  d>NULL</td><td a
24b80 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e 31 35 30  lign="right">150
24b90 2e 32 36 30 36 34 31 3c 2f 74 64 3e 3c 74 64 3e  .260641</td><td>
24ba0 4e 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 56 49 41  NULL</td><td>VIA
24bb0 20 41 4e 54 4f 4e 49 4f 20 47 55 41 44 41 47 4e   ANTONIO GUADAGN
24bc0 4f 4c 49 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d  OLI</td>..</tr>.
24bd0 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 4e 55 4c 4c 3c  .<tr>..<td>NULL<
24be0 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64  /td><td>NULL</td
24bf0 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24c00 64 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 3e  d align="right">
24c10 31 30 3c 2f 74 64 3e 3c 74 64 3e 45 67 72 65 73  10</td><td>Egres
24c20 73 20 50 61 74 68 3c 2f 74 64 3e 3c 74 64 3e 4e  s Path</td><td>N
24c30 55 4c 4c 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c  ULL</td><td>NULL
24c40 3c 2f 74 64 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74  </td><td>NULL</t
24c50 64 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 72 69 67  d><td align="rig
24c60 68 74 22 3e 37 2e 32 36 34 31 31 38 3c 2f 74 64  ht">7.264118</td
24c70 3e 3c 74 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 3c 74  ><td>NULL</td><t
24c80 64 3e 4e 55 4c 4c 3c 2f 74 64 3e 0d 0a 3c 2f 74  d>NULL</td>..</t
24c90 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 3c 62  r>..</table>..<b
24ca0 72 3e 3c 62 72 3e 0d 0a 54 68 65 20 6d 61 70 20  r><br>..The map 
24cb0 62 65 6c 6f 77 20 67 72 61 70 68 69 63 61 6c 6c  below graphicall
24cc0 79 20 73 68 6f 77 73 20 74 68 65 20 74 77 6f 20  y shows the two 
24cd0 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74 20 53  Point-to-Point S
24ce0 6f 6c 75 74 69 6f 6e 73 20 72 65 74 75 72 6e 65  olutions returne
24cf0 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75  d by the previou
24d00 73 20 71 75 65 72 69 65 73 2e 0d 0a 3c 62 72 3e  s queries...<br>
24d10 3c 62 72 3e 0d 0a 3c 69 6d 67 20 73 72 63 3d 22  <br>..<img src="
24d20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
24d30 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e  -gis.it/gaia-sin
24d40 73 2f 72 6f 75 74 69 6e 67 2d 66 69 67 73 2f 70  s/routing-figs/p
24d50 6f 69 6e 74 2d 74 6f 2d 70 6f 69 6e 74 2e 6a 70  oint-to-point.jp
24d60 67 22 20 61 6c 74 3d 22 70 6f 69 6e 74 2d 74 6f  g" alt="point-to
24d70 2d 70 6f 69 6e 74 22 3e 0d 0a 3c 75 6c 3e 0d 0a  -point">..<ul>..
24d80 3c 6c 69 3e 74 68 65 20 67 72 65 65 6e 20 6c 69  <li>the green li
24d90 6e 65 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74  ne corresponds t
24da0 6f 20 74 68 65 20 66 69 72 73 74 20 73 6f 6c 75  o the first solu
24db0 74 69 6f 6e 20 28 3c 69 3e 50 6f 69 6e 74 54 6f  tion (<i>PointTo
24dc0 20 3d 20 56 49 41 20 47 55 41 44 41 47 4e 4f 4c   = VIA GUADAGNOL
24dd0 49 20 31 39 2f 42 3c 2f 69 3e 29 2e 3c 2f 6c 69  I 19/B</i>).</li
24de0 3e 0d 0a 3c 6c 69 3e 74 68 65 20 79 65 6c 6c 6f  >..<li>the yello
24df0 77 20 6c 69 6e 65 20 63 6f 72 72 65 73 70 6f 6e  w line correspon
24e00 64 73 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64  ds to the second
24e10 20 73 6f 6c 75 74 69 6f 6e 20 28 3c 69 3e 50 6f   solution (<i>Po
24e20 69 6e 74 54 6f 20 3d 20 56 49 41 20 47 55 41 44  intTo = VIA GUAD
24e30 41 47 4e 4f 4c 49 20 31 39 2f 43 3c 2f 69 3e 29  AGNOLI 19/C</i>)
24e40 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c  .</li>..</ul>..<
24e50 62 72 3e 0d 0a 3c 75 3e 4e 6f 74 65 3c 2f 75 3e  br>..<u>Note</u>
24e60 3a 20 50 6f 69 6e 74 2d 74 6f 2d 50 6f 69 6e 74  : Point-to-Point
24e70 20 71 75 65 72 69 65 73 20 61 72 65 20 76 65 72   queries are ver
24e80 79 20 73 65 6e 73 69 74 69 76 65 2c 20 61 6e 64  y sensitive, and
24e90 20 61 20 76 65 72 79 20 62 6c 61 6e 64 20 73 68   a very bland sh
24ea0 69 66 74 20 61 66 66 65 63 74 69 6e 67 20 74 68  ift affecting th
24eb0 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 61 20  e position of a 
24ec0 72 65 66 65 72 65 6e 63 65 20 50 6f 69 6e 74 20  reference Point 
24ed0 63 6f 75 6c 64 20 65 61 73 69 6c 79 20 63 61 75  could easily cau
24ee0 73 65 20 64 72 61 6d 61 74 69 63 20 63 68 61 6e  se dramatic chan
24ef0 67 65 73 20 69 6e 20 74 68 65 20 53 6f 6c 75 74  ges in the Solut
24f00 69 6f 6e 27 73 20 50 61 74 68 20 28 61 73 20 69  ion's Path (as i
24f10 73 20 69 6e 20 74 68 69 73 20 63 61 73 65 29 2e  s in this case).
24f20 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e  ..<br><br>..<hr>
24f30 3c 62 72 3e 0d 0a 3c 61 20 68 72 65 66 3d 22 68  <br>..<a href="h
24f40 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
24f50 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 6c 69  gis.it/fossil/li
24f60 62 73 70 61 74 69 61 6c 69 74 65 2f 77 69 6b 69  bspatialite/wiki
24f70 3f 6e 61 6d 65 3d 34 2e 33 2e 30 2d 64 6f 63 22  ?name=4.3.0-doc"
24f80 3e 62 61 63 6b 3c 2f 61 3e 0a 5a 20 37 30 34 33  >back</a>.Z 7043
24f90 66 30 30 37 34 66 35 38 36 64 35 66 31 62 36 65  f0074f586d5f1b6e
24fa0 66 33 31 32 31 33 30 64 37 64 66 65 0a           f312130d7dfe.